{"_id":"speedo","_rev":"50-eb9e5b0b6df148de5a1bf004ef6be0e5","name":"speedo","description":"Simple performance testing tool using SauceLabs","dist-tags":{"latest":"1.2.11","next":"1.0.2","beta":"1.1.0-beta.1"},"versions":{"0.0.1":{"name":"speedo","version":"0.0.1","description":"speedo =====","main":"index.js","scripts":{"test":"mocha ./test/"},"repository":{"type":"git","url":"https://github.com/kytwb/speedo.git"},"keywords":["proxy"],"author":{"name":"Amine Mouafik","email":"amine@mouafik.fr"},"license":"MIT","bugs":{"url":"https://github.com/kytwb/speedo/issues"},"homepage":"https://github.com/kytwb/speedo","devDependencies":{"chai":"^1.9.2","mocha":"^1.21.4"},"dependencies":{"q":"^1.0.1"},"gitHead":"618f7f6a4953d88ba0ed870ea337f56eda916dc9","_id":"speedo@0.0.1","_shasum":"44c4292b47ca652a82ead0c7f7e5ccd57434b982","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"kytwb","email":"amine@mouafik.fr"},"maintainers":[{"name":"kytwb","email":"amine@mouafik.fr"}],"dist":{"shasum":"44c4292b47ca652a82ead0c7f7e5ccd57434b982","tarball":"https://registry.npmjs.org/speedo/-/speedo-0.0.1.tgz","integrity":"sha512-f27sfLzFVwHuQxbPAr6WgIM/AcTWi7AfXOVyz8uVYjHhQuTN+TM5MQ0tvn3p6/PvSLiDR4tK+hhoHU2kxsyK3A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDyWMsoPZz6vPzG8O+ehgjiPnjGCCQQ15z29IyR7hlQdAiApNADpSxDF7ub5QTUchEDlTPdQfy6xYqcjw93vN2PeDA=="}]},"directories":{}},"0.1.0":{"name":"speedo","version":"0.1.0","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"babel src -d build","eslint":"eslint ./src ./test","release":"npm run release:patch","release:patch":"NODE_ENV=production np patch","release:minor":"NODE_ENV=production np minor","release:major":"NODE_ENV=production np major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.0.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","np":"^2.18.2","npm-run-all":"^4.1.5","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":95,"functions":96,"lines":96,"statements":96}},"testEnvironment":"node"},"dependencies":{"ora":"^3.1.0","saucelabs":"2.0.0-beta.7","tmp":"0.0.33","webdriverio":"^5.6.0","yargs":"^13.2.1"},"gitHead":"3c16d9c22cde77277fe8c20d0f70da0c28885402","_id":"speedo@0.1.0","_npmVersion":"6.4.1","_nodeVersion":"10.14.2","_npmUser":{"name":"christian-bromann","email":"christian@saucelabs.com"},"dist":{"integrity":"sha512-S7Aw62wqzYKd7T7ebI7jCeV3Fx9rgpj9LVRX70fMDXJSlH9xUwfpQichx2ZQuGx1FxJ1Aw0pZR3Ki2bWY02W7A==","shasum":"a76f10f13494fe42301d5a8c25237f9fa5d4733f","tarball":"https://registry.npmjs.org/speedo/-/speedo-0.1.0.tgz","fileCount":19,"unpackedSize":56315,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcbslyCRA9TVsSAnZWagAAxc0P/Aop8YnJRHevvTGzxLOr\nbpj/dtXXn/F8wi9u//xiiNasmfvi7gfMuzWWqLlgO1+7NwLMx8b3HonAq5pF\n2x0WGqAy4k6eNSrhxUIKwsNQtsNzarUsAoTP7LNLOoyV/zmfp+z+vPNkBaQi\nhZrhCExknxfJwVfSvqFc5tZMk+4QtNy0ZPuwDg53P1vH3yTu/uhY/Hi0Zovq\nz1ZhrUkJaxU/W/bzV0aM8up3fdN9HQQVugwYXPf2xKcjfqUJWytoWDV2Q4tt\n8T4LnBgwBhUFsw+gPyx2HnfwMSBxMc7qR230s9dScZ/wB98XKNgG5sR21poH\nZKoGlxdEuCqlY+XqAzgSpzcEBx8kkdopc5xxtxUU9acU6H4g8NxmZIrnVuOJ\n/PiF15Xg3vdPY5G6kD0VCPkAMNhGeN/hZ46fvORltnXjml2zn1deT4rGWz/4\n06bD9dcR0E0DHl16Hevf4i3CF2qst7m+hYMLqNwe8qwzA6rY9jiBQv2eAPfa\n0+3sfdSly6WfhvZ5ybFKwXWOnuRMREbyWp/iuix5Qakta6DNTLnnDtfJ+dOw\nBKw997jp/8FiWMj8rG0nz9lH3z3wui8mQc6WZ8IOaWtWz0/H21qNO9aNIFny\nKiiDkyOXZjCii8FvIwiteXlBwRXycFZuFN4AL3pE0ySUtbDOJSRndL9aLnY7\nG7w5\r\n=HOv0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD/qZhZwUlCDwTKlS4rPyhG7V46cvHEwjwqo2iSBCcRRAIgTqr/vOIeEYKufGoZ/n3w4WOqca8YdU93pHubGewVJP4="}]},"maintainers":[{"name":"kytwb","email":"amine@mouafik.fr"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_0.1.0_1550764401902_0.8047562120751124"},"_hasShrinkwrap":false},"0.1.1":{"name":"speedo","version":"0.1.1","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo.js"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"babel src -d build","eslint":"eslint ./src ./test","release":"npm run release:patch","release:patch":"NODE_ENV=production np patch","release:minor":"NODE_ENV=production np minor","release:major":"NODE_ENV=production np major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.0.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","np":"^2.18.2","npm-run-all":"^4.1.5","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":95,"functions":96,"lines":96,"statements":96}},"testEnvironment":"node"},"dependencies":{"ora":"^3.1.0","saucelabs":"2.0.0-beta.7","tmp":"0.0.33","webdriverio":"^5.6.0","yargs":"^13.2.1"},"gitHead":"ad6021b08c6ecefd99568f763d14bf7f7adfb815","_id":"speedo@0.1.1","_npmVersion":"6.4.1","_nodeVersion":"10.14.2","_npmUser":{"name":"christian-bromann","email":"christian@saucelabs.com"},"dist":{"integrity":"sha512-7Vbu95eP+mF9g+QC1ezUyQUiAIEMXkJdVkwmpLrAmUzh5o0DRSvG/ZV0YtLVx9Y/SJxYeQ8CkZ7lChInc1XDvw==","shasum":"c5beb32708999f8fe2293c2e0723c527224e8e2d","tarball":"https://registry.npmjs.org/speedo/-/speedo-0.1.1.tgz","fileCount":19,"unpackedSize":56363,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcbs2NCRA9TVsSAnZWagAAWPEP/0qnG7PxkQ3kMXnL6oUf\nu1+9PV2x0uCZOk1IdjQkXzmbjiEDq+Ot8nitRaAfmELADVDvvYIE5ltQObA7\nyE2yq7yxvvRNw8xi+UR+WVltM2hjnnDftuf6HKtwZ6c/LQkYhUkKmDvQAm1/\n6Q3mJ/MOzKeOu5dB4LpDVEUH5YNV7bZuSYH6CYiVcGJDHw/BBywuKpBNRUfK\nS+U50045d4hJrjLZ1O/g3z/9IVEywioPXtxcskCt7mS282QtkxmQMkJi3WyD\n8xcqRU5bKIsTtHXxebxJVme8Svkzifr8Ll1WgC6d1BhtEFs5Ij/FzU+H3W05\nC4sAZgOylBBcFT9uCKbCyTpx2YDOizdo9UdlbakVjLmLQFwgT1eR/aQVj43Z\n+yYOPeva37Pn+UwqjKk/Ds9n+LJoE8kvIgQbAQCqGTVdKCN25+GiQf2us8u5\nlxWRRfFXIuSYdDAi0StS/E4+HSUg16tvO9ol9yWActjV9+4EYoUv50sFitoi\nLJl11ZoJWaVmSZW7eIdDKesL+r/XCda05ESrz7EruU7O3DudnPLfVTC3dYX8\n385EPTrv2Ln0gefvVCoynHuOzOMLzlva6wS2E4Z/2hbBvkftryv1MC3zY4IW\nE3mFiwHsYmrrPGy7FKmUCnfcLyxacmQKBKI0DYcM4Xk6zXkDECcErqJn++CG\ni1th\r\n=MbSR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFkSn6wljPs6lH4P70LAc5fdmVRrgaFpkwZHy7/73qnUAiBbtYS6J0EJKa6wwBIU/egtsKRL1NCkL+4MTM6/a3ocXw=="}]},"maintainers":[{"name":"kytwb","email":"amine@mouafik.fr"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_0.1.1_1550765452616_0.759416326271352"},"_hasShrinkwrap":false},"0.1.2":{"name":"speedo","version":"0.1.2","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo.js"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"babel src -d build","eslint":"eslint ./src ./test","release":"npm run release:patch","release:patch":"NODE_ENV=production np patch","release:minor":"NODE_ENV=production np minor","release:major":"NODE_ENV=production np major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.0.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","np":"^2.18.2","npm-run-all":"^4.1.5","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":95,"functions":96,"lines":96,"statements":96}},"testEnvironment":"node"},"dependencies":{"ora":"^3.1.0","saucelabs":"2.0.0-beta.7","tmp":"0.0.33","webdriverio":"^5.6.0","yargs":"^13.2.1"},"gitHead":"55ae43f12528067f82ecbeda9294db7654c378f7","_id":"speedo@0.1.2","_npmVersion":"6.4.1","_nodeVersion":"10.14.2","_npmUser":{"name":"christian-bromann","email":"christian@saucelabs.com"},"dist":{"integrity":"sha512-wIzVE7PhX4V3ZyRIZr1F5ix0qdjSwQbnFBeJEm0hODTDnRgujFRhEvOqdy1mCqAYe+rgQWEePpXspbi4RQW+dQ==","shasum":"fd1c9f67d0fc2c08b6f8477c0530d972ae3d13a3","tarball":"https://registry.npmjs.org/speedo/-/speedo-0.1.2.tgz","fileCount":19,"unpackedSize":33724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcbs4gCRA9TVsSAnZWagAAyaoP/iFL9ewUqGIoBuHGrKVE\nQ7uA0vuSLQZxqSH4S0bTFf0CKpG9LksGJLdKfWTtHODqwwbI9CYJsxLMz9MV\n9KX/+8ZiCNk5fVxUVMyNRWqlzX/WBrDcnFEVq5Dn72QY7/Rkh0+u41WLda79\nw+L3XNZLCDXH4JlV0dGpub7LXJLRo2aKfBy/ccx2JOqxbmkU2IpDDX9YSFSn\nn130joriBV5X+p8CE3FTTCodMLTGQWpTk0U8OFHVdEoETRkTetS46Mj1T4R8\nJQQJpfjZD6utmV3fi8zM0TJOaDkuNYq02deWe2bZXCohIf8mLdShDUQ0drCi\nHLGvmOVeacRhx3D7kWks0BlqzFq/eYzrcJXgZUqiOvN/5A1nwSBUFSYsWB+2\nFSUR2ckru6iwrUY8FY3IhCJvrNo8xZyE9TUqN5hV8GnW1NqoD1s8/07IFq+e\nCGkZGboLrhOAVz/SGgtQ0JgHmJjbzBvWJSlrSVO3iDbLL7+t2ViVp/paVH9j\n/J9rCzhUXQKrlLUtK7uL3FSOI6rNIAML5fsomrzYebc2w06sjgJpgBSEYkp9\nkNEpLkll5tEbq8Rpyqr8ZI1KhUoIpw9+Xb8BivB0dY32N4Y3gwspg2vlPa+c\nepev6hGm+1D0uewG3A07T54xCpSbm1cs3ssD4PHa8oA4es3GSt42cnkEiuEs\nd4/g\r\n=0j1C\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCzt6qh9B8vieItbPyA7oKB0i64DQnuyps3eUXqzmrhtgIgO9Z1Uje6+q9xnx3U0NTd6rhoBN3IizGtRYs4UXydz5w="}]},"maintainers":[{"name":"kytwb","email":"amine@mouafik.fr"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_0.1.2_1550765600027_0.016777411124980324"},"_hasShrinkwrap":false},"0.1.3":{"name":"speedo","version":"0.1.3","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo.js"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"babel src -d build","eslint":"eslint ./src ./test","release":"npm run release:patch","release:patch":"NODE_ENV=production np patch","release:minor":"NODE_ENV=production np minor","release:major":"NODE_ENV=production np major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.0.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","np":"^2.18.2","npm-run-all":"^4.1.5","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":95,"functions":96,"lines":96,"statements":96}},"testEnvironment":"node"},"dependencies":{"ora":"^3.1.0","saucelabs":"2.0.0-beta.8","tmp":"0.0.33","webdriverio":"^5.6.0","yargs":"^13.2.1"},"gitHead":"3ba905328d029d3cbb6a90f4150bb512868069ae","_id":"speedo@0.1.3","_npmVersion":"6.4.1","_nodeVersion":"10.14.2","_npmUser":{"name":"christian-bromann","email":"christian@saucelabs.com"},"dist":{"integrity":"sha512-lF5S/fUeq2T/g3amcpobhyWFWt2m/CqiskNA9C2CDZplLvsQK1VyPlLbgbZrelsbHESu/rmCxvtzXdeYZAFRlg==","shasum":"323e83c90aebe4cd506afd27173dee39c30be57b","tarball":"https://registry.npmjs.org/speedo/-/speedo-0.1.3.tgz","fileCount":19,"unpackedSize":33724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcbs7dCRA9TVsSAnZWagAArzsQAJvkOZ+wtxNe4/Itclv5\naIQtZeBFwN0DN6iygPx30bo7mPBKxQ2uZ9wab6I8o/QYZ5VIfZpdEXrN4LRZ\nnnHBUmEM2td2TPTOZUi6IUvNiDrPDWE6VHAx5pH20AfP4T5m2WSxoRd97EF6\nGPTTBw86Zd7oN78WndCXnkYk8W/ePCFSph88KNVAwuubvDJZLwoPj5ibN7sM\nlwgXSojgTcCsnpSjokhAqWNyrjYN3AkhvNlmk+mU3CFJJayCE4x8Pd4geeyd\nJPsEOvRYcrLLrqBjN3PkbrLHVGQ8f1K6AzLnmpj4AlJNApCelq9dxcFdR7yF\nPPcxj968EKi966r87VolDXiYlfbkZO0kYRxvZkXHWYihZ3yj8nDAE3URLaX0\nCsBZDhqAK7GKGEiMSX7r4hH6VxL6lCoYIBNSfm9E3ZuzxqGsutmzega+Y0SA\n/321fJ0/e7/yXjONUzrZ7H7RX+KUCJlE8Wr+xOwyjNHC0I8Hzk3U2CPQsF1v\nWs2moAypgSojVwoCw+UurbUwedpx0YumnoQfjV8tjcNhoE9i1uWxCQFjKaOG\nnG6zgcLsVCzSc1DQVeoGj2h6T013/DsY7P1mBDW2xBZAlT+77D01nxb2H1Wf\nGtp2JdiQQL5GsOwkIKU5QV7O+W/0GVrp0NWw6EAWr7yYlWI+lCip/elOQT37\nwiKG\r\n=T3XY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC9SYMVp6iEeWQmH2hekVopVcPlp8pY8C84mTYJpei76AIhAIqPA8WfoW84rXNmwiUE6d6c/4LtDG2lzw0CuETMQ4Ol"}]},"maintainers":[{"name":"kytwb","email":"amine@mouafik.fr"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_0.1.3_1550765788766_0.6398082459621588"},"_hasShrinkwrap":false},"0.1.4":{"name":"speedo","version":"0.1.4","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo.js"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"babel src -d build","eslint":"eslint ./src ./test","release":"npm run release:patch","release:patch":"NODE_ENV=production np patch","release:minor":"NODE_ENV=production np minor","release:major":"NODE_ENV=production np major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.0.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","np":"^2.18.2","npm-run-all":"^4.1.5","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":95,"functions":96,"lines":96,"statements":96}},"testEnvironment":"node"},"dependencies":{"change-case":"^3.1.0","ora":"^3.1.0","ordinal":"^1.0.2","saucelabs":"^2.1.1","tmp":"0.0.33","webdriverio":"^5.6.0","yargs":"^13.2.1"},"gitHead":"f029a92aa7195c4a7a51bf7a4291213979983848","_id":"speedo@0.1.4","_npmVersion":"6.4.1","_nodeVersion":"10.14.2","_npmUser":{"name":"christian-bromann","email":"christian@saucelabs.com"},"dist":{"integrity":"sha512-3asMBBc4XBRXnjANvVanHOOGykPeWZXcD+4E61eZCd5ZBkFUVbzW+3/A347w9wCYgSZJw9A+VPEtUvZtOd/vKQ==","shasum":"ecb02b20edc13b42bd798c53706486860e98036a","tarball":"https://registry.npmjs.org/speedo/-/speedo-0.1.4.tgz","fileCount":32,"unpackedSize":109007,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcirRmCRA9TVsSAnZWagAATNcP/3A5Nsl1RdYroEmKcsEU\nFwOGSPCrJ9SJd/s4U7HIyAAEBhx7VN5WqasHLY/dktHSR2cLMU+U41TodpXm\nNjQMRkPz56Y3CzCgeA0DOizOlRfAXPfUOPHr+sTL/4a8U80xiekgx19OWHCS\nzYpFZdYqci3nR9uT3LN3YRne7lJaH7RVB3/KCoqbhgpAcws1jV1S/GfvKas2\n5ir/qK7lvDJxJeqjISWxjXr/wz3KxGz5yxMfDWg0A/sw8xLwBC6WVDZ5SO2r\nhZesIQZGFqUSeabu+vnXhv+llXQ4VPNJBOGSy+GtLxCA0DpazWSyXgppMxuZ\nhmA2TPyOURetKE8QNQEJbGV/IxKiz/BKVJGMV9qcyceKlcVIpRc2aJacz2bS\nvVLWmg7Kxh74tUzOhlAqLLqhIil/Bf9uFWWf3oxSrJMfT+XYNOQE/OBOYreW\nau7Ov3sdUqFvgktRbAaBV5R4HeQkGHhqIV/CodXksfxnHH7ZSaL+kTZQtXFi\nX7mWmbB55q8tK8ZZiR0dU5GljR2yOnql/eMf5RbjdgaFKbsgM3cIwvl5pugm\nZUbeBYScGssUO0IZIiEW/p+B/yac6jjDqOrcdFFEj7+rqDL/griWXoGLx4Hd\n/WV2/xglfg+TsiFRwbU0W+L9DHuatZoIfngOw+QNsOjDpK667leD4VyEzgvo\nPLR3\r\n=KFsC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD0+wsdKe8Rs31yla7goOFVOhgG+HwkBQ0MBXQ8WB3/pwIgX2NtF5ZKPZCISC1Oa8NVG8zqQAkZzDUaQ4grBIWsC60="}]},"maintainers":[{"name":"kytwb","email":"amine@mouafik.fr"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_0.1.4_1552594021666_0.6335281383370845"},"_hasShrinkwrap":false},"0.1.5":{"name":"speedo","version":"0.1.5","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"babel src -d build","eslint":"eslint ./src ./test","release":"npm run release:patch","release:patch":"NODE_ENV=production np patch","release:minor":"NODE_ENV=production np minor","release:major":"NODE_ENV=production np major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.0.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","np":"^2.18.2","npm-run-all":"^4.1.5","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":95,"functions":96,"lines":96,"statements":96}},"testEnvironment":"node"},"dependencies":{"change-case":"^3.1.0","ora":"^3.1.0","ordinal":"^1.0.2","saucelabs":"^2.1.1","tmp":"0.0.33","webdriverio":"^5.6.0","yargs":"^13.2.1"},"gitHead":"5383f79b3513042ee6f46eb984093f9cc7df7601","_id":"speedo@0.1.5","_npmVersion":"6.4.1","_nodeVersion":"10.14.2","_npmUser":{"name":"christian-bromann","email":"christian@saucelabs.com"},"dist":{"integrity":"sha512-AGfq3mxjQih0792fz+Tm1L9GGuQXmEJEpmPF2VPRsdU/TMbWWW/edA6L8TsvtIZkQ1KYr97syUwcb4/CkVehEg==","shasum":"a048660066ac87d606abf71989a1c297be097b4f","tarball":"https://registry.npmjs.org/speedo/-/speedo-0.1.5.tgz","fileCount":32,"unpackedSize":109004,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcirX5CRA9TVsSAnZWagAAOZwP/09TBZyVeTqPyA4rrv7w\nW/e3d/wvt54Gvh9/PtVWYoW046RqQfm6ntS+tRkY2jsjLU8VV8AUN/GowW+o\nm42Jho4NwvCAV4d0onH9ldYRCGFiDgTgrR0hjItOAjg0r+fSssrTtUm8nU6L\nGe+lvIW9Xurrtm2TW2+EkwffA/Q2XjqEfMAYCBTZqMlzWh56j06qZuR72hk7\ngshQF10TqwBWv3KVW3o8JVmC1C7rA0YVgbuttONVEpXZqL1FK9Tt/Vb0MpfX\nBfzook6zDgYY17z+V/I4Yn7xEGOMZpfTpgsC5MydwpAogT2Qarah7+87Hsa6\nSOGXFNfUz85X7OFFinTvH7BMiMJTnmROrIem9wMQY/0e7RYMI1W+yjjlsJjE\nul8WGUm/HQGKdmVBQqqUt6X9M7NmZyMGoAlGbXvUTI3X2wUHlUHYJqZmtmnh\nEWKY/emSQG5iZAmZVAyJg/Ojw/23POuvwMy64XMxMUthUObSeUaBKbMb6bwv\n2khbqebYsjxulR1shcbxP2PgGopviXXi2oVuWAme5BU06R8de2rRdMTkl59c\nku8jAjbYRwhbsQE2ibA4bFuX/NQC2y+vqNi0DVrbFHYxdia1G54LwAED69zF\nPudf+l7ACkGfB5iHTMzRSOAe7WFza4gBT2Wd2L0m6F9YhCh5KJTNmLGmGHmQ\nR8kg\r\n=k6oj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDY+Dwh7XZk1J6F1eNe1qkr7fy6/fK48TYTTSCjs9TLmgIgEPrPAMfOxE9dFcUpd+SWN/sv6DMD5CiBdWCt5HXrieQ="}]},"maintainers":[{"name":"kytwb","email":"amine@mouafik.fr"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_0.1.5_1552594424835_0.09639322814984319"},"_hasShrinkwrap":false},"0.1.6":{"name":"speedo","version":"0.1.6","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"babel src -d build","eslint":"eslint ./src ./test","release":"npm run release:patch","release:patch":"NODE_ENV=production np patch","release:minor":"NODE_ENV=production np minor","release:major":"NODE_ENV=production np major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.0.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","np":"^2.18.2","npm-run-all":"^4.1.5","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":95,"functions":96,"lines":96,"statements":96}},"testEnvironment":"node"},"dependencies":{"change-case":"^3.1.0","ora":"^3.1.0","ordinal":"^1.0.2","saucelabs":"^2.1.1","tmp":"0.0.33","webdriverio":"^5.6.0","yargs":"^13.2.1"},"gitHead":"050e0bde17b271a25703b36c7bddfc6dc2503a82","_id":"speedo@0.1.6","_npmVersion":"6.4.1","_nodeVersion":"10.14.2","_npmUser":{"name":"christian-bromann","email":"christian@saucelabs.com"},"dist":{"integrity":"sha512-gw2WGgaFXtFtcXJUWBL1R21eDSiHK+1r+Rwo4mYPO+iC2vVaSXzQ90I/AJ5JcMK6d8tanR/7e6DYfVx0SHjLTg==","shasum":"bce5b22d94b739a1501f2b967536ce5381fbba13","tarball":"https://registry.npmjs.org/speedo/-/speedo-0.1.6.tgz","fileCount":32,"unpackedSize":61735,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcirbqCRA9TVsSAnZWagAAbRAP/1ZlH3Fgug9XGDdK50Nv\nOPzleDDBikTxZYp2FC8grOcqPQqGiQl63M1GSlgNDKGkR+EqsSMoPJjj4Wwb\n7tZEUKuDaooLp9/aJQ8QOTVNswWtWde8ZFjMTY4GDPVmbJgolGlS2rNfqbjh\nJ0yoY6uKIJFFxW6uBsku9OvQP71Lus9PSfeG2oE3FGEvLe9/f9R04CnSro/1\nNXX7ssGPlgMjD3sU6T/qFZ4KHd76jtNyh7qkJhZfYzOJU0uk4NtUjRLW9do/\nhf2GDf8iGFIGecKo0aM3wN3AWHSFNscPlEOL3XiDi8IMWtssgIAyWW9tI4Yo\nzC775suLD3M4Dt3D7BpBNdijJvgGrW2UaMNQRdXvMYypMA6T59zxrKFcIjMH\nm58F021jW83uxnZBiKuw6LTIt0K+nGpbS7iX5hXovkLx2K8DbLlHnNYLS/8z\n5iDAMCJoLYyvJsc2T5rI+jZbWY0331+bGKZdacZf2o3Hd/EEZtmqkr4u+JLF\nSpB9SuEtv3GfaWjkunGJoOSDNAwbwW1OJmxsadUUE6rddt64LT2RViUKx9pE\n3/iO/OczCQXjndg1FoGPi5rprBHpVhc0c8UkPV+qof7Wr5xdsFhkEP+ZN50X\npPxJIdMYS97eLtsi1gSbS2ppOs9kWA/PEUr90jkxu6tZBJErXXczCh2JEDsF\nWYHN\r\n=oVRA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG0Op9lBlWZ8nqv5njW0/BTkLJ8aEtTwh0WIWmDcPdH0AiAL2q70wu2UKNxhfLYlOyQoC0hUjoAEhpCUw0Gepww2Mg=="}]},"maintainers":[{"name":"kytwb","email":"amine@mouafik.fr"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_0.1.6_1552594664928_0.9757351929844782"},"_hasShrinkwrap":false},"0.1.7":{"name":"speedo","version":"0.1.7","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"babel src -d build","eslint":"eslint ./src ./test","release":"npm run release:patch","release:patch":"NODE_ENV=production np patch","release:minor":"NODE_ENV=production np minor","release:major":"NODE_ENV=production np major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.0.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","np":"^2.18.2","npm-run-all":"^4.1.5","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":95,"functions":96,"lines":96,"statements":96}},"testEnvironment":"node"},"dependencies":{"change-case":"^3.1.0","ora":"^3.1.0","ordinal":"^1.0.2","saucelabs":"^2.1.3","tmp":"0.0.33","webdriverio":"^5.6.0","yargs":"^13.2.1"},"gitHead":"00a20974c88bf2c4fc9f7e63d67333c8232a3ad7","_id":"speedo@0.1.7","_npmVersion":"6.4.1","_nodeVersion":"10.14.2","_npmUser":{"name":"christian-bromann","email":"christian@saucelabs.com"},"dist":{"integrity":"sha512-l3WQh2sqe9afceUOwW00A5Nf82JqNUVDownLEATDJgxddWgcr60jzUSf/eBAEz8diOuqY2TwPqPsjyZCL1t2Vg==","shasum":"2b7c021ad33f612e6ea9ba2b93e78a3c4e35c539","tarball":"https://registry.npmjs.org/speedo/-/speedo-0.1.7.tgz","fileCount":32,"unpackedSize":61735,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcirjMCRA9TVsSAnZWagAA2pAP/Ah566ZWmEf3KnjhuVPt\nOdLG/8AEUPfZtzqheKWPS6Ru3p221E3qn9TF4FvWPExs63p1kQhuo6C/yeKB\nedXk+M/N0PSi+9tKPCbwuGDt/cJFnv/MqPzgSNVWpazIOBbCR6eGnXWXG9R0\ni6m6v+12ZG9+N6byjlO/m1WmJgcvokRHST82P+ezCKNpuQsp2CDo1KCZcfAA\niAoLObxzXh5xMUkaTWr70PPMickECeYfGbsJyjtpH6u0ZidUCVspJiIUf0y4\nKMupoyUgL5aqDysEK/9GDrKhPaP14lHFpAQm73Dabg3+IaaBXhToOPaNJY5c\n4U1bFLU2+tLNMGZ50A+cNiAcACWZqae0lxjJ2GeRqQeo3FuNTEOjsAY2CCRn\n7k4VbnXEXhbQCMPvlGxokKJEZvTN3lrrZTQwaLeBo2V8FK6D/SKUuQqBzeCi\nt/c5HN5+ZAweCPLaAZ0N2CVGDc4Ni+YrX87ExS2vLAJ+8cSGQG+TkFQhrW6O\nFguLO1CtLrnUniGNoKnnZr7xD4nYsg1AnYC33ItRpTqTvf1c17eeNifmV5jZ\nop+2dwQCyvbgacrpeEgUSoyufYRQtlQdn0WaUawp1rAfA8w4QZomMA1o2eve\nelYwauEkjsy46CBiL8Kn2ENPSS3ONj0oQn3TKwsl5maupUbu5dLTyfWrOzK5\nFy3F\r\n=bC0n\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGv5LxdroXhUE1K6Ig8WhafvFIv5/VDPOQgt4WHWt1MJAiEAvTWGfR7AUsY2lPJPAvFGqMf63Pj4atOSj6oGSKfSczU="}]},"maintainers":[{"name":"kytwb","email":"amine@mouafik.fr"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_0.1.7_1552595147507_0.54262358212814"},"_hasShrinkwrap":false},"0.2.0":{"name":"speedo","version":"0.2.0","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"babel src -d build","eslint":"eslint ./src ./test","release":"npm run release:patch","release:patch":"NODE_ENV=production np patch","release:minor":"NODE_ENV=production np minor","release:major":"NODE_ENV=production np major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.0.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","np":"^2.18.2","npm-run-all":"^4.1.5","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":92,"functions":97,"lines":99,"statements":98}},"testEnvironment":"node"},"dependencies":{"change-case":"^3.1.0","ora":"^3.1.0","ordinal":"^1.0.2","pretty-bytes":"^5.1.0","pretty-ms":"^4.0.0","saucelabs":"^2.1.3","table":"^5.2.3","tmp":"0.0.33","webdriverio":"^5.6.0","yargs":"^13.2.1"},"gitHead":"6a96b031e5ac29c74c3af80d681631467bfaec53","_id":"speedo@0.2.0","_npmVersion":"6.5.0","_nodeVersion":"8.11.2","_npmUser":{"name":"christian-bromann","email":"christian@saucelabs.com"},"dist":{"integrity":"sha512-Q3mVMOkbV/SyXs7s8tMrUdHksqh+wfZcCgowDtBsEJedl4cECQCtbSfKTfldptRcS+92tF5hcS6MEoVPuATIQQ==","shasum":"575e4f0b3ff483bfdd1e06b44eeed9abb9b2b40c","tarball":"https://registry.npmjs.org/speedo/-/speedo-0.2.0.tgz","fileCount":11,"unpackedSize":43157,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJckBktCRA9TVsSAnZWagAAQ8YP/iMjrmCrLy41YgE5LMux\nUnDGte7ObsNTKzeWMNEvMSjMUDIekApzEOJLF9W0NxWdJrBiqdBx7YYN/M15\nq3uTTvLxybnHBYV5ehwTeBlf3OSlCuH+drcWzuStglA+21y23j/4xlKdYfHm\nJAmBe2bemVG3U75BkGNVuiUOnNmaVX+oRHhhMa2FLIC5sevnNtCNaZfLQGNR\ng1xQLittkgokDq8AEjqcZ3KvggCUcyPDypB/VcC0WlLcMdwCTUm1xVSztkjP\nvPqmEYEnTZoObryrh7sGcEKFNB2T2D/IS8cscNoctQVtElbzNNGECYI3jf2o\ncoSYsDbvbS1mGDazJhhzeM54Vkhnv11XJLhNxCqCiyc8EClsmga0FZ47NSUj\nBvwvzcdDYQIQG9OG/6WX1f07h2OLncjujhvYcqLgS1oa8uo0q2QeRnKYBpb+\nw3wrJOsVjpqi3XVdGBzKbILXW0OJlLOUpT+3Ozm5VniN4D8VRpzqMOLapZI9\nlCwrBIpZpxUQP7jb5/v5k8nOJ5p/1IwvCVVs2i1K4JAJAuvPsHL5iwpJ9l5R\nxpstnahM+NOJtVms24aG3Oq9o8zQKWs5s6LYZ3buI0Q4VK6OcLiY2/Wj6ccI\nJ+UC9F1JgUwN1B3UVX3Q7BYPVQtT3rmkSz7PGr5lBBegeuubbkIoaGVmE/G9\n4pot\r\n=S7sT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDF8Ehxdh2BIXTsM6ZB9yX0UtUL6j0ReW0Gssj42m5ZaAiEAgVSlNBvvLvl4IAgFuS8qCILGgWX5eaOksjcMWST3Jkc="}]},"maintainers":[{"name":"kytwb","email":"amine@mouafik.fr"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_0.2.0_1552947500973_0.35114049856987917"},"_hasShrinkwrap":false},"0.2.1":{"name":"speedo","version":"0.2.1","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"babel src -d build","eslint":"eslint ./src ./test","release":"npm run release:patch","release:patch":"NODE_ENV=production np patch","release:minor":"NODE_ENV=production np minor","release:major":"NODE_ENV=production np major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.0.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","np":"^2.18.2","npm-run-all":"^4.1.5","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":92,"functions":97,"lines":99,"statements":98}},"testEnvironment":"node","collectCoverageFrom":["src/**/*.js","!<rootDir>/node_modules/","!<rootDir>/tests/__fixtures__/"]},"dependencies":{"change-case":"^3.1.0","ora":"^3.1.0","ordinal":"^1.0.2","pretty-bytes":"^5.1.0","pretty-ms":"^4.0.0","saucelabs":"^2.1.3","table":"^5.2.3","tmp":"0.0.33","webdriverio":"^5.6.0","yargs":"^13.2.1"},"gitHead":"19847866420bd5d58bfa0dce29d76cbd20e905c8","_id":"speedo@0.2.1","_npmVersion":"6.4.1","_nodeVersion":"10.14.2","_npmUser":{"name":"christian-bromann","email":"christian@saucelabs.com"},"dist":{"integrity":"sha512-uYSfkg3dpVPotqU0JjWFINuBPsDoyStu9+crTu98yYzkr9AD7XVw43HSPMSMOX8YhGbXqhBPjfUQI7NtpLvhTg==","shasum":"7e2635ef8b7ae60af37fd97838acd5bb0ec3b957","tarball":"https://registry.npmjs.org/speedo/-/speedo-0.2.1.tgz","fileCount":13,"unpackedSize":116943,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJck7wACRA9TVsSAnZWagAA7NUP/2U+xGgWpvQF4Zb9tBYi\n2gRepBqBEH3rpHgpqMEaKntdP7flCxyVdOsY8I716ZNqz+aKybKhMpYFo1QP\n6RSfVWTDiPyALQ6d5VZeeTGNp6uDN0wRjC2ehACBlYsZd3yPEMIfK3xvdI2g\nVjm/O7gVMRJvGD2cvQwISLub3+B3V82riLb7KJU+Fx8JwxPkH9F1HIvEzYRE\nAuRdT0LdSPzHOMtd+Kiket6rpNpj1PaUPxO86bqUSm9beZHhrdp65c8nk+i7\nCTqcwyp3M5p+NaQmQ4vR/8Gw+dtvJjzMFZGOk0YWzVGEyDRMHlaU6GJM24Ks\nNfHeBfQO6F0zwsNklPHKiX/ah0M/0FJtq6woUjCvZW8sf5QJVokv9G9iU845\nuCLh/1ItYogaxEeKHnUsOhbckc8Rx5bN+7Cf8NU/4UwxVBZwFhe2Xe9LQ47l\nXsGPbnD+1CI0e1pM9CvCmRWIcHv3K3HnzZ7yosRVoSImlNoB6YCCJkBNrzI8\ns3Qptpwh0B/ReKux2uUOCp0CyxdDeoDIdpvDTEH2HdFLgcunsPKjAq/TDDsr\nIjlmsy7JFXne9HeJN8UondB4whzFaEGARUgVb0yBs2oSw08ku9jg0g6kTvC6\nO446k5Md4r7XEEgvETRy8pUc/GJZyhxDQCcKW6Oof54Qio5vlLogp6YnM0U6\nf3zN\r\n=V858\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDtnIEUl8IeKLfnL39iOcC7bsJILIJdA74pFtoeNZtBiwIgKD9ScHblRvnuMXKXA/R9e8wOSR67DT1FQ+i3G4fZQ1o="}]},"maintainers":[{"name":"kytwb","email":"amine@mouafik.fr"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_0.2.1_1553185791807_0.7153051627010081"},"_hasShrinkwrap":false},"0.2.2":{"name":"speedo","version":"0.2.2","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"NODE_ENV=production babel src -d build","eslint":"eslint ./src ./test","release":"npm run release:patch","release:patch":"np patch","release:minor":"np minor","release:major":"np major","prepublish":"npm prune && run-s build","test":"run-s eslint test:unit","test:unit":"jest --coverage --no-color","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.0.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","np":"^2.18.2","npm-run-all":"^4.1.5","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":92,"functions":97,"lines":99,"statements":98}},"testEnvironment":"node","collectCoverageFrom":["src/**/*.js","!<rootDir>/node_modules/","!<rootDir>/tests/__fixtures__/"]},"dependencies":{"change-case":"^3.1.0","ora":"^3.1.0","ordinal":"^1.0.2","pretty-bytes":"^5.1.0","pretty-ms":"^4.0.0","saucelabs":"^2.1.3","table":"^5.2.3","tmp":"0.0.33","webdriverio":"^5.6.0","yargs":"^13.2.1"},"gitHead":"6ff7527e0f2188a4723576c836ae18ad70b1f385","_id":"speedo@0.2.2","_npmVersion":"6.5.0","_nodeVersion":"8.11.2","_npmUser":{"name":"christian-bromann","email":"christian@saucelabs.com"},"dist":{"integrity":"sha512-UolAWXkdCmya+lnlBYQToHczrVavUQhVynqbg8NHx+YmOUrNqlR8p8LjFKpRy0xhw8e/8kp2ci+//jqJYle1JA==","shasum":"5df325038070dd683005710472285fdf45e94b43","tarball":"https://registry.npmjs.org/speedo/-/speedo-0.2.2.tgz","fileCount":13,"unpackedSize":47663,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJck/KzCRA9TVsSAnZWagAAiPMP/1BJuTfYWSIx8Jp9Jk+w\nonT+LbDnZn1sUYMUDMAO9mNGVVkFH3XfvDtcA0cm/BaSqYSwT65F5FPji5dO\naSdUY+2C+WmNF8FsQlByj+iTQHfV/ky20BS3Zr4W/7+MYLF4tcepzhkfUYS/\nyUQWoi6oVm+6V/rwr1FDzCwrliHMxItN6o588UXnSAQXVasul9RebD57ZqA6\nJr+Z61u3ZTOp1FkS88ltDBtaBjtShqRO25KrBNGMzsvI1GU6Ao8FnovzqOF9\n3K8n3qID3zJisOPV4YeROwoyZJHNX2oEmMWMnfJy9rVuKswOJWXntsP1uWnh\nhtGT5lGUKMzEA+e1mf9/MaCfpT0rNWX7kXgNR5hdpZIqsUMkhX+JnPxz6JuE\nLDz4R/acnBgbpIJ52/PXdqa6zkSBELw8Mz1RQt+vZGg8Egm7U//6KkIaO3Ci\nhf4sqC+AU/HO8v3B3ioxdzUmx4wHSJtzg9XgYdgsbTbEB/kjuI/nIMDaNMne\nAkoPD5v1yXPLOcxXAuK/ZzdJwPqxsoGnG9KeE7fiddASicD8BqqjHpmSB8vi\nOsIK51JQ3RXHxYbsJKf7XOXb6Hd02zCdJ1yQ9LSaGIDCwpNUHGaGBRq19cao\nAexwIELJPJ2H0YkgUJNWsh/9IsNstYYB5KTqj1VErYCntFBp+6KDCN4NLpgg\nVrp1\r\n=QnDh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC+r4fsga01jYWb7bJT6hQM4vANbC5DF9l8hixwFnkFRwIhAJM2mBiM7y9MRB0tO5qSNDgr/CWoto6GssbvcGBvM/+2"}]},"maintainers":[{"name":"kytwb","email":"amine@mouafik.fr"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_0.2.2_1553199795181_0.237240619766526"},"_hasShrinkwrap":false},"0.3.0":{"name":"speedo","version":"0.3.0","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"NODE_ENV=production babel src -d build","eslint":"eslint ./src ./test","release":"npm run release:patch","release:patch":"np patch","release:minor":"np minor","release:major":"np major","prepublishOnly":"npm prune && run-s build","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.0.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","np":"^2.18.2","npm-run-all":"^4.1.5","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":92,"functions":97,"lines":99,"statements":98}},"testEnvironment":"node","collectCoverageFrom":["src/**/*.js","!<rootDir>/node_modules/","!<rootDir>/tests/__fixtures__/"]},"dependencies":{"change-case":"^3.1.0","ora":"^3.1.0","ordinal":"^1.0.2","pretty-bytes":"^5.1.0","pretty-ms":"^4.0.0","saucelabs":"^2.1.3","table":"^5.2.3","tmp":"0.0.33","webdriverio":"^5.6.0","yargs":"^13.2.1"},"gitHead":"e8add031d3a6e41d4722b498106138725e3ee5b8","_id":"speedo@0.3.0","_npmVersion":"6.4.1","_nodeVersion":"10.14.2","_npmUser":{"name":"christian-bromann","email":"christian@saucelabs.com"},"dist":{"integrity":"sha512-BY8W+MVhSSvjgtoC8+QE0lgZNEgVbZscJBrx1Djyb1W/M/mWAq/cvYzot2cd3fY0NgEID6M17bsUrSAsA+7qog==","shasum":"6d6bf7693d0ee9902e6928d27c97f0705f7be913","tarball":"https://registry.npmjs.org/speedo/-/speedo-0.3.0.tgz","fileCount":13,"unpackedSize":44026,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcoggXCRA9TVsSAnZWagAAxpQP/jO2rcB7w5NPVCyqnH9l\ntV3tVSDCTYyV15jYsfVmidR5cIhrjLhhDfrBT/+YntpI/loYHlLk7TO2BpWH\n6++7q9VSeu/0DDANZaDojxlawOlFQtbMvX6reJMqSnHMQxfP94Z4mhrL7q2V\np4PtGL147KSaM5V0Kp6abvCDI4BFuTj9FsnoAbvqcIcomXQRuOzBUQh0lJsQ\nlP6qnNhFidEXQFfDqauHUWbCXvGCyXCXjD0DNRuTQgSirzLFjDhDwNVe2mo7\n9c9dgu8848/0MAwmkeh8IUEfBN13HrohO/CHAe4yKGYsbLWrENRobtYC6K30\n/OAKogK+CB9COdaHx03ltJIfeeYYd6LX9vpyGgHw/8VOujDdGgYDGMU7UWof\nyy66xpuJPAqMxoiG2RSVy4HBBfovFbAw9uFaqB0WH8UOjaofLuZ8dinw4qQb\nviLtmmvvWgxj4c3CqDEkbI6Xfyv4KPocEW/mcMYc8cxCQM7DIwQVhvBmTUfj\naG4ApLIjp4QNcRs08pxN9ciWkRKjOqpI9iDxFASscwxRpp0GU3cSYHryjtKY\nclbHWzGrXGO4XeAin1MFVMG5EOcRZxGBYlvZcAXNSfcTCpJWgbPQALI2y5Dc\nFSco4hebPmK1qTHXUWoi0tt1x0FVE+uPuY+zmFHjNKFu4b8u2cPVjsnewkjh\nJGyD\r\n=A6eu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFqYRcV724rsx6hHyAXahLzyq6IaDhdNWr2FeIEzHSfuAiAKK8tEQKoHtYoK/SkzAgBuCPsdsbkv24VijcWT2aLWMQ=="}]},"maintainers":[{"name":"kytwb","email":"amine@mouafik.fr"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_0.3.0_1554122774276_0.17966683088144753"},"_hasShrinkwrap":false},"0.3.1":{"name":"speedo","version":"0.3.1","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"NODE_ENV=production babel src -d build","docker:build":"docker build -t quay.io/saucelabs/speedo .","docker:push:latest":"docker push quay.io/saucelabs/speedo:latest","docker:push:version":"docker push quay.io/saucelabs/speedo:$npm_package_version","docker:tag":"docker tag quay.io/saucelabs/speedo quay.io/saucelabs/speedo:$npm_package_version","eslint":"eslint ./src ./test","postpublish":"run-s docker:build docker:tag docker:push:*","prepublishOnly":"npm prune && run-s build","release":"npm run release:patch","release:patch":"np patch","release:minor":"np minor","release:major":"np major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.2.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","np":"^2.18.2","npm-run-all":"^4.1.5","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":92,"functions":97,"lines":99,"statements":98}},"testEnvironment":"node","collectCoverageFrom":["src/**/*.js","!<rootDir>/node_modules/","!<rootDir>/tests/__fixtures__/"]},"dependencies":{"change-case":"^3.1.0","ora":"^3.1.0","ordinal":"^1.0.2","pretty-bytes":"^5.1.0","pretty-ms":"^4.0.0","saucelabs":"^2.1.3","table":"^5.2.3","tmp":"0.0.33","webdriverio":"^5.6.0","yargs":"^13.2.1"},"gitHead":"b657771bc14d2965cae639982b333a4301b920d2","_id":"speedo@0.3.1","_npmVersion":"6.4.1","_nodeVersion":"10.14.2","_npmUser":{"name":"christian-bromann","email":"christian@saucelabs.com"},"dist":{"integrity":"sha512-/vE3tFXukYppT5UxK9yDor0LQ/g+CNT+DLle0oc3pS6x+NgMoqPy40WaYIa47dibJCdRWg5adV5FL9iCEtGKgw==","shasum":"7db22f1c8b90161bde31044b02c84e2bf4b423a7","tarball":"https://registry.npmjs.org/speedo/-/speedo-0.3.1.tgz","fileCount":14,"unpackedSize":46329,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcoig6CRA9TVsSAnZWagAABEsP/23oIPFiNds5lyQ3OYim\nkaKZMBiwZZXXdwCl51J1DCuf5UURdN9ALHjpL6HA3sPiCAewpLGysEyw9Cwa\nPf3n7+hlFcJEaC+Udspp4FcIX/phOCtYrMz7CglJAS85C7/lYnIecHVTy4AS\njeFUoFMAzIM0Hb3jhhI9P5FlW0xQXdAeGkUTlNt27++nyigBW3FpXU2gcQ92\n/i0NAIKb8yFzXdw++Z757aUFZL4ctvoKoK15CCtC0ux7Sv3Op3ZWfPELoEF1\nm8ZKr/FAGvj+45U+IPzZUxU7Ivg9Isa8d4hbdQ1H8wemSBaBY09eNCCFpRYS\nLSaEFlNzUszOBx4syZChgP50h6JEwxiGNVqkQhFsomwZ8w9gmm1Q7qrEXk70\npkETGAXJ+10M2BqxBk5XkWXt718WGiM7Ntr9MfA0/DsSB+qgTN9b7jm57RE5\neTHIilSgbiUGzOXztavO7r5wCsyRAMWxBFGv6LNtlpGd8Kf9eqB5LQsY8je3\nzAxBiwZvWxGY8B14z7mSoA2fYQGDqvv/eapMVdyGuYdA1qXKQ3puBLHbtutX\nwwyiW6N8mC2yS/Z6/Uu1j8YPIdy6WcQLcUOazPW4HO8DTZ+FxKOnlwy3l14k\naJrdIt7FlSNly0+5KDXxSrEWBAMmohW94OexCijR8T1Xb0rJCz1Ij/RhNqSf\n6GNz\r\n=wWZp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCL2ZYKekQ/TsTZz3VTSZZm4ih1HB6WnIX7qRSccJgnnwIgd0GNHo+7m+1AuRB7mCX9dc8tMnTUYoqylz/8xrlTcp4="}]},"maintainers":[{"name":"kytwb","email":"amine@mouafik.fr"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_0.3.1_1554131001324_0.5673022430345911"},"_hasShrinkwrap":false},"0.3.2":{"name":"speedo","version":"0.3.2","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"NODE_ENV=production babel src -d build","docker:build":"docker build -t quay.io/saucelabs/speedo .","docker:push:latest":"docker push quay.io/saucelabs/speedo:latest","docker:push:version":"docker push quay.io/saucelabs/speedo:$npm_package_version","docker:tag":"docker tag quay.io/saucelabs/speedo quay.io/saucelabs/speedo:$npm_package_version","eslint":"eslint ./src ./test","postpublish":"run-s docker:build docker:tag docker:push:*","prepublishOnly":"npm prune && run-s build","release":"npm run release:patch","release:patch":"np patch","release:minor":"np minor","release:major":"np major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.2.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","np":"^2.18.2","npm-run-all":"^4.1.5","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":92,"functions":97,"lines":99,"statements":98}},"testEnvironment":"node","collectCoverageFrom":["src/**/*.js","!<rootDir>/node_modules/","!<rootDir>/tests/__fixtures__/"]},"dependencies":{"change-case":"^3.1.0","ora":"^3.1.0","ordinal":"^1.0.2","pretty-bytes":"^5.1.0","pretty-ms":"^4.0.0","saucelabs":"^2.1.3","table":"^5.2.3","tmp":"0.0.33","webdriverio":"^5.6.0","yargs":"^13.2.1"},"gitHead":"a1320e44650fa07ebe684435e29baf433f42cd6d","_id":"speedo@0.3.2","_npmVersion":"6.4.1","_nodeVersion":"10.14.2","_npmUser":{"name":"christian-bromann","email":"christian@saucelabs.com"},"dist":{"integrity":"sha512-X6M1u/wu27ntM/3RN1ZRUI+z6Q7sn1NfREnRBHnMqpjTnZOVJgLDQMQ0FNATvyW2xRbBYoTjJkc2YqUfMJaWGg==","shasum":"661bf92855c7a567c51150bb01603df71663d555","tarball":"https://registry.npmjs.org/speedo/-/speedo-0.3.2.tgz","fileCount":14,"unpackedSize":46831,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJctZINCRA9TVsSAnZWagAAGckP/2H791bPNGQb9uHeejLY\nCDC+54B8v8YAvGC2h5xxD4svlTdy2enfOiPtv0YTQjT3m0Y/XT7ZuGrUQhB3\ntPFH0SBzgBJSL/ZDTZ31ZsXkOPNgCs//+UZxxiuMek7spb1tG/u0OyS3U+g6\n976F93tM2O1n9Wd8mVUoqnzYY6qEL+K/ujKSgZ4Qh5uWoZwnmQ0mHIJRcJ4/\nxFQh78FZ5EtFjXeDBop2DxDpEVhPV8xOK5BK1uEeanBpI98E+HEqsXvLFjrG\nH71I/TlMvLi3wodO+Y8wqUgZQs9B8oP+2ldbFcZQvWOBchjDdSQRsxbr9ndU\nnrSPaLXAabu4oW2Gg2TIn5nKHhvRm0iwNEyM194vqtAbt5tTpjDtvHLK3sk7\n8MHGDU1/U+JRxlT+2+kLJgkNUg3AQt6AKnQJLXjG+0qCLbJTNfHKAACwb0BX\nm2+exsvbLD4XzXQGGvwilNjgdjhnWFvnl1inxZbhCkoeSC52FcZNW67cxBs9\niiJverYA/Y2IgzmYTn9xil1004UB9sPA3v/57EaIU1rmjwMl2cLfssBdyxUQ\ns0MAL6B1G74db7qK3H8L64PvlCORMQSEkNK+NGAjSAQ8jJ0pgxW0lCQIxL6j\nX3Emi2Ap3w9DePdE+6SKgkbYJ/3JJMVNO8ZLSJ8tIqtQXZNC7vzWKNngoYId\nbemB\r\n=atdV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDauwnQ/oppM6h0GnkgJPKgTiabDidS4h0hTjNNzeaLOAIgboX5wmy+aLD8CRyo3vEnGoumBTHnFgQN2nJxygw/pSk="}]},"maintainers":[{"name":"kytwb","email":"amine@mouafik.fr"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_0.3.2_1555403276537_0.8703307046972031"},"_hasShrinkwrap":false},"0.3.3":{"name":"speedo","version":"0.3.3","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"NODE_ENV=production babel src -d build","docker:build":"docker build -t quay.io/saucelabs/speedo .","docker:push:latest":"docker push quay.io/saucelabs/speedo:latest","docker:push:version":"docker push quay.io/saucelabs/speedo:$npm_package_version","docker:tag":"docker tag quay.io/saucelabs/speedo quay.io/saucelabs/speedo:$npm_package_version","eslint":"eslint ./src ./test","postpublish":"run-s docker:build docker:tag docker:push:*","prepublishOnly":"npm prune && run-s build","release":"npm run release:patch","release:patch":"np patch","release:minor":"np minor","release:major":"np major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.2.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","np":"^2.18.2","npm-run-all":"^4.1.5","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":92,"functions":97,"lines":99,"statements":98}},"testEnvironment":"node","collectCoverageFrom":["src/**/*.js","!<rootDir>/node_modules/","!<rootDir>/tests/__fixtures__/"]},"dependencies":{"change-case":"^3.1.0","ora":"^3.1.0","ordinal":"^1.0.2","pretty-bytes":"^5.1.0","pretty-ms":"^4.0.0","saucelabs":"^2.1.3","table":"^5.2.3","tmp":"0.0.33","webdriverio":"^5.6.0","yargs":"^13.2.1"},"gitHead":"3aec37aebc150fb237c86cf17fcdfd8a4d2de135","_id":"speedo@0.3.3","_npmVersion":"6.4.1","_nodeVersion":"10.14.2","_npmUser":{"name":"christian-bromann","email":"christian@saucelabs.com"},"dist":{"integrity":"sha512-8s269o2yx/tXiHmHDGxvwaevODhNR+oHfRZjEE2LwiSaH/9jl5vD4tcpco/d7Q8KQBgXDwY21mW7eykCyszPsw==","shasum":"17923403ea82ea4419113333446ffef94aca10ea","tarball":"https://registry.npmjs.org/speedo/-/speedo-0.3.3.tgz","fileCount":14,"unpackedSize":46831,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJctZKdCRA9TVsSAnZWagAAm/8P/0Y2+pCplyPf7jhCCb/9\n3YYLWHde25/inXVGC9AuPprYRtl2KN6WrZ9mF7e3gn1gsm+QsnCMHRQlz++4\nsjyu7Avy1einH3I5NQcouIVUavg5L3fJVkIzPLa0fnC1cTGZ1RIQEJdsmvAv\n2F+lkdN1ss+wS1GE/N4zGiLuJNV/txxsRTEPWdyynwjZf8T2yTzhx8v67ASA\nYK+Q3stpLLSAnHNONVmtuWf0M/kLtLGYq5lTPjtvByCR7PvbdMVSAWNGfGPH\n1rTLPupzKnCRVcg4w9TG0PEUQzKUT2pZIKveTN3bSIRpEnDZEJV+5dLys7hx\n0lGeeio/IPIlSLDY0+KjE3EFHwohqxbKgsHGGQp30IsAGfCJpvZqDn1JNX0m\nGDuSFLlZgIFrhfiiPVGSB05RpB4QhXVpCr++WYZs5MwJ835uajvfPtfTxBQj\nTYq+hKUr1RMv0C6ESxWzBzs0lwJLbvARPucvaPtR/ubo69BwI0BZAEiNAANu\nFyW68OzXYk3+540kcziC5ulGgLyIKMPmiVFFaRxVcvo/47vwM0zeseY4yZb6\nG4tBnANSfc3KJTpwm9U8+rPax+/sNJK0ryWbrfchKrc+iNuy7Q6s1yLFeTXn\n/9pc8VofECOxDRlvmvSR3/uubYKdWt9dhNLCdqbpkwp06jT4qU8uZW9EpgzW\nd1HY\r\n=uZQW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCdXWMjKcrUtTpxBthSMcdnWKU46Oa/v+uyMBfxUJioVgIgRa4PdPZ5F/k1u6TILAe9t6LIr0ES7Bal3su/wAjwWP8="}]},"maintainers":[{"name":"kytwb","email":"amine@mouafik.fr"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_0.3.3_1555403420220_0.9501826126450441"},"_hasShrinkwrap":false},"0.4.0":{"name":"speedo","version":"0.4.0","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"NODE_ENV=production babel src -d build","docker:build":"docker build -t quay.io/saucelabs/speedo .","docker:push:latest":"docker push quay.io/saucelabs/speedo:latest","docker:push:version":"docker push quay.io/saucelabs/speedo:$npm_package_version","docker:tag":"docker tag quay.io/saucelabs/speedo quay.io/saucelabs/speedo:$npm_package_version","eslint":"eslint ./src ./test","postpublish":"run-s docker:build docker:tag docker:push:*","prepublishOnly":"npm prune && run-s build","release":"npm run release:patch","release:patch":"np patch","release:minor":"np minor","release:major":"np major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.2.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","np":"^2.18.2","npm-run-all":"^4.1.5","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":92,"functions":97,"lines":99,"statements":98}},"testEnvironment":"node","collectCoverageFrom":["src/**/*.js","!<rootDir>/node_modules/","!<rootDir>/tests/__fixtures__/"]},"dependencies":{"change-case":"^3.1.0","ora":"^3.1.0","ordinal":"^1.0.2","pretty-bytes":"^5.1.0","pretty-ms":"^4.0.0","saucelabs":"^2.1.3","table":"^5.2.3","tmp":"0.0.33","webdriverio":"^5.6.0","yargs":"^13.2.1"},"gitHead":"f2094b2a0eb07d7cbb5a835a7cc0c3f728ca83c9","_id":"speedo@0.4.0","_npmVersion":"6.5.0","_nodeVersion":"8.11.2","_npmUser":{"name":"christian-bromann","email":"christian@saucelabs.com"},"dist":{"integrity":"sha512-Bg3ZygrA/D+uphfjjUNuKpPQasmoXDF+1M8oC3DU9qY24i0OhsMrX7wbogjCqnEbskaeSB7mRjamYiDz0b9HKg==","shasum":"de9f89e1ecf0524744cd114c730a38c896fe7a15","tarball":"https://registry.npmjs.org/speedo/-/speedo-0.4.0.tgz","fileCount":14,"unpackedSize":48968,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJct54HCRA9TVsSAnZWagAA8rQQAJG3A4Z46ZWZup5oySed\nXDlrB9yDXIl8Fl8ZYol5MxL15+HgsAy18PZUMlyeG03V3iCl/ozj7JEokjCd\nTq0SA9stj1l7UtLfntLTsfDfnqDWnEWb1TjA0mbUWZbCHlmMMvZ5WWzMS1ov\nJ4SZGFtsFhRBgo90OEHBo3AJAK81CH28afjoFF4P8KUb8kb2MTV0wVDbs0jy\nUVcGN8ZZ98LpwEiziJT2vcQ0MTyEnBsgFfs4cMp4jXEeC/m1fx92+vRMve6P\nEPJVIfca74/McTFTs9uEnimdmRMB71SY9IpLPV5HDuiSjl+MHGv6Sn0Kwklp\nlq5HnvXFxJ0QAVV240CiOBArASwiiWIRLI9QKB/+0Pox6zkbASTWAvPrdl3j\nvhSBIg+2/C2gyaldp7FsPVO6AxLTGbPmDAVt7xjlIZQt337GTTe3pxqtMmG1\nmcBR2yOtfxyYWaRlId9h0u/wZO5JNCKErHd3gB+UhL8M+5v5qbMHKVKDOLqs\n2UlZMFsfLTT2myaXhCN7pSuOwoj+dRGuPciQYk97Rqi5CWdFGLlVZgAvIOmg\nj4WQrKrsVwpQvJCPyAJPiAez5rlw2pKldFaS9PKWZugP5+WLrB0U5lTnw7nX\nI4AtYMFKtcBXwMCvWQc+zlaen0DfGBijP+lvANhnKTGml1dPPXRpvQrhvIDp\nD7sq\r\n=4Tam\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHwqYu2wk+VfSP3+7ikP66Gcjh1k9JKDhoEScJYwhM4BAiEA9tSODWTDih7HRF+sb9E5dF41BlThEbR6ZuLZsZXQdvU="}]},"maintainers":[{"name":"kytwb","email":"amine@mouafik.fr"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_0.4.0_1555537414112_0.30351204692176825"},"_hasShrinkwrap":false},"0.4.1":{"name":"speedo","version":"0.4.1","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"NODE_ENV=production babel src -d build","docker:build":"docker build -t quay.io/saucelabs/speedo .","docker:push:latest":"docker push quay.io/saucelabs/speedo:latest","docker:push:version":"docker push quay.io/saucelabs/speedo:$npm_package_version","docker:tag":"docker tag quay.io/saucelabs/speedo quay.io/saucelabs/speedo:$npm_package_version","eslint":"eslint ./src ./test","postpublish":"run-s docker:build docker:tag docker:push:*","prepublishOnly":"npm prune && run-s build","release":"npm run release:patch","release:patch":"np patch","release:minor":"np minor","release:major":"np major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.2.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","np":"^2.18.2","npm-run-all":"^4.1.5","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":92,"functions":97,"lines":99,"statements":98}},"testEnvironment":"node","collectCoverageFrom":["src/**/*.js","!<rootDir>/node_modules/","!<rootDir>/tests/__fixtures__/"]},"dependencies":{"change-case":"^3.1.0","ora":"^3.1.0","ordinal":"^1.0.2","pretty-bytes":"^5.1.0","pretty-ms":"^4.0.0","saucelabs":"^2.1.3","table":"^5.2.3","tmp":"0.0.33","webdriverio":"^5.6.0","yargs":"^13.2.1"},"gitHead":"3ec03b27309e32b1702e3ff0c2974eb45a3115e7","_id":"speedo@0.4.1","_npmVersion":"6.5.0","_nodeVersion":"8.11.2","_npmUser":{"name":"christian-bromann","email":"christian@saucelabs.com"},"dist":{"integrity":"sha512-iajtxD8t1dQEwFPiQrllczNQ612ZNTCYa7jIJ5LIKwzhxwJtaiFSRHdazKVAb+LaUwwDvAp3gai0jZWmBrVDxg==","shasum":"6ee8d7f50c2e2dcae790fddc56861eb732474ac7","tarball":"https://registry.npmjs.org/speedo/-/speedo-0.4.1.tgz","fileCount":14,"unpackedSize":48968,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJct575CRA9TVsSAnZWagAABLAQAIELoygZgFGqBKNnD8bb\nheffKu55v5yuvuq4BMtYQP77mnlRRnvZEpFuLyadBrEWq2hYMFgAYStLmuAw\n2JpjjkSERLw6owZSLmgDw+N751sYcCU44mALQcx/+pmlBXbL6uPgLV7qYuWv\nPQ1XyFHwRLrFKi9vhyIi3Z98C8fDUONA1ENmrdT+YIXMMP44JSSVUFo7vajl\nEEThvkTCZJonUkDeMgHcRwysrmMYd2jewy/hlnyRlCn0aG4VvNCd7FFEFpDU\nMoJnnDGakcEQpxbp9V/KzNl5f0f8tgSab/W5aTXQukl0ew0rAkRuRpWRFjlS\nof/uaTFVk/uJTsez9rfovVJZbdhubOU3hxVkAS203Cp2jslD4yoEk2hOlhpK\nWDC6htYp1G9ZqxojdF23RE9ekGI5NydPfGFZFKdB1lwC8M8DpBJWDJUnJDMq\na1a5Ll6mK4Ie8CucNS8J0VHyLZEyMvWZa/9jRnxWllbMUgaTTi5om6wtRfEg\nrxyTXcx6/Fdifzm6IvR1J47uGBUa2CF79xgSLLD2/V+Uk5TT8qk24J45ITtS\nKcJmBF7zeF2h98QDOkGjsmSYw9VkCu3q6BFEwz6MVfClhFHzqloQMzKXVv2J\nHQGoJBIT1n1CxF+NDOTfkwtb8+s8EVDvX3HLX/Cb7afvH8tItKRyacX4b0F+\nnZY0\r\n=hijT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICNlvSdcC12vyM/WLXgOiSikTHTKIjFuggAiJS9OYhgEAiEA3jrsqlUhmZCWnRJGqIy25dFclD6EYOnDx1r/PMctDnQ="}]},"maintainers":[{"name":"kytwb","email":"amine@mouafik.fr"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_0.4.1_1555537656955_0.8428193637157477"},"_hasShrinkwrap":false},"0.4.2":{"name":"speedo","version":"0.4.2","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"NODE_ENV=production babel src -d build","docker:build":"docker build -t quay.io/saucelabs/speedo .","docker:push:latest":"docker push quay.io/saucelabs/speedo:latest","docker:push:version":"docker push quay.io/saucelabs/speedo:$npm_package_version","docker:tag":"docker tag quay.io/saucelabs/speedo quay.io/saucelabs/speedo:$npm_package_version","eslint":"eslint ./src ./test","postpublish":"run-s docker:build docker:tag docker:push:*","prepublishOnly":"npm prune && run-s build","release":"npm run release:patch","release:patch":"np patch","release:minor":"np minor","release:major":"np major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.2.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","np":"^2.18.2","npm-run-all":"^4.1.5","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":92,"functions":97,"lines":99,"statements":98}},"testEnvironment":"node","collectCoverageFrom":["src/**/*.js","!<rootDir>/node_modules/","!<rootDir>/tests/__fixtures__/"]},"dependencies":{"change-case":"^3.1.0","ora":"^3.1.0","ordinal":"^1.0.2","pretty-bytes":"^5.1.0","pretty-ms":"^4.0.0","saucelabs":"^2.1.3","table":"^5.2.3","tmp":"0.0.33","webdriverio":"^5.6.0","yargs":"^13.2.1"},"gitHead":"84d760748f7122d497c7ab4c10d46980a296189e","_id":"speedo@0.4.2","_npmVersion":"6.5.0","_nodeVersion":"8.11.2","_npmUser":{"name":"christian-bromann","email":"christian@saucelabs.com"},"dist":{"integrity":"sha512-gvcrKNYY0reCxLR6egXI8KapLaT54+DpmNp/ZtlgoaOch0Sptfx8ubV9dIiqz5zK+XQJSwpuloIp+OZPELKDGQ==","shasum":"dae55b3024761e2436a2922eba03c3cc558f0c84","tarball":"https://registry.npmjs.org/speedo/-/speedo-0.4.2.tgz","fileCount":14,"unpackedSize":49040,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcuZ+iCRA9TVsSAnZWagAAGt4P/0h1EZNszl2J7Y5WxURz\nlL+wdCVxoYl2lG7GKwQ8lDxHuWm+D4JUHPO1UNJGoVptZ/6GJErwrvL9xDzQ\nia7LTmjqOTonOXryDGxs4+/77Dqk6UVtteqvs1mZqWESewDZ10AfWOCV3G+z\nkMGl5arUrTLR9kk6rwomD63outGUtss8Pgb+BqH37DIydkOaL2NYQEqxpBEm\nSxu9bb6VdEQS0evDBnCfTSYXB3disaI3twXBNVi4F8xQh5Z3Uu5hfMaAwDZj\nmI1s3slcUbRkwtzZjOD105W68LI2Fti7Mlb4toDQNz2LU9YFsv9OU//i47ZU\nBUzotcDaj1LCQmfu6iHkI0gZX7UlSjf840knSNJqz5dz/WuEdtS0PyN/kKGd\n1/MMQ5lXHcgvNLFALjlsigrkkTQKa3coup4pIu9u4Du69RKMzN7KcLighvPI\n6gxnA3DIVMhZCHcAlkTX5wTLONPN/O1i4ufEIeumtMyXl7YwRw/oJfdHk5ff\nVK/qkPm+Myql75YQB+WScang/Yo8zpNeiWbb4wrXBeJRBkR/rnzUEiQ/SzJC\ntnzPG4Q9ndizTHbtYWvKXBN/VAC2qJz2quW//memUVY5I8lqd/BOsrXvp8HD\n4bNi8JP2+kEwse4eKBuTMHcditL//MAUkcJnR53wsCg/EAEJAkHuOB4qbGe/\nZG9O\r\n=9RaT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGH7sbyIIXQ5A+M3+udcjYFPyTAaYMBQf8yIWnvoIDuvAiA3A7bB7fqkB8o+tV1goNiVmv2s+CwRwfp4Wn/vYkH/nQ=="}]},"maintainers":[{"name":"kytwb","email":"amine@mouafik.fr"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_0.4.2_1555668897861_0.10131279024722173"},"_hasShrinkwrap":false},"0.4.3":{"name":"speedo","version":"0.4.3","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"NODE_ENV=production babel src -d build","docker:build":"docker build -t quay.io/saucelabs/speedo .","docker:push:latest":"docker push quay.io/saucelabs/speedo:latest","docker:push:version":"docker push quay.io/saucelabs/speedo:$npm_package_version","docker:tag":"docker tag quay.io/saucelabs/speedo quay.io/saucelabs/speedo:$npm_package_version","eslint":"eslint ./src ./test","postpublish":"run-s docker:build docker:tag docker:push:*","prepublishOnly":"npm prune && run-s build","release":"npm run release:patch","release:patch":"np patch","release:minor":"np minor","release:major":"np major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.2.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","np":"^2.18.2","npm-run-all":"^4.1.5","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":92,"functions":97,"lines":99,"statements":98}},"testEnvironment":"node","collectCoverageFrom":["src/**/*.js","!<rootDir>/node_modules/","!<rootDir>/tests/__fixtures__/"]},"dependencies":{"change-case":"^3.1.0","ora":"^3.1.0","ordinal":"^1.0.2","pretty-bytes":"^5.1.0","pretty-ms":"^4.0.0","saucelabs":"^2.1.3","table":"^5.2.3","tmp":"0.0.33","webdriverio":"^5.6.0","yargs":"^13.2.1"},"gitHead":"fcc7bd35b0a9d701db9fd33e1bf77aa097582997","_id":"speedo@0.4.3","_npmVersion":"6.5.0","_nodeVersion":"8.11.2","_npmUser":{"name":"christian-bromann","email":"christian@saucelabs.com"},"dist":{"integrity":"sha512-+iujJbC6i1avoizziK2PsTdquYe17iy4VXYk1QeA9RcDYhR1zt+TfTncciD8mMdFLoXt9HxBOzlrhOtsD2lVgA==","shasum":"563509f2bbb9086980367b098fcc9bddb4f229f1","tarball":"https://registry.npmjs.org/speedo/-/speedo-0.4.3.tgz","fileCount":14,"unpackedSize":49040,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcuunRCRA9TVsSAnZWagAAjKwP/18l86DsLawUVMiKI1d9\nivlmnEwr0canjYLT8klEEuDf5Zf4jTsHnenIvfj0wX3/ykFa7+eqAGCJFdOw\nktowd6M7W5mEeqUyhVCbRzdPban9C4kkW7lGrXBLPjSx/8gG9A+9xmLURVWL\ncqFKTREP30lgly0oGQvH//9MvVUcLNj5NBOHfRQfqbZLVtN4xppmah2bSUmY\nD+Y01438qPFgJLrsB2/Ox/PTTVwHyhOwer46yl5zmiIB1j+v2uuDJah4r0ct\nCv3oWrkY/cjeU8RF0903hx0dtc9PD2+yw4kYJje32XJtovZ8NHL+ENEc48Ki\nb/gVTOSGn1/I+1QTBIMkEWMpFbHa6cnji26XT5i+QEAYXi/iZN68plHGN+xH\nzHU7EyEFzXCTIOZ7EB7CelLf1ufISXljF7k/wJEyVtV/pOAwFrgdZL9uofcD\nX+6IvINprdXPZD4nJJ9B+8WwyT9gyL2HwkkRk3cfi2VWg3PzEKHmIRuM6puv\ndOmErgKEK99KUdQ7PKIFhQnhf67dKTPN9dKff8SdcJzZEIc0oK8xU0Wjm5Rc\n+pqQxXDCUpNKRwcAQ2Ek17l1Z6ZycRggu87htZmK+9FpXN5C0ZAAiHngcNKS\nbnkn8j+lG7o6GF/3Y33wkHi+AT4dvEHnXGFEp4RJ12LICwXea4RFElTMQA6M\n0ucq\r\n=Z9oy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDH7xnXuizQYHqF62XcImTvuWFYNjFOv640i0ir8evw3QIhANXjkzPpUoxwf6A0PBQLatE+PSWRVSOROreUm2AIoCIP"}]},"maintainers":[{"name":"kytwb","email":"amine@mouafik.fr"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_0.4.3_1555753425036_0.1006586437509327"},"_hasShrinkwrap":false},"0.4.4":{"name":"speedo","version":"0.4.4","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"NODE_ENV=production babel src -d build","docker:build":"docker build -t saucelabs/speedo .","docker:push:latest":"docker push saucelabs/speedo:latest","docker:push:version":"docker push saucelabs/speedo:$npm_package_version","docker:tag":"docker tag saucelabs/speedo saucelabs/speedo:$npm_package_version","eslint":"eslint ./src ./tests","postpublish":"run-s docker:build docker:tag docker:push:*","prepublishOnly":"npm prune && run-s build","release":"npm run release:patch","release:patch":"np patch","release:minor":"np minor","release:major":"np major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.2.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","np":"^2.18.2","npm-run-all":"^4.1.5","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":94,"functions":100,"lines":99,"statements":99}},"testEnvironment":"node","collectCoverageFrom":["src/**/*.js","!<rootDir>/node_modules/","!<rootDir>/tests/__fixtures__/"]},"dependencies":{"change-case":"^3.1.0","ora":"^3.1.0","ordinal":"^1.0.2","pretty-bytes":"^5.1.0","pretty-ms":"^4.0.0","saucelabs":"^2.1.3","table":"^5.2.3","tmp":"0.0.33","webdriverio":"^5.6.0","yargs":"^13.2.1"},"gitHead":"cdecc6c2b4e6a82c92e36e306ca74067a8acd17e","_id":"speedo@0.4.4","_npmVersion":"6.5.0","_nodeVersion":"8.11.2","_npmUser":{"name":"christian-bromann","email":"christian@saucelabs.com"},"dist":{"integrity":"sha512-MusGUVPV3Vt+8MDvnQu8n6DAl10+7royQMNR+SEQXdV2mj9YAGsNBIipcE2La3tWWj4uR10npuj+jaDT1P5ZMQ==","shasum":"42d70ff730c1015ce737e3793ffca487e45d37a5","tarball":"https://registry.npmjs.org/speedo/-/speedo-0.4.4.tgz","fileCount":14,"unpackedSize":48822,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc28mFCRA9TVsSAnZWagAAaugP+gNcFA0nv8McCdUWStV8\nD2XMZNSpzJW6FDQEbryzlIKb81tJo/VQDLioiJR9+DvY6xB6bMH9xx/0sCJ5\ngBavshsBIikXZqpZNN8tt3Rx8KBy5CugCS+aeM/fDUoPjpQS/wBUkdAEj0eA\nPxzE1iaMhSF/SjjA1uRNVuJnyLs1qHnwUIrZNQlngcW06GxlrDfrPRl0FlJ/\nHVsW5Sj+Urt5yzSr0CacMgYsp2gJ9YEGgUAFTEp3xfH1PAkdOuWDgjGB/ZeN\nGzwRRT8mnIsywfRENodjAsxi4npWs7Io/ecSllDlOt1nT0SNa/u+fLN3JJjX\nmoaZv7/uHpm4sB1bvUJFUpzrD4q1wwB7OJZvmaZBwK7t61cnipIeIeE20r4h\nJG5qrijui15nXME4k3iadIt2YR6eyYQey580OEvatk8QCoKJd8soeM4PKQqa\ng4r43pzTrVuuG6xf5+iuw/vPzujKyDmdxaP4rDoCl2FSCN26p+dopZ30jMsx\ncm+gR4AVqFE4VnCLVV9nYvpRQ0RYXtxe3nxSmS1m96/zzWCSgztsT02umSys\n4xvQxMV+tINo/nvO6yC7WsjQNX5llNa83uZcqsJIFY/5FgVJGChitp6Am/EN\nByAHROl8yz+Bs4WeJA+1ln/lw3kQY7VBMoUzVbGx9//4Wi1JgDKFx8JKfht2\n2ctM\r\n=bVjG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQChPOrv1XwFjdj/An1I0ZAsJHctrSBsUNtBycTWpMBPcgIhAJHJUA2huv3fjS9AGD9EhT7PqevTl+XD36dHvFc54CO5"}]},"maintainers":[{"name":"kytwb","email":"amine@mouafik.fr"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_0.4.4_1557907844506_0.574587148012143"},"_hasShrinkwrap":false},"0.4.5":{"name":"speedo","version":"0.4.5","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"NODE_ENV=production babel src -d build","docker":"run-s docker:login docker:build docker:tag docker:push:*","docker:build":"docker build -t saucelabs/speedo .","docker:login":"\"$DOCKER_PASSWORD\" | docker login -u \"$DOCKER_USERNAME\" --password-stdin","docker:push:latest":"docker push saucelabs/speedo:latest","docker:push:version":"docker push saucelabs/speedo:$npm_package_version","docker:tag":"docker tag saucelabs/speedo saucelabs/speedo:$npm_package_version","eslint":"eslint ./src ./tests","prepublishOnly":"npm prune && run-s build","release":"npm run release:patch","release:patch":"np patch","release:minor":"np minor","release:major":"np major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.2.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","np":"^2.18.2","npm-run-all":"^4.1.5","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":94,"functions":100,"lines":99,"statements":99}},"testEnvironment":"node","collectCoverageFrom":["src/**/*.js","!<rootDir>/node_modules/","!<rootDir>/tests/__fixtures__/"]},"dependencies":{"change-case":"^3.1.0","ora":"^3.1.0","ordinal":"^1.0.2","pretty-bytes":"^5.1.0","pretty-ms":"^4.0.0","saucelabs":"^2.1.3","table":"^5.2.3","tmp":"0.0.33","webdriverio":"^5.6.0","yargs":"^13.2.1"},"gitHead":"772ffc7af8147d88aa495969890e40e29fd3c91b","_id":"speedo@0.4.5","_npmVersion":"6.5.0","_nodeVersion":"8.11.2","_npmUser":{"name":"christian-bromann","email":"christian@saucelabs.com"},"dist":{"integrity":"sha512-MmJpTVlIBLHgKX575ti7q7CdECwpsmzMRXKyZMmPauzLYcpIML69uyqfGZF6ikajZYjeZrClk+9wizdyzblp9g==","shasum":"ef00495038544d1851ce23ba2aa19e66bfe75b47","tarball":"https://registry.npmjs.org/speedo/-/speedo-0.4.5.tgz","fileCount":14,"unpackedSize":48930,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc28yoCRA9TVsSAnZWagAAj1sP/Au7x2IJjL5WvwFMA3Xk\nW1ykdJtjUTG69wk3Ve7gC+9kbVy9q8nlElVbtFlygdnjzXVpz0rV6n4v4/Lp\no+5F0wJa9Cu2kl5ueiAyTM9u7dalGSTMfGYMAJc6vMELohrIeLrEoPST7GCx\nZqb9qSqmg61QV39EJ1PYyeGHnAa4n2bNR7DuogeextTjflBMWihHOQ3CQuBK\nsoT91+kx70OV0rWYFvAxDv6vUbvAiaHdYZm3nVTlLzoJfChFARtq4Dh1ia6h\n2Lw+U4FJIk9HFCpgs1eOrGydmD0PQJWDCTzq8SvpWJd3XGMA4NTzr6ZgCP7T\n7TgQevSiAR7iOJ4UmH6tUqRqhibsFHgCgm/Frf3p1ufs+kSlsjXzsWGVGVSp\nv9bwgWUN41o25Qhc8n6+XXHItZg3kgA5vvQzU7SgBI4PXuRS7rGeIRBJNz9l\nFYDDv2GsAN+mGHheGltXLSpIS79ZAHBU234Qi9/uyaUvUO0nWmApLNLoY/5/\nXiirICW1RHRPNXc+En9g4ADzKw2WzbvqG64zqFcTxY65EPkqQ3sboXwH33SV\nf5WPFjivAQJCb0b55Ior36aBcZjJpPnPkjsI4TpgbOiO9ipnYzoYhQn3cHVf\n7Pz5XXq5O56IDQYdjp4J0r4DzdqZ6T9Jbh996+tUotRQ6GxzT+NtfOjRaJW3\nSohY\r\n=S1aY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB4D4CjOGdYlWLg6tMtQ6d7RyydkYgP6Jt1NS9KTOWI5AiB0ush2vaqXYjuzjB8Jjd5+JW8QogpQCBV8A8ZghKOLYQ=="}]},"maintainers":[{"name":"kytwb","email":"amine@mouafik.fr"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_0.4.5_1557908648138_0.5868188837096961"},"_hasShrinkwrap":false},"0.4.6":{"name":"speedo","version":"0.4.6","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"NODE_ENV=production babel src -d build","docker":"run-s docker:login docker:build docker:tag docker:push:*","docker:build":"docker build -t saucelabs/speedo .","docker:login":"\"$DOCKER_PASSWORD\" | docker login -u \"$DOCKER_USERNAME\" --password-stdin","docker:push:latest":"docker push saucelabs/speedo:latest","docker:push:version":"docker push saucelabs/speedo:$npm_package_version","docker:tag":"docker tag saucelabs/speedo saucelabs/speedo:$npm_package_version","eslint":"eslint ./src ./tests","prepublishOnly":"npm prune && run-s build","release":"npm run release:patch","release:patch":"np patch","release:minor":"np minor","release:major":"np major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.2.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","np":"^2.18.2","npm-run-all":"^4.1.5","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":94,"functions":100,"lines":99,"statements":99}},"testEnvironment":"node","collectCoverageFrom":["src/**/*.js","!<rootDir>/node_modules/","!<rootDir>/tests/__fixtures__/"]},"dependencies":{"change-case":"^3.1.0","ora":"^3.1.0","ordinal":"^1.0.2","pretty-bytes":"^5.1.0","pretty-ms":"^4.0.0","saucelabs":"^2.1.3","table":"^5.2.3","tmp":"0.0.33","webdriverio":"^5.6.0","yargs":"^13.2.1"},"gitHead":"c4bf3004bc39d46f39fafac8013db06d24248b87","_id":"speedo@0.4.6","_npmVersion":"6.5.0","_nodeVersion":"8.11.2","_npmUser":{"name":"christian-bromann","email":"christian@saucelabs.com"},"dist":{"integrity":"sha512-tbvrmyj6EIyeyxmhare8lCDfQiJbggJNdIaoXkZuVygZWPwxFwXR/lxTSrl0C9pEYI+9/CfECn+8Gio4B8QRPg==","shasum":"b3099dc93b24bc1c92964f308ed8af21e59c3be4","tarball":"https://registry.npmjs.org/speedo/-/speedo-0.4.6.tgz","fileCount":14,"unpackedSize":48930,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc284TCRA9TVsSAnZWagAAcjMP/08sK74OSSr9X7lXOzks\nd/46FYHQKEjK5QpWjWqUzFK60cIUxwr4sXuhk8LNPrMSoRCBrBObMrqyPzOk\nHyU0Takv45qbTA4BiQ5PghEM8XAF20o4YME8c9WpnroYl+fWXJBItOKYAJie\nyOGFhUpaJO7pyf6+8f50oJKuAVr8JTWf41PMP2WrgHHQ2DleklgZzDf8e0/E\nTis/GaEoHmlDmf2DBmC/L1UsTU1Mz9FcWhSoE87+dtFsRkDckf4pVbCp92lZ\nNcwyKU7WdZWd5xWwBu+Jz1fBgX/1XCXOSk751P1KI8VcN9Gdi+n20SFASIKK\nvWoVvZG21DWc5z1GaSDYw+sf4KeK/Aa8nhfu8DioXSkfZz73XjgIpk3vTnsn\nunoO7R877S5kLqRhOuPomqiKDI6f4riMCO0aj25KcJug24y/imwRIsy64jMF\njoZz6nPVbpetwauM2Rg5vVNVY3LrH2hI8zjJNJw3vcEFYgXOakZmyp0rLd++\nZ3BkiW+wSLIBBu3GKiAkMxaxKxFDVOUU7vjW6YaSr81CB803Qa4Hz86y3dVh\nxkPeBG9hfltygr4d+cF5x8SeZVzw8t/RBKyaKn8FZRUap3REmR4CaP3MBd7v\nJKxSTakLHJw/zPL9bbW8PWn/YU3tk97YMurJETzPTXguHcwGY/J+m2zbaPGM\n72iD\r\n=h02a\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBGUBsQdgS+QpFnVd+07aw+/Ffe3pfDS99QpaqjEFUdiAiEAhI8Sgx8brbrgYDW/YgzmMwzFMNVBrevuEhVVGOco26I="}]},"maintainers":[{"name":"kytwb","email":"amine@mouafik.fr"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_0.4.6_1557909010715_0.7224932873439145"},"_hasShrinkwrap":false},"0.4.7":{"name":"speedo","version":"0.4.7","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"NODE_ENV=production babel src -d build","docker":"run-s docker:login docker:build docker:tag docker:push:*","docker:build":"docker build -t saucelabs/speedo .","docker:login":"docker login -u \"$DOCKER_USERNAME\" -p \"$DOCKER_PASSWORD\"","docker:push:latest":"docker push saucelabs/speedo:latest","docker:push:version":"docker push saucelabs/speedo:$npm_package_version","docker:tag":"docker tag saucelabs/speedo saucelabs/speedo:$npm_package_version","eslint":"eslint ./src ./tests","prepublishOnly":"npm prune && run-s build","release":"npm run release:patch","release:patch":"np patch","release:minor":"np minor","release:major":"np major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.2.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","np":"^2.18.2","npm-run-all":"^4.1.5","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":94,"functions":100,"lines":99,"statements":99}},"testEnvironment":"node","collectCoverageFrom":["src/**/*.js","!<rootDir>/node_modules/","!<rootDir>/tests/__fixtures__/"]},"dependencies":{"change-case":"^3.1.0","ora":"^3.1.0","ordinal":"^1.0.2","pretty-bytes":"^5.1.0","pretty-ms":"^4.0.0","saucelabs":"^2.1.3","table":"^5.2.3","tmp":"0.0.33","webdriverio":"^5.6.0","yargs":"^13.2.1"},"gitHead":"de4914935901979fe0cd6739cea13733ab0d45ed","_id":"speedo@0.4.7","_npmVersion":"6.5.0","_nodeVersion":"8.11.2","_npmUser":{"name":"christian-bromann","email":"christian@saucelabs.com"},"dist":{"integrity":"sha512-PwuQCy1qrfZ8BCi5l3m4yMjHFOgHrf5Vp1LFzJ7AI83JLY+eD1XUkQBsdIbvc6taYna69BZx1fmEkwLC4q56aw==","shasum":"4e7230fbfc8b0ef409a9b5a89c739ac4e0970db6","tarball":"https://registry.npmjs.org/speedo/-/speedo-0.4.7.tgz","fileCount":14,"unpackedSize":48914,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc29AhCRA9TVsSAnZWagAA/CYP/3PqVW2a0/HTYkRofpk5\nU2JM36ZKj3Al9OuKZQq6SITXbl2cASx3YEvmCcw3DKv+l2qkHzGleh5t9ynV\ntUfjgLXsWWFAAuRNmj1KqRUKtaLZbpjqH7roW7QfRFUU1e2bYmcwUPKgl7Uk\n19Q6tUHQPQARRDiCGWE8f7szFgRkoMfSX65Vz4Q34Xl1y6GAEHpQtvLsxXTh\n188iVKxA/QtXYhYeEV+iGUiacODTAHX0MPUzhYoyJ0odUdc3q90QhI2H2qYT\nOINnxqsIfXpLSQfww3hZODJ4uvouPXrSrdNNydbviCrrD9X91/hR5hShgcpI\nZzjDv1rRUU7CdGujOdyfwyV2wp2h005a+gW9DPtJePYmQPu8AnLWaPtKrJrZ\nY1RtxIe4Ixgb2tPctaFzC1viaT+QuqgSHa8KW26lEU4y3m23MHUdmM77baY2\nV9623pzxLPk2aVVvgJkV1n45QmdQ4vymX0gep7sGAqI0gDRNkIYy83qAUcc4\nYw11Hvv1PqhAFhyIjrAwzU8fQWyI38/uk0J3sgclE7NsqoWJ8pDzBKt4mpRk\npTjTqWzpAWQSD4G1gJdjnEaQQSXrmLDEPPRhuAaAVWoXKeoaomDTO5QmYLIZ\n6x0B2eopTeScWJxrV8OiI7QEWA4AaaDzr5U9tWo4Bs1Z7NHm4D82JybpWv2P\nDQEr\r\n=wQm1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDq1Eo00fjC6/slf0z/xT8ld8zda3C7dCaWAUyxmBj6yAiEAywW6K+COi+HJFJUk08K2UzaycUfzR2V5Kt+Ebs8MGVI="}]},"maintainers":[{"name":"kytwb","email":"amine@mouafik.fr"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_0.4.7_1557909536994_0.1789281215976497"},"_hasShrinkwrap":false},"1.0.0":{"name":"speedo","version":"1.0.0","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"NODE_ENV=production babel src -d build","docker":"run-s docker:login docker:build docker:tag docker:push:*","docker:build":"docker build -t saucelabs/speedo .","docker:login":"docker login -u \"$DOCKER_USERNAME\" -p \"$DOCKER_PASSWORD\"","docker:push:latest":"docker push saucelabs/speedo:latest","docker:push:version":"docker push saucelabs/speedo:$npm_package_version","docker:tag":"docker tag saucelabs/speedo saucelabs/speedo:$npm_package_version","eslint":"eslint ./src ./tests","prepublishOnly":"npm prune && run-s build","release":"npm run release:patch","release:patch":"np patch","release:minor":"np minor","release:major":"np major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.2.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","np":"^2.18.2","npm-run-all":"^4.1.5","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":93,"functions":100,"lines":99,"statements":99}},"testEnvironment":"node","collectCoverageFrom":["src/**/*.js","!<rootDir>/node_modules/","!<rootDir>/tests/__fixtures__/"]},"dependencies":{"change-case":"^3.1.0","ora":"^3.1.0","ordinal":"^1.0.2","pretty-ms":"^4.0.0","saucelabs":"^2.1.3","table":"^5.2.3","tmp":"0.0.33","webdriverio":"^5.6.0","yargs":"^13.2.1"},"readme":"<p align=\"center\">\n    <img src=\"./docs/saucebot.png\" alt=\"Speedo Saucebot\" />\n</p>\n\nSpeedo [![Build Status](https://travis-ci.com/saucelabs/speedo.svg?token=px5tFzamGvYgujeyYVEp&branch=master)](https://travis-ci.com/saucelabs/speedo) [![codecov](https://codecov.io/gh/saucelabs/speedo/branch/master/graph/badge.svg)](https://codecov.io/gh/saucelabs/speedo)\n======\n\nSauce Labs provides a [Frontend Performance Testing](https://wiki.saucelabs.com/display/DOCS/Getting+Started+with+Sauce+Performance) offering that allows you to check for crucial performance regression on your website. `Speedo` is a simple to use CLI tool that allows you to integrate this into your CI/CD pipeline. All you need to do is download and run it.\n\n## Download\n\nTo download the tool you have to have Node.js installed on your machine. After you have installed it, run:\n\n```sh\n$ npm install -g speedo\n```\n\n## Usage\n\nIf you call `speedo -h` you find the following help menu:\n\n```\nSpeedo CLI runner\n\nCommands:\n  speedo analyze [params...] <jobName>  Analyze results of prerun performance\n                                        tests.\n  speedo run [params...] <site>         Run performance tests on any website.\n\nOptions:\n  --version        Show version number                                 [boolean]\n  --help, -h       prints speedo help menu                             [boolean]\n  --user, -u       your Sauce Labs username\n  --key, -k        your Sauce Labs user key\n  --region, -r     your Sauce Labs datacenter region, the following regions are\n                   available: `us-west-1` (short `us`), `eu-central-1` (short\n                   `eu`)                                         [default: \"us\"]\n  --logDir, -l     directory to store logs from testrun\n  --traceLogs, -t  if set runner downloads tracing logs for further\n                   investigations\n```\n\n### Run Tests\n\nAfter you have installed the tool, run it via\n\n```sh\nspeedo run https://google.com -u <your-username> -k <your-access-key>\n```\n\nIf you export `SAUCE_USERNAME` and `SAUCE_ACCESS_KEY` into your environment you don't need to pass in the user and key as parameter:\n\n```sh\nexport SAUCE_USERNAME=<your-username>\nexport SAUCE_ACCESS_KEY=<your-access-key>\nspeedo run https://google.com\n```\n\nYou can customize your performance tests by appliying a job and build name or restricting the assertion to specific metrics only. For more information on parameters run `$ speedo run --help`.\n\n```sh\n# give performance test a build and job name and restrict metrics\nspeedo run https://google.com -n my-performance-test -b $BUILD_ID -m speedIndex -m timeToFirstInteractive -m firstPaint\n# or retry performance test at least 3 times in case it fails\nspeedo run https://google.com --retry 3\n```\n\nSpeedo allow you to assert on the following performance metrics:\n\n- timeToFirstByte\n- firstPaint\n- firstContentfulPaint\n- firstMeaningfulPaint\n- domContentLoaded\n- timeToFirstInteractive\n- load\n- speedIndex\n- perceptualSpeedIndex\n- pageWeight\n- pageWeightEncoded\n\n### Analyze Tests\n\nSpeedo provides also a way to analyze the performance of page loads of a previous run test. This allows you to run a beforehand that includes different automation steps to arrive to a desired page (e.g. you want to test the performance of a page that is behind a login). __Please Note:__ do __not__ analyze the performance of all your previous run functional tests! You always should keep functional and performance tests separated.\n\nLet's say we want to test the performance of the page behind the login form of [this example](https://the-internet.herokuapp.com/login). The first step is to create a simple automation script that uses Sauce Labs to log into the page. You can use any framework you like, it doesn't affect the performance results whatsoever. In this example we use [WebdriverIO](https://webdriver.io/):\n\n```js\n// /test/performance/login.perf.test.js\nconst { remote } = require('webdriverio');\n\n(async () => {\n    const client = await remote({\n        user: process.env.SAUCE_USERNAME,\n        key: process.env.SAUCE_ACCESS_KEY,\n        capabilities: {\n            browserName: 'chrome',\n            platform: 'macOS 10.13',\n            version: 'latest',\n            extendedDebugging: true,\n            capturePerformance: true,\n            name: 'my login performance test'\n        }\n    })\n\n    await client.url('https://the-internet.herokuapp.com/login')\n\n    const username = await client.$('#username')\n    await username.setValue('tomsmith')\n\n    const password = await client.$('#password')\n    await username.setValue('SuperSecretPassword!')\n\n    const submit = await client.$('button[type=\"submit\"]')\n    await submit.click()\n\n    await client.deleteSession())\n})().catch(console.error)\n```\n\nEnsure that you define a unique name for your performance test so we can maintain a stable baseline for it. Within your CI/CD you can now call the script and analyze the performance of the second opened page. To ensure that our platform can calculcate the data we add a 5 second pause in between running the test and analyzing it:\n\n```sh\nnode /test/performance/login.perf.test.js && sleep 5 && speedo analyze \"my login performance test\" --orderIndex 1\n```\n\nThe command requires passing in the job name of the performance test. With the `orderIndex` parameter you can define which page load needs to be analyzed. If not passed in, it will analyze all page loads which can make tests more flaky. Similar to `run` you can apply more parameters to this command. See the full list by calling `$ speedo analyze --help`.\n\n## Docker Integration\n\nIf you run your CI/CD pipeline based on Docker (e.g. [Jenkins Pipelines](https://jenkins.io/doc/book/pipeline/docker/)) you can also use Speedo as a Docker container. Just define the container name and have the speedo command available in the stage, e.g.:\n\n```\npipeline {\n    agent none\n    stages {\n        stage('Linting') {\n            ...\n        }\n        stage('Unit Tests') {\n            ...\n        }\n        stage('Functional Tests') {\n            ...\n        }\n        stage('Performance Tests') {\n            agent {\n                docker { image 'saucelabs/speedo' }\n            }\n            steps {\n                sh 'speedo run https://google.com -u ${SAUCE_USERNAME} -k ${SAUCE_ACCESS_KEY} -b ${BUILD_NUMBER}'\n            }\n        }\n    }\n}\n```\n\nOr when using [GitLab CI/CD](https://docs.gitlab.com/ee/ci/pipelines.html) pipelines:\n\n```yaml\nvariables:\n  SPEEDO_IMAGE: saucelabs/speedo\n\nstages:\n  - lint\n  - test\n  - performance\n  - deploy\n\n# ...\n\n# run performance tests\nperformance:\n  stage: performance\n  image: $SPEEDO_IMAGE\n  script:\n    - speedo run https://google.com -u $SAUCE_USERNAME -k $SAUCE_ACCESS_KEY -b $BUILD_NUMBER\n\n# ...\n```\n\nFor information on how to contribute to this project, see [CONTRIBUTING.md](CONTRIBUTING.md).\n\n***\n\n<p align=\"center\">Copyright 2019 © Sauce Labs</p>\n\n***\n","readmeFilename":"README.md","gitHead":"9c4badcdaed53d7ab0b90ba50c1bdcb0a6067cc7","_id":"speedo@1.0.0","_npmVersion":"6.4.1","_nodeVersion":"10.14.2","_npmUser":{"name":"christian-bromann","email":"christian@saucelabs.com"},"dist":{"integrity":"sha512-rlSHOxXttFwA3pAKc/O/rMVWxiCHHC0LE72AtJCqCYGYKW5Yt0d93iC1e/pCE4dd+JCRk5TQSa4pgeVeSNJIUg==","shasum":"6ca7c48179b38e2e25f4b8676ec46a533946afcb","tarball":"https://registry.npmjs.org/speedo/-/speedo-1.0.0.tgz","fileCount":16,"unpackedSize":108858,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc9k5TCRA9TVsSAnZWagAAHvcQAIuah4FQTuM6XuB572ci\nzB6G9QBzMYay7W9npwzBfDTI1luSJkOiQcklrwEOjbH4XuSXwhur2t1zhj9h\nS1vbI75YWeKCXTIqEPkOVuvwXnWnb4+PxRv3g7LgCRoL7F/Sr6TWzN216U99\nO400sS0eAf44x8JtxaBap/UEG6ljN9EeVAEHmB6VuVBMb7/IGL+Rsi+FiO0V\nMBOTw/z/4Ojn2C2fh393xyNp1a6vexMufqgFVNfjEf8EiCK5XOGNeLlXvcwz\nMNE/YSK8iqTN5hBVG4ZqbZH/lXruSBcjJIF8n2JZqewPqSgTlxoYZ42/Nv+G\nN948vPituEVetvMxOVHIaC4brioyMwV16C7JYXdNienVxJhCSuS4vG6i+Puy\newZP1J+CE+pZDacyVBlextPj7gocojPPWAztjyK4HGd2Q/Nin4ujjx1dUoo/\n7OWdNBZ+qPwx9BmdlOlUeM0BPCSEr+04VOc81vz5ifLW42fiM8h6iQztqFWF\n1fGVmpMvfkPtH70A+Bmlf3L0N/BjZyRA1mEnvr4k2+5IGkifQvFCOdDdbsW0\nxYUhDrsKsE6MdP9b35AghCoAXTuHXpfBNPWdYie1/5qrrlTicARlHJjABanb\n0CfjGYC5r9wSzv06lR1t0gMtALipXFKhGLIbZJvulF5EEQ2aWh4iI4kWlmzh\nYgyg\r\n=/VfS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDpZ6z+ywCTuPBP0Y9MzTx8j+6+sjNuvi/9g94fX2trvgIgKUEmDdbvOiXph5upBfaAwjs2vWM/kYuAYh/yDWZojyQ="}]},"maintainers":[{"name":"kytwb","email":"amine@mouafik.fr"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_1.0.0_1559645778603_0.20828088104014686"},"_hasShrinkwrap":false},"1.0.1":{"name":"speedo","version":"1.0.1","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"NODE_ENV=production babel src -d build","docker":"run-s docker:login docker:build docker:tag docker:push:*","docker:build":"docker build -t saucelabs/speedo .","docker:login":"docker login -u \"$DOCKER_USERNAME\" -p \"$DOCKER_PASSWORD\"","docker:push:latest":"docker push saucelabs/speedo:latest","docker:push:version":"docker push saucelabs/speedo:$npm_package_version","docker:tag":"docker tag saucelabs/speedo saucelabs/speedo:$npm_package_version","eslint":"eslint ./src ./tests","prepublishOnly":"npm prune && run-s build","release":"npm run release:patch","release:patch":"np patch","release:minor":"np minor","release:major":"np major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.2.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","np":"^2.18.2","npm-run-all":"^4.1.5","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":93,"functions":100,"lines":99,"statements":99}},"testEnvironment":"node","collectCoverageFrom":["src/**/*.js","!<rootDir>/node_modules/","!<rootDir>/tests/__fixtures__/"],"coveragePathIgnorePatterns":["src/scripts"]},"dependencies":{"change-case":"^3.1.0","ora":"^3.1.0","ordinal":"^1.0.2","pretty-ms":"^4.0.0","saucelabs":"^2.1.3","table":"^5.2.3","tmp":"0.0.33","webdriverio":"^5.6.0","yargs":"^13.2.1"},"readme":"<p align=\"center\">\n    <img src=\"./docs/saucebot.png\" alt=\"Speedo Saucebot\" />\n</p>\n\nSpeedo [![Build Status](https://travis-ci.com/saucelabs/speedo.svg?token=px5tFzamGvYgujeyYVEp&branch=master)](https://travis-ci.com/saucelabs/speedo) [![codecov](https://codecov.io/gh/saucelabs/speedo/branch/master/graph/badge.svg)](https://codecov.io/gh/saucelabs/speedo)\n======\n\nSauce Labs provides a [Frontend Performance Testing](https://wiki.saucelabs.com/display/DOCS/Getting+Started+with+Sauce+Performance) offering that allows you to check for crucial performance regression on your website. `Speedo` is a simple to use CLI tool that allows you to integrate this into your CI/CD pipeline. All you need to do is download and run it.\n\n## Download\n\nTo download the tool you have to have Node.js installed on your machine. After you have installed it, run:\n\n```sh\n$ npm install -g speedo\n```\n\n## Usage\n\nIf you call `speedo -h` you find the following help menu:\n\n```\nSpeedo CLI runner\n\nCommands:\n  speedo analyze [params...] <jobName>  Analyze results of prerun performance\n                                        tests.\n  speedo run [params...] <site>         Run performance tests on any website.\n\nOptions:\n  --version        Show version number                                 [boolean]\n  --help, -h       prints speedo help menu                             [boolean]\n  --user, -u       your Sauce Labs username\n  --key, -k        your Sauce Labs user key\n  --region, -r     your Sauce Labs datacenter region, the following regions are\n                   available: `us-west-1` (short `us`), `eu-central-1` (short\n                   `eu`)                                         [default: \"us\"]\n  --logDir, -l     directory to store logs from testrun\n  --traceLogs, -t  if set runner downloads tracing logs for further\n                   investigations\n```\n\n### Run Tests\n\nAfter you have installed the tool, run it via\n\n```sh\nspeedo run https://google.com -u <your-username> -k <your-access-key>\n```\n\nIf you export `SAUCE_USERNAME` and `SAUCE_ACCESS_KEY` into your environment you don't need to pass in the user and key as parameter:\n\n```sh\nexport SAUCE_USERNAME=<your-username>\nexport SAUCE_ACCESS_KEY=<your-access-key>\nspeedo run https://google.com\n```\n\nYou can customize your performance tests by appliying a job and build name or restricting the assertion to specific metrics only. For more information on parameters run `$ speedo run --help`.\n\n```sh\n# give performance test a build and job name and restrict metrics\nspeedo run https://google.com -n my-performance-test -b $BUILD_ID -m speedIndex -m timeToFirstInteractive -m firstPaint\n# or retry performance test at least 3 times in case it fails\nspeedo run https://google.com --retry 3\n```\n\nSpeedo allow you to assert on the following performance metrics:\n\n- timeToFirstByte\n- firstPaint\n- firstContentfulPaint\n- firstMeaningfulPaint\n- domContentLoaded\n- timeToFirstInteractive\n- load\n- speedIndex\n- perceptualSpeedIndex\n- pageWeight\n- pageWeightEncoded\n\n### Analyze Tests\n\nSpeedo provides also a way to analyze the performance of page loads of a previous run test. This allows you to run a beforehand that includes different automation steps to arrive to a desired page (e.g. you want to test the performance of a page that is behind a login). __Please Note:__ do __not__ analyze the performance of all your previous run functional tests! You always should keep functional and performance tests separated.\n\nLet's say we want to test the performance of the page behind the login form of [this example](https://the-internet.herokuapp.com/login). The first step is to create a simple automation script that uses Sauce Labs to log into the page. You can use any framework you like, it doesn't affect the performance results whatsoever. In this example we use [WebdriverIO](https://webdriver.io/):\n\n```js\n// /test/performance/login.perf.test.js\nconst { remote } = require('webdriverio');\n\n(async () => {\n    const client = await remote({\n        user: process.env.SAUCE_USERNAME,\n        key: process.env.SAUCE_ACCESS_KEY,\n        capabilities: {\n            browserName: 'chrome',\n            platform: 'macOS 10.13',\n            version: 'latest',\n            extendedDebugging: true,\n            capturePerformance: true,\n            name: 'my login performance test'\n        }\n    })\n\n    await client.url('https://the-internet.herokuapp.com/login')\n\n    const username = await client.$('#username')\n    await username.setValue('tomsmith')\n\n    const password = await client.$('#password')\n    await username.setValue('SuperSecretPassword!')\n\n    const submit = await client.$('button[type=\"submit\"]')\n    await submit.click()\n\n    await client.deleteSession())\n})().catch(console.error)\n```\n\nEnsure that you define a unique name for your performance test so we can maintain a stable baseline for it. Within your CI/CD you can now call the script and analyze the performance of the second opened page. To ensure that our platform can calculcate the data we add a 5 second pause in between running the test and analyzing it:\n\n```sh\nnode /test/performance/login.perf.test.js && sleep 5 && speedo analyze \"my login performance test\" --orderIndex 1\n```\n\nThe command requires passing in the job name of the performance test. With the `orderIndex` parameter you can define which page load needs to be analyzed. If not passed in, it will analyze all page loads which can make tests more flaky. Similar to `run` you can apply more parameters to this command. See the full list by calling `$ speedo analyze --help`.\n\n## Docker Integration\n\nIf you run your CI/CD pipeline based on Docker (e.g. [Jenkins Pipelines](https://jenkins.io/doc/book/pipeline/docker/)) you can also use Speedo as a Docker container. Just define the container name and have the speedo command available in the stage, e.g.:\n\n```\npipeline {\n    agent none\n    stages {\n        stage('Linting') {\n            ...\n        }\n        stage('Unit Tests') {\n            ...\n        }\n        stage('Functional Tests') {\n            ...\n        }\n        stage('Performance Tests') {\n            agent {\n                docker { image 'saucelabs/speedo' }\n            }\n            steps {\n                sh 'speedo run https://google.com -u ${SAUCE_USERNAME} -k ${SAUCE_ACCESS_KEY} -b ${BUILD_NUMBER}'\n            }\n        }\n    }\n}\n```\n\nOr when using [GitLab CI/CD](https://docs.gitlab.com/ee/ci/pipelines.html) pipelines:\n\n```yaml\nvariables:\n  SPEEDO_IMAGE: saucelabs/speedo\n\nstages:\n  - lint\n  - test\n  - performance\n  - deploy\n\n# ...\n\n# run performance tests\nperformance:\n  stage: performance\n  image: $SPEEDO_IMAGE\n  script:\n    - speedo run https://google.com -u $SAUCE_USERNAME -k $SAUCE_ACCESS_KEY -b $BUILD_NUMBER\n\n# ...\n```\n\nFor information on how to contribute to this project, see [CONTRIBUTING.md](CONTRIBUTING.md).\n\n***\n\n<p align=\"center\">Copyright 2019 © Sauce Labs</p>\n\n***\n","readmeFilename":"README.md","gitHead":"6e7852a309cfbeb39a38fbde31cae67ea6bf28f8","_id":"speedo@1.0.1","_npmVersion":"6.4.1","_nodeVersion":"10.14.2","_npmUser":{"name":"christian-bromann","email":"christian@saucelabs.com"},"dist":{"integrity":"sha512-L5AeJ0PuV9mhzt5I5EMdJI6WzK4X4U1Ek8dOy8eSrDnt0JqjMWcOuuTBxQT0C601ds01MmH/3IkEZYinFMtBNQ==","shasum":"29b72b862deed3a82a918aabca2966ccfa8d8322","tarball":"https://registry.npmjs.org/speedo/-/speedo-1.0.1.tgz","fileCount":18,"unpackedSize":72548,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc9prgCRA9TVsSAnZWagAACJ8QAJWali2Q4rZcVgFyJsLp\nNj7yn9mec0tM55N1ELUeT8y+uvUAmzodUF2Rh3qqZE3UxAzfYA7IcHliM5Yc\nDgI6noiJ5FucXJMm8NhTc3VSaKzqchWlUuH6qQw3oIjPrunm5Nbu8V6UjbEJ\nhY9DXjkBn67Mn5W+RKMqGZw088JRCZtTeZFlKbxgptNkrphQE2AAsY9NfnUj\ni/GjtG3wUI3CKfNCamEdgSbR/qP9zgBym6lyANrXaUlq5yl2MhAipJhqQUHS\nGYeGuSX+BryZhRapPQDIYKViryw5R5HxOm3q3UOQ7fyRJgbCIN7iNaBwonM6\nesOQdDfZgESCYqDLfQRRpYRHw3lFVacvortMXo6qidaDFrR9tc8r4MQud6Vl\nkhFPNQizoXHMlPgrfCusOgh1+731UR6TeFUYh083hVrq5RaIL9GOu06BsG0K\nvF0joi2rhW0NVGEN1ZUwNjbtnfJ9ykDhjRHttThPXq1J0+VHv9CkcvbBToX8\n3z8uOKgSL6L0IzgglCE4JwsTAA4BXNN8YGfrHhZ9x1ujW98E9hnkOf2ZLT0k\n/8LIZpD6Oy3bUDitPE5K+xTodcopv4jdFlhq/Skf8iQMTW75h7QWvYO+ZuZO\nOeNgKt6My134JGZaersa1IRt8rfvVpVthp2F1WSGaKmf2N7/OYzrgb/RZrW3\no6go\r\n=RJRI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDWh2+TZADaJt0Z4LcwaUlLdGh+jSsr7QNEcuW+8WdgSwIgU5N6NgBnUH/P6WFtD952g+QVCI24Kw9/A1xBAV4N+6I="}]},"maintainers":[{"name":"kytwb","email":"amine@mouafik.fr"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_1.0.1_1559665375845_0.7484562802104509"},"_hasShrinkwrap":false},"1.0.2":{"name":"speedo","version":"1.0.2","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"NODE_ENV=production babel src -d build","docker":"run-s docker:login docker:build docker:tag docker:push:*","docker:build":"docker build -t saucelabs/speedo .","docker:login":"docker login -u \"$DOCKER_USERNAME\" -p \"$DOCKER_PASSWORD\"","docker:push:latest":"docker push saucelabs/speedo:latest","docker:push:version":"docker push saucelabs/speedo:$npm_package_version","docker:tag":"docker tag saucelabs/speedo saucelabs/speedo:$npm_package_version","eslint":"eslint ./src ./tests","prepublishOnly":"npm prune && run-s build","release":"npm run release:patch","release:patch":"np patch","release:minor":"np minor","release:major":"np major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.2.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","np":"^2.18.2","npm-run-all":"^4.1.5","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":93,"functions":100,"lines":99,"statements":99}},"testEnvironment":"node","collectCoverageFrom":["src/**/*.js","!<rootDir>/node_modules/","!<rootDir>/tests/__fixtures__/"],"coveragePathIgnorePatterns":["src/scripts"]},"dependencies":{"change-case":"^3.1.0","ora":"^3.1.0","ordinal":"^1.0.2","pretty-ms":"^4.0.0","saucelabs":"^2.1.3","table":"^5.2.3","tmp":"0.0.33","webdriverio":"^5.6.0","yargs":"^13.2.1"},"readme":"<p align=\"center\">\n    <img src=\"./docs/saucebot.png\" alt=\"Speedo Saucebot\" />\n</p>\n\nSpeedo [![Build Status](https://travis-ci.com/saucelabs/speedo.svg?token=px5tFzamGvYgujeyYVEp&branch=master)](https://travis-ci.com/saucelabs/speedo) [![codecov](https://codecov.io/gh/saucelabs/speedo/branch/master/graph/badge.svg)](https://codecov.io/gh/saucelabs/speedo)\n======\n\nSauce Labs provides a [Frontend Performance Testing](https://wiki.saucelabs.com/display/DOCS/Getting+Started+with+Sauce+Performance) offering that allows you to check for crucial performance regression on your website. `Speedo` is a simple to use CLI tool that allows you to integrate this into your CI/CD pipeline. All you need to do is download and run it.\n\n## Download\n\nTo download the tool you have to have Node.js installed on your machine. After you have installed it, run:\n\n```sh\n$ npm install -g speedo\n```\n\n## Usage\n\nIf you call `speedo -h` you find the following help menu:\n\n```\nSpeedo CLI runner\n\nCommands:\n  speedo analyze [params...] <jobName>  Analyze results of prerun performance\n                                        tests.\n  speedo run [params...] <site>         Run performance tests on any website.\n\nOptions:\n  --version        Show version number                                 [boolean]\n  --help, -h       prints speedo help menu                             [boolean]\n  --user, -u       your Sauce Labs username\n  --key, -k        your Sauce Labs user key\n  --region, -r     your Sauce Labs datacenter region, the following regions are\n                   available: `us-west-1` (short `us`), `eu-central-1` (short\n                   `eu`)                                         [default: \"us\"]\n  --logDir, -l     directory to store logs from testrun\n  --traceLogs, -t  if set runner downloads tracing logs for further\n                   investigations\n```\n\n### Run Tests\n\nAfter you have installed the tool, run it via\n\n```sh\nspeedo run https://google.com -u <your-username> -k <your-access-key>\n```\n\nIf you export `SAUCE_USERNAME` and `SAUCE_ACCESS_KEY` into your environment you don't need to pass in the user and key as parameter:\n\n```sh\nexport SAUCE_USERNAME=<your-username>\nexport SAUCE_ACCESS_KEY=<your-access-key>\nspeedo run https://google.com\n```\n\nYou can customize your performance tests by appliying a job and build name or restricting the assertion to specific metrics only. For more information on parameters run `$ speedo run --help`.\n\n```sh\n# give performance test a build and job name and restrict metrics\nspeedo run https://google.com -n my-performance-test -b $BUILD_ID -m speedIndex -m timeToFirstInteractive -m firstPaint\n# or retry performance test at least 3 times in case it fails\nspeedo run https://google.com --retry 3\n```\n\nSpeedo allow you to assert on the following performance metrics:\n\n- timeToFirstByte\n- firstPaint\n- firstContentfulPaint\n- firstMeaningfulPaint\n- domContentLoaded\n- timeToFirstInteractive\n- load\n- speedIndex\n- perceptualSpeedIndex\n- pageWeight\n- pageWeightEncoded\n\n### Analyze Tests\n\nSpeedo provides also a way to analyze the performance of page loads of a previous run test. This allows you to run a beforehand that includes different automation steps to arrive to a desired page (e.g. you want to test the performance of a page that is behind a login). __Please Note:__ do __not__ analyze the performance of all your previous run functional tests! You always should keep functional and performance tests separated.\n\nLet's say we want to test the performance of the page behind the login form of [this example](https://the-internet.herokuapp.com/login). The first step is to create a simple automation script that uses Sauce Labs to log into the page. You can use any framework you like, it doesn't affect the performance results whatsoever. In this example we use [WebdriverIO](https://webdriver.io/):\n\n```js\n// /test/performance/login.perf.test.js\nconst { remote } = require('webdriverio');\n\n(async () => {\n    const client = await remote({\n        user: process.env.SAUCE_USERNAME,\n        key: process.env.SAUCE_ACCESS_KEY,\n        capabilities: {\n            browserName: 'chrome',\n            platform: 'macOS 10.13',\n            version: 'latest',\n            extendedDebugging: true,\n            capturePerformance: true,\n            name: 'my login performance test'\n        }\n    })\n\n    await client.url('https://the-internet.herokuapp.com/login')\n\n    const username = await client.$('#username')\n    await username.setValue('tomsmith')\n\n    const password = await client.$('#password')\n    await username.setValue('SuperSecretPassword!')\n\n    const submit = await client.$('button[type=\"submit\"]')\n    await submit.click()\n\n    await client.deleteSession())\n})().catch(console.error)\n```\n\nEnsure that you define a unique name for your performance test so we can maintain a stable baseline for it. Within your CI/CD you can now call the script and analyze the performance of the second opened page. To ensure that our platform can calculcate the data we add a 5 second pause in between running the test and analyzing it:\n\n```sh\nnode /test/performance/login.perf.test.js && sleep 5 && speedo analyze \"my login performance test\" --orderIndex 1\n```\n\nThe command requires passing in the job name of the performance test. With the `orderIndex` parameter you can define which page load needs to be analyzed. If not passed in, it will analyze all page loads which can make tests more flaky. Similar to `run` you can apply more parameters to this command. See the full list by calling `$ speedo analyze --help`.\n\n## Docker Integration\n\nIf you run your CI/CD pipeline based on Docker (e.g. [Jenkins Pipelines](https://jenkins.io/doc/book/pipeline/docker/)) you can also use Speedo as a Docker container. Just define the container name and have the speedo command available in the stage, e.g.:\n\n```\npipeline {\n    agent none\n    stages {\n        stage('Linting') {\n            ...\n        }\n        stage('Unit Tests') {\n            ...\n        }\n        stage('Functional Tests') {\n            ...\n        }\n        stage('Performance Tests') {\n            agent {\n                docker { image 'saucelabs/speedo' }\n            }\n            steps {\n                sh 'speedo run https://google.com -u ${SAUCE_USERNAME} -k ${SAUCE_ACCESS_KEY} -b ${BUILD_NUMBER}'\n            }\n        }\n    }\n}\n```\n\nOr when using [GitLab CI/CD](https://docs.gitlab.com/ee/ci/pipelines.html) pipelines:\n\n```yaml\nvariables:\n  SPEEDO_IMAGE: saucelabs/speedo\n\nstages:\n  - lint\n  - test\n  - performance\n  - deploy\n\n# ...\n\n# run performance tests\nperformance:\n  stage: performance\n  image: $SPEEDO_IMAGE\n  script:\n    - speedo run https://google.com -u $SAUCE_USERNAME -k $SAUCE_ACCESS_KEY -b $BUILD_NUMBER\n\n# ...\n```\n\nFor information on how to contribute to this project, see [CONTRIBUTING.md](CONTRIBUTING.md).\n\n***\n\n<p align=\"center\">Copyright 2019 © Sauce Labs</p>\n\n***\n","readmeFilename":"README.md","gitHead":"5d4f38dd611d1633917877bb07592c47457bbab3","_id":"speedo@1.0.2","_npmVersion":"6.4.1","_nodeVersion":"10.14.2","_npmUser":{"name":"christian-bromann","email":"christian@saucelabs.com"},"dist":{"integrity":"sha512-ztlXuY4Ir2Trx2UDT0Uvp2QJgg/viFVPQlAC34PH8VwYptAH2lQ4AC6H1QPFC074A5WDBbIfNBXtz3rOVMRcMw==","shasum":"381ac98074f3816fec05a7c0e387e5b9b96895d8","tarball":"https://registry.npmjs.org/speedo/-/speedo-1.0.2.tgz","fileCount":18,"unpackedSize":72540,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdAM1nCRA9TVsSAnZWagAAnd4QAJbbUXFgkeS6YEAossMa\nDFJ2sPbsV+PJlEF1l6ILZFYxYaQ14oOPOsbVVDqyE8wqwlmEGAwV+mvOck+l\nURC1JC/uAGrYivQD6674aF96jTlpWsZ19ATKDISD7Odn7Y+hKqmAocKLJ3J3\n28xlYLpVQ+kZaVBndcTF7ufTtxdsnYQQNVfo330xDNzKY6m2JQxnnNZPOMp6\n3qntmWn5qkbBhjKWHdHfysYduri0eyxA9P4Ab8wkYr+O/uLmeRfow0m3SR80\nAQbvS9KalluHP5ueNbS4o23ouGsjRlcNyfZy8oY+MVXQtdj26cW0c8f3sT5h\nNXZLQjqjHqhOUgc9SrYpMP0Jm3lAM4uQHXRErokoIKKZblqtHGl+zP0cz/UY\nAPN4wrOKBEwm8pD+EwPtenUbdt4EdqCU3AhfiZmgeyfqXR6vs0VuhMxFlvpj\nOhH6I0ec+PRdeG2LK6Mm2OHmjupl9i56NkV9IJH7tpC8+f0pc/3fZQ9gkshN\nxR1E1yl0o+6ZqFvBEoyWed4cz4V3GhKRzEVJTbtnopTjkm/BDHAXNn5t/w9S\nkPHr7rUxK26r4DzIIzB6GYGTI2y8zDL2oktWDaylvsOFM99IXlNpPHXlc313\nioQfU1EEE5iYNuNImqCsN+tHuIA8UwtF4y/koU8XNsT4QWminSc+9Fi0ruht\nl/rm\r\n=xVZl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF9jaTV337uyK13Ac9VHhmR6OH2wRDTbpLuTN0dSKg7JAiAn/U7BADGusf2JvrEOAD0+RqyM6a5+8kqaZIa8axS9rA=="}]},"maintainers":[{"name":"kytwb","email":"amine@mouafik.fr"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_1.0.2_1560333670383_0.5125516936996022"},"_hasShrinkwrap":false},"1.0.3":{"name":"speedo","version":"1.0.3","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"NODE_ENV=production babel src -d build","docker":"run-s docker:login docker:build docker:tag docker:push:*","docker:build":"docker build -t saucelabs/speedo .","docker:login":"docker login -u \"$DOCKER_USERNAME\" -p \"$DOCKER_PASSWORD\"","docker:push:latest":"docker push saucelabs/speedo:latest","docker:push:version":"docker push saucelabs/speedo:$npm_package_version","docker:tag":"docker tag saucelabs/speedo saucelabs/speedo:$npm_package_version","eslint":"eslint ./src ./tests","prepublishOnly":"npm prune && run-s build","release":"npm run release:patch","release:patch":"np patch","release:minor":"np minor","release:major":"np major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.2.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","np":"^2.18.2","npm-run-all":"^4.1.5","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":93,"functions":100,"lines":99,"statements":99}},"testEnvironment":"node","collectCoverageFrom":["src/**/*.js","!<rootDir>/node_modules/","!<rootDir>/tests/__fixtures__/"],"coveragePathIgnorePatterns":["src/scripts"]},"dependencies":{"change-case":"^3.1.0","ora":"^3.4.0","ordinal":"^1.0.3","pretty-ms":"^4.0.0","saucelabs":"^2.1.9","table":"^5.4.1","tmp":"^0.1.0","webdriverio":"^5.10.8","yargs":"^13.2.4"},"gitHead":"8a89efa0c82801cf4c010c264b5c4892c694b319","_id":"speedo@1.0.3","_npmVersion":"6.4.1","_nodeVersion":"10.14.2","_npmUser":{"name":"christian-bromann","email":"christian@saucelabs.com"},"dist":{"integrity":"sha512-iIW2oJr/9CJFF9J6rJ4hkis77bzGeqIkApLhFv5AP/00TpdBgnHECCvJF/fBT/4Qma4tU+GmwrHo2S9ZPyhVgg==","shasum":"bf5671749a4a55894a8855472d1aca22734c70b9","tarball":"https://registry.npmjs.org/speedo/-/speedo-1.0.3.tgz","fileCount":18,"unpackedSize":75186,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdE6jDCRA9TVsSAnZWagAA+0kP/RkBKi1WYYiYz+w7/OeC\nSC6m0hLROdJu4czgwsWPJQDzzYx7xx62Q4sZEaq6awk/v1ZMoV3kUFgspo1S\nsSllaeMwlCjkfybORo/CJvtlyFpuHLcvQA9Vu4wrBSqmYrP0cFvU6VcNpg2B\np4rD6yXzDn3eOPuOP1OmQ5FSvaz5JMDxQC8QJchg95Uar5CFDUpnf5Jm1GEG\nlonXG5YQLEhVlvu+zzWvIHGy2O7Ktkj3V042lQ+9GTtWBTv2mUwuKmDgKdSi\nS97T050xqVWjNdR0mxMMQ+yKIW+wTG+mBDdC/Fwk8YnEHqBoDrcOa29yh98c\nX+EmyIwTJ7ZvDrb81CsEkQL6ayx1wH7O4S8ynu2ZsvfVn7sbLbIsFTycj2lB\nIQLJ9Fy0GOlEIhVXAT3yxtUp/kp0zY3ugOf9HwxZi3CFE5DDHTxWGXTRdGfB\nJelzW2rZROu27ahDdLmPgNM//oNiiXtQ4HwohFEWH2O10YzjfB18gHHwUYWg\nmAFYuWCiLVKa3jTrT3W+HsCXDz9Ng1tLVuG7d76tWBLnEGYSlHBa2I6qh4uQ\nYcXnKHFqjKkvh8uaNqkZeyl2KAPguDV1Akxij+fbv6QDgJJyjxB1oq3W0vLm\nkiW7TknlaaWRyDiMxS3XN47HSOQWjlNOxC0c0mQGxhA5/O3rtO2oLE/nEOW9\nF9dy\r\n=AhAP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBpbPmB+s4ZQCrhsroTwe/Sr5513DrLzZPncHIeVoYU8AiEAtBkEcWu/g+Gnd1R36Fm979o/c2xbkP101zJrtMoiurE="}]},"maintainers":[{"name":"kytwb","email":"amine@mouafik.fr"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_1.0.3_1561569474415_0.6298058991120574"},"_hasShrinkwrap":false},"1.0.4":{"name":"speedo","version":"1.0.4","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"NODE_ENV=production babel src -d build","docker":"run-s docker:login docker:build docker:tag docker:push:*","docker:build":"docker build -t saucelabs/speedo .","docker:login":"docker login -u \"$DOCKER_USERNAME\" -p \"$DOCKER_PASSWORD\"","docker:push:latest":"docker push saucelabs/speedo:latest","docker:push:version":"docker push saucelabs/speedo:$npm_package_version","docker:tag":"docker tag saucelabs/speedo saucelabs/speedo:$npm_package_version","eslint":"eslint ./src ./tests","prepublishOnly":"npm prune && run-s build","release":"npm run release:patch","release:patch":"np patch","release:minor":"np minor","release:major":"np major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.2.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","np":"^2.18.2","npm-run-all":"^4.1.5","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":93,"functions":100,"lines":99,"statements":99}},"testEnvironment":"node","collectCoverageFrom":["src/**/*.js","!<rootDir>/node_modules/","!<rootDir>/tests/__fixtures__/"],"coveragePathIgnorePatterns":["src/scripts"]},"dependencies":{"change-case":"^3.1.0","ora":"^3.4.0","ordinal":"^1.0.3","pretty-ms":"^4.0.0","sauce-connect-launcher":"^1.2.7","saucelabs":"^2.1.9","table":"^5.4.1","tmp":"^0.1.0","webdriverio":"^5.10.8","yargs":"^13.2.4"},"gitHead":"e5cdcce42dbdb627fac47ad289ea6ad45801c27f","_id":"speedo@1.0.4","_nodeVersion":"10.14.2","_npmVersion":"6.10.3","dist":{"integrity":"sha512-mBDT9H/2yNLx2TLW9NsjsDQJdDIIjKPPcq6wIWPzbFxVDKTM4ntjz/XWYO/wlAJbispnbZ8MEYFZx+aVVMXbnw==","shasum":"78f72db879c2b2d35b9be19daaff0f8511de7540","tarball":"https://registry.npmjs.org/speedo/-/speedo-1.0.4.tgz","fileCount":21,"unpackedSize":79209,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdUtJqCRA9TVsSAnZWagAAwGsP/A839w9t7dvywogRYeuV\nzPNW61tlw1vza2gx3cUXYg/pLtGBpaW5kkygPKJUPtcNpWPktU6Hlhqxto1O\nh4RTgXqrKth9BSmXAfKvCIKRvIXmMZJcb6xl2At7qcFWoht98NC8QYBE8FC5\nm6rBiBiwfDZb4+civIc+/Dq2ZH6xc7CQJ0FON4JXqGYbQzW7l6yYUmk5zbod\ndH2hVrV3IOAzlbVp4dKK62pDjT3jb2CTwQc+13BW3vSRITzSv0PlZGIAsaxX\nHCHxIeoLEHeJkFGNPRgA+KlpAZUY9ezxLrAwsn5Gy0X4EPB8lCqecrew0+wb\nt9Bgn9TMs7kYeBSo0KDM0A/hryrxnZXJB33WIacsyKyHo9KpSlYzTZPVmSFS\nTq6A6LXoj3sWu5XCVOhOHCoTRnOUfRlSdoTcXrXJOKjwg+FqF4tCd2Z8K6NX\nbA8JqqYIw144VnPumWRgFVfwh77YtD201PU358as9HmN/4WyVvw3FwtSyWib\nj9zgeSJBPyETYVaaFKNPY/SKEWuJCA697kYLiPesBI6Llx3hvfvU4Icyp5bu\nqf/OgFytt1Y0+qncSVcB0kJLv084Vr2T7DmMwbqZlXxcRRFyXkV6uM7nd0Ch\nwmzZGz1CfOxX7FkGFVGr1QCeF1jzFvJ1ASM+wbea32cfK70EiXQlOy5zwpDt\nqzKz\r\n=KOwl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAl7Jez5zJQxKnE0y0ExrWg2vwvJyBu8u0mKm+DPcM+KAiEA9uhJyO8YpnAwGj6+82itfLi2dE1qVpwOCGp4rbrGMis="}]},"maintainers":[{"name":"kytwb","email":"amine@mouafik.fr"}],"_npmUser":{"name":"christian-bromann","email":"christian@saucelabs.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_1.0.4_1565708906039_0.2396559361785373"},"_hasShrinkwrap":false},"1.1.0-beta.1":{"name":"speedo","version":"1.1.0-beta.1","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"NODE_ENV=production babel src -d build","docker":"run-s docker:login docker:build docker:tag docker:push:*","docker:build":"docker build -t saucelabs/speedo .","docker:login":"docker login -u \"$DOCKER_USERNAME\" -p \"$DOCKER_PASSWORD\"","docker:push:latest":"docker push saucelabs/speedo:latest","docker:push:version":"docker push saucelabs/speedo:$npm_package_version","docker:tag":"docker tag saucelabs/speedo saucelabs/speedo:$npm_package_version","eslint":"eslint ./src ./tests","prepublishOnly":"npm prune && run-s build","release":"npm run release:patch","release:patch":"np patch","release:minor":"np minor","release:major":"np major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.2.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","np":"^2.18.2","npm-run-all":"^4.1.5","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":93,"functions":100,"lines":99,"statements":99}},"testEnvironment":"node","collectCoverageFrom":["src/**/*.js","!<rootDir>/node_modules/","!<rootDir>/tests/__fixtures__/"],"coveragePathIgnorePatterns":["src/scripts"]},"dependencies":{"change-case":"^3.1.0","ora":"^3.4.0","ordinal":"^1.0.3","pretty-ms":"^4.0.0","sauce-connect-launcher":"^1.2.7","saucelabs":"^2.1.9","table":"^5.4.1","tmp":"^0.1.0","webdriverio":"^5.10.8","yargs":"^13.2.4"},"readme":"<p align=\"center\">\n    <img src=\"./docs/saucebot.png\" alt=\"Speedo Saucebot\" />\n</p>\n\nSpeedo [![Build Status](https://travis-ci.com/saucelabs/speedo.svg?token=px5tFzamGvYgujeyYVEp&branch=master)](https://travis-ci.com/saucelabs/speedo) [![codecov](https://codecov.io/gh/saucelabs/speedo/branch/master/graph/badge.svg)](https://codecov.io/gh/saucelabs/speedo)\n======\n\nSauce Labs provides a [Frontend Performance Testing](https://wiki.saucelabs.com/display/DOCS/Getting+Started+with+Sauce+Performance) offering that allows you to check for crucial performance regression on your website. `Speedo` is a simple to use CLI tool that allows you to integrate this into your CI/CD pipeline. All you need to do is download and run it.\n\n## Download\n\nTo download the tool you have to have Node.js installed on your machine. After you have installed it, run:\n\n```sh\n$ npm install -g speedo\n```\n\n## Usage\n\nIf you call `speedo -h` you find the following help menu:\n\n```\nSpeedo CLI runner\n\nCommands:\n  speedo analyze [params...] <jobName>  Analyze results of prerun performance\n                                        tests.\n  speedo run [params...] <site>         Run performance tests on any website.\n\nOptions:\n  --version        Show version number                                 [boolean]\n  --help, -h       prints speedo help menu                             [boolean]\n  --user, -u       your Sauce Labs username\n  --key, -k        your Sauce Labs user key\n  --region, -r     your Sauce Labs datacenter region, the following regions are\n                   available: `us-west-1` (short `us`), `eu-central-1` (short\n                   `eu`)                                         [default: \"us\"]\n  --logDir, -l     directory to store logs from testrun\n  --traceLogs, -t  if set runner downloads tracing logs for further\n                   investigations\n```\n\n### Run Tests\n\nAfter you have installed the tool, run it via\n\n```sh\nspeedo run https://google.com -u <your-username> -k <your-access-key>\n```\n\nIf you export `SAUCE_USERNAME` and `SAUCE_ACCESS_KEY` into your environment you don't need to pass in the user and key as parameter:\n\n```sh\nexport SAUCE_USERNAME=<your-username>\nexport SAUCE_ACCESS_KEY=<your-access-key>\nspeedo run https://google.com\n```\n\nYou can customize your performance tests by appliying a job and build name or restricting the assertion to specific metrics only. For more information on parameters run `$ speedo run --help`.\n\n```sh\n# give performance test a build and job name and restrict metrics\nspeedo run https://google.com -n my-performance-test -b $BUILD_ID -m speedIndex -m timeToFirstInteractive -m firstPaint\n# or retry performance test at least 3 times in case it fails\nspeedo run https://google.com --retry 3\n```\n\nSpeedo allow you to assert on the following performance metrics:\n\n- timeToFirstByte\n- firstPaint\n- firstContentfulPaint\n- firstMeaningfulPaint\n- domContentLoaded\n- timeToFirstInteractive\n- load\n- speedIndex\n- perceptualSpeedIndex\n- pageWeight\n- pageWeightEncoded\n\n#### Parameters\n\nTo get the whole list of command options for the `run` command call `speedo run -h`. You can either apply parameters via command line arguments or through a config file. By default Speedo looks into the directory where it is being called if a `speedo.config.js` exists. You can define different file path with the `--config` parameter.\n\n##### `config` (short: `-c`)\n\nPath to Speedo config file to read parameters from.\n\n_default:_ `./speedo.config.js`\n\n##### `platformName` (short: `-p`)\n\nDefine the platform the performance test should run in (e.g \"Windows 10\").\n\n_default:_ `\"Windows 10\"`\n\n##### `browserVersion` (short: `-v`)\n\nDefine the browser version of Chrome the performance test should run in (e.g. \"latest\").\n\n_default:_ `74`\n\n##### `build` (short: `-b`)\n\nProvide the name of the build you want to run your performance test in.\n\n##### `name` (short: `-n`)\n\nDefine the name of your performance test.\n\n_default:_ `\"Performance test for <your-site-url> (on \"Good 3G\" and 4x CPU throttling)\"`\n\n##### `metric` (short: `-m`)\n\nDefine the metric that you want to check (multiple possible). Available performance metrics are `estimatedInputLatency`, `timeToFirstByte`, `domContentLoaded`, `firstVisualChange`, `firstPaint`, `firstContentfulPaint`, `firstMeaningfulPaint`, `lastVisualChange`, `firstCPUIdle`, `firstInteractive`, `load`, `speedIndex`, `score`.\n\n_default:_ `\"score\"` ([Lighthouse Performance Score](https://developers.google.com/web/tools/lighthouse/scoring))\n\n##### `all`\n\nAssert on all available metrics (ignores what is being set as `metric` parameter).\n\n_default:_ `false`\n\n##### `throttleNetwork`\n\nThrottle network speed for your test (e.g. \"Good 3G\"). Available throttling profiles are: `offline`, `GPRS`, `Regular 2G`, `Good 2G`, `Regular 3G`, `Good 3G`, `Regular 4G`, `DSL`, `Wifi`, `online`. You can also define your custom network profile by providing 3 with comma separated numbers for download (_kb/s_), upload (_kb/s_) and latency (_ms_), e.g. `1000,500,40`.\n\n_default:_ `\"Good 3G\"`\n\n##### `throttleCpu`\n\nThrottle CPU speed for your test (e.g. \"4\" for 1/4 speed).\n\n_default:_ `4`\n\n##### `device`\n\nIf set, the provided mobile device is emulated. You can choose between the following preconfigured device profiles: `Blackberry PlayBook`, `BlackBerry Z30`, `Galaxy Note 3`, `Galaxy Note II`, `Galaxy S III`, `Galaxy S5`, `iPad`, `iPad Mini`, `iPad Pro`, `iPhone 4`, `iPhone 5`, `iPhone 6`, `iPhone 6 Plus`, `iPhone 7`, `iPhone 7 Plus`, `iPhone 8`, `iPhone 8 Plus`, `iPhone SE`, `iPhone X`, `iPhone XR`, `JioPhone 2`, `Kindle Fire HDX`, `LG Optimus L70`, `Microsoft Lumia 550`, `Microsoft Lumia 950`, `Nexus 10`, `Nexus 4`, `Nexus 5`, `Nexus 5X`, `Nexus 6`, `Nexus 6P`, `Nexus 7`, `Nokia Lumia 520`, `Nokia N9`, `Pixel 2`, `Pixel 2 XL`. If you don't want to emulate a mobile device set `desktop`.\n\n_default:_ `Nexus 7`\n\n##### `retry`\n\nRerun failing performance tests.\n\n_default:_ `0`\n\n##### `tunnelIdentifier` (short: `-i`)\n\nDefine the identifier for Sauce Connect tunnel to run performance tests for local hosted app\n\n##### `parentTunnel`\n\nDefine the username of your parent account that is running Sauce Connect tunnel.\n\n#### Run Speedo with a Config File\n\nAs mentioned above Speedo looks for a `speedo.config.js` in the directory where you run the command. In this file you can define all parameters for your performance test run. Additional command line arguments will overwrite the parameters from the config, e.g.:\n\n```js\n// speedo.config.js\nmodule.exports = {\n    retry: 2,\n    build: `Performance Build ${CI_BUILD_NUMBER}`,\n    device: 'Nexus 7',\n    throttleCPU: 6\n}\n```\n\nIf you call Speedo with:\n\n```sh\n$ speedo run https://google.org --retry 4\n```\n\nThe command will retry the performance test 4 times instead of 6.\n\n### Analyze Tests\n\nSpeedo provides also a way to analyze the performance of page loads of a previous run test. This allows you to run a beforehand that includes different automation steps to arrive to a desired page (e.g. you want to test the performance of a page that is behind a login). __Please Note:__ do __not__ analyze the performance of all your previous run functional tests! You always should keep functional and performance tests separated.\n\nLet's say we want to test the performance of the page behind the login form of [this example](https://the-internet.herokuapp.com/login). The first step is to create a simple automation script that uses Sauce Labs to log into the page. You can use any framework you like, it doesn't affect the performance results whatsoever. In this example we use [WebdriverIO](https://webdriver.io/):\n\n```js\n// /test/performance/login.perf.test.js\nconst { remote } = require('webdriverio');\n\n(async () => {\n    const client = await remote({\n        user: process.env.SAUCE_USERNAME,\n        key: process.env.SAUCE_ACCESS_KEY,\n        capabilities: {\n            browserName: 'chrome',\n            platform: 'macOS 10.13',\n            version: 'latest',\n            extendedDebugging: true,\n            capturePerformance: true,\n            name: 'my login performance test'\n        }\n    })\n\n    await client.url('https://the-internet.herokuapp.com/login')\n\n    const username = await client.$('#username')\n    await username.setValue('tomsmith')\n\n    const password = await client.$('#password')\n    await username.setValue('SuperSecretPassword!')\n\n    const submit = await client.$('button[type=\"submit\"]')\n    await submit.click()\n\n    await client.deleteSession())\n})().catch(console.error)\n```\n\nEnsure that you define a unique name for your performance test so we can maintain a stable baseline for it. Within your CI/CD you can now call the script and analyze the performance of the second opened page. To ensure that our platform can calculcate the data we add a 5 second pause in between running the test and analyzing it:\n\n```sh\nnode /test/performance/login.perf.test.js && sleep 5 && speedo analyze \"my login performance test\" --orderIndex 1\n```\n\nThe command requires passing in the job name of the performance test. With the `orderIndex` parameter you can define which page load needs to be analyzed. If not passed in, it will analyze all page loads which can make tests more flaky. Similar to `run` you can apply more parameters to this command. See the full list by calling `$ speedo analyze --help`.\n\n#### Parameters\n\nTo get the whole list of command options for the `run` command call `speedo analyze -h`.\n\n##### `orderIndex` (short: `-o`)\n\nDefine the order index of the page you have opened in that test. For example, if set to 0 you analyze the first page load, if set to 2 you want to analyze the 3rd page load.\n\n##### `pageUrl` (short: `-p`)\n\nDefine the url of the page you have opened in that test (ignores `--orderIndex` parameter).\n\n##### `metric` (short: `-m`)\n\nDefine the metric that you want to check (multiple possible). Available performance metrics are `estimatedInputLatency`, `timeToFirstByte`, `domContentLoaded`, `firstVisualChange`, `firstPaint`, `firstContentfulPaint`, `firstMeaningfulPaint`, `lastVisualChange`, `firstCPUIdle`, `firstInteractive`, `load`, `speedIndex`, `score`.\n\n_default:_ `\"score\"` ([Lighthouse Performance Score](https://developers.google.com/web/tools/lighthouse/scoring))\n\n##### `all`\n\nAssert on all available metrics (ignores what is being set as `metric` parameter).\n\n_default:_ `false`\n\n## Docker Integration\n\nIf you run your CI/CD pipeline based on Docker (e.g. [Jenkins Pipelines](https://jenkins.io/doc/book/pipeline/docker/)) you can also use Speedo as a Docker container. Just define the container name and have the speedo command available in the stage, e.g.:\n\n```\npipeline {\n    agent none\n    stages {\n        stage('Linting') {\n            ...\n        }\n        stage('Unit Tests') {\n            ...\n        }\n        stage('Functional Tests') {\n            ...\n        }\n        stage('Performance Tests') {\n            agent {\n                docker { image 'saucelabs/speedo' }\n            }\n            steps {\n                sh 'speedo run https://google.com -u ${SAUCE_USERNAME} -k ${SAUCE_ACCESS_KEY} -b ${BUILD_NUMBER}'\n            }\n        }\n    }\n}\n```\n\nOr when using [GitLab CI/CD](https://docs.gitlab.com/ee/ci/pipelines.html) pipelines:\n\n```yaml\nvariables:\n  SPEEDO_IMAGE: saucelabs/speedo\n\nstages:\n  - lint\n  - test\n  - performance\n  - deploy\n\n# ...\n\n# run performance tests\nperformance:\n  stage: performance\n  image: $SPEEDO_IMAGE\n  script:\n    - speedo run https://google.com -u $SAUCE_USERNAME -k $SAUCE_ACCESS_KEY -b $BUILD_NUMBER\n\n# ...\n```\n\nFor information on how to contribute to this project, see [CONTRIBUTING.md](CONTRIBUTING.md).\n\n***\n\n<p align=\"center\">Copyright 2019 © Sauce Labs</p>\n\n***\n","readmeFilename":"README.md","gitHead":"478463dc01d001d91f8ec2c44f075bfbbc61db0c","_id":"speedo@1.1.0-beta.1","_nodeVersion":"10.15.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-sZ3vP0dFYF+3Ee4WEj1Egk908iW26ja+zm/rZHumXqUCH5qxf8ocdKss+iaTnKIBLhKP3RbH7KzbQz/EpgVnGg==","shasum":"31e106a11b2a204b943c5fad788527b25534e9b3","tarball":"https://registry.npmjs.org/speedo/-/speedo-1.1.0-beta.1.tgz","fileCount":21,"unpackedSize":93619,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdfsrmCRA9TVsSAnZWagAAUvwP/0InVkYg2a+c5xm4iUv0\nrjuxq60NpytIcaz6mq6nrdI0+OsUAgmEUFhgLNbYWbRJq9eJ0LFRsRUWKQ7p\nfT/rDMFxZpmFSINnpRAk01H0PyXgMwlsZD/J2Kp0WWHDN1n+H3DkeV0AcoBf\nUIW73TWywY9m2nYRfU+5kDP6FzNng6LC5BUysMBL+9PILlFwh9tQu4TNF+HL\nu23ynhLt9uG1iwMyv7tflJpfHgE2CJgTnqMYXvDjvHNqq8/8HkcDvnVpjUJB\n/VPeZM2ZiOtdNaY/8oV273NNrV93qapSaQGIEnMOmWQcX//rNRxVYyIM1k7g\nyV6YdovVLDCk5E1xjjPJyiIvQpaz9wHJN/GTVGfVH6ycqG3bpsqD/jDz/g/R\nLtnWVkV1mmiCa2AI0pG/5FbQVvDr/BsyQhnJuNCxU0kNV/C7nZkxBnuHE3SN\nDqGtfVk8REh3SEPa2gspAb+BRr1i/n4k8zOx7PbA6HrFZ6G2oL0eRI0b9+mV\nVLVmQNEjID/H2K+AZpRReix2QdhdOtnqB1cM+Xzoeh6uCEsPbIwRfkeNM/E8\nt2D4B6OqnerZoI+dDxEmdKo55QDwFEFfDmDpNOByGGY1VDzEZqYI8nHFIi64\n34l/t01/i5DYefW61c/+J0QPR7q3p6IRVn5NtnghjQA0gUYHrs8nGofpHKiO\n3HSR\r\n=7Kdc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGbjiazUkHF3wLAikeWaTNHFUdXu7+mB2p4UzPBK0Mz0AiEA8pjWze7Rbfn/p4iaBwa+i5yqQ/Eav0zPGhFeWUL8PP0="}]},"maintainers":[{"name":"kytwb","email":"amine@mouafik.fr"}],"_npmUser":{"name":"christian-bromann","email":"christian@saucelabs.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_1.1.0-beta.1_1568590565742_0.29726829168203994"},"_hasShrinkwrap":false},"1.1.0":{"name":"speedo","version":"1.1.0","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"NODE_ENV=production babel src -d build","docker":"run-s docker:login docker:build docker:tag docker:push:*","docker:build":"docker build -t saucelabs/speedo .","docker:login":"docker login -u \"$DOCKER_USERNAME\" -p \"$DOCKER_PASSWORD\"","docker:push:latest":"docker push saucelabs/speedo:latest","docker:push:version":"docker push saucelabs/speedo:$npm_package_version","docker:tag":"docker tag saucelabs/speedo saucelabs/speedo:$npm_package_version","eslint":"eslint ./src ./tests","prepublishOnly":"npm prune && run-s build","release":"npm run release:patch","release:patch":"np patch","release:minor":"np minor","release:major":"np major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.2.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","np":"^2.18.2","npm-run-all":"^4.1.5","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":93,"functions":100,"lines":99,"statements":99}},"testEnvironment":"node","collectCoverageFrom":["src/**/*.js","!<rootDir>/node_modules/","!<rootDir>/tests/__fixtures__/"],"coveragePathIgnorePatterns":["src/scripts"]},"dependencies":{"change-case":"^3.1.0","ora":"^3.4.0","ordinal":"^1.0.3","pretty-ms":"^4.0.0","sauce-connect-launcher":"^1.2.7","saucelabs":"^2.1.9","table":"^5.4.1","tmp":"^0.1.0","webdriverio":"^5.10.8","yargs":"^13.2.4"},"gitHead":"1a409c6bd301ebbe28db9fdbb0d4ee88c43ddc0b","_id":"speedo@1.1.0","_nodeVersion":"10.15.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-XqnXEImMX+YydvOOfoel2PUKflApBxkmjdX2lwIPfj1473kumOU3DsR0sUcVJ8lGtoqstUBvUufjeg23/UvbrA==","shasum":"8f6a5903c776448297717999a096f33b2a962ad6","tarball":"https://registry.npmjs.org/speedo/-/speedo-1.1.0.tgz","fileCount":21,"unpackedSize":93612,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdgKSJCRA9TVsSAnZWagAAiawP/iiBN8K+Ta3qkrR6Ql8u\nkAkH79FfeyKHBm9YYs1NSQFK7uFaUXzZJ7ISPlHmn9OUcy7hRrRSopsSrULj\nbwQio765zXQ9QlhQHUBtmiFSkG68S8lGNmfui7nP34MWd6RVIi2SVggnIZfA\n3tqHb+JZWmzXt1y4GRscby6RAYZkAAiPRUgTvgp+kdkOiekhqmjsP6xhVNEC\nhDD13r1e37goS08HuZi7OG8MDJPQu3sOcIvxwk/5A7rAy9yaCYqAoXAeMKyC\ny9R3Fnmhm3gRg1OhwEFdDuy5/ryTph0V8MZsEto5mqy61OUKSfwkJBMh2GX8\nTD/Dgl4cJfyCHp4ZMdsup011Wu8G8vQ6VWd2FO9JtFspxMP3omV8+iWrfCV0\n+2626/nMfZHr3sZxT2OxV2AKTjgxKZcThc9Go5cIQKVcxbKf1jnKdyqANzmT\n7n9SrLAl1Kvd3XOC6EZ87YQfd5fGEnlOxq5Sf52MmnY13fwjlzy8xMi+GZRb\neqiZ3iCkQ1jZWsgjyRfcUE7BY2J/L/x4Ys7TO5TInvRBgbtPm3J5ADu7lk1r\nca2MBSWsZCOOMe/ByYOyNJIjpU83cmHNezKsuPJzyPGt0n4feC/EnRlV57W8\ndLXXQWfkQIdIxTnouuO1uvrpp14uhv0f/yRcv5woghSYP48uT6aq+pB2ukah\nxbDD\r\n=BK2r\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC5dhQ/Olt246kVkcFXKj2RgalP8brTnCnItIJZMS1E5wIhAKnI0/kprmmkwXvcnUwU7mC+G7cFZ6VFkNEP+JVw5oRM"}]},"maintainers":[{"name":"kytwb","email":"amine@mouafik.fr"}],"_npmUser":{"name":"christian-bromann","email":"christian@saucelabs.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_1.1.0_1568711816461_0.07892876174696295"},"_hasShrinkwrap":false},"1.1.1":{"name":"speedo","version":"1.1.1","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"NODE_ENV=production babel src -d build","docker":"run-s docker:login docker:build docker:tag docker:push:*","docker:build":"docker build -t saucelabs/speedo .","docker:login":"docker login -u \"$DOCKER_USERNAME\" -p \"$DOCKER_PASSWORD\"","docker:push:latest":"docker push saucelabs/speedo:latest","docker:push:version":"docker push saucelabs/speedo:$npm_package_version","docker:tag":"docker tag saucelabs/speedo saucelabs/speedo:$npm_package_version","eslint":"eslint ./src ./tests","prepublishOnly":"npm prune && run-s build","release":"npm run release:patch","release:patch":"np patch","release:minor":"np minor","release:major":"np major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.2.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","np":"^2.18.2","npm-run-all":"^4.1.5","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":93,"functions":100,"lines":99,"statements":99}},"testEnvironment":"node","collectCoverageFrom":["src/**/*.js","!<rootDir>/node_modules/","!<rootDir>/tests/__fixtures__/"],"coveragePathIgnorePatterns":["src/scripts"]},"dependencies":{"change-case":"^3.1.0","ora":"^3.4.0","ordinal":"^1.0.3","pretty-ms":"^4.0.0","sauce-connect-launcher":"^1.2.7","saucelabs":"^2.1.9","table":"^5.4.1","tmp":"^0.1.0","webdriverio":"^5.13.1","yargs":"^13.2.4"},"gitHead":"89937cdae3d0c5be5ca216b4c4416a8d33d3e27d","_id":"speedo@1.1.1","_nodeVersion":"10.15.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-5V8Hypll7/dNHLBfzORA9ABux9Rs/c/LikogafdXzBZIUT8RLcriwM5U3ozjNuVlVo6Ccr+9SWhtM5CNfMKn0A==","shasum":"f10e7e05e520b30b172eccefe0a4892731a2d447","tarball":"https://registry.npmjs.org/speedo/-/speedo-1.1.1.tgz","fileCount":21,"unpackedSize":93917,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdgev3CRA9TVsSAnZWagAAC6kQAKS+kC+KeILhqJMkw6K5\nmQ3oP+0ovF675WbAd/H2XHtoLQVzGZPLfH9/QSvWj+EcnXEIJtkJtw/NtawU\ncHanQlIzoH6QenVVtKA4LHdubPGffcFJZYTwTRyw3RG0kAaEm8y+8iy1q4RJ\nJ3xZ+gP00yrHjpeZHJutk99X9B8OporMnXdFDDZr0+PVWvfn98V+elnm2DG6\n2zxHlfID7xpC1zQv1cux5FIVHgQ2eQO5gBLnB+jCmSNh0Xr1odkPCAsVDjgI\n0qbkSUXuN33SG9/t+FYEC8VGaM+wpHTT7Izlh3Vttpof3zpJTgA5sc6GEmhf\n0tD44YpuVt9yIH12ZsRUrsHvNgVmjzyW7pS3YQu9eU5erLZl/kxrlNL72nVb\noVfWPUIbopLe1OoNlIkzdZGcw6ggcpE0KzYxx7+uBtubEpi8QlqKs+KYRBA2\nkjlvlIODsQngN4maiyPFRsDNTPI36kepia5AYv2ndhwpXJHKY09SPWnGHrvI\nWHU/oBOn5xkO/Wafypl0Pd+w0mFh5MUL0OS7VQrW13fqPPNZXczOO68j7OwF\ncKuBSGhjs1yOWO/4Ps+k9cHQmlkLkQSK5Tym/3UqrFChCEST2ZU4rKMEUW+i\nH9+bLtTVRMmBLbWD/Oq4mMh0iL2qyB1SHS7ctreQC+ZiG9uIBOWx9wEj0Yik\nAdmm\r\n=m9cB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDoWLTpNM1DGm/bt9qqG1anAtTby3K1asaqfbipklJ/bgIhAKlsgaIewompefx/fz2yIWLePLSfgp+xg+ErWWUMTUfN"}]},"maintainers":[{"name":"kytwb","email":"amine@mouafik.fr"}],"_npmUser":{"name":"christian-bromann","email":"christian@saucelabs.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_1.1.1_1568795639113_0.9995814151768101"},"_hasShrinkwrap":false},"1.1.2":{"name":"speedo","version":"1.1.2","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"NODE_ENV=production babel src -d build","docker":"run-s docker:login docker:build docker:tag docker:push:*","docker:build":"docker build -t saucelabs/speedo .","docker:login":"docker login -u \"$DOCKER_USERNAME\" -p \"$DOCKER_PASSWORD\"","docker:push:latest":"docker push saucelabs/speedo:latest","docker:push:version":"docker push saucelabs/speedo:$npm_package_version","docker:tag":"docker tag saucelabs/speedo saucelabs/speedo:$npm_package_version","eslint":"eslint ./src ./tests","prepublishOnly":"npm prune && run-s build","release":"npm run release:patch","release:patch":"np patch","release:minor":"np minor","release:major":"np major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.2.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","np":"^2.18.2","npm-run-all":"^4.1.5","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":93,"functions":100,"lines":99,"statements":99}},"testEnvironment":"node","collectCoverageFrom":["src/**/*.js","!<rootDir>/node_modules/","!<rootDir>/tests/__fixtures__/"],"coveragePathIgnorePatterns":["src/scripts"]},"dependencies":{"change-case":"^3.1.0","ora":"^3.4.0","ordinal":"^1.0.3","pretty-ms":"^4.0.0","sauce-connect-launcher":"^1.2.7","saucelabs":"^2.1.9","table":"^5.4.1","tmp":"^0.1.0","webdriverio":"^5.13.1","yargs":"^13.2.4"},"gitHead":"9b3a6309a4946fdb993d08543984a1a10001807b","_id":"speedo@1.1.2","_nodeVersion":"12.2.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-h5eGR4a2WlKX4p25ojo1nefX2aln/pzCwPtYhr7WLUL7w/indqnlcAVpww5tutuOH8BBiQw/XUF+HLcTMm8iAA==","shasum":"1442d4c6c7d009c63569deda53553cfabe8f3f9e","tarball":"https://registry.npmjs.org/speedo/-/speedo-1.1.2.tgz","fileCount":21,"unpackedSize":94644,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdpaz5CRA9TVsSAnZWagAA9/sP/0p8+J2KRGK0OEt/ad41\n8nTcc5dJO0/eAK8dNyHFbMLBlOtDApXb4aormXosXnUS/0JX4yDkMRfjSEfv\nstTzn26SvWzDmOSJ7Dsveh/Nmd9UNkzLJxLzEx/VBvF4mqmrmAspnyVeaRBn\nXClw4qrB05NOOLk42GiFG8ydqJM3AI5ByT2FlPUZQbUbbeCO9i3IemM27G2h\nXtNbZyRBn4cm7fozRrbqCeRw1gQ2vyVUNvcIDwBLutgeMIJ4OtOPWwPDgb8J\nVh8Ns92N97rIZup7buMm4qxff7doO7uvwW3eXyWLHXhFjhTBz7wOCxTVyUz8\n84sScks4C/EiOUvpjuvlc54qxTqmmd42uE4uLXPc5ieoGjjXyQoXXAe68bHD\nqK81KblibYifd1JxyFLVylqjo6/dHS1QFnnuxSf3KrNY0Ms6Fr7T7gyK4cio\nId0a9zGiMNRgsczBOPWesrVSvq1eU9jpdBjWvaH/c2d7UBKZo+Dh11lKtAmV\nowhUf8FDbnfEF7BBXwskGXXRfkgOMaSMlWt8U+HG5/2WGGnJYUPSX+NPmPkK\nP5oxqzNYdJ5eVffWhe7dbB5jy09U9Ut7W1oD2HaQepZZQhYe9a51NHDSizfh\nT/bwlN5oU+p/GFwywyxEJthD4iGpmvItpdcuPO+oMLfwo4RCdMYaeCPHDXx4\n/cG+\r\n=XxAl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCT1vToIWELmB7qEXXpq0gNr64tvQOgpDmVeFs1joE8wAIhAMSdrreXF9Jo6Z9EdcwY3TtJ+yQ9YyTtst2ajCYqveQV"}]},"maintainers":[{"name":"kytwb","email":"amine@mouafik.fr"}],"_npmUser":{"name":"christian-bromann","email":"christian@saucelabs.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_1.1.2_1571138809117_0.9084143303550476"},"_hasShrinkwrap":false},"1.2.0":{"name":"speedo","version":"1.2.0","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"NODE_ENV=production babel src -d build","docker":"run-s docker:login docker:build docker:tag docker:push:*","docker:build":"docker build -t saucelabs/speedo .","docker:login":"docker login -u \"$DOCKER_USERNAME\" -p \"$DOCKER_PASSWORD\"","docker:push:latest":"docker push saucelabs/speedo:latest","docker:push:version":"docker push saucelabs/speedo:$npm_package_version","docker:tag":"docker tag saucelabs/speedo saucelabs/speedo:$npm_package_version","eslint":"eslint ./src ./tests","prepublishOnly":"npm prune && run-s build","release":"npm run release:patch","release:patch":"np patch","release:minor":"np minor","release:major":"np major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.2.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","np":"^2.18.2","npm-run-all":"^4.1.5","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":93,"functions":100,"lines":99,"statements":99}},"testEnvironment":"node","collectCoverageFrom":["src/**/*.js","!<rootDir>/node_modules/","!<rootDir>/tests/__fixtures__/"],"coveragePathIgnorePatterns":["src/scripts"]},"dependencies":{"change-case":"^3.1.0","ora":"^3.4.0","ordinal":"^1.0.3","pretty-ms":"^4.0.0","sauce-connect-launcher":"^1.2.7","saucelabs":"^2.1.9","table":"^5.4.1","tmp":"^0.1.0","webdriverio":"^5.13.1","yargs":"^13.2.4"},"gitHead":"0e6a0a129514ce4e573187f92aee744cc340b503","_id":"speedo@1.2.0","_nodeVersion":"10.15.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-Gh0y5NQzlTNxXl8N8lb6FABaNAbf9fw9EJ2/ujnheyY4ugA9naKL8fm+tegmkLT8vglBkZJR9iFCTqbBvkROhQ==","shasum":"ef804218fa8e8b903630c53cbc577bd58e30c4d9","tarball":"https://registry.npmjs.org/speedo/-/speedo-1.2.0.tgz","fileCount":21,"unpackedSize":102911,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdsbiLCRA9TVsSAnZWagAADAUP/0MVS60YQKDcOrWF3XGk\nutY/2fliXxoDqzyfX2hXJZReAjl4vY7AG9HsGrThE4BciNfAkw+HldSyDUNX\nY2xK4pJ/pzQTTOfxG5ppNjDa0md/z5QEaNiCi/fJYsIWGBqTkRnl3RUkKmnF\npY9mdfPeas27hDJOqYdUpuhs1343Ncj4qRq6OoZMwud7X6JwjQ1flywJfHnX\n9MTVsicI9+TdumvLmb5RVrV5MHj8pb3kB4GhA6v7ugWMyzy1osgnkSewhPab\nfVlph66tw9VS3qhctj4GpwaFiOsn4gmgbOS76bfxZ8nFzmWzkS2r87oDhFPL\n9CqOcxp9lYIYbwQ/y/DFTw/YqHRBLUUEg5mMwjfxi5XRah1fBeVArLEwgmZU\nxbLfZXTRPbBi4xfDkW4QKjrK0jqmiYPw8ks/0NjgMuYGu2I28VEvfJvzPwiB\njEQGo33nAPDHSrOWdS0E4V6EnH2i1wTmyqdHLYI/HU7nCTtimuet8HwAB5It\n8F7cm3ZmVPpX92Xnux9HMmbspYXl9eeUnGNbOhHtiPoPrR+yQ/8+JiaF8v3W\nwTzL/bY2R933Ght28agU14JciMsLn/QlZv4x+xuLzWtUiqL8ia/VfpcEAT40\nIhdgrbcoDrTg6Y2eQRizWsxR/3g9MUe5jfvp6yqzUa1awzWXqcL+VSWpDmo/\nYpnC\r\n=t9yt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDVXw/ATBoo8gLMO69HOAO1RafBE1LwjEOzP6iJLy01KAiEArWFdWKgIku4QRN9B5xAIj42LTuYBi5BVoRAi3V/iqOs="}]},"maintainers":[{"name":"kytwb","email":"amine@mouafik.fr"}],"_npmUser":{"name":"christian-bromann","email":"christian@saucelabs.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_1.2.0_1571928203196_0.32630721338145796"},"_hasShrinkwrap":false},"1.2.1":{"name":"speedo","version":"1.2.1","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"NODE_ENV=production babel src -d build","docker":"run-s docker:login docker:build docker:tag docker:push:*","docker:build":"docker build -t saucelabs/speedo .","docker:login":"docker login -u \"$DOCKER_USERNAME\" -p \"$DOCKER_PASSWORD\"","docker:push:latest":"docker push saucelabs/speedo:latest","docker:push:version":"docker push saucelabs/speedo:$npm_package_version","docker:tag":"docker tag saucelabs/speedo saucelabs/speedo:$npm_package_version","eslint":"eslint ./src ./tests","prepublishOnly":"npm prune && run-s build","release":"npm run release:patch","release:patch":"np patch","release:minor":"np minor","release:major":"np major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.2.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","np":"^2.18.2","npm-run-all":"^4.1.5","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":93,"functions":100,"lines":99,"statements":99}},"testEnvironment":"node","collectCoverageFrom":["src/**/*.js","!<rootDir>/node_modules/","!<rootDir>/tests/__fixtures__/"],"coveragePathIgnorePatterns":["src/scripts"]},"dependencies":{"change-case":"^3.1.0","ora":"^3.4.0","ordinal":"^1.0.3","pretty-ms":"^4.0.0","sauce-connect-launcher":"^1.2.7","saucelabs":"^2.1.9","table":"^5.4.1","tmp":"^0.1.0","webdriverio":"^5.13.1","yargs":"^13.2.4"},"gitHead":"67a38e4afaeee981f617d8bc8691def86c1105dc","_id":"speedo@1.2.1","_npmVersion":"6.4.1","_nodeVersion":"10.14.1","_npmUser":{"name":"farhan.chauhan","email":"farhan.chauhan@saucelabs.com"},"dist":{"integrity":"sha512-YG5LjI+9/rHQqrSOP4B5/ISSnblZkbGNQ5hNwCpfCPXAtRuqJ/bkLMxD75jrfe69tXwJba9pJsgZRBItj+y00Q==","shasum":"521429236d1858731042c09a3cb1ac5d9fd309ae","tarball":"https://registry.npmjs.org/speedo/-/speedo-1.2.1.tgz","fileCount":16,"unpackedSize":81970,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdsdVFCRA9TVsSAnZWagAAjmoP/0glUNGo+ZDQq/OTRRPq\nZ01nl//KC58bNaHwjHsDWzeRPo4vU44udCRZbPIyp5y+Dx0d8I/s/3FyA+8z\niqR4feFMdOpUrwzUp31ehIKlIRTPcwVCW7fJK+aDfbkDGsVHrJpEgfRpHPxl\nwBQD30FHRiK9fbUZ7nZdMjjGhGss/rOPHhee1D/wYjEUHowmaS5FKoIPecUC\nS9anCpZV0Q0GfERff9Hq9LDfKvx6xUNQsz4Dvqu9VnLSa4g8Ux1Pph9x1sir\nbUw8413uCU+3owqPzzSLeKJsB0r9tFI3xSod1xvz8exkC+ZpYIO/hYu4m9by\n+G4OXUGJ5Md9EA+iKnPQ4Z2RM50KETi/NjPNEvKuPnUehs11aULIqalVlCZP\nHKO003XIKINl+rSUBws4r54mWZjIHjyASKE2Mplgg/6ZaccM3SPhb2Y9XOdl\nctxvdk2zpdICA3yA1XEHzYz63IMLcuOrKK1p0FbniGR8WLpR8SLn+6Fuo2kf\nOibRgk7cFJnEcvNYMZuRksjbnS4wGcwUOKS3Lgm9T7FE+XPu9ER6Gof0mFNM\nbWyGH+IFrJ3IhBQ1N6FLYsjk/KP/k4tW7j/LCL+Alm31lDZCmcjQtjj44+rp\nU5AAmUBeUMDEQb9b8/7bhweb+nxutzWF7I+xnR4WLMdv5YnrdwYBzsVJDRqf\nz8NE\r\n=99OG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHAQXYrjF2b751xs0ivH05Uer2e3W9irfK35mbjnzLgCAiEAtz1zCQRfkiUu6J0HNk86LQYQ5MP3RuaajOOz5UUvz8s="}]},"maintainers":[{"name":"kytwb","email":"amine@mouafik.fr"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_1.2.1_1571935556463_0.19441361860105766"},"_hasShrinkwrap":false},"1.2.2":{"name":"speedo","version":"1.2.2","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"NODE_ENV=production babel src -d build","docker":"run-s docker:login docker:build docker:tag docker:push:*","docker:build":"docker build -t saucelabs/speedo .","docker:login":"docker login -u \"$DOCKER_USERNAME\" -p \"$DOCKER_PASSWORD\"","docker:push:latest":"docker push saucelabs/speedo:latest","docker:push:version":"docker push saucelabs/speedo:$npm_package_version","docker:tag":"docker tag saucelabs/speedo saucelabs/speedo:$npm_package_version","eslint":"eslint ./src ./tests","prepublishOnly":"npm prune && run-s build","release":"npm run release:patch","release:patch":"np patch","release:minor":"np minor","release:major":"np major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.2.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","np":"^2.18.2","npm-run-all":"^4.1.5","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":93,"functions":100,"lines":99,"statements":99}},"testEnvironment":"node","collectCoverageFrom":["src/**/*.js","!<rootDir>/node_modules/","!<rootDir>/tests/__fixtures__/"],"coveragePathIgnorePatterns":["src/scripts"]},"dependencies":{"chalk":"^3.0.0","change-case":"^4.1.1","ora":"^4.0.3","ordinal":"^1.0.3","pretty-ms":"^5.1.0","sauce-connect-launcher":"^1.3.1","saucelabs":"^3.0.1","table":"^5.4.6","tmp":"^0.1.0","webdriverio":"^5.17.0","yargs":"^15.0.2"},"gitHead":"1e1a2ada462103b238983256b7980475938dd78e","_id":"speedo@1.2.2","_nodeVersion":"10.15.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-llkrQ1Jh3cWm7IC8/luZMR8plIvgSM0y16aA7uvhuPWgN67iEeVBeYLJnsBCpdUX19b9ogbxvSUHPiy2GhPy6A==","shasum":"e5a24a18f6b027c6eeaa78ea2245e4d31dd0235a","tarball":"https://registry.npmjs.org/speedo/-/speedo-1.2.2.tgz","fileCount":21,"unpackedSize":102972,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd+6DZCRA9TVsSAnZWagAAOnYP/3v4Lw9+wA/tLFLhSQV+\n1wgXTZY8STey3LOdXSdvhOaYD0MzgZbTfh0gTPdSTA+PSByK3CdUvp9+Qu+g\nstNhcBlrdOzEnHDj1tTNovOkRvDf8tmLE5VCJyM1XOHbaEMkOyG7dweqdeIr\nYJuNcZqHGxyAJC5iPn9W4VktxRSPZA1DqtGbhsYq2ffLpoLzcG9t7DZAwAw1\nFBY9NI3et9oWrlqN544PGHW5ATwa2meT4Ko6BLB68OiZB7KlVc5pnsSkZoyW\nvMFE0D1iXb/j65Hj1S8WaxTOgRHqI6130/ehdoAOygzkRpx0AtESR2xU06vb\nBWj2HlokXAzOjzjixzvckuzkF+lrLravSQu9kIvNuzfP1dXl4gNtnZIzPTL6\n+KD65NXr8WZjjh+gOrZ7eZx/azZjbmh/QSOZQG7N/KcK5B30qurAOfVGhYOE\nfoLYeDR4DogK280eZmrGhkZ+dWPHV8+cIk2ASSlPXLVmJ88Fn2AkIbVALT7A\nf3cRBtIvFWXmYkFGg6xDKy95WBA8525/XRnGD5FG9nA/URzoCnVwp/dMDv8e\nQZ8WxI+7/rZnkEmktLGPF5b68wqJm1sS/R9YoyfPVuuiU6zZ4rpsVF7V57vS\nYm9qCGvyco7ln/ZO+nMwd4OMB/TWSwUT7ygWiJ3za5NfZ26cbPnio+47KSHK\nssQf\r\n=8NYI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDZywTvJgD8nv/LlmLJKzERxmkgHTIvVpicfpG2SI8/UQIgT/oW44fAJBufL3R5+PwLyZce4neBblvUx7LxS2wM52k="}]},"maintainers":[{"name":"kytwb","email":"amine@mouafik.fr"}],"_npmUser":{"name":"christian-bromann","email":"christian@saucelabs.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_1.2.2_1576771801427_0.9949051015529202"},"_hasShrinkwrap":false},"1.2.3":{"name":"speedo","version":"1.2.3","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"NODE_ENV=production babel src -d build","docker":"run-s docker:login docker:build docker:tag docker:push:*","docker:build":"docker build -t saucelabs/speedo .","docker:login":"docker login -u \"$DOCKER_USERNAME\" -p \"$DOCKER_PASSWORD\"","docker:push:latest":"docker push saucelabs/speedo:latest","docker:push:version":"docker push saucelabs/speedo:$npm_package_version","docker:tag":"docker tag saucelabs/speedo saucelabs/speedo:$npm_package_version","eslint":"eslint ./src ./tests","prepublishOnly":"npm prune && run-s build","release":"npm run release:patch","release:patch":"np patch","release:minor":"np minor","release:major":"np major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.2.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","np":"^2.18.2","npm-run-all":"^4.1.5","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":93,"functions":100,"lines":99,"statements":99}},"testEnvironment":"node","collectCoverageFrom":["src/**/*.js","!<rootDir>/node_modules/","!<rootDir>/tests/__fixtures__/"],"coveragePathIgnorePatterns":["src/scripts"]},"dependencies":{"chalk":"^3.0.0","change-case":"^4.1.1","ora":"^4.0.3","ordinal":"^1.0.3","pretty-ms":"^5.1.0","sauce-connect-launcher":"^1.3.1","saucelabs":"^3.0.1","table":"^5.4.6","tmp":"^0.1.0","webdriverio":"^5.17.0","yargs":"^15.0.2"},"gitHead":"b778c16cbbd6d712873f967f57495bafdc774e7b","_id":"speedo@1.2.3","_nodeVersion":"10.15.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-09XAkXwVJKZhYoCfrqoI25heD7Jvxy0Hekarzfxqb2hbRWVUrfsYjvbj6PV1pVh2pciNHADTDYrfpC07lfuHrg==","shasum":"060ffa22af0ea273ceda8e704a04d9c0ea0a7e46","tarball":"https://registry.npmjs.org/speedo/-/speedo-1.2.3.tgz","fileCount":21,"unpackedSize":103063,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeIGTnCRA9TVsSAnZWagAAwZ8P/iC4e5RZq7Xs7olGtOTH\ntf5Y2A/ECt+FoiGxrJ0BT3Ct+uHTwrOHdShX4xMge0SsTyXezztZ91KG3y6V\nf3Xq2++zVqAUorbVUB4q7sAmrpdfbQmT0MXuEdxbHDC3zrn3u4nAvpMLawoq\nMs2KpX4FZKyQlkJPPYhxOrmqrtmBjaQxt7DkHL2qjdfW5OKdrWStQQMO4s65\nG0/+t5e29OSHvm64fQh6wmo2N9FjZGOru82AGnFtdwcEULx30+NVYKT2Ookg\nzGeNG0lQozTfPHZFCHNNHsvlrziOebp+37dAnH0mX/2kR7Wf8YIScCSGjNtq\nOVwl0+SBx9mpimwwyo1uAGhhWtIdnX1NskRsfeSX/6OZJciehVxCGLgFgvIX\nWzosPcnmmWrzYYOIJGf2KHXqgL/BSSIHm9bRGVAWwCq/athMofTEz6US1i5G\nsFXz2CdZwfSf2XjV9KmZUJZbB1jhm7BVq1bLPu8y5eWzsLLTdkCTHzqfduZ0\nyhm4OmwDRCmQFFdXmRsIPjfHQEFIKO3rJramQqtVHKXIQe+ivE7QUXaNDlO+\nCYGgwtKaPT4wt/Ak9cvmYOyZJWUCRg78jy+A2vWt36j2Jy03eStPqGEqob9E\n6DQyIhmJcg2PsQKy11v5eIB9lyND6xNJetr4YNAv9jn0rXcnJKzm2ry2ld93\nQiPn\r\n=nPCY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCKWJsEA02Rk0p9ri7vMJVJjMSadCb789WMduC4v4cwIgIhAP37StLq9ik/g3nFTHYmPFkJ6pGSfRXxDaC2F9LLJwOH"}]},"maintainers":[{"name":"kytwb","email":"amine@mouafik.fr"}],"_npmUser":{"name":"christian-bromann","email":"christian@saucelabs.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_1.2.3_1579181287062_0.4980765936841034"},"_hasShrinkwrap":false},"1.2.4":{"name":"speedo","version":"1.2.4","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"bin/speedo"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"NODE_ENV=production babel src -d build","docker":"run-s docker:login docker:build docker:tag docker:push:*","docker:build":"docker build -t saucelabs/speedo .","docker:login":"docker login -u \"$DOCKER_USERNAME\" -p \"$DOCKER_PASSWORD\"","docker:push:latest":"docker push saucelabs/speedo:latest","docker:push:version":"docker push saucelabs/speedo:$npm_package_version","docker:tag":"docker tag saucelabs/speedo saucelabs/speedo:$npm_package_version","eslint":"eslint ./src ./tests","prepublishOnly":"npm prune && run-s build","release":"npm run release:patch","release:patch":"np patch","release:minor":"np minor","release:major":"np major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.2.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","np":"^2.18.2","npm-run-all":"^4.1.5","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":93,"functions":100,"lines":99,"statements":99}},"testEnvironment":"node","collectCoverageFrom":["src/**/*.js","!<rootDir>/node_modules/","!<rootDir>/tests/__fixtures__/"],"coveragePathIgnorePatterns":["src/scripts"]},"dependencies":{"chalk":"^3.0.0","change-case":"^4.1.1","ora":"^4.0.3","ordinal":"^1.0.3","pretty-ms":"^5.1.0","sauce-connect-launcher":"^1.3.1","saucelabs":"^3.0.1","table":"^5.4.6","tmp":"^0.1.0","webdriverio":"^5.17.0","yargs":"^15.0.2"},"gitHead":"d600aa15514d7804997b21e682a4606ad4feaf45","_id":"speedo@1.2.4","_nodeVersion":"10.16.3","_npmVersion":"6.13.4","dist":{"integrity":"sha512-4RXrMjNRQfinhLcNVZMGmpz57rGGYtNEYxUes82d0+E/nPmp+9RfmhIpAZA2fRugtxLWQPy33WfB8qegfcUjsg==","shasum":"96136c408ad6970a41845218075fd0f987f8a018","tarball":"https://registry.npmjs.org/speedo/-/speedo-1.2.4.tgz","fileCount":16,"unpackedSize":82178,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeourjCRA9TVsSAnZWagAARgIP/RghqB0j/t96q7L32wby\nrmP+MO+9olu0ZU1hFSAqB7xcrwyMbeZwd/K0m3gaGVUyoCwAxzb+3IKDtndZ\np7qW44dVYknPFLtsPqrChWKWi0Lh3f3kPS8BopqFPK4Jkhn73FBpTZyE6XeE\nx2FMCE4PV/hvxRhY239uso8oBHqmu315Bax13kIQ1WvWUwZKnjAjNFrFuzn9\nP39us3k4s4YB7GGcP6btTxINFdN8Tbk0NRot25BQrToahY7rW/G9vAdM2OkH\nM6LzM89jCa/yPaUqR5/jyAwRefdTfKAi9uWcP2NDDQVifHwkglFyld8Lz/W4\nznAbjTjjVJ5LfmdYwz/+QZLDJdAFPP36h0FISbUYjiUHgjvwcFL0QudYdQOI\nSB2XkT4MgvWG1rLRBrfw7tnZIrYXEtn/IsSv27VhZoaIhLRc5zExFwfcopqA\nVmll3AyievvSp1t1c4YNnGrziw9sNlErNfpXFtGkrHs2kkhk3bNGLK8YsNOX\n4R1HqQcT0JXjvPePGA5cEWOEjmfM0HHOZMdzx2N3wm6Ri2BknGOKqKaXN9yA\nX3tnPmcV0N6RFYLetSbfMSfzw0f/PRx8gNBRe6591mqoyOgyrNpWnwzHWUI8\n+NXc7DqUO795/0FwVAMEyvfJoWUk4VmLLQgLZry6mILtSgxBI7tdXhUy+t33\nrhAf\r\n=Y79+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIChPdjpXqRVrA+u+RvMIzik13FXF0WVMpSIdzFAjULvYAiEA9Xp1UMtEQUgErdbPQj9FlBCRYoGp4xG7oziSPrXrIJ0="}]},"maintainers":[{"name":"kytwb","email":"amine@mouafik.fr"}],"_npmUser":{"name":"christian-bromann","email":"christian@saucelabs.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_1.2.4_1587735267201_0.4571452822320041"},"_hasShrinkwrap":false},"1.2.5":{"name":"speedo","version":"1.2.5","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"bin/speedo"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"NODE_ENV=production babel src -d build","docker":"run-s docker:login docker:build docker:tag docker:push:*","docker:build":"docker build -t saucelabs/speedo .","docker:login":"docker login -u \"$DOCKER_USERNAME\" -p \"$DOCKER_PASSWORD\"","docker:push:latest":"docker push saucelabs/speedo:latest","docker:push:version":"docker push saucelabs/speedo:$npm_package_version","docker:tag":"docker tag saucelabs/speedo saucelabs/speedo:$npm_package_version","eslint":"eslint ./src ./tests","prepublishOnly":"npm prune && run-s build","release":"npm run release:patch","release:patch":"np patch","release:minor":"np minor","release:major":"np major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.2.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","np":"^2.18.2","npm-run-all":"^4.1.5","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":93,"functions":100,"lines":99,"statements":99}},"testEnvironment":"node","collectCoverageFrom":["src/**/*.js","!<rootDir>/node_modules/","!<rootDir>/tests/__fixtures__/"],"coveragePathIgnorePatterns":["src/scripts"]},"dependencies":{"chalk":"^3.0.0","change-case":"^4.1.1","ora":"^4.0.3","ordinal":"^1.0.3","pretty-ms":"^5.1.0","sauce-connect-launcher":"^1.3.1","saucelabs":"^4.5.0","table":"^5.4.6","tmp":"^0.1.0","webdriverio":"^5.17.0","yargs":"^15.0.2"},"gitHead":"1defb3444ee6fada05f2f6d5943f74623eb1c0b7","_id":"speedo@1.2.5","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-UQbVnw2bRnjk+qRW8eeFzvwNIzyvQ0bELPpbZ7xSQjDei89ryg7qMjH+FRwm9J+pRwzSWyGTXYOvUl7Yw3Pd7g==","shasum":"26b6deada07aad074a3a85889a747a1334e422f7","tarball":"https://registry.npmjs.org/speedo/-/speedo-1.2.5.tgz","fileCount":16,"unpackedSize":82564,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYevICRA9TVsSAnZWagAAukkP/2sQUxn6D0HIk2ta3gO2\nCyJG30416YDa/Ln3Dao0LyW+9XRWj53A4G0CO+4K9pxHCFydD+1Xipw+x2sj\n+OatO5VcrbQdKrMp+LiLdZJqtXIsuaDxcpZcDtoNAXNNIOXQODc72n5WIYKB\niNdgGNhSf4rRpr6VtK2v3DdVErTiugQgHzLc8gE3nYqFzZ35NR+e3s8ON19R\nWUnYQkCWzic/3NwT+O86RDv9j9aUT5RifiVxTbj8/g5bxbbOx0y6CQA8Vx3v\nsJ+ieMHHZeSLBXHH+NWalF0Fo+6a1rKePOuQDcBrrlvNKpEKihPckSb2PGFn\neRVG+/nSlqGNLlsfG5iO3U/8q66Qk4uieoDZznFiwXsNkqamOr7KtksGa6of\nIN2/uUf7NuoW9y9mkwDYIsHysWvlSQJO3/PFUGwLYFA7B6wtuNgsfNL5sCPa\nU06yMyL05ilmkkf4KXwsrCPmYVoJgzLk6bKQnQHoe44vlgUjbtCqXSCv+2Pv\nz1bCdZyOCG/K2+mY8LCd2wOxaXIn2/xmffWtgKY1N9f+W1ERvh0/VknJTEai\n8M+3hwETXve8owQpo8tmKmc+zWAEP9s8YzDuakEOEsASTpgDCzqTAKWrWLWP\nwgz5LIxQU54H5Q1HgP/hA3JtR3n+fRHAD6N14qBLsnS15yucmTCS10RRgPFE\njyhX\r\n=fd4j\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDjkrgwpTCwL2ARHhP0kOsS8ApoEmIdZYxeKKWGLJi2xAiEA7THYG7nDR95DQah0ge8wsuQlcMQDYuM2Bzry5LaSHbI="}]},"maintainers":[{"name":"christian-bromann","email":"christian@saucelabs.com"},{"name":"farhan.chauhan","email":"farhan.chauhan@saucelabs.com"},{"name":"maciekurbanski","email":"maciej.urbanski@saucelabs.com"}],"_npmUser":{"name":"farhan.chauhan","email":"farhan.chauhan@saucelabs.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_1.2.5_1600252871984_0.20981510176467033"},"_hasShrinkwrap":false},"1.2.6":{"name":"speedo","version":"1.2.6","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"NODE_ENV=production babel src -d build","docker":"run-s docker:login docker:build docker:tag docker:push:*","docker:build":"docker build -t saucelabs/speedo .","docker:login":"docker login -u \"$DOCKER_USERNAME\" -p \"$DOCKER_PASSWORD\"","docker:push:latest":"docker push saucelabs/speedo:latest","docker:push:version":"docker push saucelabs/speedo:$npm_package_version","docker:tag":"docker tag saucelabs/speedo saucelabs/speedo:$npm_package_version","eslint":"eslint ./src ./tests","prepublishOnly":"npm prune && run-s build","release":"release-it","release:ci":"npm run release -- --ci --npm.skipChecks --no-git.requireCleanWorkingDir","release:patch":"npm run release -- patch","release:minor":"npm run release -- minor","release:major":"npm run release -- major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.2.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","jest-snapshot-serializer-ansi":"^1.0.0","npm-run-all":"^4.1.5","release-it":"^14.0.3","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":93,"functions":100,"lines":99,"statements":99}},"testEnvironment":"node","collectCoverageFrom":["src/**/*.js","!<rootDir>/node_modules/","!<rootDir>/tests/__fixtures__/"],"coveragePathIgnorePatterns":["src/scripts"],"snapshotSerializers":["jest-snapshot-serializer-ansi"]},"dependencies":{"chalk":"^3.0.0","change-case":"^4.1.1","ora":"^4.0.3","ordinal":"^1.0.3","pretty-ms":"^5.1.0","sauce-connect-launcher":"^1.3.1","saucelabs":"^4.5.0","table":"^5.4.6","tmp":"^0.1.0","webdriverio":"^5.17.0","yargs":"^15.0.2"},"gitHead":"30e89c7ab850a165d034db460210f37db4eddedb","_id":"speedo@1.2.6","_npmVersion":"6.4.1","_nodeVersion":"10.15.1","_npmUser":{"name":"saucebot","email":"dev@saucelabs.com"},"dist":{"integrity":"sha512-FLu1mksf1My8OyD77wVqPpVAvcNKIbbP1+l4BMjJn6q6LetGmY7pGkpXNVmKz3P30eMu324NMZnxwWaThvEM6g==","shasum":"5cab3862dc4cb6357a280aa9b5b47638fc164cc6","tarball":"https://registry.npmjs.org/speedo/-/speedo-1.2.6.tgz","fileCount":20,"unpackedSize":98939,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfagTnCRA9TVsSAnZWagAAmuYP/j1JpALBOZ1Zgj2VAjHr\nY1/H1bA496edXODwwZHobKKd8heejc2CrsdLv2ThaZeo0N7ssTHFOh4kxgEo\n98Xjionmb1xXeuOlTXvXu2IzXGfhQ8HvW7noWXAm1J3xD64qI+t1V3sZOFKP\nO3tTFvZaXEAZU2jaksz6k+p2LjTVJhG5VLwlzhS9VTv9YcrBNS3iPsD6uI9K\nccgVWBnUUUIXNSxFb0MPlW/GY79ND0yWhNgl3dDgoxyTdUUxry9ZLKxUwbfz\njpq97Lc0WvpUJFQGjVG2kEodc4lM/KdVhAaxAO51I7s3xuXBR59DEKKSIGCX\nsV5QvhnLrB1ESeex4zKi6qavVL8SoncetoX9Usu+UTUBr6yRiRUHe25Kts1t\ng3EkBurnuYsKI8W8F0EIQZITIvy5C2EI9udBYifueNNu+eM3Vgye8xYMYuel\nnErJD4aIlTsm4BBEGx8f+G0ftknePkv6Fs7bL/RHGsCWxauK0LcKPtxb5ER4\nH+6vGvP7JtZ2+o/VEv8sPX+5EkmOIWirb7YzvkednD8HjeFnnpszFOpYdsoI\nyyAWxnSgj2MJ9uST6cK3HA4QOLcCtArv/3uCyH1neju9EfvT6HIH5PKZbLMU\ntCkB2XsJOXOJ2cXMyk8YD6tFhFw0KtlWw6CgK+6vK4YJIy9gxzDgZS47OaU8\nqYek\r\n=+kmb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBntXPrx4vP4oZF0Yl3zTpxnCBGwnH30L4SIKsJYeugZAiB4q4s5qUlkaYywjf+KIvlvIuJpKweLwKxAYfgRGEqKHQ=="}]},"maintainers":[{"name":"christian-bromann","email":"christian@saucelabs.com"},{"name":"saucebot","email":"dev@saucelabs.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_1.2.6_1600783591148_0.5089923038019635"},"_hasShrinkwrap":false},"1.2.7":{"name":"speedo","version":"1.2.7","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"NODE_ENV=production babel src -d build","docker":"run-s docker:login docker:build docker:tag docker:push:*","docker:build":"docker build -t saucelabs/speedo .","docker:login":"docker login -u \"$DOCKER_USERNAME\" -p \"$DOCKER_PASSWORD\"","docker:push:latest":"docker push saucelabs/speedo:latest","docker:push:version":"docker push saucelabs/speedo:$npm_package_version","docker:tag":"docker tag saucelabs/speedo saucelabs/speedo:$npm_package_version","eslint":"eslint ./src ./tests","prepublishOnly":"npm prune && run-s build","release":"release-it --github.release","release:ci":"npm run release -- --ci --npm.skipChecks --no-git.requireCleanWorkingDir","release:patch":"npm run release -- patch","release:minor":"npm run release -- minor","release:major":"npm run release -- major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.2.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","jest-snapshot-serializer-ansi":"^1.0.0","npm-run-all":"^4.1.5","release-it":"^14.0.3","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":93,"functions":100,"lines":99,"statements":99}},"testEnvironment":"node","collectCoverageFrom":["src/**/*.js","!<rootDir>/node_modules/","!<rootDir>/tests/__fixtures__/"],"coveragePathIgnorePatterns":["src/scripts"],"snapshotSerializers":["jest-snapshot-serializer-ansi"]},"dependencies":{"chalk":"^3.0.0","change-case":"^4.1.1","ora":"^4.0.3","ordinal":"^1.0.3","pretty-ms":"^5.1.0","sauce-connect-launcher":"^1.3.1","saucelabs":"^4.5.0","table":"^5.4.6","tmp":"^0.1.0","webdriverio":"^5.17.0","yargs":"^15.0.2"},"gitHead":"dd6058304220ddcf7155136bea7c61c56e36f357","_id":"speedo@1.2.7","_npmVersion":"6.4.1","_nodeVersion":"10.15.1","_npmUser":{"name":"saucebot","email":"dev@saucelabs.com"},"dist":{"integrity":"sha512-SXii5KovL4OFUEJXzncrJjxlAGQG+OSWJsVskiRoZ0OvCrgG3b63mWIpCZrNnW9Hp8VPGi+gprbNrUytftYKoA==","shasum":"d476c2854b465ed9ab1976c00f06127c87c7a286","tarball":"https://registry.npmjs.org/speedo/-/speedo-1.2.7.tgz","fileCount":20,"unpackedSize":98956,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfagzcCRA9TVsSAnZWagAAuM4P/i7CIWVcBORDyYVXQJ1x\nuhw59Q6TgkZkRui9xuuQeMIKZV8PKJk73l4qmpSmL5WoLdoCSUjgP1yTRHpH\nNNxZoZSAzAvMHQdak6ezSlQQ5U4+rjAdtPJ39U9LNNSQJlggX84jt6KCjL9U\no0e8h+KjTxl6eUCaGdfXoE2Eeo47XWcUvKVtkSvzbk1y57fYCBUsH/VD/JZg\nFEgIv3op4oIMvu3BQjnwrIkip3xjns9jId5E9fkOseOrLrhBlf6O60pnSCVR\nyki+CSlI0LSJ9SpvNhDBDmigIUjn91/2jBeH4bYqL9XZIdMZbefWrDPpOKax\n+rpjUkaHslfe8o0nJVlW+SyBfrrY3tAEuVNzWkVgLLcX7sUZ4/pz+IUobYUN\nfqPZE1Ykg2W9bR4/lnXkVwToqesdFREGe046ufyflUcnu66KhbgeGxyh6yun\nlrfVZ4lpXl6CVKTqHtYeCGXe/mgDrLFAmIudNrE6o+P1r2F/N7DCbhB2xz9a\nUCwdqPqLz04I5Ahj5CkmYObwpocK45lVBmdAO/rXq0wxqWfCcL3UmCPmr4WN\nulXFg1x/YdeZofLvJ+XQHDDf8dhweRGZug741wnmQLzaQZWTq+LMYQJGTZV2\nrbM2rhqDGrQ8rl3xhhGl56smETgbcbcfMcR9EuWsjlt087wMvrcezq8eECdi\nwUZR\r\n=X5hS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBgZcAcAMZRCGZQXucEubHapPCZQ72bbvowVY8WPT6xVAiAJLS9GfR2L9NlZKbGwTqjthG5GUmbN3FkoMMyHT9yuDg=="}]},"maintainers":[{"name":"christian-bromann","email":"christian@saucelabs.com"},{"name":"saucebot","email":"dev@saucelabs.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_1.2.7_1600785628054_0.38739784698499746"},"_hasShrinkwrap":false},"1.2.8":{"name":"speedo","version":"1.2.8","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"NODE_ENV=production babel src -d build","docker":"run-s docker:login docker:build docker:tag docker:push:*","docker:build":"docker build -t saucelabs/speedo .","docker:login":"docker login -u \"$DOCKER_USERNAME\" -p \"$DOCKER_PASSWORD\"","docker:push:latest":"docker push saucelabs/speedo:latest","docker:push:version":"docker push saucelabs/speedo:$npm_package_version","docker:tag":"docker tag saucelabs/speedo saucelabs/speedo:$npm_package_version","eslint":"eslint ./src ./tests","prepublishOnly":"npm prune && run-s build","release":"release-it --github.release","release:ci":"npm run release -- --ci --npm.skipChecks --no-git.requireCleanWorkingDir","release:patch":"npm run release -- patch","release:minor":"npm run release -- minor","release:major":"npm run release -- major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.2.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","jest-snapshot-serializer-ansi":"^1.0.0","npm-run-all":"^4.1.5","release-it":"^14.0.3","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":93,"functions":100,"lines":99,"statements":99}},"testEnvironment":"node","collectCoverageFrom":["src/**/*.js","!<rootDir>/node_modules/","!<rootDir>/tests/__fixtures__/"],"coveragePathIgnorePatterns":["src/scripts"],"snapshotSerializers":["jest-snapshot-serializer-ansi"]},"dependencies":{"chalk":"^3.0.0","change-case":"^4.1.1","ora":"^4.0.3","ordinal":"^1.0.3","pretty-ms":"^5.1.0","sauce-connect-launcher":"^1.3.1","saucelabs":"^4.5.0","table":"^5.4.6","tmp":"^0.1.0","webdriverio":"^5.17.0","yargs":"^15.0.2"},"gitHead":"bd43ba14d507bd91d1c2997631e321aa9d926780","_id":"speedo@1.2.8","_npmVersion":"6.4.1","_nodeVersion":"10.15.1","_npmUser":{"name":"saucebot","email":"dev@saucelabs.com"},"dist":{"integrity":"sha512-enu6BUVaquYD3pByA9zULdSozMJjVf455BAFYR+f7flZWwpXikdk/IMpiGC+x4ppM+W4JCJzc+9JS0+jwuhhyA==","shasum":"7d1c00d66e6d520bc3a91c45d0a7866181460541","tarball":"https://registry.npmjs.org/speedo/-/speedo-1.2.8.tgz","fileCount":20,"unpackedSize":99200,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfoR85CRA9TVsSAnZWagAAd8AP/2RG/EqOIc0r8Ilz40fM\n5qJUFraUb1Trf1qCkJLDH0w8MigfhSjAAFcx2m3jtMnSOORNhleRNpiD3Udj\nek+R8ps1vZ+StT5Gugthnn2CC8QLHXGD0FM2e6lI9hTaCe6N1Xnd40ZK8q4N\nsG4tj2dvw5vUZsbDlGN3bewQY8vS2wfGF0t/q4UareSmd+VUEBgAIZL+yPPZ\nBNyI9WCADalVJ/VC9kq8r0btrWyB27vcuR1mXsYpC+uvFo4Ya7FKB/2S3nsF\nMityXSuGh8XxL5KP2l8wOQc5I8LIhrkmZW5oSokY6IPFI0lLpI0LrvsCuzH3\nepkYiTIbxu7autjnzu4Axe8gGeVLtbfQBThqp4OvaYEuLynrH62vUOEQW7xY\n0uX7EutzBVb5+ALyS+KtgxJWvvnuzXF3hetrfFVhI9pK9mEQEu+LqI8uZqiQ\nq5cZ9JuWMdMFflD4cmLz187IG0Hcap1wznwdpwOER0DdT4s2+K7aaqDeIAXy\ncCSXnB3dTho7h79MdFEnQ7bnuJhNf/yX7yzWdFpUf30Z7RoiEtm9hkzrd0wC\nUsYa6l30WO0ex1lswq6RcrgSWAmvYYa7BbrgqXPj6tH39+/s6qaihCJJgqBU\nM6AB/DbtIlEC5c5nz1kuFFgE7rsuI2leQ6d7EZc7D5kRmDUW8gb2wjU1ABPV\niNNe\r\n=84Jy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCl58gwuR8DkhzSImXFc6sGWkiRaok/bJI4jf+dxfj+1QIhANXMAbt6Hd/aXRBdADGOpj7RxetOj7wbQ/5f41/Lsh1Y"}]},"maintainers":[{"name":"christian-bromann","email":"christian@saucelabs.com"},{"name":"saucebot","email":"dev@saucelabs.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_1.2.8_1604394808501_0.07090034895561081"},"_hasShrinkwrap":false},"1.2.9":{"name":"speedo","version":"1.2.9","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"NODE_ENV=production babel src -d build","docker":"run-s docker:login docker:build docker:tag docker:push:*","docker:build":"docker build -t saucelabs/speedo .","docker:login":"docker login -u \"$DOCKER_USERNAME\" -p \"$DOCKER_PASSWORD\"","docker:push:latest":"docker push saucelabs/speedo:latest","docker:push:version":"docker push saucelabs/speedo:$npm_package_version","docker:tag":"docker tag saucelabs/speedo saucelabs/speedo:$npm_package_version","eslint":"eslint ./src ./tests","prepublishOnly":"npm prune && run-s build","release":"release-it --github.release","release:ci":"npm run release -- --ci --npm.skipChecks --no-git.requireCleanWorkingDir","release:patch":"npm run release -- patch","release:minor":"npm run release -- minor","release:major":"npm run release -- major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.2.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","jest-snapshot-serializer-ansi":"^1.0.0","npm-run-all":"^4.1.5","release-it":"^14.0.3","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":93,"functions":100,"lines":99,"statements":99}},"testEnvironment":"node","collectCoverageFrom":["src/**/*.js","!<rootDir>/node_modules/","!<rootDir>/tests/__fixtures__/"],"coveragePathIgnorePatterns":["src/scripts"],"snapshotSerializers":["jest-snapshot-serializer-ansi"]},"dependencies":{"chalk":"^3.0.0","change-case":"^4.1.1","ora":"^4.0.3","ordinal":"^1.0.3","pretty-ms":"^5.1.0","sauce-connect-launcher":"^1.3.1","saucelabs":"^4.5.0","table":"^5.4.6","tmp":"^0.1.0","webdriverio":"^5.17.0","yargs":"^15.0.2"},"gitHead":"6bff2f2cc874cb3ff8adba67851d533dc2acc80e","_id":"speedo@1.2.9","_npmVersion":"6.4.1","_nodeVersion":"10.15.1","_npmUser":{"name":"saucebot","email":"dev@saucelabs.com"},"dist":{"integrity":"sha512-IVd3YvayE7ytakMNBC8DSLvBWMQtMMbk94wM5CUNYzvUjt3PO494fvZ86Nu3VY0wpZTVcwDqpwEkOrRu6gzgbQ==","shasum":"f7b922a54fa3c17ce6f9cdb7be004e7634046504","tarball":"https://registry.npmjs.org/speedo/-/speedo-1.2.9.tgz","fileCount":20,"unpackedSize":99265,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgB/H9CRA9TVsSAnZWagAAc0IP+wRZ8EcX4R+As5N3J+qQ\nu06DbZuow+7MdvYQxNogSa+c/WkaxqpBbqtPhgX5rWh7HSPxEPTud+QrVPwE\nSJ6Vkre264S8KwnQ89MEKsVCRG+rBbM1QMXDq1mU7JIxoyEADL4Zl4MKYUg8\nfCtY5nxgP4/q88DjVA71zWiJUP+8lRS9yYNal2l3Gwpy7dmyvP6nHRvMSSeG\nQLC6jq6c++pc5Q36WitbUa1W3Bayo+sYEnXoaiYNs80+L1CNgiyYiO+rsl+M\nhgr8uoBOv37uRe5OaIwEgBF/qsKAbeBDAvHz0PK5zIBa9htZHW7aet3iLSY8\nDYQhmoebJ1xlj1/j9v+hrlQZ88BCJCQNunlcV4bSqdQHSiFNUy4oJVJAvtVt\nhXFMvG71DZyJ5OXp7aN8IjCHE3sPbraKGcwQVbGGNOtDmGgX5XxrPqavG/hP\nuY/3ZYROhicWZX8E7LvF7ZWvaXRIGwfakI35Kq2SYobMJ3tViTZGY4SDfY+6\nHR4RXxl1YV72jnQ3yl7RdEWjgs2lsseRUXoUCUEXAjBwHrSmo6WdH3QB+Vs4\njwDY8yNKooDexFpvFDcKBnZo9bNfHJtNfR9QsDPX9LL1sb2zw7N1gnd/5vrL\nMu7+ezp+n74r3S33Dvo444LH7xq4EnNeoVsJhzCK+R26Aw3Fe3JYjc7onw8T\nUiI3\r\n=GS4z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDQXPoiv9iqyhwk56D8a/HQxmLL0zIXp0G7HucztDWmiQIhAMGQPvJtPAMp5aKWwXBGNhOHi0OAmCRXBIfx55hK+XaB"}]},"directories":{},"maintainers":[{"name":"christian-bromann","email":"christian@saucelabs.com"},{"name":"saucebot","email":"dev@saucelabs.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_1.2.9_1611133437243_0.4642288983804448"},"_hasShrinkwrap":false},"1.2.10":{"name":"speedo","version":"1.2.10","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"NODE_ENV=production babel src -d build","docker":"run-s docker:login docker:build docker:tag docker:push:*","docker:build":"docker build -t saucelabs/speedo .","docker:login":"docker login -u \"$DOCKER_USERNAME\" -p \"$DOCKER_PASSWORD\"","docker:push:latest":"docker push saucelabs/speedo:latest","docker:push:version":"docker push saucelabs/speedo:$npm_package_version","docker:tag":"docker tag saucelabs/speedo saucelabs/speedo:$npm_package_version","eslint":"eslint ./src ./tests","prepublishOnly":"npm prune && run-s build","release":"release-it --github.release","release:ci":"npm run release -- --ci --npm.skipChecks --no-git.requireCleanWorkingDir","release:patch":"npm run release -- patch","release:minor":"npm run release -- minor","release:major":"npm run release -- major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.2.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","jest-snapshot-serializer-ansi":"^1.0.0","npm-run-all":"^4.1.5","release-it":"^14.0.3","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":93,"functions":100,"lines":99,"statements":99}},"testEnvironment":"node","collectCoverageFrom":["src/**/*.js","!<rootDir>/node_modules/","!<rootDir>/tests/__fixtures__/"],"coveragePathIgnorePatterns":["src/scripts"],"snapshotSerializers":["jest-snapshot-serializer-ansi"]},"dependencies":{"chalk":"^3.0.0","change-case":"^4.1.1","ora":"^4.0.3","ordinal":"^1.0.3","pretty-ms":"^5.1.0","sauce-connect-launcher":"^1.3.1","saucelabs":"^4.5.0","table":"^5.4.6","tmp":"^0.1.0","webdriverio":"^5.17.0","yargs":"^15.0.2"},"gitHead":"cb84e36f0c9a46bed9dd99f29709faffff88d954","_id":"speedo@1.2.10","_npmVersion":"6.4.1","_nodeVersion":"10.15.1","_npmUser":{"name":"saucebot","email":"dev@saucelabs.com"},"dist":{"integrity":"sha512-TS8V30N1kuUedprQZtGNNwJDn9SBVa6RwD9KloU3mJhVY3/SuR9TWXvPnAmqIDKd6bT6g5wAxQ+SyL7S4qemgA==","shasum":"fa94651a2f87eed55be4c6c506ea5810f1894ecb","tarball":"https://registry.npmjs.org/speedo/-/speedo-1.2.10.tgz","fileCount":20,"unpackedSize":99314,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNLNOCRA9TVsSAnZWagAAfz8P/inR5NNaZXJt3y+jN7gU\nyK2ekgQ2n7EIvx6gvaprmNQVuSAklb4/ZYbI5b0Wcl0fEygXE3VA+C0pOgCc\nHw5oWbE1ssnlI2fKqdwA9+5XpntNqYDsIMD1f/5IrIDmEIaEkBd/YoqrCvmm\n/xzP82lm6aeM2nUcPQnHCt4rFKJEYILKcgJCTjlEwT9FhKkPeeEhXod6C5+1\nAc62fVNJ0MdpMxvqTzjlTG/Q4hSI+rJ4eA40MJejxf/LVkYoGFgO073Kr3h5\ncsDSxLIgX2Mpbh648KdIGt1N0kIed3SS+ceQjEah6nJLAIPko0dvJLJYf+uW\nhsgxDcUSkicKXE26GhTXJtnjA+dT2ANm4fWs8ILxB/TGzMYtHAH0oFKbh6Vm\ndM9ikAdkTAEdBFkaNRJPakOuvq5P2QiqRAOOH2vVvoV17geqAtefklU/UR9I\nkfLCJWQnFuE8qq5Qi1NGC0QdJlakNkpFEnPw0PbZADmm6x97TuVkuSj9dmsO\nAI7Gyr5dG3jTf9AXccLRqLix3MVdexIVi99PAOqRksEKBuK6mAGJFK3/3QHm\nI8AImcnMCacprRN/glVRqgTheBHbmBCnL4/8HBfzE2SSBvzayc0dPpOfc3Mf\nhHjsOmIod1cMqdSj452f+BygdZFcZatsqkJZw/e+t6YRky4s4oNEvItB6usQ\nQD/V\r\n=qv6O\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCL3PrmgAVXDnTgb6aMEwK7ZuDiAqCldLvj6OSd9xFQkAIhAN24Y7Gbk6ezGtVZu1EiwvnSAeIifxs+q/iVcRCo6KkB"}]},"directories":{},"maintainers":[{"name":"christian-bromann","email":"christian@saucelabs.com"},{"name":"saucebot","email":"dev@saucelabs.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_1.2.10_1614066509654_0.971701180834714"},"_hasShrinkwrap":false},"1.2.11":{"name":"speedo","version":"1.2.11","author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"description":"Simple performance testing tool using SauceLabs","license":"Apache-2.0","homepage":"https://github.com/saucelabs/speedo#readme","repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"main":"build/index.js","bin":{"speedo":"./bin/speedo"},"scripts":{"build":"run-s clean compile","clean":"rm -rf ./build ./coverage","compile":"NODE_ENV=production babel src -d build","docker":"run-s docker:login docker:build docker:tag docker:push:*","docker:build":"docker build -t saucelabs/speedo .","docker:login":"docker login -u \"$DOCKER_USERNAME\" -p \"$DOCKER_PASSWORD\"","docker:push:latest":"docker push saucelabs/speedo:latest","docker:push:version":"docker push saucelabs/speedo:$npm_package_version","docker:tag":"docker tag saucelabs/speedo saucelabs/speedo:$npm_package_version","eslint":"eslint ./src ./tests","prepublishOnly":"npm prune && run-s build","release":"release-it --github.release","release:ci":"npm run release -- --ci --npm.skipChecks --no-git.requireCleanWorkingDir","release:patch":"npm run release -- patch","release:minor":"npm run release -- minor","release:major":"npm run release -- major","test":"run-s eslint test:unit","test:unit":"jest --coverage","watch":"npm run compile -- --watch"},"devDependencies":{"@babel/cli":"^7.16.0","@babel/core":"^7.1.2","@babel/node":"^7.2.2","@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-export-default-from":"^7.0.0","@babel/plugin-proposal-function-bind":"^7.0.0","@babel/plugin-proposal-optional-catch-binding":"^7.2.0","@babel/plugin-syntax-export-default-from":"^7.0.0","@babel/preset-env":"^7.1.0","@babel/register":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^24.1.0","babel-plugin-source-map-support":"^2.0.1","codecov":"^3.2.0","eslint":"^4.7.2","eslint-plugin-import":"^2.8.0","jest":"^24.1.0","jest-snapshot-serializer-ansi":"^1.0.0","npm-run-all":"^4.1.5","release-it":"^14.11.8","rimraf":"^2.6.2","source-map-support":"^0.5.9"},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"coverageDirectory":"./coverage/","collectCoverage":true,"coverageThreshold":{"global":{"branches":93,"functions":100,"lines":99,"statements":99}},"testEnvironment":"node","collectCoverageFrom":["src/**/*.js","!<rootDir>/node_modules/","!<rootDir>/tests/__fixtures__/"],"coveragePathIgnorePatterns":["src/scripts"],"snapshotSerializers":["jest-snapshot-serializer-ansi"]},"dependencies":{"chalk":"^3.0.0","change-case":"^4.1.1","ora":"^4.0.3","ordinal":"^1.0.3","pretty-ms":"^5.1.0","sauce-connect-launcher":"^1.3.1","saucelabs":"^4.5.0","table":"^5.4.6","tmp":"^0.1.0","webdriverio":"^5.17.0","yargs":"^15.0.2"},"gitHead":"330bd5293e6595e77a1ba0923852a838fb1f07b4","_id":"speedo@1.2.11","_npmVersion":"6.4.1","_nodeVersion":"10.15.1","_npmUser":{"name":"saucebot","email":"devx@saucelabs.com"},"dist":{"integrity":"sha512-takTh3ReBi9I5sJH6sbt25cIMwshqVTEfbbeFssvSvs3UC2sJ0vTtObrbGMxrPAIrL3gQOR6/mvJqB+xfcVo8Q==","shasum":"41cdc43b2644ee675124d846ec1c62088067b389","tarball":"https://registry.npmjs.org/speedo/-/speedo-1.2.11.tgz","fileCount":20,"unpackedSize":99030,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhwVcgCRA9TVsSAnZWagAANvcQAJ/GalJp2tFZ6/G7xvu0\nZ/M5nwF8Af06PlPjdcu6XLVceKtFTdKYAvVCVlNucIrOb4CKYdOIcp28d7rh\nbVCNZ40S65aOPtpH7ziDNQgpkdqM59Np5XbaUkk8LvhWa9QR2Eh0R1g7UMXo\nG9ydEwyZn0xCCUEI9RqsBmadv7Nw1E9wFni3uxtIEwiR73P8VB/aCKVZEN+W\nRppWtWvEDd3W//dtx57D+PnykkdzrMwl2jyy9sQImvPBCH/RbsFWKrAe83vJ\nbbcv2PiPwH1mvu9deqOvGiAqIcleYtZdT7GX/qzuL0zubQET1r4n5+7+H53v\nYtKqyfJfFQ4LUPcjd2ChoSgb6ErypM+zRmszKu5Hlurrwy30sYM98e5AblZw\nPiZcKpndqn54vcmkZoYa1RenOQikZeP+V+Kvr/ai6xiwRABgtfI+oqbO5/tG\nElzLWcYEswQL/4VHpSDx7GB2tipNugqntb9FrNYVC52SdT1zACG9/lhFaboH\ntpYLAKtsMmecKSpcr2orhj6Xb9Dn3SXcWkVZJa9a8B1IXmTcJI7k6ooqJWHa\npttt0wFIJlWWyV/aqMCOP/jL3pEkDZtXorocjzhPmoW2WqcMF52azrBATtdy\nUXlWUa8/fXKVWzSWWJA0jO64WVVp2BDYbUEM9WQGcQazfrEfL+ZSYuRn1Uok\n60h9\r\n=LLWO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDwKn9lk6+/D5mgBnz69CbLALuEjxhHVz2d7QH38SUMOAIgE9dH/Dl41C/l4jzbzwxVhLIblh/geRUMUxQ4ENE1Q70="}]},"directories":{},"maintainers":[{"name":"christian-bromann","email":"christian@saucelabs.com"},{"name":"saucebot","email":"devx@saucelabs.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/speedo_1.2.11_1640060703935_0.1663438015901022"},"_hasShrinkwrap":false}},"readme":"<p align=\"center\">\n    <img src=\"./docs/saucebot.png\" alt=\"Speedo Saucebot\" />\n</p>\n\nSpeedo ![Test Changes](https://github.com/saucelabs/speedo/workflows/Test%20Changes/badge.svg?branch=main) [![codecov](https://codecov.io/gh/saucelabs/speedo/branch/main/graph/badge.svg)](https://codecov.io/gh/saucelabs/speedo)\n======\n\nSauce Labs provides a [Frontend Performance Testing](https://wiki.saucelabs.com/display/DOCS/Getting+Started+with+Sauce+Front-End+Performance) offering that allows you to check for crucial performance regression on your website. `Speedo` is a simple to use CLI tool that allows you to integrate this into your CI/CD pipeline. All you need to do is download and run it, just like that:\n\n![Speedo Test Run](./docs/speedo-run.gif \"Speedo Test Run\")\n\n## Download\n\nTo download the tool you have to have Node.js installed on your machine. After you have installed it, run:\n\n```sh\n$ npm install -g speedo\n```\n\n## Update\n\n```sh\n$ speedo --version\n// => 1.2.2\n\n$ npm install -g speedo@latest\n\n$ speedo --version\n// => 1.2.3\n```\n\n## Usage\n\nIf you call `speedo -h` you find the following help menu:\n\n```\nSpeedo CLI runner\n\nCommands:\n  speedo analyze [params...] <jobName>  Analyze results of prerun performance\n                                        tests.\n  speedo run [params...] <site>         Run performance tests on any website.\n\nOptions:\n  --version        Show version number                                 [boolean]\n  --help, -h       prints speedo help menu                             [boolean]\n  --user, -u       your Sauce Labs username\n  --key, -k        your Sauce Labs user key\n  --region, -r     your Sauce Labs datacenter region, the following regions are\n                   available: `us-west-1` (short `us`), `eu-central-1` (short\n                   `eu`)                                         [default: \"us\"]\n  --logDir, -l     directory to store logs from testrun\n  --traceLogs, -t  if set runner downloads tracing logs for further\n                   investigations\n```\n\n### Run Tests\n\nAfter you have installed the tool, run it via\n\n```sh\nspeedo run https://google.com -u <your-username> -k <your-access-key>\n```\n\nIf you export `SAUCE_USERNAME` and `SAUCE_ACCESS_KEY` into your environment you don't need to pass in the user and key as parameter:\n\n```sh\nexport SAUCE_USERNAME=<your-username>\nexport SAUCE_ACCESS_KEY=<your-access-key>\nspeedo run https://google.com\n```\n\nYou can customize your performance tests by appliying a job and build name or restricting the assertion to specific metrics only. For more information on parameters run `$ speedo run --help`.\n\n```sh\n# give performance test a build and job name and restrict metrics\nspeedo run https://google.com -n my-performance-test -b $BUILD_ID -m speedIndex -m timeToFirstInteractive -m firstPaint\n# or retry performance test at least 3 times in case it fails\nspeedo run https://google.com --retry 3\n```\n\nSpeedo allow you to assert on the following performance metrics:\n\n- firstPaint\n- firstContentfulPaint\n- firstMeaningfulPaint\n- domContentLoaded\n- timeToFirstInteractive\n- load\n- speedIndex\n- perceptualSpeedIndex\n- pageWeight\n- pageWeightEncoded\n- largestContentfulPaint\n- totalBlockingTime\n- cumulativeLayoutShift\n\n#### Parameters\n\nTo get the whole list of command options for the `run` command call `speedo run -h`. You can either apply parameters via command line arguments or through a config file. By default Speedo looks into the directory where it is being called if a `speedo.config.js` exists. You can define different file path with the `--config` parameter.\n\n##### `config` (short: `-c`)\n\nPath to Speedo config file to read parameters from.\n\n_default:_ `./speedo.config.js`\n\n##### `platformName` (short: `-p`)\n\nDefine the platform the performance test should run in (e.g \"Windows 10\").\n\n_default:_ `\"Windows 10\"`\n\n##### `browserVersion` (short: `-v`)\n\nDefine the browser version of Chrome the performance test should run in (e.g. \"latest\").\n\n_default:_ `74`\n\n##### `build` (short: `-b`)\n\nProvide the name of the build you want to run your performance test in.\n\n##### `name` (short: `-n`)\n\nDefine the name of your performance test.\n\n_default:_ `\"Performance test for <your-site-url> (on \"Good 3G\" and 4x CPU throttling)\"`\n\n##### `metric` (short: `-m`)\n\nDefine the metric that you want to check (multiple possible). Available performance metrics are `domContentLoaded`, `firstVisualChange`, `firstPaint`, `firstContentfulPaint`, `firstMeaningfulPaint`, `lastVisualChange`, `firstInteractive`, `load`, `speedIndex`, `score`, `largestContentfulPaint`, `totalBlockingTime`, `cumulativeLayoutShift`.\n\n_default:_ `\"score\"` ([Lighthouse Performance Score](https://developers.google.com/web/tools/lighthouse/scoring))\n\n##### `all`\n\nAssert on all available metrics (ignores what is being set as `metric` parameter).\n\n_default:_ `false`\n\n##### `throttleNetwork`\n\nThrottle network speed for your test (e.g. \"Good 3G\"). Available throttling profiles are: `offline`, `GPRS`, `Regular 2G`, `Good 2G`, `Regular 3G`, `Good 3G`, `Regular 4G`, `DSL`, `Wifi`, `online`. You can also define your custom network profile by providing 3 with comma separated numbers for download (_kb/s_), upload (_kb/s_) and latency (_ms_), e.g. `1000,500,40`.\n\n_default:_ `\"Good 3G\"`\n\n##### `throttleCpu`\n\nThrottle CPU speed for your test (e.g. \"4\" for 1/4 speed).\n\n_default:_ `4`\n\n##### `device`\n\nIf set, the provided mobile device is emulated. You can choose between the following preconfigured device profiles: `Blackberry PlayBook`, `BlackBerry Z30`, `Galaxy Note 3`, `Galaxy Note II`, `Galaxy S III`, `Galaxy S5`, `iPad`, `iPad Mini`, `iPad Pro`, `iPhone 4`, `iPhone 5`, `iPhone 6`, `iPhone 6 Plus`, `iPhone 7`, `iPhone 7 Plus`, `iPhone 8`, `iPhone 8 Plus`, `iPhone SE`, `iPhone X`, `iPhone XR`, `JioPhone 2`, `Kindle Fire HDX`, `LG Optimus L70`, `Microsoft Lumia 550`, `Microsoft Lumia 950`, `Nexus 10`, `Nexus 4`, `Nexus 5`, `Nexus 5X`, `Nexus 6`, `Nexus 6P`, `Nexus 7`, `Nokia Lumia 520`, `Nokia N9`, `Pixel 2`, `Pixel 2 XL`. If you don't want to emulate a mobile device set `desktop`.\n\n_default:_ `Nexus 7`\n\n##### `retry`\n\nRerun failing performance tests.\n\n_default:_ `0`\n\n##### `tunnelIdentifier` (short: `-i`)\n\nDefine the identifier for Sauce Connect tunnel to run performance tests for local hosted app\n\n##### `parentTunnel`\n\nDefine the username of your parent account that is running Sauce Connect tunnel.\n\n##### `budget`\n\nProvide metrics threshold values as `budget` in `speedo.config.js` file to strictly assert metrics value against a performance budget. It will assert on metrics which is declared in budget (ignores what is being set as `metric` parameter). `minimum` and `maximum` threshold can be set as shown in below example.\n\ni.e.\n```js\n// speedo.config.js\nmodule.exports = {\n    budget: {\n        load: 500, // maximum\n        speedIndex: [100, 500] // [minium, maximum]\n    }\n}\n```\n\n##### `jankiness`\n\nProvide \"jankiness\" score threshold value either via CLI param or in `budget` in `speedo.config.js` file. The value should be between 0 to 100 as parameter and checks the smoothness of the page. `minimum` and `maximum` threshold can be set same as shown in `budget` section. Jankiness score threshold can be provided as CLI param in `\"[minimum, maximum]\"` or `\"minimum\"`  format as shown in below example.\n\n```sh\n$ speedo run https://google.org --jankiness \"[50, 100]\"\n```\n\n```sh\n$ speedo run https://google.org --jankiness \"50\"\n```\n\n\n#### Run Speedo with a Config File\n\nAs mentioned above Speedo looks for a `speedo.config.js` in the directory where you run the command. In this file you can define all parameters for your performance test run. Additional command line arguments will overwrite the parameters from the config, e.g.:\n\n```js\n// speedo.config.js\nmodule.exports = {\n    retry: 2,\n    build: `Performance Build ${CI_BUILD_NUMBER}`,\n    device: 'Nexus 7',\n    throttleCPU: 6\n}\n```\n\nIf you call Speedo with:\n\n```sh\n$ speedo run https://google.org --retry 4\n```\n\nThe command will retry the performance test 4 times instead of 6.\n\n### Analyze Tests\n\nSpeedo provides also a way to analyze the performance of page loads of a previous run test. This allows you to run a beforehand that includes different automation steps to arrive to a desired page (e.g. you want to test the performance of a page that is behind a login). __Please Note:__ do __not__ analyze the performance of all your previous run functional tests! You always should keep functional and performance tests separated.\n\nLet's say we want to test the performance of the page behind the login form of [this example](https://the-internet.herokuapp.com/login). The first step is to create a simple automation script that uses Sauce Labs to log into the page. You can use any framework you like, it doesn't affect the performance results whatsoever. In this example we use [WebdriverIO](https://webdriver.io/):\n\n```js\n// /test/performance/login.perf.test.js\nconst { remote } = require('webdriverio');\n\n(async () => {\n    const client = await remote({\n        user: process.env.SAUCE_USERNAME,\n        key: process.env.SAUCE_ACCESS_KEY,\n        capabilities: {\n            browserName: 'chrome',\n            platform: 'macOS 10.13',\n            version: 'latest',\n            extendedDebugging: true,\n            capturePerformance: true,\n            name: 'my login performance test'\n        }\n    })\n\n    await client.url('https://the-internet.herokuapp.com/login')\n\n    const username = await client.$('#username')\n    await username.setValue('tomsmith')\n\n    const password = await client.$('#password')\n    await username.setValue('SuperSecretPassword!')\n\n    const submit = await client.$('button[type=\"submit\"]')\n    await submit.click()\n\n    await client.deleteSession())\n})().catch(console.error)\n```\n\nEnsure that you define a unique name for your performance test so we can maintain a stable baseline for it. Within your CI/CD you can now call the script and analyze the performance of the second opened page. To ensure that our platform can calculcate the data we add a 5 second pause in between running the test and analyzing it:\n\n```sh\nnode /test/performance/login.perf.test.js && sleep 5 && speedo analyze \"my login performance test\" --orderIndex 1\n```\n\nThe command requires passing in the job name of the performance test. With the `orderIndex` parameter you can define which page load needs to be analyzed. If not passed in, it will analyze all page loads which can make tests more flaky. Similar to `run` you can apply more parameters to this command. See the full list by calling `$ speedo analyze --help`.\n\n#### Parameters\n\nTo get the whole list of command options for the `run` command call `speedo analyze -h`.\n\n##### `orderIndex` (short: `-o`)\n\nDefine the order index of the page you have opened in that test. For example, if set to 0 you analyze the first page load, if set to 2 you want to analyze the 3rd page load.\n\n##### `pageUrl` (short: `-p`)\n\nDefine the url of the page you have opened in that test (ignores `--orderIndex` parameter).\n\n##### `metric` (short: `-m`)\n\nDefine the metric that you want to check (multiple possible). Available performance metrics are `domContentLoaded`, `firstVisualChange`, `firstPaint`, `firstContentfulPaint`, `firstMeaningfulPaint`, `lastVisualChange`, `firstInteractive`, `load`, `speedIndex`, `score`, `largestContentfulPaint`, `totalBlockingTime`, `cumulativeLayoutShift`.\n\n_default:_ `\"score\"` ([Lighthouse Performance Score](https://developers.google.com/web/tools/lighthouse/scoring))\n\n##### `all`\n\nAssert on all available metrics (ignores what is being set as `metric` parameter).\n\n_default:_ `false`\n\n## Docker Integration\n\nIf you run your CI/CD pipeline based on Docker (e.g. [Jenkins Pipelines](https://jenkins.io/doc/book/pipeline/docker/)) you can also use Speedo as a Docker container. Just define the container name and have the speedo command available in the stage, e.g.:\n\n```\npipeline {\n    agent none\n    stages {\n        stage('Linting') {\n            ...\n        }\n        stage('Unit Tests') {\n            ...\n        }\n        stage('Functional Tests') {\n            ...\n        }\n        stage('Performance Tests') {\n            agent {\n                docker { image 'saucelabs/speedo' }\n            }\n            steps {\n                sh 'speedo run https://google.com -u ${SAUCE_USERNAME} -k ${SAUCE_ACCESS_KEY} -b ${BUILD_NUMBER}'\n            }\n        }\n    }\n}\n```\n\nOr when using [GitLab CI/CD](https://docs.gitlab.com/ee/ci/pipelines.html) pipelines:\n\n```yaml\nvariables:\n  SPEEDO_IMAGE: saucelabs/speedo\n\nstages:\n  - lint\n  - test\n  - performance\n  - deploy\n\n# ...\n\n# run performance tests\nperformance:\n  stage: performance\n  image: $SPEEDO_IMAGE\n  script:\n    - speedo run https://google.com -u $SAUCE_USERNAME -k $SAUCE_ACCESS_KEY -b $BUILD_NUMBER\n\n# ...\n```\n\nFor information on how to contribute to this project, see [CONTRIBUTING.md](CONTRIBUTING.md).\n","maintainers":[{"name":"christian-bromann","email":"christian@saucelabs.com"},{"name":"saucebot","email":"devx@saucelabs.com"}],"time":{"modified":"2022-06-26T22:46:15.149Z","created":"2014-10-12T13:57:32.926Z","0.0.1":"2014-10-12T13:57:32.926Z","0.1.0":"2019-02-21T15:53:22.061Z","0.1.1":"2019-02-21T16:10:52.793Z","0.1.2":"2019-02-21T16:13:20.220Z","0.1.3":"2019-02-21T16:16:28.886Z","0.1.4":"2019-03-14T20:07:01.800Z","0.1.5":"2019-03-14T20:13:44.990Z","0.1.6":"2019-03-14T20:17:45.993Z","0.1.7":"2019-03-14T20:25:47.646Z","0.2.0":"2019-03-18T22:18:21.084Z","0.2.1":"2019-03-21T16:29:51.931Z","0.2.2":"2019-03-21T20:23:15.297Z","0.3.0":"2019-04-01T12:46:14.471Z","0.3.1":"2019-04-01T15:03:21.549Z","0.3.2":"2019-04-16T08:27:56.741Z","0.3.3":"2019-04-16T08:30:20.376Z","0.4.0":"2019-04-17T21:43:34.283Z","0.4.1":"2019-04-17T21:47:37.133Z","0.4.2":"2019-04-19T10:14:57.969Z","0.4.3":"2019-04-20T09:43:45.206Z","0.4.4":"2019-05-15T08:10:44.699Z","0.4.5":"2019-05-15T08:24:08.266Z","0.4.6":"2019-05-15T08:30:10.915Z","0.4.7":"2019-05-15T08:38:57.130Z","1.0.0":"2019-06-04T10:56:18.819Z","1.0.1":"2019-06-04T16:22:55.940Z","1.0.2":"2019-06-12T10:01:10.532Z","1.0.3":"2019-06-26T17:17:54.585Z","1.0.4":"2019-08-13T15:08:26.169Z","1.1.0-beta.1":"2019-09-15T23:36:05.849Z","1.1.0":"2019-09-17T09:16:56.657Z","1.1.1":"2019-09-18T08:33:59.216Z","1.1.2":"2019-10-15T11:26:49.311Z","1.2.0":"2019-10-24T14:43:23.349Z","1.2.1":"2019-10-24T16:45:56.645Z","1.2.2":"2019-12-19T16:10:01.556Z","1.2.3":"2020-01-16T13:28:07.196Z","1.2.4":"2020-04-24T13:34:27.403Z","1.2.5":"2020-09-16T10:41:12.122Z","1.2.6":"2020-09-22T14:06:31.277Z","1.2.7":"2020-09-22T14:40:28.232Z","1.2.8":"2020-11-03T09:13:28.683Z","1.2.9":"2021-01-20T09:03:57.434Z","1.2.10":"2021-02-23T07:48:29.827Z","1.2.11":"2021-12-21T04:25:04.054Z"},"homepage":"https://github.com/saucelabs/speedo#readme","keywords":["saucelabs","frontend","performance","testing","webdriver","perf","devtools","browser","speedIndex"],"repository":{"type":"git","url":"git+https://github.com/saucelabs/speedo.git"},"author":{"name":"Christian Bromann","email":"christian@saucelabs.com"},"bugs":{"url":"https://github.com/saucelabs/speedo/issues"},"license":"Apache-2.0","readmeFilename":"README.md"}