{"_id":"babel-plugin-mockable-imports","_rev":"16-8f307bebcd8d7c60e8c236be7591c45f","name":"babel-plugin-mockable-imports","dist-tags":{"latest":"2.0.1"},"versions":{"1.0.0":{"name":"babel-plugin-mockable-imports","version":"1.0.0","description":"Babel plugin for mocking ES imports","main":"index.js","scripts":{"build":"babel helpers.js --out-dir lib","format":"prettier --write **/*.js","test":"mocha","prepublishOnly":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/robertknight/babel-plugin-mockble-imports.git"},"keywords":["mocking"],"author":{"name":"Robert Knight","email":"robertknight@gmail.com"},"license":"ISC","bugs":{"url":"https://github.com/robertknight/babel-plugin-mockable-imports/issues"},"homepage":"https://github.com/robertknight/babel-plugin-mockable-imports#readme","devDependencies":{"@babel/cli":"^7.4.3","@babel/core":"^7.4.3","@babel/plugin-syntax-jsx":"^7.2.0","@babel/preset-env":"^7.4.3","chai":"^4.2.0","eslint":"^5.16.0","mocha":"^6.0.2","prettier":"1.16.4"},"gitHead":"33c138a6fde8cc130e3610d9996e567a37245824","_id":"babel-plugin-mockable-imports@1.0.0","_nodeVersion":"11.12.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-hKHwMknbDptdTC0KRdeXZAEFTLmThlM1F3ceMxPZQLfZWxHx+bcGL6xj5al2PbjfDDwgWEsmBkKnMz7VDIgerQ==","shasum":"8a89bd526b18483ada428ec14f95b9c161aa81b5","tarball":"https://registry.npmjs.org/babel-plugin-mockable-imports/-/babel-plugin-mockable-imports-1.0.0.tgz","fileCount":5,"unpackedSize":18807,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcqghtCRA9TVsSAnZWagAAAvMP/1OKymEA4ixZMdz3QKaM\nw4eLATPNs5ckge9JxqpAlNDBnBZbXBRpxzphMoHNeu1m3N+rUAgljLR/1zdi\n6Ov/qOKo+t930YMW2kKel8ZBW6VKt9+alCC4HdDsUmzYvBnDwLBbrybCwMsP\n74Oy/j92bxHy/ojZvE0HIl3wIPWTfoTWvqgPxoGkGWZV1l6mELI9gmjoMXc8\n1i7hR9SS0WlYPXZ5X+9fh7nVVu/jfHpj5zUAoX1EVvfkrHbw78qKKfZDzwEU\n8BSAka4skLSU5lZohzsEok/nqBMq3cDpsLKlwSQ/x5RDHyW1uCiWePvJUfP+\ngPdECZBo2fLtmr7mHSfvCdt05mMFurWNrRoLgQaW6xw7ocvCy654ydOT++Nz\nJLsrAxap9w4R5b6Ppu+H2FqZ5iXja7VcRJUh2GNtJirfHWzWGiSabAhnl5Tr\n43AeWTaQTNrf0cupHf0jP1tLsdnrgWJjESNM8B4w7MSSCtnE/0WBAqU1GlSZ\nNZhpS+yRnKyUQDdPW+IMVB838S3saoGagDKjSwrWWD5r2zjIOgVFTIkqCa8Q\nXm3G6otVESKLIh9SWsXKCKeEwpVZzKNLqsT+5rK+C86EjBJilMSoH75pY/TD\n9DlsjsHUuScVAdz1y/zhCoJ9ey3ODfP5hz+ziZoYa87JuMFhGMVvtF25vspT\n57IO\r\n=Gy0z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA8yBqNXGp6nUguq5Rahjq0z09FYcICSQdgEoqBrjKRaAiEAvjI4dYv74Yj46hdAjIn19mQKWwNRNhNMOj1bPUzondI="}]},"maintainers":[{"name":"robertknight","email":"robertknight@gmail.com"}],"_npmUser":{"name":"robertknight","email":"robertknight@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/babel-plugin-mockable-imports_1.0.0_1554647148793_0.15579308164104355"},"_hasShrinkwrap":false},"1.1.0":{"name":"babel-plugin-mockable-imports","version":"1.1.0","description":"Babel plugin for mocking ES imports","main":"index.js","scripts":{"build":"babel helpers.js --out-dir lib","format":"prettier --write **/*.js","test":"mocha","prepublishOnly":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/robertknight/babel-plugin-mockble-imports.git"},"keywords":["mocking"],"author":{"name":"Robert Knight","email":"robertknight@gmail.com"},"license":"ISC","bugs":{"url":"https://github.com/robertknight/babel-plugin-mockable-imports/issues"},"homepage":"https://github.com/robertknight/babel-plugin-mockable-imports#readme","devDependencies":{"@babel/cli":"^7.4.3","@babel/core":"^7.4.3","@babel/plugin-syntax-jsx":"^7.2.0","@babel/preset-env":"^7.4.3","chai":"^4.2.0","eslint":"^5.16.0","mocha":"^6.0.2","prettier":"1.16.4"},"gitHead":"66bffcce7cb6a2f227d10b5012ea0c92b0bada47","_id":"babel-plugin-mockable-imports@1.1.0","_nodeVersion":"11.12.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-ZwKppbN1p4fc65H8wg6ougG6tpYimrnHDyC1tsAP6hWy8Q7GgW0+xxnyMyDtdHRcYAzb2DPZZw/y85lS0MURig==","shasum":"cf127f7c26fb4003fa3c0d608533afd6b9af2bc2","tarball":"https://registry.npmjs.org/babel-plugin-mockable-imports/-/babel-plugin-mockable-imports-1.1.0.tgz","fileCount":5,"unpackedSize":26614,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcqxSvCRA9TVsSAnZWagAAkM4P/3tNmjt/MBUFSEq8RQ8I\nR5KMUPekYbErR6733UXaI9hdZxIEmFu0Z4e8eS19xPBpmxc3iSGmqByMtLo9\nHfiWnmIPqP0Ni6PRhi07dl/cwrSUEeF/3hE6nMyIlLZ8vd6BXwd73GW3RPSt\nsM9JcEnDHfRpQrs+rGBCTMqCCpci9tsoq96mHzXA4Ojp7h/Qqs0b98HhAewv\ny9AAKE2QmJQYxLF+1To62SFcaOe4TXBDeTVAJcmvqQ3GYoX27RM25lb8aWcm\nnzdMJbCzio7Q2Zodd4PdNQiEm/v9kmq9JC7ELlBSltgoVeCO9mexEDBZbH8o\nvSh3hG9A29wOCN6o6V47Mv8O/CEblFBC0R/J0BzHV6dlgT1LO1zYBor38HYc\nCg/hx8DpOCCCIcBPaEEVaj4o/dn98zZOA4160W1AG4o+ywMh0v48EH5fQi6X\ni3WABTTgcBa9TI5BJj2CbdDZ3QwG3u7K1jqS5XIV6Y179AdaNTH0F+qZrOvX\nIrNeM1eXWzF+inDyQRTIfQakeZ5BGajAMje+d++B529EKyKM8qhPHsWelKe7\n3cWfBTjFBswT3c+9hcpJ8BWUADrmXgJKiHoYI/UwHdOLQxNsnXcy0YOxHQ06\nU/C5K06dALxtZeL/lLtSJPa8SNyK7MFU6/gdphDFbZ3UdXJukColWssv2y1O\nI6cN\r\n=ZtNN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCpswtXqDA6LC7BTdG914v7qd1R/J/f6xWYd3gkVysI3gIhAJJp7fi8mp9+0BqvFMrAE52hKEkVaEz/AjRu1dp7+END"}]},"maintainers":[{"name":"robertknight","email":"robertknight@gmail.com"}],"_npmUser":{"name":"robertknight","email":"robertknight@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/babel-plugin-mockable-imports_1.1.0_1554715822413_0.7502634033371951"},"_hasShrinkwrap":false},"1.2.0":{"name":"babel-plugin-mockable-imports","version":"1.2.0","description":"Babel plugin for mocking ES imports","main":"index.js","scripts":{"build":"babel helpers.js --out-dir lib","format":"prettier --write **/*.js","test":"mocha","prepublishOnly":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/robertknight/babel-plugin-mockble-imports.git"},"keywords":["mocking"],"author":{"name":"Robert Knight","email":"robertknight@gmail.com"},"license":"ISC","bugs":{"url":"https://github.com/robertknight/babel-plugin-mockable-imports/issues"},"homepage":"https://github.com/robertknight/babel-plugin-mockable-imports#readme","devDependencies":{"@babel/cli":"^7.4.3","@babel/core":"^7.4.3","@babel/plugin-syntax-jsx":"^7.2.0","@babel/plugin-transform-destructuring":"^7.4.3","@babel/preset-env":"^7.4.3","chai":"^4.2.0","eslint":"^5.16.0","mocha":"^6.0.2","prettier":"1.16.4"},"gitHead":"e56770a0bc15ac1ed3b3271007dfd726ac7a84d1","_id":"babel-plugin-mockable-imports@1.2.0","_nodeVersion":"11.13.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-KqKIFsPDQcXf2XZZazAxGa7xUgbGueLfCQb4mD7G16lvLYfz13SakC6IAcRaBueXwNn2O0K6VGlXZzPs0aLL3Q==","shasum":"151db640cf6339a6a878a3b70e336eec4baa1895","tarball":"https://registry.npmjs.org/babel-plugin-mockable-imports/-/babel-plugin-mockable-imports-1.2.0.tgz","fileCount":5,"unpackedSize":29234,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcrz/jCRA9TVsSAnZWagAAUlcP/0W2p6vlI2zc3WIeiqdl\nMfXBA1n8Tt0Rf34oDHh3bIp/e2RLBDar+XP3o7wewjZobErMF1GcUBinA/Qj\n8jTRDfR0O42sBkSIm5GfLx1soDHkzsOmj2eYPTB6YAMNdMln2L0O6RUuRzY7\nfIN7talJghgHbRUml2rr/u1+8CCJFrp+P7Jogj+M5NYXsYgO1QTxb/Z8Zw6z\nJZ4PQl2Q3vP9hjn5ZGr2JdJ/P/ZSHhwEdWdSiYVQYk56XaemFY0UXTcY3oE1\nUnwIiv5zpa/3tSauytYz+Tu6NMQvnSfygIgi3AfBWJJM24JmMxMANPVkEYED\ncRehQbToyrmkTGvzPS7Xq/MzrVVaHZBB0ySwa6pdRa6agNqwa6T1aAhAckzT\n3W7zog761x58j4lFSvWBLxCN6FJeqwLjSzjXgHJEQkNWwq7MwBK4zvCHjSdq\ne8AOn0YB0w9L2xogS5Me2n5Xe1uKbcK7LRvd/Oduby64udcHpLJ2RNrm442e\npn3WozlJo2lomrMc3jGsQoRcIx1ajE+kVdqO114mH3O0dz0IVQQ7OCRIF5hz\nzUTPU3gA3LLrgHLjXv8db4yuXvp5splpc/Wfxbz8eGwnEvWxnrvCn4EXPa38\niZL/86ViEmPUpPCyopNgZL3u6/ESnxgSbDi7Ll0MIn+s/i/9BLd8T9lDgVtm\ntNsE\r\n=3ESw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCrcMa4meKctusBN8obUwNJpeGYBBzhD6j40vz5KHDYjQIgSquSFthwQaOoeHbwjcTk1zKWU1DmI7XVYejWfBHn7vU="}]},"maintainers":[{"name":"robertknight","email":"robertknight@gmail.com"}],"_npmUser":{"name":"robertknight","email":"robertknight@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/babel-plugin-mockable-imports_1.2.0_1554989026229_0.9634515513635775"},"_hasShrinkwrap":false},"1.3.0":{"name":"babel-plugin-mockable-imports","version":"1.3.0","description":"Babel plugin for mocking ES imports","main":"index.js","scripts":{"build":"babel helpers.js --out-dir lib","format":"prettier --write **/*.js","test":"mocha","prepublishOnly":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/robertknight/babel-plugin-mockble-imports.git"},"keywords":["mocking"],"author":{"name":"Robert Knight","email":"robertknight@gmail.com"},"license":"ISC","bugs":{"url":"https://github.com/robertknight/babel-plugin-mockable-imports/issues"},"homepage":"https://github.com/robertknight/babel-plugin-mockable-imports#readme","devDependencies":{"@babel/cli":"^7.4.3","@babel/core":"^7.4.3","@babel/plugin-syntax-jsx":"^7.2.0","@babel/plugin-transform-destructuring":"^7.4.3","@babel/preset-env":"^7.4.3","chai":"^4.2.0","eslint":"^5.16.0","mocha":"^6.0.2","prettier":"1.16.4"},"gitHead":"51cb3cfbe0872c7f016f5dd90bcc1abb3cf0919f","_id":"babel-plugin-mockable-imports@1.3.0","_nodeVersion":"11.13.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-1kUED0ZXOLMKh1P90zHX9juD6IRWXgMB5yPtdupsaTJ9lKueAdGmRsuMnKXOlqtyaMYCW6oKwSz/gFLpiXaONA==","shasum":"29183a735fc3a27395b15b519e059fba7f61fde4","tarball":"https://registry.npmjs.org/babel-plugin-mockable-imports/-/babel-plugin-mockable-imports-1.3.0.tgz","fileCount":5,"unpackedSize":31682,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcr7SgCRA9TVsSAnZWagAAbI0P/R+/w6qUzQuZWyADREMp\n9AIZ5/V1EjfOOpGb5zhGRqxOU31AMtZEk++1vRUkjja0TMmfx7gdRHxistlF\nl3XDU2KBxfPCANGCNSd7XoyUMKAW8yOLKoSslPtpv8c3teiQ2nwin2+iVIab\nFoFNZlLIBGdTcbThTtatdfGGoYlushuD+Z3y7e+jogPlpUtJwoC+Akc5njUo\n3Kw68HbFM6WpwSChy7VbxU6q8ibJvVzdy2ch4nkbWlj6iSsXiiXkWBWTGtZN\nGUOz61T5u2md3I9wufowac2xD3tBsjI/WM/qLs8MNtCUXR+la4arGTAgIW/9\n0UP7Mw1PV5rGdtHNvu0BBtF+++sovgO82srtZ1WMYPL0BpKAGmPKGaC8jDb3\nfUjWQrRB8BNg2yduiPKDUs4YemkJ+qo3/44qO0y3xWgxT6JOxEcNIfePe5e0\n9J7oVkgBDUtpe/y3Ewl6GXl9PQeLBnIPZJ5YlQw485dvwH2Ij9Q0MZ+tYfJ9\n/a8YbiQ2SNKm4BRyifnDtrNBaDAeFkYmcriaZeDGVUBJ87+F/edhHNxBZ7yh\n+fCHJbGQdCPv5pu5qI7OQOyryXneRAHCloPvurTU16x74J++to8y1vsYkY1A\ns1n/K1KqASJXTUrAkifO0ZXoZN8g2rweprlUUyMjFKYR2RQqcVU2PAp845yV\ntfeX\r\n=tYt6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC2BKSENUxyFw3sRtvI5HN4DKzylAbBXN5v3a3BrS0h1QIgX+xpSOU9cTK1cbn9i8KEq3qmpo19dDWGHzihrdWqLG4="}]},"maintainers":[{"name":"robertknight","email":"robertknight@gmail.com"}],"_npmUser":{"name":"robertknight","email":"robertknight@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/babel-plugin-mockable-imports_1.3.0_1555018911847_0.7795906272768085"},"_hasShrinkwrap":false},"1.3.1":{"name":"babel-plugin-mockable-imports","version":"1.3.1","description":"Babel plugin for mocking ES imports","main":"index.js","scripts":{"build":"babel helpers.js --out-dir lib","format":"prettier --write **/*.js","test":"mocha","prepublishOnly":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/robertknight/babel-plugin-mockable-imports.git"},"keywords":["mocking"],"author":{"name":"Robert Knight","email":"robertknight@gmail.com"},"license":"ISC","bugs":{"url":"https://github.com/robertknight/babel-plugin-mockable-imports/issues"},"homepage":"https://github.com/robertknight/babel-plugin-mockable-imports#readme","devDependencies":{"@babel/cli":"^7.4.3","@babel/core":"^7.4.3","@babel/plugin-syntax-jsx":"^7.2.0","@babel/plugin-transform-destructuring":"^7.4.3","@babel/preset-env":"^7.4.3","chai":"^4.2.0","eslint":"^5.16.0","mocha":"^6.0.2","prettier":"1.16.4"},"gitHead":"6183c2060a781701eeecb5a5005d0cf61514c1db","_id":"babel-plugin-mockable-imports@1.3.1","_nodeVersion":"11.14.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-wL8G7tHx6HRFrKwTznbKN21CTDcwwF/yM+QrSqpicAydyoU6XpFACEr5dC/WXaAqkvmRJ9HU6ZYbxBqId/hfZA==","shasum":"3461a79a24d130962fcc5c44701f841cf083ec6c","tarball":"https://registry.npmjs.org/babel-plugin-mockable-imports/-/babel-plugin-mockable-imports-1.3.1.tgz","fileCount":5,"unpackedSize":33307,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcx/0wCRA9TVsSAnZWagAAgVkP/j5V/RcRdRetziRJyT4N\nvi/FIZzGn6Q5ErX1ijjcNRyVVxab2vwImxpQRpY9ZKwsq1VMHQ6aYv3cbo7X\ncUwzjWNscInG1InFihghxc1x2TM03QKb02A5OtG4aM8GHJGNHQSQIwPHOV9l\nUIegnucBaBqyAZ5EzFApEr4PL3I2OGXlsD8jWlc17ewRkHK2JWSX+BHLVF+M\n0b9RGmH1hFYTamI5yFJl8AVhICVsLuclYGIvDMGF8Pk3v14bFRAiJBJundec\nGTem6kvCzQBOJYxqetzvSSh9KmRWUK3H1nY6EN/6yjGgctKIaImXuf0XATv/\nGPHkr5GL0Sn+tiSW/PsX2pEnFjItPWfEu9Wyz3Q+tH8Oep7y3Dv3WiLXPYxD\nrw+7qsBo3B/4gIXzYWqo7o/7hDfkYavBUhiPyqIdn2ISrCoI2qC6QfqPvtD4\nVX6UxqOQffEjsMX1XP53DiglhCPNcuUdpCmN4W5Pgn14u4iB5FoAvL9IFcxG\n9/ZSvPDsuYOgu/zPf1c63R40OToINJFlPHT3H1rC72TMlK0LbAEhHmThVZs/\noXC9EePQd/uWza/TD7EjrNULhwfmEEdpT1BiOOrDc0c1+bZKwemnAI6FLFT3\nhxSi3GH4YJBi/bh30yw0T42rNish6kF5/CWWY1ghALguqvbyrkxjvBpdqcp8\nXtsx\r\n=d8c8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD83pC7UOBV7A+HIhSrt/Ds8rL1nHnsXe5N2MeE+MwZqwIhANEG83UvkALqU7ADQVF0S5d2En107vZs/jSsuSwfHIXK"}]},"maintainers":[{"name":"robertknight","email":"robertknight@gmail.com"}],"_npmUser":{"name":"robertknight","email":"robertknight@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/babel-plugin-mockable-imports_1.3.1_1556610351813_0.8885568813101532"},"_hasShrinkwrap":false},"1.4.0":{"name":"babel-plugin-mockable-imports","version":"1.4.0","description":"Babel plugin for mocking ES imports","main":"index.js","scripts":{"checkformatting":"prettier --check **/*.js","build":"babel helpers.js --out-dir lib","lint":"eslint --ignore-pattern lib/* .","format":"prettier --write **/*.js","test":"mocha && npm run lint && npm run checkformatting","prepublishOnly":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/robertknight/babel-plugin-mockable-imports.git"},"keywords":["mocking"],"author":{"name":"Robert Knight","email":"robertknight@gmail.com"},"license":"ISC","bugs":{"url":"https://github.com/robertknight/babel-plugin-mockable-imports/issues"},"homepage":"https://github.com/robertknight/babel-plugin-mockable-imports#readme","devDependencies":{"@babel/cli":"^7.4.3","@babel/core":"^7.4.3","@babel/plugin-syntax-jsx":"^7.2.0","@babel/plugin-transform-destructuring":"^7.4.3","@babel/preset-env":"^7.4.3","chai":"^4.2.0","eslint":"^5.16.0","mocha":"^6.0.2","prettier":"1.16.4"},"gitHead":"27b39583b2e45fe86a5d69b68d32381da7d088fb","_id":"babel-plugin-mockable-imports@1.4.0","_nodeVersion":"11.14.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-nEO1Re1utHrTTr0W9MtSSMOicxBfQ8FTOl1ulQ+h2vNzlua7mU8xwft+VUrTgblqZcgunuIzqJCLVyZh1HmnWg==","shasum":"a1e3c7c42e5d11ad373cc69cbce07e4289d3537a","tarball":"https://registry.npmjs.org/babel-plugin-mockable-imports/-/babel-plugin-mockable-imports-1.4.0.tgz","fileCount":5,"unpackedSize":33930,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc0riZCRA9TVsSAnZWagAA6xsP/0b22ipLSeT5AJmNfV4d\ncx3KaEzxNjh3w7q0R4IDDyZZntQDPmEUoUgqVbAFcFQYeUAT46S5/u8PsfWy\nRPZ6Mf29waTLisWfHKh63y5yulVgYJXepferdZL7kmTRku6E9bo3B2LnWujy\n0EQ6XUdaaMDt10PApo/zd1ZSR6/uDdmDJptEQ7iHzaYPuvDJ3+uvNWqI6Y+E\nzocwp0c/SuETXL2PZGT/NDLL84x3mSxaxxDn6tNa8plCSW/ku8Eih2mOGPuy\nlNiddU4gxX32Ovqh++i/Qmzq76UpnLl7+vGK7G0OvuXuX84ZH9Cs3HFVYyYX\nNPL/rC8Ye/1esaAWgNNHLWmGE/rX0tvou4X6C0qBQMdmz5IF4TND7lamJBMa\n29ABagJgI/NexXGTmlNMSl/UmZxBOv89sTG9f+zpUEHqViwVzBhArc3mrEpo\n78EZxjClI/nTKr0AOrTyRu2cSRjtjGiLEU9v5xpOhgW5esRVAOE6wlxHufrH\nVUoEuoU4Ukg0XlNXgsk1dTYhWs2+SwfVQ2CVc4Xz5Bj4jp1k75X18RK5qlAa\nUsjsgyM+zmiqGSaVk7jkxH6kl0v1eyLiyF+zZsgf3xnI46sMK96UyCjiIQBQ\nhUsWbUvE8hitP6knkIOuT4LFbys7ZkwqU+AwdIl2NapDgK+CKS9V037wTnMi\nmX5d\r\n=77u9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDJqjXp2G2tc+eGasDHfEC8Tk+hOjb5Z1mBazFLQ+3yFAiAmHCcExqyUT/yhtU3e23sGerWaDjOUb9RETI/wOJsH3w=="}]},"maintainers":[{"name":"robertknight","email":"robertknight@gmail.com"}],"_npmUser":{"name":"robertknight","email":"robertknight@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/babel-plugin-mockable-imports_1.4.0_1557313688084_0.8733774734308319"},"_hasShrinkwrap":false},"1.5.0":{"name":"babel-plugin-mockable-imports","version":"1.5.0","description":"Babel plugin for mocking ES imports","main":"index.js","scripts":{"checkformatting":"prettier --check *.js test/*.js","build":"babel helpers.js --out-dir lib","lint":"eslint --ignore-pattern lib/* .","format":"prettier --write *.js test/*.js","test":"mocha && npm run lint && npm run checkformatting","prepublishOnly":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/robertknight/babel-plugin-mockable-imports.git"},"keywords":["mocking"],"author":{"name":"Robert Knight","email":"robertknight@gmail.com"},"license":"ISC","bugs":{"url":"https://github.com/robertknight/babel-plugin-mockable-imports/issues"},"homepage":"https://github.com/robertknight/babel-plugin-mockable-imports#readme","devDependencies":{"@babel/cli":"^7.4.3","@babel/core":"^7.4.3","@babel/plugin-syntax-jsx":"^7.2.0","@babel/plugin-transform-destructuring":"^7.4.3","@babel/preset-env":"^7.4.3","chai":"^4.2.0","eslint":"^5.16.0","mocha":"^6.0.2","prettier":"1.16.4"},"gitHead":"8f758906d29676a5b34de9c3f4c110bafa9132ad","_id":"babel-plugin-mockable-imports@1.5.0","_nodeVersion":"11.14.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-INesYNt7McIrU7er5ZLEphXvW5bpxlFpw5pO/M3rkpeLkH5VZRWcwU8blclq7dDjuUypSRdZN0SxxpxKxlVEFA==","shasum":"4cc5aa787ec2e0cb038c4d818a83383b8124c97c","tarball":"https://registry.npmjs.org/babel-plugin-mockable-imports/-/babel-plugin-mockable-imports-1.5.0.tgz","fileCount":5,"unpackedSize":37257,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc2LcVCRA9TVsSAnZWagAAVvIP/ArHP9ghFzH0UjG7t8AV\nV4ZgC6St6zdHBCbPvk+705f/DD/n+0ed/GL6mTw0AngRjD4ICMQp7vob+NHN\n3KycnMIhO6kAyMVN7hkG8DZRySDXTW5Dy7I+aqrTd1J9Ry9EO4if7IX+BG0o\nJobT7wC01s1XvwMsKK8gMcYsOzDaZ92A+Bsm8y2tQF4C0+1o20QiQ5GcoPGO\nDAOajP53JWMezzEMkZ6r41D/EgHFWyHgfaM5vh+6NhPz0qniXEANt3hrr7fF\nIQO2wwjxWIg7KQjQQU5OBKXImhBS4ozHZ+vt1y6fxDcbAzFxTEMiC5NnuqSL\nAa0JPe62l/u6tP/GjH9IY3udYLUvvXvOu6V2EDlBfRXPgAIdCTO/P3UskUy4\n55+oSr2Zu5OqJf/TrJWxd43vab5qPLS5wu0KTqoR8ddR77k5p1qFsg8uVmFt\nJpiuoendJw0k0+jEzatW+3pnxrJYeH+inDd1GGURG2gdpcIzMUgwwONz/Es9\n0MmiWtxj/fUXAARvVqPgQDdtav4JOzXRlIuyCRix/hguyQYluaJwPDX1lrSf\n8H8RRDOfZTNEQkAfPeCFmgj90aHX0j+Mu3uZSInhVrMUK1px7ULEGmUrHs7p\nUtps0dd2Mji1IaoxFKMav6ue2iigHiMNMlESVorjuAgg7ACcNMF/AyTf6LzA\nTU7t\r\n=drRM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDX2p12pCKUmHa5Rofvrh9nWVd7zbTc43Zp1f9bySMRQAIhALst3Br2h/7mUqqSlcB0dNJBrasZ/BD8zmt6fMEeQ5VE"}]},"maintainers":[{"name":"robertknight","email":"robertknight@gmail.com"}],"_npmUser":{"name":"robertknight","email":"robertknight@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/babel-plugin-mockable-imports_1.5.0_1557706517083_0.03727508481606989"},"_hasShrinkwrap":false},"1.5.1":{"name":"babel-plugin-mockable-imports","version":"1.5.1","description":"Babel plugin for mocking ES imports","main":"index.js","scripts":{"checkformatting":"prettier --check *.js test/*.js","build":"babel helpers.js --out-dir lib","lint":"eslint --ignore-pattern lib/* .","format":"prettier --write *.js test/*.js","test":"mocha && npm run lint && npm run checkformatting","prepublishOnly":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/robertknight/babel-plugin-mockable-imports.git"},"keywords":["mocking"],"author":{"name":"Robert Knight","email":"robertknight@gmail.com"},"license":"ISC","bugs":{"url":"https://github.com/robertknight/babel-plugin-mockable-imports/issues"},"homepage":"https://github.com/robertknight/babel-plugin-mockable-imports#readme","devDependencies":{"@babel/cli":"^7.4.3","@babel/core":"^7.4.3","@babel/plugin-syntax-jsx":"^7.2.0","@babel/plugin-transform-destructuring":"^7.4.3","@babel/preset-env":"^7.4.3","chai":"^4.2.0","eslint":"^5.16.0","mocha":"^6.0.2","prettier":"1.16.4"},"gitHead":"a2512e35614038fd60ab24f729f5c6e58f280b64","_id":"babel-plugin-mockable-imports@1.5.1","_nodeVersion":"12.1.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-n3M7UIDIyun3ztI11WUWfM2dqr+3ERn1EJ0z9w+WY6cHvtqhIHCGDFdhY2bY2BD20zPjf1zoaF+Iva+0VJLp/w==","shasum":"b6f50604b9b80b75176e220bdbfb9a6a414b0e07","tarball":"https://registry.npmjs.org/babel-plugin-mockable-imports/-/babel-plugin-mockable-imports-1.5.1.tgz","fileCount":5,"unpackedSize":37548,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc7cvACRA9TVsSAnZWagAAOS4P/jX6MNF0/9L8We7CGILt\nwoWxfMjo8iCEPw+A4LIsfuKdtVaWI3v6S9KknKJbg7cKL/gzrlPcn4069nil\nhcFx4o8X9efIzYUBaKelNTBHZswIvUfSSzo5wdmJPf4gYFpKpnODbQ47EBWd\ncYw/MQtw5SDa9/sN68fPTUInnTkNySxKmV6F4p5BU9t0zL28BhqcPj1NyxRV\nlwKBCDo2sL84pVUADIe4W7QkvNDi0AJ9gQsjI0CfiWYldfPbJwLsHMWo8h02\n+z0o39fjsv4pkvq/bu81DQSXlxziQ9lYwuOX1e3EgJp+LLB3UZayDO5RlSWS\nKFjAAFBBQ5cps1Yqe3aArJ9MvSv/Ax8RL4AK3uxaXEc1q9otHdIipepduT7P\nlytHobMihQ3a4xlj/uL1vAvQUBrv7kmgVPoAxtlqYMo2MlyIGukd9YDs2n8Q\n3MR+r760fu+wqyC+CcHEDc7iw3MovGV65SmZoziR9UNN/OMQ3tbmAw1foWuZ\nEkhya8BUDX8bUEK4B98UVjI/egL3wm6lBxTsxgE/XZ2M1DirCenUXaz74yhd\n6JMav1MDSBRt0WNaV7aWPYSDErDItCWX8p+otKT8WVhyoQUoDqYMoDjOeIWw\nCY/rlK2gXymz2bYPT/3LkfqK3KNL1NVl8KJ1HiCYxBzBNe0hMc1hHUZdI0w9\neJHc\r\n=9656\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD80ucamSIDTLxwsIc4LnxJ//YNRYAgaZj06Xzjm0eQpgIhAOhle3OofE6/uTrXevtsIiSsq/JwKzc7/pIGY4DpyxhI"}]},"maintainers":[{"name":"robertknight","email":"robertknight@gmail.com"}],"_npmUser":{"name":"robertknight","email":"robertknight@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/babel-plugin-mockable-imports_1.5.1_1559088063551_0.273574469385103"},"_hasShrinkwrap":false},"1.5.2":{"name":"babel-plugin-mockable-imports","version":"1.5.2","description":"Babel plugin for mocking ES imports","main":"index.js","scripts":{"checkformatting":"prettier --check *.js test/*.js","build":"babel helpers.js --out-dir lib","lint":"eslint --ignore-pattern lib/* .","format":"prettier --write *.js test/*.js","test":"mocha && npm run lint && npm run checkformatting","prepublishOnly":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/robertknight/babel-plugin-mockable-imports.git"},"keywords":["mocking"],"author":{"name":"Robert Knight","email":"robertknight@gmail.com"},"license":"ISC","bugs":{"url":"https://github.com/robertknight/babel-plugin-mockable-imports/issues"},"homepage":"https://github.com/robertknight/babel-plugin-mockable-imports#readme","devDependencies":{"@babel/cli":"^7.4.3","@babel/core":"^7.4.3","@babel/plugin-syntax-jsx":"^7.2.0","@babel/plugin-transform-destructuring":"^7.4.3","@babel/preset-env":"^7.4.3","chai":"^4.2.0","eslint":"^5.16.0","mocha":"^6.1.4","prettier":"1.16.4"},"gitHead":"e74219a08fe9dfc65ea1cfebce363deba5335d61","_id":"babel-plugin-mockable-imports@1.5.2","_nodeVersion":"12.12.0","_npmVersion":"6.11.3","dist":{"integrity":"sha512-R2UdySrsMaOr/6Jrj27V5Ryy6Gpt7d398fggqtZ3fd1/OF2rpJcb9ymjbGx2NLm4P9NQyvqAU570YtgWmA71RA==","shasum":"bd2095f0c10496ca74de236a7ee096b0062abb74","tarball":"https://registry.npmjs.org/babel-plugin-mockable-imports/-/babel-plugin-mockable-imports-1.5.2.tgz","fileCount":5,"unpackedSize":37769,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdwFlKCRA9TVsSAnZWagAAFrgP/38ldrIW0oHTCo0Ke4y7\n/ARYEvRPE2Yt/HJPhwmkvC/OxlyW2Rv/hgs9Z31FWAbBc8NyUzfo0Nnb0/Wx\naDclyFCkLhdzJQp93hqHhJUfaR9kvT6QdtlfVxCgJOudi40Y+qnvjAnEk13a\n/03bqVrroFWfANeh3bNTLDeLim++7pnGutB2M+23SFg/R1Lo0p0SIveHLNqO\n9+nAegYn/TpDJZ5dvoMHBThF6477b6b1pByYAXOwS3e/bmow/YuYZdp1c1AI\nKD0k1uwHuYkH5IpGlqMiv9pvwePzhNceXJUJ2H5LbzPfx8o4vx5fV6k+D9Vx\nPExxlEH7QwQB6NoQ6IX7WvY404p/sy/b13uQcCJk6GIwmXbtGHFB2P09amMF\n6NCpop0TCvqNyuJOHzmKcXMFYs7x7QK7BYp4wk4kQqMVzQRXpzfj8Xm2df66\nR0Ou6Bo+U0upm7K+JbdQq56nuw7EiL4RKZhHLyG838PwESwG+TqhEbiFu7jt\nXgAg6jmxARgDkWy4bl+VFoQfiIASM9rmJt+5P1sH997An6nmGCmEgHnZ+n0d\nb5jWPVuRrl+RRT+aQlArAlCIgiOTTp9RGdIHMQPZUlTuOHkvdw5RFEdbR+2L\nmAKwcXgoJyGn7GxSpwNd/icI+vwh6xh6k+uguFDy5r1lZRDD+90+731RRYYN\nZqvN\r\n=vmMv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHSIeBWiH+7MVil4rbWtuTkGBC+CXNJdpH0uWpOT/jINAiEAriOByEWcwDNpjUj3Gri9DRtRexuxxj3s0wbeqVL9ozg="}]},"maintainers":[{"name":"robertknight","email":"robertknight@gmail.com"}],"_npmUser":{"name":"robertknight","email":"robertknight@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/babel-plugin-mockable-imports_1.5.2_1572886858441_0.7859816888691811"},"_hasShrinkwrap":false},"1.6.0":{"name":"babel-plugin-mockable-imports","version":"1.6.0","description":"Babel plugin for mocking ES imports","main":"index.js","scripts":{"checkformatting":"prettier --check *.js test/*.js","build":"babel helpers.js --out-dir lib","lint":"eslint --ignore-pattern lib/* .","format":"prettier --write *.js test/*.js","test":"mocha && npm run lint && npm run checkformatting","prepublishOnly":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/robertknight/babel-plugin-mockable-imports.git"},"keywords":["mocking"],"author":{"name":"Robert Knight","email":"robertknight@gmail.com"},"license":"ISC","bugs":{"url":"https://github.com/robertknight/babel-plugin-mockable-imports/issues"},"homepage":"https://github.com/robertknight/babel-plugin-mockable-imports#readme","devDependencies":{"@babel/cli":"^7.4.3","@babel/core":"^7.4.3","@babel/plugin-syntax-jsx":"^7.2.0","@babel/plugin-transform-destructuring":"^7.4.3","@babel/preset-env":"^7.4.3","chai":"^4.2.0","eslint":"^5.16.0","mocha":"^6.1.4","prettier":"1.16.4"},"gitHead":"11939af374a42e5e0bf830c09a3a35d35f5ce9d5","_id":"babel-plugin-mockable-imports@1.6.0","_nodeVersion":"13.5.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-+CpQXtdmLBT/AaU4lM2EFwE5DnYVtHprpmzSrQls0Zd0FaHcGKJPdN10PQMachMNVh38rADXTd5TwGNMvHW85g==","shasum":"ae8c817327bc84a6258915456934d7d8d5a67999","tarball":"https://registry.npmjs.org/babel-plugin-mockable-imports/-/babel-plugin-mockable-imports-1.6.0.tgz","fileCount":5,"unpackedSize":38372,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJdRICRA9TVsSAnZWagAA3ScP/3U9gv6R+4xqqQhpWbGI\nf7oJZSPP+vtMKj9O1K1Eh9rdQUJ4ILn5UdyuATfEjj6/KHy2blrCFum/fc/d\nmgP4wcEcNjc2ZKXj1b6XnGJ7UcpHYgXfH4jBNBkmP2MIJNDW7v7mu+VdeB48\nTkRzlZFWYglgqOLLiZiBz1aZzg1aImjeVIv3blGO4Fa8JntpmKGF20/6m8EU\noZ6L2UeT/XX3NhgeAubS8q83gAY0xOuXmlwoThSTTcEzKEv3JtTsmPJeQxy8\n8Q3UOIra/z+nejB6POwEHi6+oFOkphX3o3DlmWI/54JSpgGwWLAXaJGBuDrm\nEckdltorH5dIK++uFYDPFG3DYVKzrhdlHfPKheQDE2j/8s6VW4zILuAusMPX\nUMmv+1B5d+iVY8W45+3BA7TvCMZbTt3UscQeZtMRPkIwTP2tgPCXqrEeb8ak\nXKi2aK1WoB0OgRl2FpTn3L06OwsCoRjPonV4FBURbnhNfBxAJ6QbqZ+2vv8k\n2+83dDzcrIvmZ35Osp8HY48Qt/T7U3HVkTdreTvdgCSaYy2g2ak95hDXjyG6\nKf/tp6d0Y6K5okOV90lJ1r5KLDCBsqAZrrex0fazH82C3nX+dYR2w4tEm08Z\nxRBST6ZUbELEPs8GU1ozktro1nphf/ZgvLZ62xn6maXW2mCD9Dd+aOg3Con7\n6zXh\r\n=FnPt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCdj8DyP6DfD49aCINzJy+PTZMIduNzWEEG0dXiRPJUQQIhAN+YPB4ub8ntZz2ZcGRb5v5pvWrfU1g7Vg3prY0N+UdT"}]},"maintainers":[{"name":"robertknight","email":"robertknight@gmail.com"}],"_npmUser":{"name":"robertknight","email":"robertknight@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/babel-plugin-mockable-imports_1.6.0_1579537480336_0.5869560410725487"},"_hasShrinkwrap":false},"1.7.0":{"name":"babel-plugin-mockable-imports","version":"1.7.0","description":"Babel plugin for mocking ES imports","main":"index.js","scripts":{"checkformatting":"prettier --check *.js test/*.js","build":"babel helpers.js --out-dir lib","lint":"eslint --ignore-pattern lib/* .","format":"prettier --write *.js test/*.js","test":"mocha && npm run lint && npm run checkformatting","prepublishOnly":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/robertknight/babel-plugin-mockable-imports.git"},"keywords":["mocking"],"author":{"name":"Robert Knight","email":"robertknight@gmail.com"},"license":"ISC","bugs":{"url":"https://github.com/robertknight/babel-plugin-mockable-imports/issues"},"homepage":"https://github.com/robertknight/babel-plugin-mockable-imports#readme","devDependencies":{"@babel/cli":"^7.4.3","@babel/core":"^7.4.3","@babel/plugin-syntax-jsx":"^7.2.0","@babel/plugin-transform-destructuring":"^7.4.3","@babel/preset-env":"^7.4.3","chai":"^4.2.0","eslint":"^5.16.0","mocha":"^6.1.4","prettier":"1.16.4"},"gitHead":"ca5eb5fb1118e69d454ed43d0f1169c73508ad96","_id":"babel-plugin-mockable-imports@1.7.0","_nodeVersion":"13.7.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-atYOxS3JjmsuXmof68Fgh6YykLIl20POE4q2o5Dq8lBXqJoSd1DX/Oascl/9nHxC3fD3cY7llizDRVpueOe8Xg==","shasum":"ac513a4efb7c24fc516024c4df95ee01c85d3290","tarball":"https://registry.npmjs.org/babel-plugin-mockable-imports/-/babel-plugin-mockable-imports-1.7.0.tgz","fileCount":5,"unpackedSize":40494,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeNZMTCRA9TVsSAnZWagAAnQQP/j5mjXJRa8rIq9nyR5su\na71FbJa7xZNvl8MKe2qJOGen+BdTWVGgwOuuZ0nZV6hxTy3w9Zut5rIZaapV\naT87V0QCyXkJm5/FNuDM70PRJMojDpjlFuGcw2/hWNpxfTGtjFTYvU/DDYOE\nGnPvUgiz2JpmF4JO/6wnBlnDtYDgsfvb5CLjARuC6ApF7YockgteWxwjSTLq\n3czYEHNKOp6w6SFQjytU57bjH0n+L/Cw4z3gtKpCuxWlQEz7DVEvbmGYdThY\nKIL2Fb5Fd7EfGyLczv0Bt96+g4mWcqgdoYy6trpUC8WJywtf7EGniQNByXA5\nSAVBbExpe2irN3qFya9BbKWlWcWhVotQbVSF4oE6MLtQmXTo4cW6BFeBuxJC\nc7qFksKx9Vqm+byDUySkhcR9vb8ztIoFnfhD8YDhJFG0SfuYd/Fx0GFZXxKF\nWJk3v8FvmOX1NC1b39e0j/pg7C1q3bsj5k6QUO4BVZqnZ6VwDLPQUQhrIH9T\n0kIaPgQGc78+9jME0sCwMtY/Q87c72eZoChAyWPBDd/PeS5pHt3dI+RtiqmP\nBKvCPXAJa1KM5wFffhTBpcnqUhEGJzYJ7x8IV9//BvAFeOporTCRInvxg+os\n9UjU/AMIVNKu4Mxn+dooNfrQ0xvglAm9lKgDP/xYxEoWy8T7FPttlj92rpin\nDnFl\r\n=qFXW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDnxPOdT7/Fcja/u51s4DViV/sKogl3pIY6S0Si1y/SCwIgIGqmqdfXM/HwSMZaRZZpf7bRl+um4eht4g58N+oQBsk="}]},"maintainers":[{"name":"robertknight","email":"robertknight@gmail.com"}],"_npmUser":{"name":"robertknight","email":"robertknight@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/babel-plugin-mockable-imports_1.7.0_1580569362825_0.019547393592053375"},"_hasShrinkwrap":false},"1.7.1":{"name":"babel-plugin-mockable-imports","version":"1.7.1","description":"Babel plugin for mocking ES imports","main":"index.js","scripts":{"checkformatting":"prettier --check *.js test/*.js","build":"babel helpers.js --out-dir lib","lint":"eslint --ignore-pattern lib/* .","format":"prettier --write *.js test/*.js","test":"mocha && npm run lint && npm run checkformatting","prepublishOnly":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/robertknight/babel-plugin-mockable-imports.git"},"keywords":["mocking"],"author":{"name":"Robert Knight","email":"robertknight@gmail.com"},"license":"ISC","bugs":{"url":"https://github.com/robertknight/babel-plugin-mockable-imports/issues"},"homepage":"https://github.com/robertknight/babel-plugin-mockable-imports#readme","devDependencies":{"@babel/cli":"^7.4.3","@babel/core":"^7.4.3","@babel/plugin-syntax-jsx":"^7.2.0","@babel/plugin-transform-destructuring":"^7.4.3","@babel/preset-env":"^7.4.3","chai":"^4.2.0","eslint":"^5.16.0","mocha":"^6.1.4","prettier":"1.16.4"},"gitHead":"923ad6df1ac2527805c62cca1cbc3c000005a6f7","_id":"babel-plugin-mockable-imports@1.7.1","_nodeVersion":"13.8.0","_npmVersion":"6.13.7","dist":{"integrity":"sha512-WuAB1CKwwlXC+/tzV3Ouu1R3MaibE4JQuR1LHYYVE0ofrEkBq6UiiR+S6+y9AV0PNoehcIOR4SKXIfbRh/YDVw==","shasum":"8f68608a3bbe08bacf6a7bcc430a3c83514caceb","tarball":"https://registry.npmjs.org/babel-plugin-mockable-imports/-/babel-plugin-mockable-imports-1.7.1.tgz","fileCount":5,"unpackedSize":41448,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeS7ZrCRA9TVsSAnZWagAAvg4QAITMCEEzGQktYdHNhjBO\nUvL3mYEC9aFgm9bDwMroCXR0zBKLyJRN1LPslAhdCYynMTz+ztqnqI8FX6wH\nHD7DkbCLf2ndDJT6c4FD0xJBgkO9/k+LRoZrJPCmASSr6Rk4OzCqF11qMCoC\n3TbbdoD7wjk2AfPQMgiSOHqpxqHee2i4whrmgdmBapTquFKBZdemutrBVcDE\nmL6XWbwFQTGXoWM2SI36dxVdSWu9kP6fYv6L034w4wc47ONeSQPuawb2MPQ4\nFMStA9rROJZZaly/YxU3vtMs9iZd1rip1KxIVspsCClv7SU3Aq2lrpe4B47p\n0vZshF/cp0wHq95chIX0IykY4BunsViAzbVHy6lfbJB/dDOizAEdHM8zeEny\ndIgcqfNzbmGQ5qxT3F018MaM2w9h3Dw49smPj9fR/jwlfLFQaw1Xx4fYro6m\nl4eIVt5XS9za4NL2Pv91YCJHRvNWDMgs9grQ4xvRF9uFIDveQtd05wGdu8vi\nsROuy2V6tllq9nl4eGdrsKNVnkmZhk1Z1NVWEEkr8nZ7mlCrrs1mWxvXwzj/\njA/foae+h0/EfZpyyRMFyBJC9xKnOa7+sQ/39BUwQPATR2Bap9yHQDeZFwP0\n1FGqJgxvSMvpMGyK1+lfd/rnLDkWdlPQXuB4rwyaxQU+YyJZRrWE4Tmw4Z4o\n71EO\r\n=YGNs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDsXy7/KbIAVxKeY3LWynURq0+zip9IBxfKoIDWM6/vQAiBYUAroxdlgFTkkKx5YUNDv6OU3uKPyRIZ/G7yloEt0wA=="}]},"maintainers":[{"name":"robertknight","email":"robertknight@gmail.com"}],"_npmUser":{"name":"robertknight","email":"robertknight@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/babel-plugin-mockable-imports_1.7.1_1582020202874_0.2726238171453188"},"_hasShrinkwrap":false},"1.8.0":{"name":"babel-plugin-mockable-imports","version":"1.8.0","description":"Babel plugin for mocking ES imports","main":"index.js","scripts":{"checkformatting":"prettier --check *.js test/*.js","build":"babel helpers.js --out-dir lib","lint":"eslint --ignore-pattern lib/* .","format":"prettier --write *.js test/*.js","test":"mocha && npm run lint && npm run checkformatting","prepublishOnly":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/robertknight/babel-plugin-mockable-imports.git"},"keywords":["mocking"],"author":{"name":"Robert Knight","email":"robertknight@gmail.com"},"license":"ISC","bugs":{"url":"https://github.com/robertknight/babel-plugin-mockable-imports/issues"},"homepage":"https://github.com/robertknight/babel-plugin-mockable-imports#readme","devDependencies":{"@babel/cli":"^7.11.6","@babel/core":"^7.11.6","@babel/plugin-syntax-jsx":"^7.10.4","@babel/plugin-transform-destructuring":"^7.10.4","@babel/preset-env":"^7.11.5","chai":"^4.2.0","eslint":"^5.16.0","mocha":"^6.2.3","prettier":"1.16.4"},"gitHead":"249d03d65c0d27e55643e255f9ff0f45dd6d825c","_id":"babel-plugin-mockable-imports@1.8.0","_nodeVersion":"16.8.0","_npmVersion":"7.21.0","dist":{"integrity":"sha512-wqBCud9PwvR30Q5z6Bz//W1tIzeS7y+mJAXaGFzFW3WIq2ouZQfyHufng94+QXDjp7E0lkpnsu7YbU6uIBxE3w==","shasum":"f098075edd7541d1ef776ba19b72c5c6b800b72e","tarball":"https://registry.npmjs.org/babel-plugin-mockable-imports/-/babel-plugin-mockable-imports-1.8.0.tgz","fileCount":4,"unpackedSize":39829,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC59hSdXYUtNMxW87+welGLb+IPZ3AWuld8uxJ7L6J/FQIgdHcpv2kRK1S8ng6lZZGHoC1sPbKGcGHHcjEInFR3RAE="}]},"_npmUser":{"name":"robertknight","email":"robertknight@gmail.com"},"directories":{},"maintainers":[{"name":"robertknight","email":"robertknight@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/babel-plugin-mockable-imports_1.8.0_1633175830164_0.1547529989903993"},"_hasShrinkwrap":false},"2.0.0":{"name":"babel-plugin-mockable-imports","version":"2.0.0","description":"Babel plugin for mocking ES imports","type":"module","main":"index.js","scripts":{"checkformatting":"prettier --check *.js test/*.js","build":"babel helpers.js --out-dir lib","lint":"eslint --ignore-pattern lib/* .","format":"prettier --write *.js test/*.js","test":"mocha && npm run lint && npm run checkformatting","prepublishOnly":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/robertknight/babel-plugin-mockable-imports.git"},"keywords":["mocking"],"author":{"name":"Robert Knight","email":"robertknight@gmail.com"},"license":"ISC","bugs":{"url":"https://github.com/robertknight/babel-plugin-mockable-imports/issues"},"homepage":"https://github.com/robertknight/babel-plugin-mockable-imports#readme","browserslist":"chrome >= 80, firefox >= 80, safari >= 14","devDependencies":{"@babel/cli":"^7.16.0","@babel/core":"^7.16.0","@babel/plugin-syntax-jsx":"^7.16.0","@babel/plugin-transform-destructuring":"^7.16.0","@babel/preset-env":"^7.16.0","chai":"^4.3.4","eslint":"^8.1.0","mocha":"^9.1.3","prettier":"1.16.4"},"gitHead":"5d95988989e027f6a79a9d63fb89584d8dc0605e","_id":"babel-plugin-mockable-imports@2.0.0","_nodeVersion":"16.11.1","_npmVersion":"8.0.0","dist":{"integrity":"sha512-xYwXtDV8f3Jz0xOrs8NSbp5pdlfbaCCOotRb0zuJEs5+vJlMvzKjOymVCAMUNzDZJCruO4YQw93ppm4XTLKYBg==","shasum":"78c01fcdd5f9ecbc7ded29165f4c3f6e3d458514","tarball":"https://registry.npmjs.org/babel-plugin-mockable-imports/-/babel-plugin-mockable-imports-2.0.0.tgz","fileCount":4,"unpackedSize":36568,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2kQzCRA9TVsSAnZWagAAeZcP/1PSzsrvexH+uPj4Osh6\nKkMngxsXn/n+nSpGmOFu2ezH6PFtBjSxbLKwq2w0rFt/dn5iAl0q9t5hy71p\nEe0MIDd8RLI6OWhci/ITRHFut4DclI2PrODbv3qCvuyAVEOcibIBaNstPutU\n9jPf+MpZb9ShYXsO5Q5el7m58fNSiRYfXJRthcVTy4Gx+zSaE+MuJl6x7ZKH\nt/GkHNNZaLHoWo2+ElxoehyhykH4PeLQaRPfPNQVgWx4Ru2MP42SgoSRYgfp\n5HaiDlHUE24Ki219XfnRXMVGzhnloULmCx7HR8jPBkReFTnDZp6J+4Eght2p\n4AZVTl2QE3yNEzf/M2MB7EkcAD4r5vngINTcYOzdxh5bTgYzvN5MI/SnrKTh\nCdIfYVhwmyGKynpxdnd/7GOOPGmvxCL+UiawJ0J6a84X+rn9GSLWVQutAlCa\nuZhEBQt+mZcYWb9Yg92w9+GQEEoBxw3FJKfNtp5omq10pENVt2ITjU8oX8w2\nKhatLKyLFBU4WCNSTxDLcUkKPLe2R61NeAWTfGu4eUNeGPzf14RF9rkGJG52\nXRdUN50w5N354RVvzEiSqTFrDEWdn/Jt/jZxHPG07l/faZhxwyD/mlpu1rdl\nXqIhxhvjBM9gz7Sl3oiffzPqNj4BZlngTq621dvKy6JOlP0StWw17gyKhHi8\nOmlV\r\n=QOyN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD08p5r9gPLNcViSTscaQtv94mcWR4vnhUkXQxPWImOxQIgLzTmh2POf6mN3xncIGBYObQ5Sn1mHlLbofuS9N33904="}]},"_npmUser":{"name":"robertknight","email":"robertknight@gmail.com"},"directories":{},"maintainers":[{"name":"robertknight","email":"robertknight@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/babel-plugin-mockable-imports_2.0.0_1635807426841_0.8615413043760765"},"_hasShrinkwrap":false},"2.0.1":{"name":"babel-plugin-mockable-imports","version":"2.0.1","description":"Babel plugin for mocking ES imports","type":"module","main":"index.js","scripts":{"checkformatting":"prettier --check *.js test/*.js","build":"babel helpers.js --out-dir lib","lint":"eslint --ignore-pattern lib/* .","format":"prettier --write *.js test/*.js","test":"mocha && npm run lint && npm run checkformatting","prepublishOnly":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/robertknight/babel-plugin-mockable-imports.git"},"keywords":["mocking"],"author":{"name":"Robert Knight","email":"robertknight@gmail.com"},"license":"ISC","bugs":{"url":"https://github.com/robertknight/babel-plugin-mockable-imports/issues"},"homepage":"https://github.com/robertknight/babel-plugin-mockable-imports#readme","browserslist":"chrome >= 80, firefox >= 80, safari >= 14","devDependencies":{"@babel/cli":"^7.16.0","@babel/core":"^7.16.0","@babel/plugin-syntax-jsx":"^7.16.0","@babel/plugin-transform-destructuring":"^7.16.0","@babel/preset-env":"^7.16.0","chai":"^4.3.6","eslint":"^8.18.0","mocha":"^10.0.0","prettier":"2.7.1"},"gitHead":"36e9c7d1df792fb964556a2717b0e46553645952","_id":"babel-plugin-mockable-imports@2.0.1","_nodeVersion":"18.4.0","_npmVersion":"8.12.1","dist":{"integrity":"sha512-/6rA20YQAwjRFtcAJ+677pON1NL1oynH0+jm1MRWHKVOq55nTUP7TX7k6UlrJFYBl0pdKakOC3TFLXXHvF/GfA==","shasum":"4f51c80cfb43f4900dcfab70f8f3ed6caaaf7c8a","tarball":"https://registry.npmjs.org/babel-plugin-mockable-imports/-/babel-plugin-mockable-imports-2.0.1.tgz","fileCount":4,"unpackedSize":35730,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDZa5rxZJfYe91pPCVibTNHuqqkri5sYHmQEKbDIVadfAIgEeTyLsublwBCK7NovaCmxLRQVbrJzCPq2nsu7d5ey9E="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjB2SKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrKJw/5AVYsDqTQv0QL/mdjHn2RWHgjWofYMx3mZCRYycO5aqXaAe8S\r\njG609pnEUo8VV8YXFeUFwvFGFhRO2urL1mhZPm55afzv/5bqV5FN+d60+JJ5\r\nEQflNFCuBWsi6n9svjCFx1QPfs8408IXQQK0ZYVVAwyksu1CHzb0bASLBl+o\r\nB6NPqWGy+1c6RmG30rarNFhE+rqFn050rqtH6Azzxho3IY2Rt2yBzUdr6vfO\r\nsKyPNXic2LLiScLlSsIpwgmkLS9lnCewpyI88++Q2VNZybWLP6Z7XsLnlxby\r\n/MIy2Hp9Y1AQQFmcvAdBazjbI3v1Ck81+Dgl6Kt2PZqloQSbBUIZc8nfkl/L\r\nhIYhNuXrEE1QxNJx8ud/YcDBkNMCbvXVFjp2T0k8fa0Y3FCP898Ut0Qk89qf\r\nQHDUZJbb+e01wkzmJbisZinaAbFK4178q4svUYdTAyES6NFBdB8efHWW6YqS\r\nhGjjADTqKxiOu9rzNsAuXsLIRoMOaGQFzlyg64mRkg3WeHp0pvbiJfrCw0zC\r\n8K8CcDrU23a1pU9VR7j94szZQXU1H39ywWELvTIvVTZOT1RBRz6o9ZCWtWPQ\r\nXWN0C9VW5nl5QY8NLw0aStFkMiezzez5abu53KY35NgJ5eRW0DJY+ROJ31nu\r\n8onCwoyDU7C56ATOSjhzSd4Dw/FdhGoWmTc=\r\n=UIc3\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"robertknight","email":"robertknight@gmail.com"},"directories":{},"maintainers":[{"name":"robertknight","email":"robertknight@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/babel-plugin-mockable-imports_2.0.1_1661428874597_0.549848213925046"},"_hasShrinkwrap":false}},"time":{"created":"2019-04-07T14:25:48.792Z","1.0.0":"2019-04-07T14:25:48.936Z","modified":"2022-08-25T12:01:14.842Z","1.1.0":"2019-04-08T09:30:23.355Z","1.2.0":"2019-04-11T13:23:46.359Z","1.3.0":"2019-04-11T21:41:51.988Z","1.3.1":"2019-04-30T07:45:52.206Z","1.4.0":"2019-05-08T11:08:08.217Z","1.5.0":"2019-05-13T00:15:17.369Z","1.5.1":"2019-05-29T00:01:03.753Z","1.5.2":"2019-11-04T17:00:58.589Z","1.6.0":"2020-01-20T16:24:40.513Z","1.7.0":"2020-02-01T15:02:42.988Z","1.7.1":"2020-02-18T10:03:22.997Z","1.8.0":"2021-10-02T11:57:10.362Z","2.0.0":"2021-11-01T22:57:07.000Z","2.0.1":"2022-08-25T12:01:14.777Z"},"maintainers":[{"name":"robertknight","email":"robertknight@gmail.com"}],"description":"Babel plugin for mocking ES imports","homepage":"https://github.com/robertknight/babel-plugin-mockable-imports#readme","keywords":["mocking"],"repository":{"type":"git","url":"git+https://github.com/robertknight/babel-plugin-mockable-imports.git"},"author":{"name":"Robert Knight","email":"robertknight@gmail.com"},"bugs":{"url":"https://github.com/robertknight/babel-plugin-mockable-imports/issues"},"license":"ISC","readme":"# babel-plugin-mockable-imports\n\nA Babel plugin that transforms JavaScript modules to enable mocking of their dependencies in tests.\n\nSee the Usage section below for information on getting started, and the FAQ at\nthe end of the README for a comparison to alternative solutions.\n\n## Features\n\n- Provides a simple interface for mocking imports in tests\n- Can be used with any test runner, any bundler, and whether tests are being run\n  under Node or in the browser\n- Transforms code in a straightforward way that is easy to debug if necessary\n- Minimizes the amount of extra code added to modules, to reduce the impact\n  on test execution time\n- Detects incorrect usage (eg. mocking a module or import that is not used)\n  and causes a test failure if this happens\n- Can be used with both JavaScript and TypeScript\n\n## Usage\n\n### Installation\n\nInstall the plugin:\n\n```\nnpm install babel-plugin-mockable-imports\n```\n\nThen [configure Babel](https://babeljs.io/docs/en/config-files) to use it.\nNote that you only want to apply this plugin **for local development builds**\nand ideally only when running tests. One way to do this that works in multiple\nenvironments is to use the [`env`\noption](https://babeljs.io/docs/en/options#env) in your `.babelrc` file.\n\nFor example, the following config in .babelrc will always load the plugin:\n\n```json\n{\n  \"plugins\": [\"mockable-imports\"]\n}\n```\n\nTo load it only if the `NODE_ENV` environment variable is set to `development`\nuse:\n\n```json\n{\n  \"env\": {\n    \"development\": {\n      \"plugins\": [\"mockable-imports\"]\n    }\n  }\n}\n```\n\nBy default the plugin will try to avoid processing test modules. See the\nsection on limiting mocking to [specific\nfiles](#limiting-mocking-to-specific-files) for details.\n\n\n### Basic usage in tests\n\nEach module in your codebase that this plugin is applied to will now export an\n`$imports` object with `$mock` and `$restore` methods. In your tests, import\nthe `$imports` object from the module under test, call `$mock` to replace\nimports with stubs and `$restore` to cleanup after the test.\n\nFor example, given this `password.js` file that we want to test:\n\n```js\nimport {randomBytes} from 'crypto-functions';\n\nexport function generatePassword() {\n  return randomBytes(10)\n    .map(byte => byte.toString(16).padStart(2, '0'))\n    .join('');\n}\n```\n\nWe can write a test as follows, mocking the `randomBytes` import:\n\n```js\nimport {generatePassword, $imports} from './password';\n\ndescribe('generatePassword', () => {\n  afterEach(() => {\n    // Undo any mocks after each test run. This can be called even if no\n    // mocking was done by a test.\n    $imports.$restore();\n  });\n\n  it('generates expected password string', () => {\n    const fakeRandomBytes = length => Array(length).fill(42);\n\n    // Install mocks. The argument is a map of module paths (as used in the\n    // module being tested) to replacement exports.\n    $imports.$mock({\n      'crypto-functions': {\n        // Keys here are the names of the exports. Values are mocks.\n        randomBytes: fakeRandomBytes,\n      },\n    });\n    assert.equal(generatePassword(), '2a2a2a2a2a2a2a2a2a2a');\n  });\n});\n```\n\nSee the [example project](examples/javascript) for a complete runnable project\nusing Mocha as a test runner.\n\n### Mocking default exports\n\nIf a module being mocked has a default export (eg. `export default MyReactComponent`),\nit can be mocked by setting the `default` key.\n\nFor example, given `./Header.js`:\n\n```js\nexport default function Header() {\n  ...\n}\n```\n\nThe `Header` function can be mocked in tests for a different module using:\n\n```js\n$imports.$mock({\n  './Header': {default: FakeHeader},\n  './Footer': {default: FakeFooter},\n});\n```\n\nAs a convenience, if the value for any of the keys in the object passed to\n`$mock` is a function, it is assumed to be a default export for the module.\nThis means that assuming `FakeHeader` and `FakeFooter` are functions,\nthe following is equivalent to the above:\n\n```js\n$imports.$mock({\n  './Header': FakeHeader,\n  './Footer': FakeFooter,\n});\n```\n\n### Mocking all imports that match a pattern\n\nIn some tests you may want to mock many dependencies in the same way, or ensure\nthat all imports meeting certain criteria in a module are mocked consistently.\n\nYou can pass a function to `$imports.$mock` which will be called with the\nsource, symbol name and original value of each import. The result of the\nfunction will be used as the mock for that import if it is not `null`.\n\nFor example, to mock all functions imported by a module, you can use:\n\n```js\n$imports.$mock((source, symbol, value) => {\n  if (typeof value === 'function') {\n    // Mock functions using Sinon.\n    return sinon.stub();\n  } else {\n    // Skip mocking objects, constants etc.\n    return null;\n  }\n});\n```\n\nTo ensure that a test mocks every imported function, you can use:\n\n```js\n// Throw an error if any unmocked function is called.\n$imports.$mock((source, symbol, value) => {\n  if (typeof value === 'function') {\n    return () => throw new Error('Function not mocked');\n  }\n  return null;\n});\n\n// Setup mocks for expected imports.\n$imports.$mock({\n  './util': { doSomething: fakeDoSomething },\n});\n```\n\n### Limiting mocking to specific files\n\nBabel allows the set of plugins applied to files to be configured on a per\ndirectory basis. See the [Babel configuration\ndocs](https://babeljs.io/docs/en/options#overrides). You can also define\n[overrides](https://babeljs.io/docs/en/options#overrides) for more fine-grained\nrules.\n\nAs a convenience, the plugin by default skips any files in directories named\n`test` or `__tests__` or their subdirectories. This can be configured using the\n`excludeDirs` option.\n\n\n### Restoring specific mocks\n\nCalling `$imports.$restore()` will undo/restore all active mocks for a module. It is\nalso possible to restore only specific mocks by passing an object which specifies\nthe modules and symbols to un-mock. The object is in the same format as the\nargument to `$imports.$mock`, except the values are booleans indicating whether\nto restore the mock.\n\n```js\n// Restore all mocks for imports from the './some-widget' module. Other mocks are\n// left alone.\n$imports.$restore({\n  './some-widget': true\n});\n\n// Restore mocks for the \"foo\" symbol imported from the './utils' module. Other\n// mocks are left alone.\n$imports.$restore({\n  './utils': {\n    foo: true,\n  }\n});\n```\n\n### Options\n\nThe plugin supports the following options:\n\n`excludeDirs`\n\nAn array of directory names (eg. \"tests\") whose modules are excluded from\nthis transformation by default.\n\n`excludeImportsFromModules`\n\nAn array of module names which should be ignored when processing imports.\nAny imports from these modules will not be mockable. Module names can be\nspecified as strings (to match exactly) or regular expressions.\n\nBy default this list includes imports from a few packages (eg. proxyquire,\n@rollup/plugin-babel) which are known not to work well with this plugin.\n\n## Usage with TypeScript\n\nIt is possible to use this plugin with TypeScript. In order to do that you need\nto transform your TypeScript code using Babel when running tests, and also\nuse a helper function to get access to the `$imports` object for a module.\nSince this object is not present in the original source, the TypeScript compiler\nis not aware of its existence.\n\nSee the [typescript example project](examples/typescript) for a runnable example.\n\n## How it works\n\nWhen the plugin processes a module, it gathers the set of imported symbols and\nuses them to initialize an `$imports` object, which is also exported from the\nmodule. This object has a property corresponding to each import, in addition\nto the `$mock` and `$restore` methods to temporarily modify those properties.\n\nAll references to imports are replaced with lookups of the corresponding\nproperty of the `$imports` object. For example, this code:\n\n```js\nconst someValue = dependencyA() + dependencyB();\n```\n\nBecomes:\n\n```js\nconst someValue = $imports.dependencyA() + $imports.dependencyB();\n```\n\nWhen you call `$imports.$mock` in a test, the values of these properties are\ntemporarily changed to refer to the mocks instead. `$imports.$restore` resets\nthe properties to their original values.\n\n## Common problems and errors\n\n### Mocking code that runs when a module is imported\n\nA downside of the approach used by this plugin is that you can't use it to change the result of code that is executed when the module is first imported. For example if a module has:\n\n```js\nimport helper from './utils/helper';\n\nexport const aConstant = helper(someData);\n\nexport function usesHelper() {\n  return helper(someOtherData);\n}\n```\n\nIt is possible to mock `helper` in `usesHelper` but not the initialization of `aConstant`. There are solutions to this, but they will involve changes to the code being tested:\n\n1. Change the design of your code so that it exports a function which must be called, instead of executing side effects during the initial import. Making imports free of side effects can have other benefits, eg. for [tree-shaking](https://webpack.js.org/guides/tree-shaking/).\n2. Add an indirection so that the code you want to test calls/uses the mock on-demand rather than during the initial evaluation.\n\n### \"Module not does import...\" error when calling `$imports.$mock`\n\nYou may get this error when calling `$imports.$mock` if the module name or symbol\ndoes not match one that has been registered as an import of the module.\n\nCommon reasons this can happen are:\n\n- A misspelling in the file path or symbol name passed to `$mock`. Check that the\n  path and symbol name match what is used in the module being tested.\n- Your code is transformed before being processed by this plugin in a way that\n  modifies the imports. This may happen, for example, if you are compiling code\n  from another language into JavaScript before applying this plugin.\n\n  The available symbols to mock can be found by inspecting `$imports.$meta`.\n  This is an object that maps the name of the symbol in the file to the location\n  that it comes from.\n\n  _Note: $meta is not considered a public API of this plugin and its shape may\n  change in minor or patch releases_.\n\n### `$imports` export conflicts\n\nThe plugin adds an export named `$imports` to every module it processes. This may cause conflicts if you try to combine exports from multiple modules using `export * from <module>`. [See issue](https://github.com/robertknight/babel-plugin-mockable-imports/issues/2). It can also cause problems if you have code which tries to loop over the exports of a module and does not gracefully handle unexpected exports.\n\nWe may in future add an alternative method of exposing the `$imports` object so that tests can get at it.\n\n### Dynamic imports\n\nThere is currently no support for dynamic imports using `import()`.\n\n## Troubleshooting\n\nIf you encounter any problems using this plugin, please [file an\nissue](https://github.com/robertknight/babel-plugin-mockable-imports/issues).\n\n## FAQ\n\n### How does this plugin differ from alternative approaches?\n\nThis plugin was created to work around [subtle problems and\ninefficiencies](https://robertknight.me.uk/posts/browserify-dependency-mocking/)\nthat arose when using [proxyquire](https://github.com/thlorenz/proxyquire). In\nparticular proxyquire:\n\n - Evaluates the module under test and all its dependencies with an empty\n   module cache each time it is invoked. In some respects this is a useful\n   feature, but there is non-trivial overhead to doing this and\n   it can also cause difficult-to-debug failures when a third-party module\n   that maintains global state is evaluated multiple times, or objects from\n   different copies of the module come into contact with one another.\n - Is tied to Node and Browserify\n - Works only with `require` calls, rather than handling `import` declarations\n   \"natively\". This can cause issues such as Babel's transformation of `import`\n   breaking proxyquireify's ability to recognize `proxyquire` calls.\n\nAdditionally because this plugin adds metadata to modules about their imports,\nit can provide helpful warnings at runtime if a mock is provided which doesn't\nmatch the imported symbols, eg. due to an unnecessary mock or a typo in the\nmodule path or symbol name.\n\nThere is another Babel plugin,\n[babel-plugin-rewire](https://github.com/speedskater/babel-plugin-rewire) which\naims to solve the same problem, but it generates a large amount of extra code\nin each module which [can cause\nproblems](https://gitlab.com/gitlab-org/gitlab-ce/issues/52179) in large\nproduction apps.\n\nA technique which doesn't involve any plugins at all is to monkey-patch the\nexports of a module that you want to mock during a test. The problem with this\nis that _all_ modules which depend on that module will see the mocks, not just\nthe module you are testing. This can also cause surprising failures.\n\nThe [Jest test runner](https://jestjs.io/docs/en/mock-functions#mocking-modules)\nhas built-in support for mocking modules. If you are using that test runner,\nyou probably want to use its built-in facilities. This plugin works with any\nproject that uses Babel to transpile code, even if Babel is only used in\ndevelopment.\n","readmeFilename":"README.md"}