{"_id":"next-test-api-route-handler","_rev":"100-630bb925a7387e6fcc82613aaf6d89d9","name":"next-test-api-route-handler","dist-tags":{"canary":"4.0.0-canary.2","latest":"5.0.7"},"versions":{"1.0.0":{"name":"next-test-api-route-handler","version":"1.0.0","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.0.0","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"55c8029afb367dc064f965d2979d55fa42259f0e","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.0.0.tgz","fileCount":7,"integrity":"sha512-LxQ2ryTRl3wn9ubSJsBpjJhTUuUWOLwe3PU0LyfXqftyYv7kpduqgx4ZZzkZW3IkvBA+jnDKRZwSDwNVb1E8nw==","signatures":[{"sig":"MEYCIQDcM/ZOtgF2ngezExt+NbWU6ryoqk76mmytAe6tHrvGWQIhAJOj+RbNIXOBx+cQDm9aPWgjIo6UDkn37onI941fJoCX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20945,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffduPCRA9TVsSAnZWagAA+t4P/iqsy7bwD/VmYtg8PSQS\nmqXYFhNjfzVdAvCihUvOIewQuqp5Xrf127OOz/NIGIMOZZG+U22Rd03VXM5r\nc4xA0+t+hX4tZse8aQaM1TZEuOsba7FAz+U20vh6FGGJZSIfaYX/+eqGmxTm\nUdTEVg5XhJijO4XdtTW0i5rT4P4CEVkwdRq7+5RGC6DsX+VbmOfXVhR6hKiK\nyfK4zkMaMhZJbTWpP1ylV4TqZzkg1NnoaXx639Ula/HIjAvD/lDkQHYAoFfD\n1PryR5U6zg9UpWWZU4PYfJnzCFAhcaHCjazQQBThhzqJjLpvolPBejf3E3pn\nOfRHt7IeIFO/h/ptW2cpezEsGfHHII0gNcI7Mpz3+VfIupL8ZpLfFlgTdLrA\n9JPnLrRVtLcT1+fZAJ/f4MkxOwJAJTyXq9ssFzAoix+Be71xGGXkZf2qj6V3\nHAJiK8TNZxDxQttslmDpu7V5cWY2FC5ONTMmkzdUEwezs4FpRBxwvkSXZ3mM\nu6MS5N/3PYhS9MBqmrOdGxGwSgBsQZbRPg/KaIaeYrDiOXNiOE/tgqA1K/JI\n0DwxboeOGkMOy2JpRJpQ2sj53LxexBgQnM6f4ngYAjpA2OgBWeEOjadr1ryA\n1CSiBE8XWyx1mA71yG1epQoLo49XAcDkG12zgOVZG8I53rPBWLgeOxS4qvci\nRh+A\r\n=Smci\r\n-----END PGP SIGNATURE-----\r\n"},"types":"dist/modules/index.d.ts","module":"dist/modules/index.js","gitHead":"33b4109ad37df23eaa3d8b4acbbda918cb369463","scripts":{"repl":"command -v rlwrap >/dev/null && rlwrap npx -p @babel/core -p @babel/node babel-node","test":"BABEL_ENV=test jest","build":"npm run clean && tsc --project tsconfig.types.json && babel src --extensions .ts --out-dir dist/modules","clean":"rm -rf dist","build-docs":"rm -rf docs && npx -p typescript -p typedoc@0.17.0-3 -p typedoc-plugin-markdown typedoc --plugin typedoc-plugin-markdown --out docs --readme none --mode library src/index.ts && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find docs -name '*.md' -exec sed -i -e 's/__namedParameters/\\(destructured\\)/g' {} + && find docs -name '*.md' -exec sed -i '/_npx/d' {} + && sed -i -e 1,4d docs/README.md","list-tasks":"npm run","check-types":"command -v unbuffer >/dev/null && (unbuffer tsc; unbuffer eslint .) | less -R -FX || (tsc; eslint .)","postpublish":"npm run clean","prepublishOnly":"npm test && npm run build"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"6.14.8","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"14.13.0","dependencies":{"next":"9.5.4-canary.24","test-listen":"^1.1.0","@types/test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","eslint":"^7.10.0","@babel/cli":"^7.11.6","babel-jest":"^26.3.0","typescript":"^4.0.3","@babel/core":"^7.11.6","@types/jest":"^26.0.14","@types/node":"^14.11.2","jest-circus":"^26.4.2","babel-eslint":"^10.1.0","babel-loader":"^8.1.0","jest-extended":"^0.11.5","@babel/preset-env":"^7.11.5","eslint-plugin-jest":"^24.0.2","source-map-support":"^0.5.19","eslint-plugin-react":"^7.21.3","eslint-plugin-import":"^2.22.1","@babel/preset-typescript":"^7.10.4","@typescript-eslint/parser":"^4.3.0","confusing-browser-globals":"^1.0.9","eslint-import-resolver-alias":"^1.1.2","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^4.3.0","@babel/plugin-proposal-decorators":"^7.10.5","eslint-import-resolver-typescript":"^2.3.0","@babel/plugin-proposal-json-strings":"^7.10.4","@babel/plugin-proposal-function-bind":"^7.11.5","@babel/plugin-proposal-class-properties":"^7.10.4","@babel/plugin-proposal-numeric-separator":"^7.10.4","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-proposal-throw-expressions":"^7.10.4","@babel/plugin-proposal-export-default-from":"^7.10.4","@babel/plugin-proposal-nullish-coalescing-operator":"^7.10.4"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.0.0_1602083726609_0.855400867298389","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"next-test-api-route-handler","version":"1.0.1","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.0.1","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"f20cf549b6305fcb925aa13d1b561295d8a425a8","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.0.1.tgz","fileCount":7,"integrity":"sha512-rybNVyvlM8VkNdvHJcK3zRkDfXmUYbKxve4/mEDCVJzhAGgVkf3pY5NDepJ6+7VAnOEaZ1NLnOOjEMrF12855g==","signatures":[{"sig":"MEQCHznnW3T0B6Z7Gs36rrvrFTMVA79jn86ylbIEtF8X1XgCIQCN00dDB7BaeetcG7NzS/+3H9czOButjQql6f9viuZYRA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20955,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffeAHCRA9TVsSAnZWagAAqLsP/RvUl0UIIwKDSRGx5GWx\nbwA2ABJPeXlPvcZNyiqJ4bUzoDsVxcKEeprtGZtQuiZeD0/Puj0qHLykwHo/\nMdn7XbPj9YEjZL75Il7LKXeDmWUGnZ+rd+YETDx6XJkSyQmmKzZIamLeLlgW\nCGhkLvzpp2TZR5jf6Auhf5Gn/+25MRSg07bDNtI9e+AtkeJiqhsyNFfeRJ1U\n+4URu2YO5H9ygzIYr7whJSIrIdB6RwlxaljxYtdJx7l0qqA9rNKDS7PCkxqX\ngTd6AVtzy+4jAO7J5b/hF4mcV49GHPJzVZ26KOubLFUC22CInK+fypoA6d9u\n+L0OpX3oW+DMRZnWEe10yHnuiwlhEwbTBr0dyFaRqUJS5V6n/y/0qoXYlhEZ\npPHsbP3xJDiISkp4xlBLobR1EtO/jTxRlYCYVPLk2Kw1bjqG5sJ/VxSBD8dm\nLH7usXwXKJvT2gbSex7w7qS61mMHPys3o/weRsNbQIQB5A/I4ozRl4LTgD5H\nf6IzumKiXESGJgnDXe6zU/qg3Tbg/gkLVCZSry9gLePW2csbtT283pa7TuDU\nY18NNxWkFU8/RDrIVe6pgbdUzqAPGtjw0oUUpUsMPq0rhJblCol934WMeO1s\nL3dfj3oDHYxxhqs3zfxReXb4XovuG6gMmu+rm0Nb6AZAzowjLjGOxP2SUqAG\n/cZd\r\n=Tzt8\r\n-----END PGP SIGNATURE-----\r\n"},"types":"dist/modules/index.d.ts","module":"dist/modules/index.js","gitHead":"5d7011844c1093cd10610e82a05e24eee6b72625","scripts":{"repl":"command -v rlwrap >/dev/null && rlwrap npx -p @babel/core -p @babel/node babel-node","test":"BABEL_ENV=test jest","build":"npm run clean && tsc --project tsconfig.types.json && babel src --extensions .ts --out-dir dist/modules","clean":"rm -rf dist","build-docs":"rm -rf docs && npx -p typescript -p typedoc@0.17.0-3 -p typedoc-plugin-markdown typedoc --plugin typedoc-plugin-markdown --out docs --readme none --mode library src/index.ts && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find docs -name '*.md' -exec sed -i -e 's/__namedParameters/\\(destructured\\)/g' {} + && find docs -name '*.md' -exec sed -i '/_npx/d' {} + && sed -i -e 1,4d docs/README.md","list-tasks":"npm run","check-types":"command -v unbuffer >/dev/null && (unbuffer tsc; unbuffer eslint .) | less -R -FX || (tsc; eslint .)","postpublish":"npm run clean","prepublishOnly":"npm test && npm run build"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"6.14.8","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"14.13.0","dependencies":{"next":"9.5.4-canary.24","test-listen":"^1.1.0","@types/test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","eslint":"^7.10.0","@babel/cli":"^7.11.6","babel-jest":"^26.3.0","typescript":"^4.0.3","@babel/core":"^7.11.6","@types/jest":"^26.0.14","@types/node":"^14.11.2","jest-circus":"^26.4.2","babel-eslint":"^10.1.0","babel-loader":"^8.1.0","jest-extended":"^0.11.5","@babel/preset-env":"^7.11.5","eslint-plugin-jest":"^24.0.2","source-map-support":"^0.5.19","eslint-plugin-react":"^7.21.3","eslint-plugin-import":"^2.22.1","@babel/preset-typescript":"^7.10.4","@typescript-eslint/parser":"^4.3.0","confusing-browser-globals":"^1.0.9","eslint-import-resolver-alias":"^1.1.2","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^4.3.0","@babel/plugin-proposal-decorators":"^7.10.5","eslint-import-resolver-typescript":"^2.3.0","@babel/plugin-proposal-json-strings":"^7.10.4","@babel/plugin-proposal-function-bind":"^7.11.5","@babel/plugin-proposal-class-properties":"^7.10.4","@babel/plugin-proposal-numeric-separator":"^7.10.4","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-proposal-throw-expressions":"^7.10.4","@babel/plugin-proposal-export-default-from":"^7.10.4","@babel/plugin-proposal-nullish-coalescing-operator":"^7.10.4"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.0.1_1602084870607_0.6830551675524332","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"next-test-api-route-handler","version":"1.0.2","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.0.2","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"98c24c03cd783dc27fc3be4b7efddf64759e0cae","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.0.2.tgz","fileCount":7,"integrity":"sha512-QYXWQJIobjPfqT0dMfeBm7DILgTOMd/a0IqbzU6cm92Y/BtyGcZODByyuSkXM1SuChutzPQB7q7aVPPntQw8xA==","signatures":[{"sig":"MEUCICyaM+/luSy31bKcljqAFERdDLmmCWO5voktBAGUDvncAiEA2m0+aBym7MYLIYlb+jxbt3qboETmJEPdFbgRrCqRJ9Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21005,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffeW3CRA9TVsSAnZWagAAxwQP/i8QTosez+gWms+nsZhr\n//Fkrk5x1t17TYjZf2yX2ruuK8l9lbOVDDIMjtGEp+d1Ui6M+ddkDRcHrpnL\nHnbxO+pA9R/IZ3RyEsjYQzl8yaehKMp9lUC+iE4hmHBbDU2pSqDl9kMogODe\nkapyp70ebZ5KkVGqa124/VpMQemLZTRRlHzWpHb3hNq9ghehMWOgmD7UFvVx\nFBv5Es3wMLBO0MdHaYfYSNvhBzjOdRsTYWN7l5HXEst0cRYK9YEj459nk3M4\nW14n5eH9+Rdk05sKWUcUhOl7ip1eF/KDBoBcZka3ZDscvaSE0wzXWNLubk9I\nmxKwvyugaispazeJtstXOVCupOCcEI0nsHsYIO5CQFfBXfV8O2coEGKDs/ly\nWwFK1JY76FZh0osHn8OZm4SjeGpba/RZhtL4moRi5oMRZATRAJzOUyP04Jo4\nEWQJvQk3g85TGDpeu1LgNPMhs9BYzbOMzG+9MshEHJCIobVJg7rBYnC10WPV\n88aruoi2OhBRNbNjkF1PgwS3JfRrmwN3/3AzQAPxE1Wk6oBdEc8G1ApznIM9\nBfC4hrTMJ9E0obQdlT+PHKzU4bcOVY7X78nWf7Hy0EZ3zon7W5/97jJNzlKa\nikVi+ioQTZkuhzr8PcdPe+4kgujkLsvxq8cxQr9z6RuM54tzo4qJf5Ala8i0\nS16f\r\n=kgLP\r\n-----END PGP SIGNATURE-----\r\n"},"types":"dist/modules/index.d.ts","module":"dist/modules/index.js","gitHead":"2fd09d672beeea65d41fa088e50e5c29f1a51121","scripts":{"repl":"command -v rlwrap >/dev/null && rlwrap npx -p @babel/core -p @babel/node babel-node","test":"BABEL_ENV=test jest","build":"npm run clean && tsc --project tsconfig.types.json && babel src --extensions .ts --out-dir dist/modules","clean":"rm -rf dist","build-docs":"rm -rf docs && npx -p typescript -p typedoc@0.17.0-3 -p typedoc-plugin-markdown typedoc --plugin typedoc-plugin-markdown --out docs --readme none --mode library src/index.ts && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find docs -name '*.md' -exec sed -i -e 's/__namedParameters/\\(destructured\\)/g' {} + && find docs -name '*.md' -exec sed -i '/_npx/d' {} + && sed -i -e 1,4d docs/README.md","list-tasks":"npm run","check-types":"command -v unbuffer >/dev/null && (unbuffer tsc; unbuffer eslint .) | less -R -FX || (tsc; eslint .)","postpublish":"npm run clean","prepublishOnly":"npm test && npm run build"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"6.14.8","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"14.13.0","dependencies":{"next":"9.5.4-canary.24","test-listen":"^1.1.0","@types/test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.4.2","eslint":"^7.10.0","@babel/cli":"^7.11.6","babel-jest":"^26.3.0","typescript":"^4.0.3","@babel/core":"^7.11.6","@types/jest":"^26.0.14","@types/node":"^14.11.2","jest-circus":"^26.4.2","babel-eslint":"^10.1.0","babel-loader":"^8.1.0","jest-extended":"^0.11.5","@babel/preset-env":"^7.11.5","eslint-plugin-jest":"^24.0.2","source-map-support":"^0.5.19","eslint-plugin-react":"^7.21.3","eslint-plugin-import":"^2.22.1","@babel/preset-typescript":"^7.10.4","@typescript-eslint/parser":"^4.3.0","confusing-browser-globals":"^1.0.9","eslint-import-resolver-alias":"^1.1.2","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^4.3.0","@babel/plugin-proposal-decorators":"^7.10.5","eslint-import-resolver-typescript":"^2.3.0","@babel/plugin-proposal-json-strings":"^7.10.4","@babel/plugin-proposal-function-bind":"^7.11.5","@babel/plugin-proposal-class-properties":"^7.10.4","@babel/plugin-proposal-numeric-separator":"^7.10.4","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-proposal-throw-expressions":"^7.10.4","@babel/plugin-proposal-export-default-from":"^7.10.4","@babel/plugin-proposal-nullish-coalescing-operator":"^7.10.4"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.0.2_1602086327138_0.28036040722837274","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"next-test-api-route-handler","version":"1.0.3","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.0.3","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"071f238fb962b53d9b520a61f802cde7ef8f9649","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.0.3.tgz","fileCount":6,"integrity":"sha512-wsWklUC4r4WUx+RlhTflb2qGMf6YtZCYP50mzjAUvh7N4z9lsvpw6XTkCSYTXnVG5CwiiT4pp+jXuRfpfcFnMg==","signatures":[{"sig":"MEQCIELHZa0TI0OPxSINnFuR+JxYmozAYYkNUTFjgWVmd13qAiAVi+novfaDBu64g6sYR/kCQJkxC9yDzr22NrZMleytxA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26061,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfg72mCRA9TVsSAnZWagAAHdYP/Rullfq8LAYfaoaJrWEh\nD7Kg9CvbxhCYZXbjvf/FFw37/XUPKztQtlYz7ZIPU273Sc+bndqTNWSfPN6J\noGypAOA4Bbea5PKfKuoFG4V8y3emtatmnmW2QXoROlYNpH79dE1kSBcF5SaH\nyDEKYDkljLjoMP3VWzvIxJnOc3Ciap3/gNEKB5znFvTqpxUXwjmbqq27csWe\nNNokYB332VO0nAupFWTBOUk7mH5kv4AKJQPawh56D7hUVlSLLi8VpGS+q9gP\nZuxzveOPVWhNfs8pdg2v4MqvkWgysQpHFobE0ClNLwx+ZXPl+dK4HioBRoeu\nNZUrw/XuGKlNhcW3lJ5XOGpJOKgCErWPTCYfulH71BZc/L6jPlHJTVVA12BC\nXusA1L/PAhRO/sVIxaEyCozhLZ5QdfR23OBRBEhPsbFIcVmtdu09bJJVH110\nhrTQxgAzSw7K/cOl/WFf46e4JiHRKyEbwRUme+f36i9Nrz8mA1C7dwJkxKGB\np+CcGvhFGWUbVxH9dcV2ieU5SC6x8/Jp2WP5zuWmlbb7vjRWYBxV7QUcpZ1Z\nu7Nci/9qRZnASfkoGwos9TT1q1XT2W1kVjPEk5d3BmkMPMGbtKF93YlmiVHE\n5yjlTAk2pUxbjo/I/S8jzJk4OcMEdZJWQx0cH4nTCFRj01vTHMfRUNR5O4X2\ndNQL\r\n=ROCF\r\n-----END PGP SIGNATURE-----\r\n"},"types":"dist/modules/index.d.ts","module":"dist/modules/index.js","gitHead":"2561d12c0c1798068f52f24b79e4b1b14f5a1ee4","scripts":{"repl":"command -v rlwrap >/dev/null && rlwrap npx -p @babel/core -p @babel/node babel-node","test":"BABEL_ENV=test jest","build":"npm run clean && tsc --project tsconfig.types.json && babel src --extensions .ts --out-dir dist/modules","clean":"rm -rf dist npm.pipe external-scripts/bin","build-docs":"rm -rf docs && npx -p typescript -p typedoc@0.17.0-3 -p typedoc-plugin-markdown typedoc --plugin typedoc-plugin-markdown --out docs --readme none --mode library src/index.ts && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find docs -name '*.md' -exec sed -i -e 's/__namedParameters/\\(destructured\\)/g' {} + && find docs -name '*.md' -exec sed -i '/_npx/d' {} + && sed -i -e 1,4d docs/README.md","list-tasks":"npm run","check-types":"rm -f npm.pipe; touch npm.pipe; command -v unbuffer >/dev/null; X=$?; [ $X -eq 0 ] && unbuffer tsc >> npm.pipe; Y=$?; [ $Y -eq 0 ] && echo >> npm.pipe; unbuffer eslint . >> npm.pipe; Z=$?; [ $X -ne 0 ] && tsc >> npm.pipe && eslint . >> npm.pipe; W=$?; cat npm.pipe | less -R -FX; rm npm.pipe; [ $W -eq 0 ] && [ $X -ne 0 ] || [ $Y -eq 0 ] && [ $Z -eq 0 ]","postpublish":"npm run clean","prepublishOnly":"npm test && npm run build","build-externals":"NODE_ENV=production webpack -p"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"6.14.8","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"14.13.0","dependencies":{"next":"^9.5.5","test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.5.2","eslint":"^7.11.0","mongodb":"^3.6.2","shelljs":"^0.8.4","webpack":"^4.44.2","@babel/cli":"^7.11.6","babel-jest":"^26.5.2","typescript":"^4.0.3","@babel/core":"^7.11.6","@types/jest":"^26.0.14","@types/node":"^14.11.8","jest-circus":"^26.5.2","webpack-cli":"^3.3.12","babel-eslint":"^10.1.0","babel-loader":"^8.1.0","@octokit/rest":"^18.0.6","jest-extended":"^0.11.5","@types/mongodb":"^3.5.27","@types/shelljs":"^0.8.8","dotenv-webpack":"^2.0.0","edit-json-file":"^1.4.1","@babel/preset-env":"^7.11.5","find-package-json":"^1.2.0","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.1.0","source-map-support":"^0.5.19","copy-webpack-plugin":"^6.2.1","eslint-plugin-react":"^7.21.4","eslint-plugin-import":"^2.22.1","@types/edit-json-file":"^1.4.0","isomorphic-json-fetch":"^1.0.4","@babel/preset-typescript":"^7.10.4","@types/find-package-json":"^1.1.1","@typescript-eslint/parser":"^4.4.0","mongodb-client-encryption":"^1.1.0","eslint-import-resolver-alias":"^1.1.2","babel-plugin-source-map-support":"^2.1.3","@typescript-eslint/eslint-plugin":"^4.4.0","@babel/plugin-proposal-decorators":"^7.10.5","eslint-import-resolver-typescript":"^2.3.0","@babel/plugin-proposal-json-strings":"^7.10.4","@babel/plugin-proposal-function-bind":"^7.11.5","@babel/plugin-proposal-class-properties":"^7.10.4","@babel/plugin-proposal-numeric-separator":"^7.10.4","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-proposal-throw-expressions":"^7.10.4","@babel/plugin-proposal-export-default-from":"^7.10.4","@babel/plugin-proposal-nullish-coalescing-operator":"^7.10.4"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.0.3_1602469285552_0.9999276378000939","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"next-test-api-route-handler","version":"1.0.4","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.0.4","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"5081cd23a62d5e020b06de42291afd930037ba17","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.0.4.tgz","fileCount":6,"integrity":"sha512-na7TWXg08kRELr/5vZt361oeUayYGeNOy3vSdfwpxj4psyGfWYxuMXGoyn1gHTuvb74+a+an7U7ewGwfecs28g==","signatures":[{"sig":"MEUCIQCJig7+gkuOFMHV+uYocJ9PhabxB4mSLyKz9EDgAbqZwwIgF/pwLFD3yQEULb+L63R/k/IKO5+UbiZ+4z7G70WYoTE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26409,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfg8CvCRA9TVsSAnZWagAAhfgP/3j74h+JU6w/1S6nXfd2\npOyhbdDhr5IV9VvJ0YV0BAz07qJ/3qg2X11nuBE94bJaS7UQz/3Z5jQOnlyu\nvB59FQc7aCxcNbSG/cdYpgaHiffUyQiGx5lR836EyucdtbZxnZ0+K9HyPufE\nwE/zeLOV5PAfElfBOSj8uVU0Utne/yOA6M+kYDDkxKi9xhoLCNLSqO0CYkfb\nJDGjxu4yURsCG/aOOI7I/yhTKP9PPlrOMxZseKcmZg6vxuB3RZeB5a7Zgnot\nMzigFz3vO3NmNfeK9tpQpTiVsEnNiujfVGD8Roo7nEIiHJ0DNT2d1WqpmrT4\nfnfUOyYJpPJezx++rlbE4SQ7Si9OsU9ap8o//fI9q9ZhqVNM6Etn1M137e8J\naY9c8iWOKCWx67eKFbiHXhWlU5JNwzNclwi6Z20W9DagW8I1aveHIE1qzbWn\nCCOaykRRDpJPnt2+frARedHU9zMfgMcdqixXG1h9wqL6UCPUJi7iF4zmqO6x\n1CzogzLT7WNa5W9zX8EXvNAlSpz/5CIuxstoOh2gIlo+u3H6PMCbCR8IzE0v\nSckfwN5ReSgxiW9Nsi4eQE2nFkvrD0zBMxB2MmFxM6V4IrRn2PfYUqo2vA81\nXlts74n1mj+f0cBNKHz6JsPslsZwSxDTOpEjMxGr8DCuIdcpF/zmkDoeQEEt\nqN6T\r\n=4CGe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/modules/index.js","types":"dist/modules/index.d.ts","module":"dist/modules/index.js","gitHead":"c14ec0be732c94ac348273691286f3e046b5f330","scripts":{"repl":"command -v rlwrap >/dev/null && rlwrap npx -p @babel/core -p @babel/node babel-node","test":"BABEL_ENV=test jest","build":"npm run clean && tsc --project tsconfig.types.json && babel src --extensions .ts --out-dir dist/modules","clean":"rm -rf dist npm.pipe external-scripts/bin","build-docs":"rm -rf docs && npx -p typescript -p typedoc@0.17.0-3 -p typedoc-plugin-markdown typedoc --plugin typedoc-plugin-markdown --out docs --readme none --mode library src/index.ts && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find docs -name '*.md' -exec sed -i -e 's/__namedParameters/\\(destructured\\)/g' {} + && find docs -name '*.md' -exec sed -i '/_npx/d' {} + && sed -i -e 1,4d docs/README.md","list-tasks":"npm run","check-types":"rm -f npm.pipe; touch npm.pipe; command -v unbuffer >/dev/null; X=$?; [ $X -eq 0 ] && unbuffer tsc >> npm.pipe; Y=$?; [ $Y -eq 0 ] && echo >> npm.pipe; unbuffer eslint . >> npm.pipe; Z=$?; [ $X -ne 0 ] && tsc >> npm.pipe && eslint . >> npm.pipe; W=$?; cat npm.pipe | less -R -FX; rm npm.pipe; [ $W -eq 0 ] && [ $X -ne 0 ] || [ $Y -eq 0 ] && [ $Z -eq 0 ]","postpublish":"npm run clean","prepublishOnly":"npm test && npm run build","build-externals":"NODE_ENV=production webpack -p"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"6.14.8","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"14.13.0","dependencies":{"next":"9.5.5","test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.5.2","eslint":"^7.11.0","mongodb":"^3.6.2","shelljs":"^0.8.4","webpack":"^4.44.2","@babel/cli":"^7.11.6","babel-jest":"^26.5.2","typescript":"^4.0.3","@babel/core":"^7.11.6","@types/jest":"^26.0.14","@types/node":"^14.11.8","jest-circus":"^26.5.2","webpack-cli":"^3.3.12","babel-eslint":"^10.1.0","babel-loader":"^8.1.0","@octokit/rest":"^18.0.6","jest-extended":"^0.11.5","@types/mongodb":"^3.5.27","@types/shelljs":"^0.8.8","dotenv-webpack":"^2.0.0","edit-json-file":"^1.4.1","@babel/preset-env":"^7.11.5","find-package-json":"^1.2.0","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.1.0","source-map-support":"^0.5.19","copy-webpack-plugin":"^6.2.1","eslint-plugin-react":"^7.21.4","eslint-plugin-import":"^2.22.1","@types/edit-json-file":"^1.4.0","isomorphic-json-fetch":"^1.0.4","@babel/preset-typescript":"^7.10.4","@types/find-package-json":"^1.1.1","@typescript-eslint/parser":"^4.4.0","mongodb-client-encryption":"^1.1.0","eslint-import-resolver-alias":"^1.1.2","babel-plugin-source-map-support":"^2.1.3","@typescript-eslint/eslint-plugin":"^4.4.0","@babel/plugin-proposal-decorators":"^7.10.5","eslint-import-resolver-typescript":"^2.3.0","@babel/plugin-proposal-json-strings":"^7.10.4","@babel/plugin-proposal-function-bind":"^7.11.5","@babel/plugin-proposal-class-properties":"^7.10.4","@babel/plugin-proposal-numeric-separator":"^7.10.4","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-proposal-throw-expressions":"^7.10.4","@babel/plugin-proposal-export-default-from":"^7.10.4","@babel/plugin-proposal-nullish-coalescing-operator":"^7.10.4"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.0.4_1602470063296_0.8911877175489695","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"next-test-api-route-handler","version":"1.0.5","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.0.5","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"4de9a31d47a8b4d9bf0795b97807c61cb9b8a36f","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.0.5.tgz","fileCount":7,"integrity":"sha512-XHY2PZDl7H8w0igZMR9IHq2JO9n4lTmCNUndyQhMaCvtUQVzN85qNtzQ7NT9SrCDjwl4PXy3e8+SfylytQbtxg==","signatures":[{"sig":"MEUCIBjsQ3kDEPhGhs7QT6mcmFnMUcgB5EsCuLaNsME/4tFtAiEAl4GlZT9tGVzqGqfKeWxdImJLCaf8Op8hQl/QbdSaefs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":400893,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfhQ6mCRA9TVsSAnZWagAAgp4QAJl5m9hmdkcIgbIJQNvF\nhILcsQPHIe+y1gdzmEE4kUKEDSTuNqG6RPRbqfNGUNVra+qyL8oE1qy+YC7w\ni2wFBkmPOX6XHJh8wkj0dJyJULx7Y5Iu6/0vyARx8POnYr0c3LUwLZWqr9lr\nTt3nPXPieDH3M0QWniOzlwmaE4tPwVjUe9fl0I/hEvvs9TzFkfAAmLVLjVJP\nBRf3aKLlaMGkYVQDTGrSBzLCs8ceyz1HAtkvrD8O17WCkwO4M6nRdlgm5hL/\nfOJQoAZ20qk//Ivmf1jExlPYrloM7hpI2d47KHXbH28tvqeV93HA6TIs/oiO\nl5k59xwn09zxfmyt+Ug8ITH2KCgLUTO2mTnDt+5NZXYHxsxPcKSQy6WT6gLI\nQMc6JNndFN5GW3TwJ7O0OkJK8JwYGJNJKgMDe1YZMQZFjEy9Ze5QUmI6g7dU\ny8zr7mq2GqAwwuZrnaTUess8B5sc3LVXtgPS3oHJis/c6VBnnV9d+tNx4Y/i\nb4X+T6VzMDvt0qYYMTGyvqVxTZg9igCYPyNrd2Efqo78U4umWwk1QEIzWjwU\nvK97r5Gp9nG4InZKc7XqSq8Tv3dzLRYa3FiuvYizUpAn6U1M5lGNLFYjtpNu\niAwtKVWzt5GMUee7QwFKPFMruUTKDUXz2Ffl6ECjV3I0AePTq96UFtGjK8De\n5gpu\r\n=qRii\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/umd.js","types":"dist/modules/index.d.ts","module":"dist/modules/index.js","gitHead":"14355ddf5823c9c9240a3e2ada923fb7e1d57baa","scripts":{"repl":"command -v rlwrap >/dev/null && rlwrap npx -p @babel/core -p @babel/node babel-node","test":"BABEL_ENV=test jest","build":"npm run clean && tsc --project tsconfig.types.json && NODE_ENV=production webpack -p --config-name umd && babel src --extensions .ts --out-dir dist/modules","clean":"rm -rf dist npm.pipe external-scripts/bin","build-docs":"rm -rf docs && npx -p typescript -p typedoc@0.17.0-3 -p typedoc-plugin-markdown typedoc --plugin typedoc-plugin-markdown --out docs --readme none --mode library src/index.ts && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find docs -name '*.md' -exec sed -i -e 's/__namedParameters/\\(destructured\\)/g' {} + && find docs -name '*.md' -exec sed -i '/_npx/d' {} + && sed -i -e 1,4d docs/README.md","list-tasks":"npm run","check-types":"rm -f npm.pipe; touch npm.pipe; command -v unbuffer >/dev/null; X=$?; [ $X -eq 0 ] && unbuffer tsc >> npm.pipe; Y=$?; [ $Y -eq 0 ] && echo >> npm.pipe; unbuffer eslint . >> npm.pipe; Z=$?; [ $X -ne 0 ] && tsc >> npm.pipe && eslint . >> npm.pipe; W=$?; cat npm.pipe | less -R -FX; rm npm.pipe; [ $W -eq 0 ] && [ $X -ne 0 ] || [ $Y -eq 0 ] && [ $Z -eq 0 ]","postpublish":"npm run clean","prepublishOnly":"npm test && npm run build","build-externals":"NODE_ENV=production webpack -p --config-name externals"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"6.14.8","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"14.13.0","dependencies":{"next":"9.5.5","test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.5.2","dotenv":"^8.2.0","eslint":"^7.11.0","expect":"^26.5.3","mongodb":"^3.6.2","shelljs":"^0.8.4","webpack":"^4.44.2","@babel/cli":"^7.11.6","babel-jest":"^26.5.2","typescript":"^4.0.3","@babel/core":"^7.11.6","@types/jest":"^26.0.14","@types/node":"^14.11.8","jest-circus":"^26.5.2","webpack-cli":"^3.3.12","babel-eslint":"^10.1.0","babel-loader":"^8.1.0","@octokit/rest":"^18.0.6","jest-extended":"^0.11.5","@types/mongodb":"^3.5.27","@types/shelljs":"^0.8.8","dotenv-webpack":"^2.0.0","edit-json-file":"^1.4.1","@babel/preset-env":"^7.11.5","find-package-json":"^1.2.0","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.1.0","source-map-support":"^0.5.19","copy-webpack-plugin":"^6.2.1","eslint-plugin-react":"^7.21.4","eslint-plugin-import":"^2.22.1","@types/edit-json-file":"^1.4.0","isomorphic-json-fetch":"^1.0.4","@babel/preset-typescript":"^7.10.4","@types/find-package-json":"^1.1.1","@typescript-eslint/parser":"^4.4.0","mongodb-client-encryption":"^1.1.0","eslint-import-resolver-alias":"^1.1.2","babel-plugin-source-map-support":"^2.1.3","@typescript-eslint/eslint-plugin":"^4.4.0","@babel/plugin-proposal-decorators":"^7.10.5","eslint-import-resolver-typescript":"^2.3.0","@babel/plugin-proposal-json-strings":"^7.10.4","@babel/plugin-proposal-function-bind":"^7.11.5","@babel/plugin-proposal-class-properties":"^7.10.4","@babel/plugin-proposal-numeric-separator":"^7.10.4","@babel/plugin-proposal-optional-chaining":"^7.11.0","@babel/plugin-proposal-throw-expressions":"^7.10.4","@babel/plugin-proposal-export-default-from":"^7.10.4","@babel/plugin-proposal-nullish-coalescing-operator":"^7.10.4"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.0.5_1602555557864_0.7767898069928862","host":"s3://npm-registry-packages"}},"1.0.6":{"name":"next-test-api-route-handler","version":"1.0.6","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.0.6","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"49427bada0381d6f46b83d8ac2bc66d7e5444594","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.0.6.tgz","fileCount":7,"integrity":"sha512-g2g0FjyzpFO+3KBQBiSkIK3ypKy/TNu6COcqXB/f6Mvphz81UxA8BkUeCBZaYi1hgH5z4hbx4MF2J3dd9BjnHQ==","signatures":[{"sig":"MEUCIQDMEbr31v/lyJemjkKRLDIZ4Q2fGWYv8ObBWNoGGFn0HgIgNUYFXVf/N1+mh45iua2Ed8AgZdVB4o8IHpTvBbmNFtI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":402392,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfi3xXCRA9TVsSAnZWagAAn/0QAI9WKPqd1qZz4yHvsBt/\n7wXDlLDrT7RkuT74c4uRp2M7H0im5ooRfzmW2XABFwNSPGgpPnbWeC7kjm7r\nNCI+3zap8wp7GJ8JQRQZL2FG33I3n41a3s2VCa41aNVrSLNm+BpCPTMIM+WD\nsnj0MgGFMoXbinMVK1GMBv9yHKnpotP+aRk42CvIIKlj0bsRKkA5gKns3kHl\nXT7BmgPm/YbmwhMCiWlEmKNehUmM7iIxGKb6LSI7LrCSTavk4FPfPdMQeLdL\nx8AXGY8xVbyWbTlEdr39fSUeLMVbou92OtP4I6avUcDlIHSbV5Z23KuamxNI\n8D+vu/9Id8ZLSVXvDc/eZdt50mp5n1sXyA+Lii6lXwWyzKOQLgdQoJRmKfDh\n4PMG5XIeCYqsjevKtUOj+nO+yHjIOZh0SaY7nnFFiDL76YeoTrIw08NHEB1W\n/F3j1e4K0rHxCz/HOEjBErdsFofr5PZFNkzbwAeMUoPWlAm+7KLp39RReOqT\nBgl1o7cqBjnqiauF/Mrkd7ca/0WTeP2/dSk7scHd1rZorOfLZUGjj7da0Yh1\nZ0KaeQ5S8qjlxjJ65XO1FVczLQauPEv2Grrff2HKT/Jw/YU38Y50POHK6fsM\nmUjmJBvBV1rQHfWqO8LXc4xdf2k88Blqwq/DPZxPMyo4FBFb4Z25EIcEk44E\nKlu2\r\n=8FWP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/umd.js","types":"dist/modules/index.d.ts","module":"dist/modules/index.js","gitHead":"60b57215c22d9aa8a2bb4f5defe57ab2bceda96f","scripts":{"repl":"command -v rlwrap >/dev/null && rlwrap npx -p @babel/core -p @babel/node babel-node","test":"BABEL_ENV=test jest --coverage --runInBand","build":"npm run clean && tsc --project tsconfig.types.json && NODE_ENV=production webpack -p --config-name umd && babel src --extensions .ts --out-dir dist/modules","clean":"rm -rf dist npm.pipe coverage external-scripts/bin","build-docs":"rm -rf tmp-docs tmp-docs-diff docs-diff && typedoc --plugin typedoc-plugin-markdown --out tmp-docs --readme none --mode library src/index.ts && find tmp-docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find tmp-docs -name '*.md' -exec sed -i -e 's/__namedParameters/\\(destructured\\)/g' {} + && sed -i -e 1,4d tmp-docs/README.md && if [ ! -d docs ]; then mv tmp-docs docs; exit $?; fi && cp -rf tmp-docs tmp-docs-diff && cp -rf docs docs-diff && find docs-diff -name '*.md' -exec sed -i '/^\\*Defined in \\[.*\\]\\(.*\\)\\*$/d' {} + && find tmp-docs-diff -name '*.md' -exec sed -i '/^\\*Defined in \\[.*\\]\\(.*\\)\\*$/d' {} +; [ $? -ne 0 ] && echo 'build failed (try `npm run check-types`)' && rm -rf tmp-docs tmp-docs-diff docs-diff && exit 1; if [ \"$(find ./docs-diff -type f -print0 | xargs -0 sha1sum | awk '{print $1}' | sha1sum)\" = \"$(find ./tmp-docs-diff -type f -print0 | xargs -0 sha1sum | awk '{print $1}' | sha1sum)\" ]; then echo 'no rebuild necessary'; else rm -r docs && mv tmp-docs docs && echo 'build successful'; fi; rm -rf tmp-docs tmp-docs-diff docs-diff","list-tasks":"npm run","check-types":"rm -f npm.pipe; touch npm.pipe; command -v unbuffer >/dev/null; X=$?; [ $X -eq 0 ] && unbuffer tsc >> npm.pipe; Y=$?; [ $Y -eq 0 ] && echo >> npm.pipe; unbuffer eslint . >> npm.pipe; Z=$?; [ $X -ne 0 ] && tsc >> npm.pipe && eslint . >> npm.pipe; W=$?; cat npm.pipe | less -R -FX; rm npm.pipe; [ $W -eq 0 ] && [ $X -eq 1 ] || [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","postpublish":"npm run clean","publishGuard":"npx sort-package-json && npm run build-docs && npm run check-types && npm run test","prepublishOnly":"npm run build","build-externals":"NODE_ENV=production webpack -p --config-name externals"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"6.14.8","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"resolutions":{"node-fetch":"2.6.1"},"sideEffects":false,"_nodeVersion":"14.13.1","dependencies":{"next":"9.5.5","test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.5.3","dotenv":"^8.2.0","eslint":"^7.11.0","expect":"^26.5.3","mongodb":"^3.6.2","shelljs":"^0.8.4","typedoc":"0.17.0-3","webpack":"^4.44.2","@babel/cli":"^7.12.1","babel-jest":"^26.5.2","typescript":"^4.0.3","@babel/core":"^7.12.3","@types/jest":"^26.0.14","@types/node":"^14.11.10","jest-circus":"^26.5.3","webpack-cli":"^3.3.12","babel-eslint":"^10.1.0","babel-loader":"^8.1.0","@octokit/rest":"^18.0.6","jest-extended":"^0.11.5","@types/mongodb":"^3.5.28","@types/shelljs":"^0.8.8","dotenv-webpack":"^4.0.0","edit-json-file":"^1.5.0","@babel/preset-env":"^7.12.1","find-package-json":"^1.2.0","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.1.0","source-map-support":"^0.5.19","copy-webpack-plugin":"^6.2.1","eslint-plugin-react":"^7.21.4","eslint-plugin-import":"^2.22.1","@types/edit-json-file":"^1.4.0","isomorphic-json-fetch":"^1.0.10","typedoc-plugin-markdown":"^3.0.10","@babel/preset-typescript":"^7.12.1","@types/find-package-json":"^1.1.1","@typescript-eslint/parser":"^4.4.1","mongodb-client-encryption":"^1.1.0","eslint-import-resolver-alias":"^1.1.2","babel-plugin-source-map-support":"^2.1.3","@typescript-eslint/eslint-plugin":"^4.4.1","@babel/plugin-proposal-decorators":"^7.12.1","eslint-import-resolver-typescript":"^2.3.0","@babel/plugin-proposal-json-strings":"^7.12.1","@babel/plugin-proposal-function-bind":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-proposal-numeric-separator":"^7.12.1","@babel/plugin-proposal-optional-chaining":"^7.12.1","@babel/plugin-proposal-throw-expressions":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1","@babel/plugin-proposal-nullish-coalescing-operator":"^7.12.1"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.0.6_1602976854934_0.5909463087193119","host":"s3://npm-registry-packages"}},"1.0.7":{"name":"next-test-api-route-handler","version":"1.0.7","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.0.7","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"27633b9e5b48c6edd6bf209fdec1f676693a3859","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.0.7.tgz","fileCount":8,"integrity":"sha512-H4/zl1HulXH2MM6bFqwhpbVZ1/HeiXNWoBQ1dGMBbEHRLW8GkuImXISWA53e1UIc8UemBc3WPnJElIOIuRoHIw==","signatures":[{"sig":"MEYCIQDidTeYX+zqqsyKDNdVoiX4Xf8Cijz2EsIrgR7rUpRZlQIhAOD5YadsAvmud7C4LdsJwuilFP8A2rYtSuPeQZPyeEsy","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32919,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjUekCRA9TVsSAnZWagAAWKQP/AwjhQvyrsG3dmEnA9+U\nhnjpwZzO1LoBPL/z0AJ/q7Oeg2egUJ6qSz76dB1lQ0RzOujqIRuk266nbcR7\nFIxgytZGkjqpseBh93a47dA1ygf4hpKVI3pqs9mw4OZ4+KO28zWYldaukB/+\nKBXqrfovmTdoqW0tPy2RLVgT4C8deSfIL2UWbP2t+zjBmg0P4Yi81Wi9XltA\nxfpv4dM2xGNCAQy7v0HdBvFHW+NiwKgGaphb6qHd4BdW64aRB0/ZaxCregKh\nwMAphRjI4wMSGulXyETjmtjkj00hERF5ZhyVBDtZ8pTl6bD6ZEJm3j09n9Fc\n8JsRqaI5ba4i3jNepH9Mtw/62Fu9KdZCLX500LLQXNQreZwt2VJOG9tURZpa\nvkMZbXqglAY9jMh1FfUZ7JQtTU3tikjNSYJtjeRICLwj1Mh89q/B30Ylt8VF\ntEXgwpMTPU1L4dqFU6a3D6h1VPPEsJoKYuXSRHSrTKft6gv7Ev79WPgiqxHY\nE6kMfcxrZq9bdvUFBP47SmFJsA/F6hvqSATdsBd/a49xGZ070DP6CSECTl5G\nzCTX8zq0sOsooolmD9WfeVp0KNlcKRanDaYkR3NAWRCfZlFAdY4EpABx3Dl1\narZXQbW86EG0SJd/iLNA7rqToNNDnQwdsWBfEQd/X3i4MVvZJPM2fxqa5v27\nr106\r\n=MUz8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/main.js","type":"commonjs","types":"./dist/lib/index.d.ts","module":"./dist/lib/index.js","exports":{".":{"import":"./dist/lib/index.js","default":"./dist/main.js","require":"./dist/main.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"321e10c985becdbfa52bd60c8d6e158b116692dd","scripts":{"repl":"command -v rlwrap >/dev/null && rlwrap npx -p @babel/core -p @babel/node babel-node","test":"BABEL_ENV=test jest --coverage --runInBand","build":"npm run clean && tsc --project tsconfig.types.json && NODE_ENV=production webpack -p --config-name main && NODE_ENV=esm babel src --extensions .ts --out-dir dist/lib && echo '{\"type\": \"module\"}' > dist/lib/package.json","clean":"rm -rf dist npm.pipe coverage external-scripts/bin","build-docs":"rm -rf tmp-docs tmp-docs-diff docs-diff && typedoc --plugin typedoc-plugin-markdown --out tmp-docs --readme none --mode library src/index.ts && find tmp-docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find tmp-docs -name '*.md' -exec sed -i -e 's/__namedParameters/\\(destructured\\)/g' {} + && sed -i -e 1,4d tmp-docs/README.md && if [ ! -d docs ]; then mv tmp-docs docs; exit $?; fi && cp -rf tmp-docs tmp-docs-diff && cp -rf docs docs-diff && find docs-diff -name '*.md' -exec sed -i '/^\\*Defined in \\[.*\\]\\(.*\\)\\*$/d' {} + && find tmp-docs-diff -name '*.md' -exec sed -i '/^\\*Defined in \\[.*\\]\\(.*\\)\\*$/d' {} +; [ $? -ne 0 ] && echo 'build failed (try `npm run check-types`)' && rm -rf tmp-docs tmp-docs-diff docs-diff && exit 1; if [ \"$(find ./docs-diff -type f -print0 | xargs -0 sha1sum | awk '{print $1}' | sha1sum)\" = \"$(find ./tmp-docs-diff -type f -print0 | xargs -0 sha1sum | awk '{print $1}' | sha1sum)\" ]; then echo 'no rebuild necessary'; else rm -r docs && mv tmp-docs docs && echo 'build successful'; fi; rm -rf tmp-docs tmp-docs-diff docs-diff","list-tasks":"npm run","check-types":"rm -f npm.pipe; touch npm.pipe; command -v unbuffer >/dev/null; X=$?; [ $X -eq 0 ] && unbuffer tsc >> npm.pipe; Y=$?; [ $Y -eq 0 ] && echo >> npm.pipe; unbuffer eslint . >> npm.pipe; Z=$?; [ $X -ne 0 ] && tsc >> npm.pipe && eslint . >> npm.pipe; W=$?; cat npm.pipe | less -R -FX; rm npm.pipe; [ $W -eq 0 ] && [ $X -eq 1 ] || [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","postpublish":"npm run clean","publishGuard":"npm run check-types && npm run test && npx npm-force-resolutions && npx Xunnamius/sort-package-json && npm run build-docs && npm audit","prepublishOnly":"npm run build","build-externals":"NODE_ENV=production webpack -p --config-name externals"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"6.14.8","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"resolutions":{"node-fetch":"2.6.1"},"sideEffects":false,"_nodeVersion":"14.13.1","dependencies":{"next":"9.5.5","test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.5.3","dotenv":"^8.2.0","eslint":"^7.11.0","expect":"^26.5.3","mongodb":"^3.6.2","shelljs":"^0.8.4","typedoc":"0.17.0-3","webpack":"^4.44.2","@babel/cli":"^7.12.1","babel-jest":"^26.5.2","typescript":"^4.0.3","@babel/core":"^7.12.3","@types/jest":"^26.0.14","@types/node":"^14.11.10","jest-circus":"^26.5.3","webpack-cli":"^3.3.12","babel-eslint":"^10.1.0","babel-loader":"^8.1.0","@octokit/rest":"^18.0.6","jest-extended":"^0.11.5","@types/mongodb":"^3.5.28","@types/shelljs":"^0.8.8","dotenv-webpack":"^4.0.0","edit-json-file":"^1.5.0","@babel/preset-env":"^7.12.1","find-package-json":"^1.2.0","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.1.0","source-map-support":"^0.5.19","eslint-plugin-react":"^7.21.4","eslint-plugin-import":"^2.22.1","@types/edit-json-file":"^1.4.0","isomorphic-json-fetch":"^1.0.11","npm-force-resolutions":"0.0.3","webpack-node-externals":"^2.5.2","typedoc-plugin-markdown":"^3.0.10","@babel/preset-typescript":"^7.12.1","@types/find-package-json":"^1.1.1","@typescript-eslint/parser":"^4.4.1","mongodb-client-encryption":"^1.1.0","eslint-import-resolver-alias":"^1.1.2","babel-plugin-source-map-support":"^2.1.3","@typescript-eslint/eslint-plugin":"^4.4.1","eslint-import-resolver-typescript":"^2.3.0","@babel/plugin-proposal-function-bind":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.0.7_1603094435750_0.7430333976233743","host":"s3://npm-registry-packages"}},"1.0.8":{"name":"next-test-api-route-handler","version":"1.0.8","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.0.8","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"b9b57d7bea513da3e14a63c229b454938b2f1e90","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.0.8.tgz","fileCount":7,"integrity":"sha512-27VGLb4jzHFjb9BinF8hPe1ek1WMmcwlhlOQrVt5joDbbpuiLAu+NYcaMhFs5/0NiAlH/MgSvpflNmCQfCEcZw==","signatures":[{"sig":"MEYCIQCs+SU4Zc8Eke9MkMRjyn9MQkeypL8hXIBg71GtpWauUwIhAODgvRv7bsEz5YVVVueXlgX+Y6CvDxBfm89PP1mg0I2i","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33336,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjmZgCRA9TVsSAnZWagAALgIQAJjFOW6s7GEFka+4qkV7\nk05nTP5BnDm9rtfV0gmxHdI/7u85mMpS4apFc/E7zVAX91HK5zVb9rwTKkMq\nn1UxYeQI+zdhw2PSHLQUKBU0o58c87JDzQOAqvuenfYTFAGo20Wm0IiXMhfT\n+piry3aI6ZxuSoCvK4enEev2Plg7f7WMj+VuL9SGcnxMWhMa4PJA3faU1NiV\noEpbvUgeGKtlPA/9oleqHpENwYaYO8Ga71jOlpU9CMQMP3gwHgGVLYJI7PKy\ngxSgdFLw3p8ucUFBU88Sh13QrRUMYbEEUSaviOzxg/87DjhruPJh9uMTD2CQ\nCHDmFUHkBl2Si+ZwYi+rXOwgRkNUl6ZcZIWkbeGw8BpKPl0MQoDLsQC3wU6E\n+tIkQiTa2s6hc8M1LhI+LC+p6gC/LYGj9XqcijaSQ0PtK0TTn8DXWp8A3mbL\nKTTMLW+pmvokqil/6BFIbSMupMt91iq7ScBKWRVPWEY+y6yWJCv2zuz/BWMO\ngL2dFCrAxAssh2s/+mZWjd9+XTtI/KRqXlMpIAVKqZF5ROGSzoxSiOGbMPyD\n6sD5n+H2ZhmMfQZSR+gmhK2CXko7H5s9pvlzgLzkflogllEZ7qBqAtGCgnB6\nwTD8vwEcGp8QdOxbE1RjIVh67OnFvrYy9H98rFPOYsIJyXlqQ+E+A/iozE2P\nBvI1\r\n=7Ylv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/lib/index","type":"commonjs","types":"./dist/lib/index.d.ts","module":"./dist/lib/index.mjs","engines":{"node":">= 10.x"},"exports":{".":{"import":"./dist/lib/index.mjs","default":"./dist/lib/index.js","require":"./dist/lib/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"7b85a053a284ca5b34e3f3a0ebd8413ba71fb211","scripts":{"repl":"command -v rlwrap >/dev/null && rlwrap npx -p @babel/core -p @babel/node babel-node","test":"BABEL_ENV=test jest --coverage --runInBand","build":"npm run clean && tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name main && NODE_ENV=esm babel src --extensions .ts --out-dir dist/lib --out-file-extension .mjs","clean":"rm -rf dist npm.pipe coverage external-scripts/bin","build-docs":"rm -rf tmp-docs tmp-docs-diff docs-diff && typedoc --plugin typedoc-plugin-markdown --out tmp-docs --readme none --mode library src/index.ts && find tmp-docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find tmp-docs -name '*.md' -exec sed -i -e 's/__namedParameters/\\(destructured\\)/g' {} + && sed -i -e 1,4d tmp-docs/README.md && if [ ! -d docs ]; then mv tmp-docs docs; exit $?; fi && cp -rf tmp-docs tmp-docs-diff && cp -rf docs docs-diff && find docs-diff -name '*.md' -exec sed -i '/^\\*Defined in \\[.*\\]\\(.*\\)\\*$/d' {} + && find tmp-docs-diff -name '*.md' -exec sed -i '/^\\*Defined in \\[.*\\]\\(.*\\)\\*$/d' {} +; [ $? -ne 0 ] && echo 'build failed (try `npm run check-types`)' && rm -rf tmp-docs tmp-docs-diff docs-diff && exit 1; if [ \"$(find ./docs-diff -type f -print0 | xargs -0 sha1sum | awk '{print $1}' | sha1sum)\" = \"$(find ./tmp-docs-diff -type f -print0 | xargs -0 sha1sum | awk '{print $1}' | sha1sum)\" ]; then echo 'no rebuild necessary'; else rm -r docs && mv tmp-docs docs && echo 'build successful'; fi; rm -rf tmp-docs tmp-docs-diff docs-diff","list-tasks":"npm run","build-stats":"NODE_ENV=production webpack --config-name main --json > bundle-stats.json","check-types":"rm -f npm.pipe; touch npm.pipe; command -v unbuffer >/dev/null; X=$?; [ $X -eq 0 ] && unbuffer tsc >> npm.pipe; Y=$?; [ $Y -eq 0 ] && echo >> npm.pipe; unbuffer eslint . >> npm.pipe; Z=$?; [ $X -ne 0 ] && tsc >> npm.pipe && eslint . >> npm.pipe; W=$?; cat npm.pipe | less -R -FX; rm npm.pipe; [ $W -eq 0 ] && [ $X -eq 1 ] || [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","postpublish":"npm run clean","publishGuard":"npm run check-types && npm run test && npx npm-force-resolutions && npx Xunnamius/sort-package-json && npm run build-docs && npm audit","prepublishOnly":"npm run build","build-externals":"NODE_ENV=production webpack -p --config-name externals"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"6.14.8","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"resolutions":{"node-fetch":"2.6.1","object-path":"0.11.5"},"sideEffects":false,"_nodeVersion":"14.14.0","dependencies":{"next":"9.5.5","test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.5.3","dotenv":"^8.2.0","eslint":"^7.11.0","expect":"^26.5.3","mongodb":"^3.6.2","shelljs":"^0.8.4","typedoc":"0.17.0-3","webpack":"^4.44.2","@babel/cli":"^7.12.1","babel-jest":"^26.5.2","typescript":"^4.0.3","@babel/core":"^7.12.3","@types/jest":"^26.0.14","@types/node":"^14.11.10","jest-circus":"^26.5.3","webpack-cli":"^3.3.12","babel-eslint":"^10.1.0","babel-loader":"^8.1.0","@octokit/rest":"^18.0.6","jest-extended":"^0.11.5","@types/mongodb":"^3.5.28","@types/shelljs":"^0.8.8","dotenv-webpack":"^4.0.0","edit-json-file":"^1.5.0","@babel/preset-env":"^7.12.1","find-package-json":"^1.2.0","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.1.0","source-map-support":"^0.5.19","eslint-plugin-react":"^7.21.4","eslint-plugin-import":"^2.22.1","@types/edit-json-file":"^1.4.0","isomorphic-json-fetch":"^1.0.11","npm-force-resolutions":"0.0.3","webpack-node-externals":"^2.5.2","typedoc-plugin-markdown":"^3.0.10","@babel/preset-typescript":"^7.12.1","@types/find-package-json":"^1.1.1","@typescript-eslint/parser":"^4.4.1","mongodb-client-encryption":"^1.1.0","eslint-import-resolver-alias":"^1.1.2","babel-plugin-source-map-support":"^2.1.3","@typescript-eslint/eslint-plugin":"^4.4.1","eslint-import-resolver-typescript":"^2.3.0","@babel/plugin-proposal-function-bind":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.0.8_1603167840204_0.38272100055111036","host":"s3://npm-registry-packages"}},"1.0.9":{"name":"next-test-api-route-handler","version":"1.0.9","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.0.9","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"778606e2058f71cd6170f6bcfba8256baa802875","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.0.9.tgz","fileCount":7,"integrity":"sha512-gXwyJxSKkUhf1CUjSi60s1COKxaCJrdY+YCY0COV7fbUxEI/SOAge9CgKfCByvu1gXvcSmJiGuOvXxknZvm+rQ==","signatures":[{"sig":"MEUCIAihGbJqfKNIoNBZTnYEbTHOUfSrm6ZUCxOOZnSh/9KgAiEAipXjjYnakn6oUEZbcLZQe3xG1Rb3G2XwCd3s1z/iE34=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33973,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfkmwQCRA9TVsSAnZWagAApQQP/RbF1zqPuxaGs22UDkFz\nEq/P819qWHy7myAxnQIPISu/KH8evSqWpTLWPu2Ez6tW9N4loGu7sBl2ke+M\nmo30bYQXzuoR/aqbod0V+KAEiCQbyrO1N5UJdVbNrsMLGa+3j+PyXEk8W+I1\nDzkV/FyEAiwbLCPUyHwY7YaXiPOe/Z5B00vbYt7EisDPEPTKj41MTIFDJX7F\naUJOuH7vbR0+cnnsIITw55XJF/OaMYU3OFqjxs6Ia7FSxM92284bkG9SEma7\nZLQqZKke7WDwu9WXIXqjdoGH8CoagtJ9Yi86qtZkvQofl8YD7xz3BhaHiA82\n/Gy91ZVxGAAvWFp/tLXNSBQJejzEJND1QgxsugczE8fUaA7AcLrX2rkkxO+G\nNZV9PCae5Po28SboJedFUlcUP/S6pht+NOq2NQHSNH0Atp2ALClqt4ZosABX\nz2MLsKSO4cS5yoGbMzTUD46YJ+a3h3rbztt/ntdvT6jXpTrePWl5YHLnr8pC\nJArSYBHPZ8Jd0OSPMB9Ta55jfT3MJbTiTgr+fxuv+X6o7QF+lZSHMMc/WN38\nYAO8tkP0NL2mWZzMd8sgDTu8LTNeXPUYyyqSG5I4SjDrgC9YsjWLi67PmAy1\nbHGu72fU6bWexfQSup66hCW/xacOCOxb93ILxmDbhU0GaIGeAnu3GebSrLt0\n43rf\r\n=HMRs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/lib/index","type":"commonjs","types":"./dist/lib/index.d.ts","module":"./dist/lib/index.mjs","engines":{"node":">= 10.x"},"exports":{".":{"import":"./dist/lib/index.mjs","default":"./dist/lib/index.js","require":"./dist/lib/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"28e38d1c8fbfff910b1ae44509b585ba0a8ec1e5","scripts":{"repl":"command -v rlwrap >/dev/null && rlwrap npx -p @babel/core -p @babel/node babel-node","test":"BABEL_ENV=test jest --coverage --runInBand","build":"npm run clean && tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name main && NODE_ENV=esm babel src --extensions .ts --out-dir dist/lib --out-file-extension .mjs","clean":"rm -rf dist npm.pipe coverage external-scripts/bin","build-docs":"rm -rf tmp-docs tmp-docs-diff docs-diff && typedoc --plugin typedoc-plugin-markdown --out tmp-docs --readme none --mode library src/index.ts && find tmp-docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find tmp-docs -name '*.md' -exec sed -i -e 's/__namedParameters/\\(destructured\\)/g' {} + && sed -i -e 1,4d tmp-docs/README.md && if [ ! -d docs ]; then mv tmp-docs docs; exit $?; fi && cp -rf tmp-docs tmp-docs-diff && cp -rf docs docs-diff && find docs-diff -name '*.md' -exec sed -i '/^\\*Defined in \\[.*\\]\\(.*\\)\\*$/d' {} + && find tmp-docs-diff -name '*.md' -exec sed -i '/^\\*Defined in \\[.*\\]\\(.*\\)\\*$/d' {} +; [ $? -ne 0 ] && echo 'build failed (try `npm run check-types`)' && rm -rf tmp-docs tmp-docs-diff docs-diff && exit 1; if [ \"$(find ./docs-diff -type f -print0 | xargs -0 sha1sum | awk '{print $1}' | sha1sum)\" = \"$(find ./tmp-docs-diff -type f -print0 | xargs -0 sha1sum | awk '{print $1}' | sha1sum)\" ]; then echo 'no rebuild necessary'; else rm -r docs && mv tmp-docs docs && echo 'build successful'; fi; rm -rf tmp-docs tmp-docs-diff docs-diff","list-tasks":"npm run","build-stats":"NODE_ENV=production webpack --config-name main --json > bundle-stats.json","check-types":"rm -f npm.pipe; touch npm.pipe; command -v unbuffer >/dev/null; X=$?; [ $X -eq 0 ] && unbuffer tsc >> npm.pipe; Y=$?; [ $Y -eq 0 ] && echo >> npm.pipe; unbuffer eslint . >> npm.pipe; Z=$?; [ $X -ne 0 ] && tsc >> npm.pipe && eslint . >> npm.pipe; W=$?; cat npm.pipe | less -R -FX; rm npm.pipe; [ $W -eq 0 ] && [ $X -eq 1 ] || [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","postpublish":"npm run clean","publishGuard":"npm run check-types && npm run test && npx npm-force-resolutions && npx Xunnamius/sort-package-json && npm run build-docs && npm audit","prepublishOnly":"npm run build","build-externals":"NODE_ENV=production webpack -p --config-name externals"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"6.14.8","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"resolutions":{"node-fetch":"2.6.1","object-path":"0.11.5"},"sideEffects":false,"_nodeVersion":"14.14.0","dependencies":{"next":"9.5.5","test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.0","dotenv":"^8.2.0","eslint":"^7.11.0","expect":"^26.6.0","mongodb":"^3.6.2","shelljs":"^0.8.4","typedoc":"0.17.0-3","webpack":"^4.44.2","@babel/cli":"^7.12.1","babel-jest":"^26.6.0","typescript":"^4.0.3","@babel/core":"^7.12.3","@types/jest":"^26.0.15","@types/node":"^14.14.2","jest-circus":"^26.6.0","webpack-cli":"^3.3.12","babel-eslint":"^10.1.0","babel-loader":"^8.1.0","@octokit/rest":"^18.0.6","jest-extended":"^0.11.5","@types/mongodb":"^3.5.31","@types/shelljs":"^0.8.8","dotenv-webpack":"^4.0.0","edit-json-file":"^1.5.0","@babel/preset-env":"^7.12.1","find-package-json":"^1.2.0","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.1.0","source-map-support":"^0.5.19","eslint-plugin-import":"^2.22.1","@types/edit-json-file":"^1.4.0","isomorphic-json-fetch":"^1.0.11","npm-force-resolutions":"0.0.3","webpack-node-externals":"^2.5.2","typedoc-plugin-markdown":"^3.0.11","@babel/preset-typescript":"^7.12.1","@types/find-package-json":"^1.1.1","@typescript-eslint/parser":"^4.5.0","mongodb-client-encryption":"^1.1.0","webpack-node-module-types":"^1.0.3","eslint-import-resolver-alias":"^1.1.2","babel-plugin-source-map-support":"^2.1.3","@typescript-eslint/eslint-plugin":"^4.5.0","eslint-import-resolver-typescript":"^2.3.0","babel-plugin-transform-mjs-imports":"^1.0.0","@babel/plugin-proposal-function-bind":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.0.9_1603431440032_0.7644750748972395","host":"s3://npm-registry-packages"}},"1.0.10":{"name":"next-test-api-route-handler","version":"1.0.10","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.0.10","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"ed88cc62510496a873b662bedc3ecfa1fc29fcff","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.0.10.tgz","fileCount":7,"integrity":"sha512-nla8UBYNhGvTABRppqgGFXj18qkV4mJIJPUoS9HNUedSQ/hLTK87VxVDaKZIxdf4i+WOrvww/57nMNVwqjU6tw==","signatures":[{"sig":"MEUCICEVV6L8ypLQ9fhD6vl4wZXEQNJR7nnOPpVn8evwTIqsAiEAuV2BvNrjdP0wH6DU3S7vUtfoWPGt84XObmMM97W5kvo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":35527,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfk9R4CRA9TVsSAnZWagAAYOsP/iYSOK1aJnUczZBvf9s4\n3g7jxWpPivl6LjT9nXRLixSTosTxWD0h4bR89m8Iyoet7uQmgBdx+qjCNbvs\nZ+enU47cgY5YAzqEcRxvUlw/smU0NNDESjSAFZtwyd4SglPRiEaR99PpvEgW\nuZRWyBTSlejr4q9H3YxL4yERxSxnL0PMonaSdCD4RqzuNcTyejXlJJbQptOV\nHrMOGP2KppkW8OV3MU/6HD7h9wiWcI8EtZvwBiHe5zlNiMTKYwKM2UyHebqm\nrQ00AxfYqJZZnr6+sPs/uIG5wkDSTTTJr9WbVlMBiVlo+EvKeDBH7AftffQR\nU5sc5AhN/TSUO+Lx52UUFgyB/Df+uE6gTYQE7TFYevSUizSm7k/wgCOfvcQ1\nztvhvIujy6P2PxcT7trNnOLOODIFnPBD9l9nO/Kap0DLUW8zz40hlebMwoxi\nk2B1Kb8zZiiY8V4MsDumZ5zVA2PIiG3HhE+T2dvuyImdCq5AdkK4TS3RdWTE\nd+IBHfXchon7ByJ01+PEX5GXaNOpgeuCM4zC+ppK7UWf8Ld9RUt1SP7Y1Ydx\nM6P5N10h2B1hGqzOSm3SgLq0w1zcExHLjBovuuMr49gPaDFCZpMrZiXE1iZq\nHwOeCYY2nCGwGxxHOQU9AOZZrjvzF8aHDY4XI4GDrFFgBDWxQRyBJApOfABa\nDYyQ\r\n=tHcC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/lib/index","type":"commonjs","types":"./dist/lib/index.d.ts","module":"./dist/lib/index.mjs","engines":{"node":">= 10.x"},"exports":{".":{"import":"./dist/lib/index.mjs","default":"./dist/lib/index.js","require":"./dist/lib/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"bc4d17de44ecdd85d344e0129ed5bcea0c95c5f8","scripts":{"repl":"command -v rlwrap >/dev/null && rlwrap npx -p @babel/core -p @babel/node babel-node","test":"BABEL_ENV=test jest --coverage","build":"npm run clean && NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name main && NODE_ENV=esm babel src --extensions .ts --out-dir dist/lib --out-file-extension .mjs","clean":"rm -rf dist npm.pipe coverage external-scripts/bin","fixup":"npm run check-types && npm run test && npx npm-force-resolutions && npx Xunnamius/sort-package-json && npm run build-docs && npm audit","build-docs":"rm -rf tmp-docs tmp-docs-diff docs-diff && typedoc --plugin typedoc-plugin-markdown --out tmp-docs --readme none --mode library src/index.ts && find tmp-docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find tmp-docs -name '*.md' -exec sed -i -e 's/__namedParameters/\\(destructured\\)/g' {} + && sed -i -e 1,4d tmp-docs/README.md && if [ ! -d docs ]; then mv tmp-docs docs; exit $?; fi && cp -rf tmp-docs tmp-docs-diff && cp -rf docs docs-diff && find docs-diff -name '*.md' -exec sed -i '/^\\*Defined in \\[.*\\]\\(.*\\)\\*$/d' {} + && find tmp-docs-diff -name '*.md' -exec sed -i '/^\\*Defined in \\[.*\\]\\(.*\\)\\*$/d' {} +; [ $? -ne 0 ] && echo 'build failed (try `npm run check-types`)' && rm -rf tmp-docs tmp-docs-diff docs-diff && exit 1; if [ \"$(find ./docs-diff -type f -print0 | xargs -0 sha1sum | awk '{print $1}' | sha1sum)\" = \"$(find ./tmp-docs-diff -type f -print0 | xargs -0 sha1sum | awk '{print $1}' | sha1sum)\" ]; then echo 'no rebuild necessary'; else rm -r docs && mv tmp-docs docs && echo 'build successful'; fi; rm -rf tmp-docs tmp-docs-diff docs-diff","list-tasks":"npm run","build-stats":"NODE_ENV=production webpack --config-name main --json > bundle-stats.json","check-types":"rm -f npm.pipe; touch npm.pipe; command -v unbuffer >/dev/null; X=$?; [ $X -eq 0 ] && unbuffer tsc --project tsconfig.check-types.json >> npm.pipe; Y=$?; [ $Y -eq 0 ] && echo >> npm.pipe; unbuffer eslint --parser-options=project:tsconfig.check-types.json src >> npm.pipe; Z=$?; [ $X -ne 0 ] && tsc --project tsconfig.check-types.json >> npm.pipe && eslint --parser-options=project:tsconfig.check-types.json src >> npm.pipe; W=$?; cat npm.pipe | less -R -FX; rm npm.pipe; [ $W -eq 0 ] && [ $X -eq 1 ] || [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","postpublish":"npm run clean","prepublishOnly":"npm run build","build-externals":"NODE_ENV=external webpack --config-name externals"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"6.14.8","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"resolutions":{"node-fetch":"2.6.1","object-path":"0.11.5"},"sideEffects":false,"_nodeVersion":"14.14.0","dependencies":{"next":"9.5.5","test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.1","dotenv":"^8.2.0","eslint":"^7.12.0","mongodb":"^3.6.2","shelljs":"^0.8.4","typedoc":"0.17.0-3","webpack":"^4.44.2","@babel/cli":"^7.12.1","babel-jest":"^26.6.1","typescript":"^4.0.3","@babel/core":"^7.12.3","@types/jest":"^26.0.15","@types/node":"^14.14.2","jest-circus":"^26.6.1","webpack-cli":"^3.3.12","babel-eslint":"^10.1.0","babel-loader":"^8.1.0","@octokit/rest":"^18.0.6","jest-extended":"^0.11.5","@types/mongodb":"^3.5.31","@types/shelljs":"^0.8.8","dotenv-webpack":"^4.0.0","edit-json-file":"^1.5.0","@babel/preset-env":"^7.12.1","find-package-json":"^1.2.0","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.1.0","source-map-support":"^0.5.19","eslint-plugin-import":"^2.22.1","@types/edit-json-file":"^1.4.0","isomorphic-json-fetch":"^1.0.13","npm-force-resolutions":"0.0.3","webpack-node-externals":"^2.5.2","typedoc-plugin-markdown":"^3.0.11","@babel/preset-typescript":"^7.12.1","@types/find-package-json":"^1.1.1","@typescript-eslint/parser":"^4.5.0","mongodb-client-encryption":"^1.1.0","webpack-node-module-types":"^1.0.3","eslint-import-resolver-alias":"^1.1.2","babel-plugin-source-map-support":"^2.1.3","@typescript-eslint/eslint-plugin":"^4.5.0","eslint-import-resolver-typescript":"^2.3.0","babel-plugin-transform-mjs-imports":"^1.0.0","@babel/plugin-proposal-function-bind":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.0.10_1603523704271_0.5211721788982868","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"next-test-api-route-handler","version":"1.1.0","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.1.0","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"91b3e887a2382af4334bbfac721c855c5252eb8d","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.1.0.tgz","fileCount":7,"integrity":"sha512-vg1MKRX/vf25yWhEwhnRo09PYJOLpAHpRoWXIZH4AphovM63/f5ZbkG3N2HoKjXTgOR5q+ZGnyjKsd7QLmK6XQ==","signatures":[{"sig":"MEUCICqVfFHMStx6h+xa3gDhHi3Y9A0kO8i8Scpz9W8ANI6/AiEA2LKdFXywjliuyy4wHVElJ3hqeOFejnuXNkqzlxXr354=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":34077,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvsR2CRA9TVsSAnZWagAAAOgP/3XYQo9+najKgW0JHFmg\nkeG7BRPyoUjytXfX7nneuQzML6J6sHtBLLrWsM8Ogi+wcpN2Vx26HJLcr/HS\n2neO6xKxX+RJu7ifmV+PCVICxMpH04+m16zfsXkcvxUlsC3cUGvxrauwtPyx\nXZ+MDrQ+AdVGomZDepATHsMBm47+9E9am2g5bpBWs003INYVhOAIWzLK1G3K\nxaitIJnnyJmvllpAvj05gT9BUoF1+q+gyqbf1Or5Zc55CsBQMzoli9SZ148V\nPvX7I4izC30xYpDBv3n6ZKkRjhK/9kwCKhHA5NA7ZRc1fm+cTMtNqPeMyDhg\nLfPyj+6LCKWHEUCNuPDhz/N0XiHxTjbto+uqxHQkHcYm4IH3GvyEThlIBVEx\nOasjXbALvgPbmkOPScbYZVvxgVfdPInigSrYx1YYS4fQ1GbaD0b40+0+RR/H\nNdZb3XlJmYwclzbcHqzi4RMRexT/eZvS7Az7L8mk+fR1K+oVN4bfUzvpBED0\nMud7vDCWpvJnUea83FjNp2zq5QFoFSLzB9nG6L94BoDh0od81kHxshuu+fgk\n7iuk5YZYTaQRkZdtVZiXJVRy2mI9S8c1zoj0oozSr+ttztuuZrCmRR6gPcQg\nukcjcWsHjAM43Qcz1H7MP2ZOUkrZR3Iu3upFxYDWoNur8l+z9EK1YxUm4DHs\nHw1Y\r\n=4XAm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/lib/index","type":"commonjs","types":"./dist/lib/index.d.ts","module":"./dist/lib/index.mjs","engines":{"node":">= 10.x"},"exports":{".":{"import":"./dist/lib/index.mjs","default":"./dist/lib/index.js","require":"./dist/lib/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"41d7fc08086a4ceb5681a172213a7eeae9dc3b19","scripts":{"repl":"command -v rlwrap >/dev/null && rlwrap npx -p @babel/core -p @babel/node babel-node","test":"BABEL_ENV=test jest --coverage","build":"npm run clean && NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name main && NODE_ENV=esm babel src --extensions .ts --out-dir dist/lib --out-file-extension .mjs","clean":"rm -rf dist npm.pipe coverage external-scripts/bin","fixup":"npm run check-types && npm run test && npx npm-force-resolutions && npx Xunnamius/sort-package-json && npm run build-docs && npm audit","build-docs":"rm -rf tmp-docs tmp-docs-diff docs-diff && typedoc --plugin typedoc-plugin-markdown --out tmp-docs --readme none --mode library src/index.ts && find tmp-docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find tmp-docs -name '*.md' -exec sed -i -e 's/__namedParameters/\\(destructured\\)/g' {} + && sed -i -e 1,4d tmp-docs/README.md && if [ ! -d docs ]; then mv tmp-docs docs; exit $?; fi && cp -rf tmp-docs tmp-docs-diff && cp -rf docs docs-diff && find docs-diff -name '*.md' -exec sed -i '/^\\*Defined in \\[.*\\]\\(.*\\)\\*$/d' {} + && find tmp-docs-diff -name '*.md' -exec sed -i '/^\\*Defined in \\[.*\\]\\(.*\\)\\*$/d' {} +; [ $? -ne 0 ] && echo 'build failed (try `npm run check-types`)' && rm -rf tmp-docs tmp-docs-diff docs-diff && exit 1; if [ \"$(find ./docs-diff -type f -print0 | xargs -0 sha1sum | awk '{print $1}' | sha1sum)\" = \"$(find ./tmp-docs-diff -type f -print0 | xargs -0 sha1sum | awk '{print $1}' | sha1sum)\" ]; then echo 'no rebuild necessary'; else rm -r docs && mv tmp-docs docs && echo 'build successful'; fi; rm -rf tmp-docs tmp-docs-diff docs-diff","list-tasks":"npm run","build-stats":"NODE_ENV=production webpack --config-name main --json > bundle-stats.json","check-types":"rm -f npm.pipe; touch npm.pipe; command -v unbuffer >/dev/null; X=$?; [ $X -eq 0 ] && unbuffer tsc --project tsconfig.check-types.json >> npm.pipe; Y=$?; [ $Y -eq 0 ] && echo >> npm.pipe; unbuffer eslint --parser-options=project:tsconfig.check-types.json src >> npm.pipe; Z=$?; [ $X -ne 0 ] && tsc --project tsconfig.check-types.json >> npm.pipe && eslint --parser-options=project:tsconfig.check-types.json src >> npm.pipe; W=$?; cat npm.pipe | less -R -FX; rm npm.pipe; [ $W -eq 0 ] && [ $X -eq 1 ] || [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","postpublish":"npm run clean","prepublishOnly":"npm run build","build-externals":"NODE_ENV=external webpack --config-name externals"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"6.14.8","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"14.15.1","dependencies":{"test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","dotenv":"^8.2.0","eslint":"^7.14.0","mongodb":"^3.6.3","shelljs":"^0.8.4","typedoc":"0.17.0-3","webpack":"^5.6.0","@babel/cli":"^7.12.8","babel-jest":"^26.6.3","typescript":"^4.1.2","@babel/core":"^7.12.9","@types/jest":"^26.0.15","@types/node":"^14.14.10","jest-circus":"^26.6.3","webpack-cli":"^4.2.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.1","@octokit/rest":"^18.0.9","jest-extended":"^0.11.5","@types/mongodb":"^3.5.34","@types/shelljs":"^0.8.8","dotenv-webpack":"^6.0.0","edit-json-file":"^1.5.0","@babel/preset-env":"^7.12.7","find-package-json":"^1.2.0","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.1.3","source-map-support":"^0.5.19","eslint-plugin-import":"^2.22.1","@types/edit-json-file":"^1.4.0","isomorphic-json-fetch":"^1.0.13","npm-force-resolutions":"0.0.3","webpack-node-externals":"^2.5.2","typedoc-plugin-markdown":"^3.0.11","@babel/preset-typescript":"^7.12.7","@types/find-package-json":"^1.1.1","@typescript-eslint/parser":"^4.8.2","mongodb-client-encryption":"^1.1.0","webpack-node-module-types":"^1.0.4","eslint-import-resolver-alias":"^1.1.2","babel-plugin-source-map-support":"^2.1.3","@typescript-eslint/eslint-plugin":"^4.8.2","eslint-import-resolver-typescript":"^2.3.0","babel-plugin-transform-mjs-imports":"^1.0.1","@babel/plugin-proposal-function-bind":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1"},"peerDependencies":{"next":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.1.0_1606337653919_0.17169683943023517","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"next-test-api-route-handler","version":"1.1.1","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.1.1","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"d58b098a9d9e010585b8a4bc3e43d346c9134e9c","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.1.1.tgz","fileCount":7,"integrity":"sha512-0YcOlnrmJTsWHXHeAr5H1b8vUMFWEZzSu6vSeYZXQTxmU/fre6P+1YmHOMt9I/B1ODp10galDYyZynCRui0eow==","signatures":[{"sig":"MEUCIQC01Xy23bamu6veijBSJ46kQtavIaWqKQnT5IUM8NdP5AIgGPIsMakuCNmBOjl5HolCXg93V0k0viGtIq8JXJ5zUTw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33046,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfv+NvCRA9TVsSAnZWagAAwzYP/2qkHjQpie3Zb46j9XQy\nWXZoToWhGRmzltnkKBqu43od671cW4zese/Ob0bR8+09kprTfBdMaRjOCqIZ\nw2iwE5sjY5ywtMJJDKfHmp62FLAApvoeMtuU1Zoo5d21KMyWq+mPxuPoR9H7\nreofYm4I8rDu6/55BIyCrYX9Qe3RgI7vi1MZIyy/0HK32B4KHmDato25zr8g\ncyhF48l5nRzZxUvsxj7UhFX4+/yZZLEi1ayhSl39lbaytSEa9o+onSULCZ8z\nl9M3bQQ1o+nz44oC4aJwxARECrbQ11WN7CAUK3QGe4E4ytv9NfW5qk0jC0nM\nXY4IaZ9mB+cuwyoBMNyC9qWCXXC7zFU3A6j1bVG4892OA3IeVcqoT25w2Clt\nhuw5Wg6TuQK6iqnHSyRYCk0FId1xyQ9lMiobwWZ3bIJi9/sRNIxk8xYQjC5u\n5YKa2OoASTLlaiydCxUu2txWUUVHKauCy6dQnh4VYJJImob1g1fsCAu3TFSL\n/cMHwVyUMvRoop0UWxW4cfvxTvJracU6fNlSQJSfLS6ZuKagLQKrKOnyirqm\nZBaux3/LsrVRclx23rmS/uu0ONhPngxU94tYX1yklpfhbT0D6eeWShQs60OO\nl/MAdM01F5KjRkENhnk9g5/kyLVmlH06XbBOB1JGTjqjw7yqbyDG8LIGsx6v\nAqFM\r\n=APYu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/lib/index","type":"commonjs","types":"./dist/lib/index.d.ts","module":"./dist/lib/index.mjs","engines":{"node":">=10.x"},"exports":{".":{"import":"./dist/lib/index.mjs","default":"./dist/lib/index.js","require":"./dist/lib/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"8ba42ea5cca7942c0db17f908d7adcf5604f5f93","scripts":{"lint":"rm -f npm.pipe; touch npm.pipe; command -v unbuffer >/dev/null; X=$?; [ $X -eq 0 ] && unbuffer tsc --project tsconfig.lint.json >> npm.pipe; Y=$?; [ $Y -eq 0 ] && echo >> npm.pipe; unbuffer eslint --parser-options=project:tsconfig.lint.json src >> npm.pipe; Z=$?; [ $X -ne 0 ] && tsc --project tsconfig.lint.json >> npm.pipe && eslint --parser-options=project:tsconfig.lint.json src >> npm.pipe; W=$?; cat npm.pipe | less -R -FX; rm npm.pipe; [ $W -eq 0 ] && [ $X -eq 1 ] || [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","repl":"command -v rlwrap >/dev/null && rlwrap npx -p @babel/core -p @babel/node babel-node","test":"npm run test-unit --","build":"npm run build-dist --","clean":"rm -rf dist npm.pipe coverage external-scripts/bin","test-unit":"BABEL_ENV=test jest --coverage --collectCoverageFrom 'src/**/*.ts' --collectCoverageFrom 'lib/**/*.ts' --testPathIgnorePatterns test/integration-*.test.ts","build-dist":"npm run clean && NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name main && NODE_ENV=esm babel src --extensions .ts --out-dir dist/lib --out-file-extension .mjs","build-docs":"rm -rf tmp-docs tmp-docs-diff docs-diff && typedoc --plugin typedoc-plugin-markdown --out tmp-docs --readme none --mode library src/index.ts && find tmp-docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find tmp-docs -name '*.md' -exec sed -i -e 's/__namedParameters/\\(destructured\\)/g' {} + && sed -i -e 1,4d tmp-docs/README.md && if [ ! -d docs ]; then mv tmp-docs docs; exit $?; fi && cp -rf tmp-docs tmp-docs-diff && cp -rf docs docs-diff && find docs-diff -name '*.md' -exec sed -i '/^\\*Defined in \\[.*\\]\\(.*\\)\\*$/d' {} + && find tmp-docs-diff -name '*.md' -exec sed -i '/^\\*Defined in \\[.*\\]\\(.*\\)\\*$/d' {} +; [ $? -ne 0 ] && echo 'build failed (try `npm run lint`)' && rm -rf tmp-docs tmp-docs-diff docs-diff && exit 1; if [ \"$(find ./docs-diff -type f -print0 | xargs -0 sha1sum | awk '{print $1}' | sha1sum)\" = \"$(find ./tmp-docs-diff -type f -print0 | xargs -0 sha1sum | awk '{print $1}' | sha1sum)\" ]; then echo 'no rebuild necessary'; else rm -r docs && mv tmp-docs docs && echo 'build successful'; fi; rm -rf tmp-docs tmp-docs-diff docs-diff","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --config-name main --json > bundle-stats.json","postpublish":"npm run clean","prepublishOnly":"npm run build","build-externals":"NODE_ENV=external webpack --config-name externals","test-integration":"npm run list-tasks | grep -e '^test-integration-' | xargs -n1 npm run","test-integration-externals":"BABEL_ENV=test jest --coverage --collectCoverageFrom 'external-scripts/**/*.ts' test/integration-externals*.test.ts"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"7.0.14","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"14.15.1","dependencies":{"test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","dotenv":"^8.2.0","eslint":"^7.14.0","mongodb":"^3.6.3","shelljs":"^0.8.4","typedoc":"0.17.0-3","webpack":"^5.7.0","@babel/cli":"^7.12.8","babel-jest":"^26.6.3","typescript":"^4.1.2","@babel/core":"^7.12.9","@types/jest":"^26.0.15","@types/node":"^14.14.10","jest-circus":"^26.6.3","webpack-cli":"^4.2.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.1","@octokit/rest":"^18.0.9","jest-extended":"^0.11.5","@types/mongodb":"^3.5.34","@types/shelljs":"^0.8.8","dotenv-webpack":"^6.0.0","edit-json-file":"^1.5.0","@babel/preset-env":"^7.12.7","find-package-json":"^1.2.0","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.1.3","source-map-support":"^0.5.19","eslint-plugin-import":"^2.22.1","@types/edit-json-file":"^1.4.0","isomorphic-json-fetch":"^1.0.13","npm-force-resolutions":"0.0.3","webpack-node-externals":"^2.5.2","typedoc-plugin-markdown":"^3.0.11","@babel/preset-typescript":"^7.12.7","@types/find-package-json":"^1.1.1","@typescript-eslint/parser":"^4.8.2","webpack-node-module-types":"^1.0.4","eslint-import-resolver-alias":"^1.1.2","babel-plugin-source-map-support":"^2.1.3","@typescript-eslint/eslint-plugin":"^4.8.2","eslint-import-resolver-typescript":"^2.3.0","babel-plugin-transform-mjs-imports":"^1.0.1","@babel/plugin-proposal-function-bind":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1"},"peerDependencies":{"next":">=9.5.x"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.1.1_1606411118708_0.6183759956062453","host":"s3://npm-registry-packages"}},"1.1.2":{"name":"next-test-api-route-handler","version":"1.1.2","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.1.2","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"fbb30d685e250208acf69343d0f43fd97a9a3d33","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.1.2.tgz","fileCount":7,"integrity":"sha512-cmpQ01K4xJFny1+s5ipez+4xDOlDfjeMkjxOg6EGmZk+bfrz2wVsJErU2smTPUfRWJEYOJgsFHnCYujlESoU0g==","signatures":[{"sig":"MEUCIGQqZSbjcGUMj3b6iw04u1IeUNuuQJmQpk6b7uQQDPEmAiEA1yueXYQ5UGf/zKJIYeDek+HJ1RSDuc8Vkdb2zfuBjPQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32909,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfv+yVCRA9TVsSAnZWagAAYqsQAKSOdRAur+D9vI12UA+x\nfrbAPNq/FhSo/oRZYom5+3xBDnc7+zt5r1ejJsf1sd7exOZ9LPP3Kf/sdY6W\nraYLtcWwqMxyk1wK4DCl7v+DRROrsXXAvTyiWYRlenG/N8VQWwMvthONb6Ik\nIvO4xpLxtJIUBD07adZ6WpcrKBNJUSvu4zQ/KSEnjJmM+5nzI0qKpYvzSFuE\nEHPmOW0JGzwT65m1U04dFn3Nfj8zhWHG5kyE1aRQTmw4Y7c+wqvbJ6iNEJS+\nCNiTcYs9zIxiw2xRC9fek8ce8atTk5AU1Bl9rIR3/bX7YZhXgus4ywsaI8dq\nSUu/H1+0atJ+U3B8b4NRZWVwzWG7Ch0epB1I34rcTCM0s7XCgfqcPXft82BZ\n3RT9k5nJIZtQaTiJo4mvFopLiWFhSZKit3Jx7URFh8YvHe2yQ7ziwJZ9qofQ\ncjfhDWBlwk4Lw+fxzWlezVN+xuCLnz66IbzagnW3yDQsgZLkJ0dkTcXgNlnR\n2cn6GUtb0+xwbE2aoq4X7V8r3wN8fLBpiTxLsHPA+E8TT0BqayzTSx9YmPYq\nZRSLqwbK59O2d9m7vImyRTftfLsSolQILryAkpdsL6HMYI2G5LQNBe8uup6I\nSbRPA2efP6HJ+6bfCQvcHudfYezOzx93+EJjQZw+WZ9lS+NARPa5Rk1ZPe6z\ndx3m\r\n=bWnp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/lib/index","type":"commonjs","types":"./dist/lib/index.d.ts","module":"./dist/lib/index.mjs","engines":{"node":">=10.x"},"exports":{".":{"import":"./dist/lib/index.mjs","default":"./dist/lib/index.js","require":"./dist/lib/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"ad0dd21f62e9fb3defeed2c2ea4b38be0651c94d","scripts":{"lint":"rm -f npm.pipe; touch npm.pipe; command -v unbuffer >/dev/null; X=$?; [ $X -eq 0 ] && unbuffer tsc --project tsconfig.lint.json >> npm.pipe; Y=$?; [ $Y -eq 0 ] && echo >> npm.pipe; unbuffer eslint --parser-options=project:tsconfig.lint.json src >> npm.pipe; Z=$?; [ $X -ne 0 ] && tsc --project tsconfig.lint.json >> npm.pipe && eslint --parser-options=project:tsconfig.lint.json src >> npm.pipe; W=$?; cat npm.pipe | less -R -FX; rm npm.pipe; [ $W -eq 0 ] && [ $X -eq 1 ] || [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","repl":"command -v rlwrap >/dev/null && rlwrap npx -p @babel/core -p @babel/node babel-node","test":"npm run test-unit --","build":"npm run build-dist --","clean":"rm -rf dist npm.pipe coverage external-scripts/bin","test-unit":"BABEL_ENV=test jest --coverage --collectCoverageFrom 'src/**/*.ts' --collectCoverageFrom 'lib/**/*.ts' --testPathIgnorePatterns test/integration-*.test.ts","build-dist":"npm run clean && NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name main && NODE_ENV=esm babel src --extensions .ts --out-dir dist/lib --out-file-extension .mjs","build-docs":"rm -rf tmp-docs tmp-docs-diff docs-diff && typedoc --plugin typedoc-plugin-markdown --out tmp-docs --readme none --mode library src/index.ts && find tmp-docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find tmp-docs -name '*.md' -exec sed -i -e 's/__namedParameters/\\(destructured\\)/g' {} + && sed -i -e 1,4d tmp-docs/README.md && if [ ! -d docs ]; then mv tmp-docs docs; exit $?; fi && cp -rf tmp-docs tmp-docs-diff && cp -rf docs docs-diff && find docs-diff -name '*.md' -exec sed -i '/^\\*Defined in \\[.*\\]\\(.*\\)\\*$/d' {} + && find tmp-docs-diff -name '*.md' -exec sed -i '/^\\*Defined in \\[.*\\]\\(.*\\)\\*$/d' {} +; [ $? -ne 0 ] && echo 'build failed (try `npm run lint`)' && rm -rf tmp-docs tmp-docs-diff docs-diff && exit 1; if [ \"$(find ./docs-diff -type f -print0 | xargs -0 sha1sum | awk '{print $1}' | sha1sum)\" = \"$(find ./tmp-docs-diff -type f -print0 | xargs -0 sha1sum | awk '{print $1}' | sha1sum)\" ]; then echo 'no rebuild necessary'; else rm -r docs && mv tmp-docs docs && echo 'build successful'; fi; rm -rf tmp-docs tmp-docs-diff docs-diff","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --config-name main --json > bundle-stats.json","postpublish":"npm run clean","prepublishOnly":"npm run build","build-externals":"NODE_ENV=external webpack --config-name externals","test-integration":"npm run list-tasks | grep -e '^test-integration-' | xargs -n1 npm run","test-integration-externals":"BABEL_ENV=test jest --coverage --collectCoverageFrom 'external-scripts/**/*.ts' test/integration-externals*.test.ts"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"7.0.14","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"14.15.1","dependencies":{"test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","dotenv":"^8.2.0","eslint":"^7.14.0","mongodb":"^3.6.3","shelljs":"^0.8.4","typedoc":"0.17.0-3","webpack":"^5.7.0","@babel/cli":"^7.12.8","babel-jest":"^26.6.3","typescript":"^4.1.2","@babel/core":"^7.12.9","@types/jest":"^26.0.15","@types/node":"^14.14.10","jest-circus":"^26.6.3","webpack-cli":"^4.2.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.1","@octokit/rest":"^18.0.9","jest-extended":"^0.11.5","@types/mongodb":"^3.5.34","@types/shelljs":"^0.8.8","dotenv-webpack":"^6.0.0","edit-json-file":"^1.5.0","@babel/preset-env":"^7.12.7","find-package-json":"^1.2.0","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.1.3","source-map-support":"^0.5.19","eslint-plugin-import":"^2.22.1","@types/edit-json-file":"^1.4.0","isomorphic-json-fetch":"^1.0.13","npm-force-resolutions":"0.0.3","webpack-node-externals":"^2.5.2","typedoc-plugin-markdown":"^3.0.11","@babel/preset-typescript":"^7.12.7","@types/find-package-json":"^1.1.1","@typescript-eslint/parser":"^4.8.2","webpack-node-module-types":"^1.0.4","eslint-import-resolver-alias":"^1.1.2","babel-plugin-source-map-support":"^2.1.3","@typescript-eslint/eslint-plugin":"^4.8.2","eslint-import-resolver-typescript":"^2.3.0","babel-plugin-transform-mjs-imports":"^1.0.1","@babel/plugin-proposal-function-bind":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1"},"peerDependencies":{"next":">=9.5.x"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.1.2_1606413461259_0.39934276298251326","host":"s3://npm-registry-packages"}},"1.1.3":{"name":"next-test-api-route-handler","version":"1.1.3","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.1.3","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"c63fae2052e26c559184efacb5dceecc2b179da7","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.1.3.tgz","fileCount":7,"integrity":"sha512-ntO9ye7LufMdssoQc8HaYTqK8BY0RoCZYugtCKi39S0vn0vVGLZvWjQYedmkCi8VpfaHXiiVA0B6ijLPx4dZWA==","signatures":[{"sig":"MEUCIHEjfzPfsnpCQFQHhg5h3umvEJSX32Zyqnk8x/VejAboAiEAhY1TbvpVCnkiLmiU774s3tNNV8tGAKHj+PrstlsHWUc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32873,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfzCnQCRA9TVsSAnZWagAAVVgQAIu4G0w5sVVw3vVyhHmA\nyPb14US7sdziDim+dXF8kubtCcfa1ky8QvSH/7ygmW4TlbO6SSDT2oMgxSWY\nzk7P0bBII8A8GwxIJvMij2L6f2tdEfLgW2z46MMl7nEDEvzT5r3CUFjf4U7C\nK87hbfnBfZsY37cE/XUp65wVazIhfuSTYHKLt9rnyjelzI1+YV2FuH0UDslw\nBdKwe89KQB4tzB3aF3hg1NNurEjvT+ev264sySkJ0Hi5qYfgr5JoKO+yh9Lu\npEvA5+QAl1EYtCHGXvEeBbHfTk/DG5eoj5fp00/3bSRRAvQvsytiMciRYzbm\n9IH8Q3gAOxyMRoJOLrBbDp3q1fpQEb68IaJ9DPh0yPWV1yDS35mYRNCCQ5RN\noAda4kWaGWQkMR4X/zbWlDjifed5fQZDMMkar5sHKlLfBLGZe1WXaEsDTfF9\ngcrUTO2BdtTNeQnEycpRDtrPfnVojc/4E7s92uEYq92qSZVOH1bCwOjG6YZY\nPPxb+q8AOI4D9ESU1f8elrLdbBVy17pZzKSv2CXOQBDFgoTNMUbZJKpcugyL\nOxnFExXVpKBBz4C7zUhRXYa+HZOXe5HtlgSUoYXozZfR9DU0masNoH3z2StA\nGrFPCdAhPLSI06ZSyYWPsEuEq3s4tLDYp+/A9CKLnlaOzF0VhZaQeQvGygtX\n732s\r\n=ln6H\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/lib/index","type":"commonjs","types":"./dist/lib/index.d.ts","module":"./dist/lib/index.mjs","engines":{"node":">=10.x"},"exports":{".":{"import":"./dist/lib/index.mjs","default":"./dist/lib/index.js","require":"./dist/lib/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"813b21ad1e2c78594903b3a8f504f4460d8e506e","scripts":{"lint":"rm -f npm.pipe; touch npm.pipe; command -v unbuffer >/dev/null; X=$?; [ $X -eq 0 ] && unbuffer tsc --project tsconfig.lint.json >> npm.pipe; Y=$?; [ $Y -eq 0 ] && echo >> npm.pipe; unbuffer eslint --parser-options=project:tsconfig.lint.json src >> npm.pipe; Z=$?; [ $X -ne 0 ] && tsc --project tsconfig.lint.json >> npm.pipe && eslint --parser-options=project:tsconfig.lint.json src >> npm.pipe; W=$?; cat npm.pipe | less -R -FX; rm npm.pipe; [ $W -eq 0 ] && [ $X -eq 1 ] || [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","repl":"command -v rlwrap >/dev/null && rlwrap npx -p @babel/core -p @babel/node babel-node","test":"npm run test-unit --","build":"npm run build-dist --","clean":"rm -rf dist npm.pipe coverage external-scripts/bin","test-unit":"BABEL_ENV=test jest --coverage --collectCoverageFrom 'src/**/*.ts' --collectCoverageFrom 'lib/**/*.ts' --testPathIgnorePatterns test/integration-*.test.ts","build-dist":"npm run clean && NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name main && NODE_ENV=esm babel src --extensions .ts --out-dir dist/lib --out-file-extension .mjs","build-docs":"rm -rf tmp-docs tmp-docs-diff docs-diff && typedoc --plugin typedoc-plugin-markdown --out tmp-docs --readme none --mode library src/index.ts && find tmp-docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find tmp-docs -name '*.md' -exec sed -i -e 's/__namedParameters/\\(destructured\\)/g' {} + && sed -i -e 1,4d tmp-docs/README.md && if [ ! -d docs ]; then mv tmp-docs docs; exit $?; fi && cp -rf tmp-docs tmp-docs-diff && cp -rf docs docs-diff && find docs-diff -name '*.md' -exec sed -i '/^\\*Defined in \\[.*\\]\\(.*\\)\\*$/d' {} + && find tmp-docs-diff -name '*.md' -exec sed -i '/^\\*Defined in \\[.*\\]\\(.*\\)\\*$/d' {} +; [ $? -ne 0 ] && echo 'build failed (try `npm run lint`)' && rm -rf tmp-docs tmp-docs-diff docs-diff && exit 1; if [ \"$(find ./docs-diff -type f -print0 | xargs -0 sha1sum | awk '{print $1}' | sha1sum)\" = \"$(find ./tmp-docs-diff -type f -print0 | xargs -0 sha1sum | awk '{print $1}' | sha1sum)\" ]; then echo 'no rebuild necessary'; else rm -r docs && mv tmp-docs docs && echo 'build successful'; fi; rm -rf tmp-docs tmp-docs-diff docs-diff","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --config-name main --json > bundle-stats.json","postpublish":"npm run clean","prepublishOnly":"npm run build","build-externals":"NODE_ENV=external webpack --config-name externals","test-integration":"npm run list-tasks | grep -e '^test-integration-' | xargs -n1 npm run","test-integration-externals":"BABEL_ENV=test jest --coverage --collectCoverageFrom 'external-scripts/**/*.ts' test/integration-externals*.test.ts"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"7.0.14","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"14.15.1","dependencies":{"test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.6.3","dotenv":"^8.2.0","eslint":"^7.15.0","mongodb":"^3.6.3","shelljs":"^0.8.4","typedoc":"beta","webpack":"^5.10.0","@babel/cli":"^7.12.8","babel-jest":"^26.6.3","typescript":"^4.1.2","@babel/core":"^7.12.9","@types/jest":"^26.0.16","@types/node":"^14.14.10","jest-circus":"^26.6.3","webpack-cli":"^4.2.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","@octokit/rest":"^18.0.12","jest-extended":"^0.11.5","@types/mongodb":"^3.6.1","@types/shelljs":"^0.8.8","dotenv-webpack":"^6.0.0","edit-json-file":"^1.5.0","@babel/preset-env":"^7.12.7","find-package-json":"^1.2.0","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.1.3","source-map-support":"^0.5.19","eslint-plugin-import":"^2.22.1","@types/edit-json-file":"^1.4.0","isomorphic-json-fetch":"^1.0.13","npm-force-resolutions":"0.0.3","webpack-node-externals":"^2.5.2","typedoc-plugin-markdown":"^3.0.11","@babel/preset-typescript":"^7.12.7","@types/find-package-json":"^1.1.1","@typescript-eslint/parser":"^4.9.0","webpack-node-module-types":"^1.0.4","eslint-import-resolver-alias":"^1.1.2","babel-plugin-source-map-support":"^2.1.3","@typescript-eslint/eslint-plugin":"^4.9.0","eslint-import-resolver-typescript":"^2.3.0","babel-plugin-transform-mjs-imports":"^1.0.1","@babel/plugin-proposal-function-bind":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1"},"peerDependencies":{"next":">=9.5.x"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.1.3_1607215568213_0.7828152102135169","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"next-test-api-route-handler","version":"1.2.0","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.2.0","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"8eb782bf9fd3b24836bea05e40d42cb5b9c49fcf","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.2.0.tgz","fileCount":7,"integrity":"sha512-cR5BHFWLGyg18mZ1+qAwMed66dfSQ6GL+FaQlvYIxUjnpnnz/JGv7cM5NSAeYkL845OtDQVSigV4FDuvZiMrmA==","signatures":[{"sig":"MEYCIQDgOQN5bLv9H6ubdfeYbOBM7h4MbVJt8jVf0Zf6lI0b6wIhAOzef+7EUs30v0liCXGgKyL3woKnt6yrH4THJTCbuXXb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":35872,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9JQwCRA9TVsSAnZWagAA5d4QAJdptO/QDw5ohjFz/cZD\nUubDvxuhi9toFOZp5EltGL/NPb9FtrBjuKV0sdX2jgDzWo9sPe3t+jK27JZN\nNL3IyXARi67EHawq+KN3+M5oQDKDq/Sb5jnqXZXDOuB2JJIEw9rxz4cOTHIQ\nypAv5uxjqlWcRn3a9B6sV7MgdsdNbJY09sP0/H6fCDsiK/meUIF8cT1jgueF\nXZjvh2iQ6GSm6Nq5McxuQaUJl3xHLJCIbIV1g+MrDi5pAlvf4bglJjqvjFF7\nUZeJoXevhKLPgdBfXOqnWR/bPlvC/FIAi+OamwnugRpTa6Sl5yEePfDYYeuV\njVfx7+jbD2ATgTHbcIhJcGOh/Y5Tk+15H/UtJ1cXmq2kI1jZkC3wlF4NREkp\niFmnaGh5rMB5XyJKN7BuICoXKjNU720guIzWfdC/Fozn10Xe8VzW0TObb+As\n6tVEdSR0kvST62QyOt3V3QOgyTX6/3p6qzJ61tKZWbcDqtN6V4ilVkaOmbn+\nHJkD35qovDUCjxdHZkuDitDIhVmWF2nFUfAaQOVl3ANDwEbxTlvP+TZ8pRg6\nqNO1bqK9zp1XGSFewXLqYnGj0w+kguvPchfUyZ5rT0KqJmGyAmDgvoLQS+Jf\nrv7CjxJMNOwxjooPatZ/YwgiylNDrTonFfAXODzxr/YG7CFV4sah4IBCEC+v\njYz3\r\n=V2Cj\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":false,"testRunner":"jest-circus/runner","testTimeout":20000,"testEnvironment":"node","setupFilesAfterEnv":["./test/setup.ts"],"testPathIgnorePatterns":["/node_modules/"]},"main":"./dist/lib/index","type":"commonjs","types":"./dist/lib/index.d.ts","module":"./dist/lib/index.mjs","engines":{"node":">=10.x"},"exports":{".":{"import":"./dist/lib/index.mjs","default":"./dist/lib/index.js","require":"./dist/lib/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"d1d80c33c10ead458d35935748662cf5d60c4853","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --frail --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions .; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"rm -rf dist coverage external-scripts/bin","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter . && prettier --write .","test-unit":"if ! [ -z \"$INCLUDE_EXTERNALS\" ]; then X=; Y='--collectCoverageFrom'; Z='external-scripts/**/*.ts'; else X='test/unit-external*.test.ts'; Y=; Z=; fi; BABEL_ENV=test jest --coverage --collectCoverageFrom 'src/**/*.ts' --collectCoverageFrom 'lib/**/*.ts' $Y $Z --testPathIgnorePatterns test/integration-*.test.ts $X","build-dist":"npm run clean && NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name main && NODE_ENV=esm babel src --extensions .ts --out-dir dist/lib --out-file-extension .mjs && { echo -n '\"undefined\"!=typeof window&&(window.global=window);'; cat dist/lib/index.js; } > dist/lib/index.js-tmp && mv -f dist/lib/index.js-tmp dist/lib/index.js","build-docs":"typedoc --plugin typedoc-plugin-markdown --out docs --readme none src/index.ts && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find docs -name '*.md' -exec sed -i -e 's/__namedParameters/\\(destructured\\)/g' {} + && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --config-name main --json > bundle-stats.json","postinstall":"if [ -z \"$CI\" ]; then husky install; else echo 'skipped installing husky git hooks'; fi","build-changelog":"conventional-changelog --outfile CHANGELOG.md --preset angular --config .changelogrc.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./.changelogrc.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.tmp && mv CHANGELOG.md.tmp CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-integration":"npm run list-tasks | grep -e '^test-integration-' | xargs -n1 npm run","test-integration-node":"BABEL_ENV=test jest test/integration-node*.test.ts","test-integration-webpack":"BABEL_ENV=test jest test/integration-webpack*.test.ts","test-integration-externals":"BABEL_ENV=test jest test/integration-externals*.test.ts"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"prettier":{"semi":true,"tabWidth":2,"endOfLine":"lf","overrides":[{"files":"**/*.@(ts|?(@(c|m))js)?(x)","options":{"parser":"babel-ts","printWidth":90}}],"proseWrap":"always","printWidth":80,"singleQuote":true,"trailingComma":"none"},"commitlint":{"rules":{"type-enum":[2,"always",["feat","fix","docs","style","refactor","test","revert","debug","build","chore"]],"body-leading-blank":[2,"always"],"footer-leading-blank":[2,"always"]},"extends":["@commitlint/config-conventional"]},"env-expect":{"rules":[{"name":"^MONGODB_URI$","value":"^.*:\\/\\/.*\\/.*$","required":false,"errorMessage":"expected MONGODB_URI to be a valid Mongo connect URI with database name"},{"name":"^GITHUB_PAT$","value":"^[a-f0-9]*$","required":false,"errorMessage":"expected GITHUB_PAT to be undefined or a valid GitHub Personal Access Token"}],"errorMessage":"\nCopy the \".env.example\" file to \".env\" or define the appropriate repository secrets"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"6.14.10","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"lint-staged":{"*":"prettier --write --ignore-unknown","*.md":"remark -o --use reference-links --use gfm --use frontmatter","package.json":"sort-package-json"},"sideEffects":false,"_nodeVersion":"15.5.1","dependencies":{"test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","jest":"^26.6.3","debug":"^4.3.1","husky":"^5.0.4","dotenv":"^8.2.0","eslint":"^7.16.0","semver":"^7.3.4","mongodb":"^3.6.3","shelljs":"^0.8.4","typedoc":"0.20.7","webpack":"^5.11.1","prettier":"^2.2.1","puppeteer":"5.4.0","@babel/cli":"^7.12.10","babel-jest":"^26.6.3","remark-cli":"^9.0.0","remark-gfm":"^1.0.0","typescript":"^4.1.3","@babel/core":"^7.12.10","@types/jest":"^26.0.19","@types/node":"^14.14.16","jest-circus":"^26.6.3","lint-staged":"^10.5.3","test-listen":"^1.1.0","webpack-cli":"^4.3.0","@types/debug":"^4.1.5","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","spellchecker":"^3.7.1","@octokit/rest":"^18.0.12","@types/semver":"^7.3.4","jest-extended":"^0.11.5","@types/mongodb":"^3.6.1","@types/shelljs":"^0.8.8","@types/webpack":"^4.41.25","dotenv-webpack":"^6.0.0","edit-json-file":"^1.5.0","@commitlint/cli":"^11.0.0","@ergodark/types":"^1.0.16","text-extensions":"^2.3.0","unique-filename":"^1.1.1","@types/puppeteer":"^5.4.2","semantic-release":"github:Xunnamius/semantic-release#contrib-holistic","@babel/preset-env":"^7.12.11","find-package-json":"^1.2.0","sort-package-json":"github:Xunnamius/sort-package-json#contrib-env-expect","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.1.3","remark-frontmatter":"^3.0.0","source-map-support":"^0.5.19","escape-string-regexp":"^4.0.0","eslint-plugin-import":"^2.22.1","@semantic-release/git":"^9.0.0","@types/edit-json-file":"^1.4.0","npm-force-resolutions":"0.0.3","@semantic-release/exec":"^5.0.0","remark-reference-links":"^5.0.0","webpack-node-externals":"^2.5.2","@types/expect-puppeteer":"^4.4.5","typedoc-plugin-markdown":"3.2.1","@babel/preset-typescript":"^7.12.7","@types/find-package-json":"^1.1.1","@typescript-eslint/parser":"^4.11.1","confusing-browser-globals":"^1.0.10","remark-lint-final-newline":"^1.0.5","webpack-node-module-types":"^1.0.4","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^5.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^2.0.1","remark-lint-no-inline-padding":"^3.0.0","conventional-changelog-angular":"^5.0.12","@commitlint/config-conventional":"^11.0.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^4.11.1","eslint-import-resolver-typescript":"^2.3.0","remark-lint-no-unused-definitions":"^2.0.1","babel-plugin-transform-mjs-imports":"^1.0.1","remark-lint-no-undefined-references":"^3.0.0","@babel/plugin-proposal-function-bind":"^7.12.1","remark-lint-no-duplicate-definitions":"^2.0.1","remark-lint-no-heading-content-indent":"^3.0.0","remark-lint-ordered-list-marker-style":"^2.0.1","remark-lint-no-blockquote-without-marker":"^4.0.0","remark-lint-no-auto-link-without-protocol":"^2.0.1","@babel/plugin-proposal-export-default-from":"^7.12.1"},"peerDependencies":{"next":">=9.5.x"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.2.0_1609864240324_0.04521235845047644","host":"s3://npm-registry-packages"}},"1.2.1":{"name":"next-test-api-route-handler","version":"1.2.1","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.2.1","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"4767f0e640a4dc2ca15aca7fd94945bafc52fc7f","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.2.1.tgz","fileCount":7,"integrity":"sha512-J2mKVzx5kr/tqXmdcrGZpPG9rUur1qebZv+DZAHMgpHHEoATnCBxSGc2snTTHJrEuq6aJi5C5p1MJ8cObyq/Rw==","signatures":[{"sig":"MEUCIQDLCV1g8nEPKMluIgJeykvcJL/i1ZijW9osOlSY582vFQIgGTn3Foymx7Fmi4k1529qRe0eDh8+IvM5H1jM7XEyBCg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":35927,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9Jm7CRA9TVsSAnZWagAAYMIP/iN8doy6ZhPAU5g+gvqq\n46sLbrBj2b8hW5bsTFT2HeWwExGc//GXbN0XLTY7YkiAA7mhP6qqfnbeZE80\nZEDsKPdMpQSu9Mmpn3D7CdNW3Qy1gCoEq7FecOdL/ktlEfjsgHwt+CwZr4Dh\nOZrPW+L+aEVC41lnx1mOcYLChtnkovFug+MqSIhsCYO8lfOTjESlkt/Ad9ll\nIsNpuMKkzRbYwr7kL9cxN+QoQV9E4+ORbniZSaLmps82L4JwYkd6s4Uil5QY\nHoe5byalSQQ+w6xw8RTtzAxHyD0h+KObdxSu54+IFyldNq7DJNdha8BxgqTm\nRFEVMQh3FqByZ/DRGdNrz2D4IM9a92CKx9tbQ7UYbGontQT9ZEkdC8/L0+ql\n+jPwgBxPBa5+zSM+ZIt4DZhEOQdGBocVYw7YhWuG5fGJ+s5VZcRyPp2oNK0u\nYU5DnzRzLGweK2GouoVmZ+M/F+g4mwlTgoZwaX0D+fX5QzLs5I3Xip38XYqD\nSjkAPD3qgwL4igLWus1msl91Ua/aripLNkR8k00SfCpFJCvEsNKj4VVv4P8q\nLuNgAlFB09Dinglt3TjJb8Hx8Perh8cY4JrSSUqDe0eCpjyZTeSuVKTNiDnc\nkHKmpbGF8jCfrVBFmD4o4tLx0CQ4G44FwgJLbsw4ltVIovl5BiK10KjnouBq\nzpGo\r\n=RX/W\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":false,"testRunner":"jest-circus/runner","testTimeout":20000,"testEnvironment":"node","setupFilesAfterEnv":["./test/setup.ts"],"testPathIgnorePatterns":["/node_modules/"]},"main":"./dist/lib/index","type":"commonjs","types":"./dist/lib/index.d.ts","module":"./dist/lib/index.mjs","engines":{"node":">=10.x"},"exports":{".":{"import":"./dist/lib/index.mjs","default":"./dist/lib/index.js","require":"./dist/lib/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"0a800c55a826c36f939f13973ab26a60d1259a70","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --frail --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions .; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"rm -rf dist coverage external-scripts/bin","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter . && prettier --write .","test-unit":"if ! [ -z \"$INCLUDE_EXTERNALS\" ]; then X=; Y='--collectCoverageFrom'; Z='external-scripts/**/*.ts'; else X='test/unit-external*.test.ts'; Y=; Z=; fi; BABEL_ENV=test jest --coverage --collectCoverageFrom 'src/**/*.ts' --collectCoverageFrom 'lib/**/*.ts' $Y $Z --testPathIgnorePatterns test/integration-*.test.ts $X","build-dist":"npm run clean && NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name main && NODE_ENV=esm babel src --extensions .ts --out-dir dist/lib --out-file-extension .mjs && { echo -n '\"undefined\"!=typeof window&&(window.global=window);'; cat dist/lib/index.js; } > dist/lib/index.js-tmp && mv -f dist/lib/index.js-tmp dist/lib/index.js","build-docs":"typedoc --plugin typedoc-plugin-markdown --out docs --readme none src/index.ts && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find docs -name '*.md' -exec sed -i -e 's/__namedParameters/\\(destructured\\)/g' {} + && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --config-name main --json > bundle-stats.json","postinstall":"if [ -z \"$CI\" ]; then husky install; else echo 'skipped installing husky git hooks'; fi","build-changelog":"conventional-changelog --outfile CHANGELOG.md --preset angular --config .changelogrc.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./.changelogrc.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.tmp && mv CHANGELOG.md.tmp CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-integration":"npm run list-tasks | grep -e '^test-integration-' | xargs -n1 npm run","test-integration-node":"BABEL_ENV=test jest test/integration-node*.test.ts","test-integration-webpack":"BABEL_ENV=test jest test/integration-webpack*.test.ts","test-integration-externals":"BABEL_ENV=test jest test/integration-externals*.test.ts"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"prettier":{"semi":true,"tabWidth":2,"endOfLine":"lf","overrides":[{"files":"**/*.@(ts|?(@(c|m))js)?(x)","options":{"parser":"babel-ts","printWidth":90}}],"proseWrap":"always","printWidth":80,"singleQuote":true,"trailingComma":"none"},"commitlint":{"rules":{"type-enum":[2,"always",["feat","fix","docs","style","refactor","test","revert","debug","build","chore"]],"body-leading-blank":[2,"always"],"footer-leading-blank":[2,"always"]},"extends":["@commitlint/config-conventional"]},"env-expect":{"rules":[{"name":"^MONGODB_URI$","value":"^.*:\\/\\/.*\\/.*$","required":false,"errorMessage":"expected MONGODB_URI to be a valid Mongo connect URI with database name"},{"name":"^GITHUB_PAT$","value":"^[a-f0-9]*$","required":false,"errorMessage":"expected GITHUB_PAT to be undefined or a valid GitHub Personal Access Token"}],"errorMessage":"\nCopy the \".env.example\" file to \".env\" or define the appropriate repository secrets"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"6.14.10","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"lint-staged":{"*":"prettier --write --ignore-unknown","*.md":"remark -o --use reference-links --use gfm --use frontmatter","package.json":"sort-package-json"},"sideEffects":false,"_nodeVersion":"15.5.1","dependencies":{"test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","jest":"^26.6.3","debug":"^4.3.1","husky":"^5.0.4","dotenv":"^8.2.0","eslint":"^7.17.0","semver":"^7.3.4","mongodb":"^3.6.3","shelljs":"^0.8.4","typedoc":"0.20.12","webpack":"^5.11.1","prettier":"^2.2.1","@babel/cli":"^7.12.10","babel-jest":"^26.6.3","remark-cli":"^9.0.0","remark-gfm":"^1.0.0","typescript":"^4.1.3","@babel/core":"^7.12.10","@types/jest":"^26.0.19","@types/node":"^14.14.20","jest-circus":"^26.6.3","lint-staged":"^10.5.3","test-listen":"^1.1.0","webpack-cli":"^4.3.1","@types/debug":"^4.1.5","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","spellchecker":"^3.7.1","@octokit/rest":"^18.0.12","@types/semver":"^7.3.4","jest-extended":"^0.11.5","@types/mongodb":"^3.6.3","@types/shelljs":"^0.8.8","@types/webpack":"^4.41.25","dotenv-webpack":"^6.0.0","edit-json-file":"^1.5.0","@commitlint/cli":"^11.0.0","@ergodark/types":"^1.0.16","text-extensions":"^2.3.0","unique-filename":"^1.1.1","semantic-release":"github:Xunnamius/semantic-release#contrib-holistic","@babel/preset-env":"^7.12.11","find-package-json":"^1.2.0","sort-package-json":"github:Xunnamius/sort-package-json#contrib-env-expect","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.1.3","remark-frontmatter":"^3.0.0","source-map-support":"^0.5.19","escape-string-regexp":"^4.0.0","eslint-plugin-import":"^2.22.1","@semantic-release/git":"^9.0.0","@types/edit-json-file":"^1.4.0","npm-force-resolutions":"0.0.3","@semantic-release/exec":"^5.0.0","remark-reference-links":"^5.0.0","webpack-node-externals":"^2.5.2","typedoc-plugin-markdown":"3.2.1","@babel/preset-typescript":"^7.12.7","@types/find-package-json":"^1.1.1","@typescript-eslint/parser":"^4.12.0","confusing-browser-globals":"^1.0.10","remark-lint-final-newline":"^1.0.5","webpack-node-module-types":"^1.0.4","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^5.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^2.0.1","remark-lint-no-inline-padding":"^3.0.0","conventional-changelog-angular":"^5.0.12","@commitlint/config-conventional":"^11.0.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^4.12.0","eslint-import-resolver-typescript":"^2.3.0","remark-lint-no-unused-definitions":"^2.0.1","babel-plugin-transform-mjs-imports":"^1.0.1","remark-lint-no-undefined-references":"^3.0.0","@babel/plugin-proposal-function-bind":"^7.12.1","remark-lint-no-duplicate-definitions":"^2.0.1","remark-lint-no-heading-content-indent":"^3.0.0","remark-lint-ordered-list-marker-style":"^2.0.1","remark-lint-no-blockquote-without-marker":"^4.0.0","remark-lint-no-auto-link-without-protocol":"^2.0.1","@babel/plugin-proposal-export-default-from":"^7.12.1"},"peerDependencies":{"next":">=9.5.x"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.2.1_1609865658992_0.8968419110712273","host":"s3://npm-registry-packages"}},"1.2.2":{"name":"next-test-api-route-handler","version":"1.2.2","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.2.2","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"f8f869bd9c43b20ba596f24a4f0e32a1fbdb20d8","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.2.2.tgz","fileCount":7,"integrity":"sha512-Aiog79LmYqlyEzbXWwbkLNI2AxnS8hs0flZMDXjQRAu6OP/ddfuU8XphbR/V1cXiCHTw1HwNxwppnMst4kDHFQ==","signatures":[{"sig":"MEYCIQDQem31A5osvwtDMEhcCpmBoJHFKNpLoI7fNefggb0QWwIhAJsR+81QYShKWb3fOMrJpsA7tzmLLc4laVfuIXTRuR0k","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":36232,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9Jz2CRA9TVsSAnZWagAA0fYP/2BfCcQ9gJ7UkJtjjguP\nyBU8BZhsDsVa3GqSmq2C7T27Il82J9UFZEFwJchOkeXiBe13W/l31nDsqUe5\nIHpZXW8BHUXz+Qw4Jwb34gdKfTiEfpDQH9sZPjUaenMaUZeJMGxOGIoA8BGK\nfuM1Ap4hLxar2ddR9UTmqGtypEhB1XC3nrhk50Os5skJIy85L88LJqXhp4DQ\neKGBAj4ZCvGghBAK5v9hKNeBqos+ENy1Fw/s5m4njndduruwAZojf5WgkoRo\n3fGHqw6rLlTfPzsEDs68U9+BYyUKZVyoQDGpC5qVBSiW3zL+x5Xcg3eS0lNb\nlKLCF/pg0DhlAj5p2FIiJY93HTNGNo4leBp1cLGro4FslBfAA6Gf89v/x7rW\nhpkQVGXpoTAXdAy8YiupGL9mtAVHi5b5Gbp35A1s1/taB3i3UtbZIIXOsD6W\nPhJ+e9aW366dUDs6/R1V8n8ebUawKgfgsxxn1jOJWfmIel3rvKVvutqITySr\nXHEVr3cTtZh2coKGxC+WTeEm5JKPrLqeOgHfqu4MbaDBIczPCNLxSE4pY/fp\nzwyxXEUlBc63zXj5JN1mT4H9gDH30yqEZ5NuXZFkKaxNv2w1Tf8mKkjK7ynn\nYvxQ8p7IZkdH5xw03KEJomUc0WddPZhhyuKeuUIg14W9Q8dg3IGHIlrp/gj2\nCysm\r\n=Gt2r\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":false,"testRunner":"jest-circus/runner","testTimeout":20000,"testEnvironment":"node","setupFilesAfterEnv":["./test/setup.ts"],"testPathIgnorePatterns":["/node_modules/"]},"main":"./dist/lib/index","type":"commonjs","types":"./dist/lib/index.d.ts","module":"./dist/lib/index.mjs","engines":{"node":">=10.x"},"exports":{".":{"import":"./dist/lib/index.mjs","default":"./dist/lib/index.js","require":"./dist/lib/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"ae7cc1c937625f363d74c72ca4757d5d843f18e1","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --frail --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions .; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"rm -rf dist coverage external-scripts/bin","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter . && prettier --write .","test-unit":"if ! [ -z \"$INCLUDE_EXTERNALS\" ]; then X=; Y='--collectCoverageFrom'; Z='external-scripts/**/*.ts'; else X='test/unit-external*.test.ts'; Y=; Z=; fi; BABEL_ENV=test jest --coverage --collectCoverageFrom 'src/**/*.ts' --collectCoverageFrom 'lib/**/*.ts' $Y $Z --testPathIgnorePatterns test/integration-*.test.ts $X","build-dist":"npm run clean && NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name main && NODE_ENV=esm babel src --extensions .ts --out-dir dist/lib --out-file-extension .mjs && { echo -n '\"undefined\"!=typeof window&&(window.global=window);'; cat dist/lib/index.js; } > dist/lib/index.js-tmp && mv -f dist/lib/index.js-tmp dist/lib/index.js","build-docs":"typedoc --plugin typedoc-plugin-markdown --out docs --readme none src/index.ts && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find docs -name '*.md' -exec sed -i -e 's/__namedParameters/\\(destructured\\)/g' {} + && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --config-name main --json > bundle-stats.json","postinstall":"if [ -z \"$CI\" ]; then husky install; else echo 'skipped installing husky git hooks'; fi","build-changelog":"conventional-changelog --outfile CHANGELOG.md --preset angular --config .changelogrc.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./.changelogrc.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.tmp && mv CHANGELOG.md.tmp CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-integration":"npm run list-tasks | grep -e '^test-integration-' | xargs -n1 npm run","test-integration-node":"BABEL_ENV=test jest test/integration-node*.test.ts","test-integration-webpack":"BABEL_ENV=test jest test/integration-webpack*.test.ts","test-integration-externals":"BABEL_ENV=test jest test/integration-externals*.test.ts"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"prettier":{"semi":true,"tabWidth":2,"endOfLine":"lf","overrides":[{"files":"**/*.@(ts|?(@(c|m))js)?(x)","options":{"parser":"babel-ts","printWidth":90}}],"proseWrap":"always","printWidth":80,"singleQuote":true,"trailingComma":"none"},"commitlint":{"rules":{"type-enum":[2,"always",["feat","fix","docs","style","refactor","test","revert","debug","build","chore"]],"body-leading-blank":[2,"always"],"footer-leading-blank":[2,"always"]},"extends":["@commitlint/config-conventional"]},"env-expect":{"rules":[{"name":"^MONGODB_URI$","value":"^.*:\\/\\/.*\\/.*$","required":false,"errorMessage":"expected MONGODB_URI to be a valid Mongo connect URI with database name"},{"name":"^GITHUB_PAT$","value":"^[a-f0-9]*$","required":false,"errorMessage":"expected GITHUB_PAT to be undefined or a valid GitHub Personal Access Token"}],"errorMessage":"\nCopy the \".env.example\" file to \".env\" or define the appropriate repository secrets"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"6.14.10","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"lint-staged":{"*":"prettier --write --ignore-unknown","*.md":"remark -o --use reference-links --use gfm --use frontmatter","package.json":"sort-package-json"},"sideEffects":false,"_nodeVersion":"15.5.1","dependencies":{"test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","jest":"^26.6.3","debug":"^4.3.1","husky":"^5.0.4","dotenv":"^8.2.0","eslint":"^7.17.0","semver":"^7.3.4","mongodb":"^3.6.3","shelljs":"^0.8.4","typedoc":"0.20.12","webpack":"^5.11.1","prettier":"^2.2.1","@babel/cli":"^7.12.10","babel-jest":"^26.6.3","remark-cli":"^9.0.0","remark-gfm":"^1.0.0","typescript":"^4.1.3","@babel/core":"^7.12.10","@types/jest":"^26.0.19","@types/node":"^14.14.20","jest-circus":"^26.6.3","lint-staged":"^10.5.3","test-listen":"^1.1.0","webpack-cli":"^4.3.1","@types/debug":"^4.1.5","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","spellchecker":"^3.7.1","@octokit/rest":"^18.0.12","@types/semver":"^7.3.4","jest-extended":"^0.11.5","@types/mongodb":"^3.6.3","@types/shelljs":"^0.8.8","@types/webpack":"^4.41.25","dotenv-webpack":"^6.0.0","edit-json-file":"^1.5.0","@commitlint/cli":"^11.0.0","@ergodark/types":"^1.0.16","text-extensions":"^2.3.0","unique-filename":"^1.1.1","semantic-release":"github:Xunnamius/semantic-release#contrib-holistic","@babel/preset-env":"^7.12.11","find-package-json":"^1.2.0","sort-package-json":"github:Xunnamius/sort-package-json#contrib-env-expect","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.1.3","remark-frontmatter":"^3.0.0","source-map-support":"^0.5.19","escape-string-regexp":"^4.0.0","eslint-plugin-import":"^2.22.1","@semantic-release/git":"^9.0.0","@types/edit-json-file":"^1.4.0","npm-force-resolutions":"0.0.3","@semantic-release/exec":"^5.0.0","remark-reference-links":"^5.0.0","webpack-node-externals":"^2.5.2","typedoc-plugin-markdown":"3.2.1","@babel/preset-typescript":"^7.12.7","@types/find-package-json":"^1.1.1","@typescript-eslint/parser":"^4.12.0","confusing-browser-globals":"^1.0.10","remark-lint-final-newline":"^1.0.5","webpack-node-module-types":"^1.0.4","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^5.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^2.0.1","remark-lint-no-inline-padding":"^3.0.0","conventional-changelog-angular":"^5.0.12","@commitlint/config-conventional":"^11.0.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^4.12.0","eslint-import-resolver-typescript":"^2.3.0","remark-lint-no-unused-definitions":"^2.0.1","babel-plugin-transform-mjs-imports":"^1.0.1","remark-lint-no-undefined-references":"^3.0.0","@babel/plugin-proposal-function-bind":"^7.12.1","remark-lint-no-duplicate-definitions":"^2.0.1","remark-lint-no-heading-content-indent":"^3.0.0","remark-lint-ordered-list-marker-style":"^2.0.1","remark-lint-no-blockquote-without-marker":"^4.0.0","remark-lint-no-auto-link-without-protocol":"^2.0.1","@babel/plugin-proposal-export-default-from":"^7.12.1"},"peerDependencies":{"next":">=9.5.x"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.2.2_1609866485836_0.6462517197733739","host":"s3://npm-registry-packages"}},"1.2.3":{"name":"next-test-api-route-handler","version":"1.2.3","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.2.3","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"1ef70329d219ade1f7c1fd909d72b3c76847762b","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.2.3.tgz","fileCount":7,"integrity":"sha512-zPks/mh1Bf9XWejhktpJQyiiDBJb9Fmg3CvbjOR7iPML+2zoUzWc0G+EvVPXF2KrCCZ3snytC4P7vjEn3rmkrA==","signatures":[{"sig":"MEYCIQDhB2Av7FpKTV/D5njpbGypAQN8iRhF00sV5JzpkKhs/wIhAJg+m3WFCHTFvC2uHXF+Q2etjNhZCApaQG+/gB0gXi0h","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":36581,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9KOhCRA9TVsSAnZWagAAOPsP/3PIaAGIKwJ3kcb55hl0\n5dBdZsb77BqgwHKCSGW/igjW+b7wCDwG5NmvkzLzZbqts2AGUKjNNqRqx1Kv\nary8s9GyLOLAFA7IoV3fa4ccf5yOVWEsyGtTabhISPu35XRPZ+lXT74CQpea\n3U/3C+nYaUW4vuhmESViZtaj0WQJvnyiikPY4BEYv4mhTV8XLf84p0+wZnLm\nKb5j2zzeCMGXBu47rL0vm3vbt+2VK/T/POjy7Z98jeDktT5GEO8ecGzMbuAJ\nvaYzBqBJVqhDEVNGYgGEimaLdWP6v5nllY3/W+2BCDGtTlQLkWiuYD6wIBAi\nrR+b19ROsfy/4a7c/rlXmJUakSO1q1edQooR01NzbtuJpmxH6b7qAsu2+V4u\nbumEVXWTkZR7euSgYhI39puWp+jP/ABIkBiVRU+ADiCQURqTzbwkezdkQyXg\nw9dXVS8vTi2VMtyGCnlw49bU+6yu+RY/B/v1DKg7VeNNg33ms1l/Xdp7qaaM\nzl5edCcHH6jqVB/rJHGVBdrZUZcpqRFlIzoeIWTcD5jvEwZ38dbt0hZqBaoh\nJ2zkykca8T7LFVSCfBNs5Bh7aK9qsFuMsp1DbbcOPp9r6cdTkf6lkJgfdIfb\nnlxV8ugr3WLeH/ex88QVmW9LJlpfVFYsZB9Iri6C1n6MfPP+W8uGinWb2E82\nNCTB\r\n=bLm3\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":false,"testRunner":"jest-circus/runner","testTimeout":20000,"testEnvironment":"node","setupFilesAfterEnv":["./test/setup.ts"],"testPathIgnorePatterns":["/node_modules/"]},"main":"./dist/lib/index","type":"commonjs","types":"./dist/lib/index.d.ts","module":"./dist/lib/index.mjs","engines":{"node":">=10.x"},"exports":{".":{"import":"./dist/lib/index.mjs","default":"./dist/lib/index.js","require":"./dist/lib/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"d7fbf934918df08f944eb7998fb3798de5726121","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --frail --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions .; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"rm -rf dist coverage external-scripts/bin","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter . && prettier --write .","prepare":"if [ -z \"$CI\" ]; then npx husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"if ! [ -z \"$INCLUDE_EXTERNALS\" ]; then X=; Y='--collectCoverageFrom'; Z='external-scripts/**/*.ts'; else X='test/unit-external*.test.ts'; Y=; Z=; fi; BABEL_ENV=test jest --coverage --collectCoverageFrom 'src/**/*.ts' --collectCoverageFrom 'lib/**/*.ts' $Y $Z --testPathIgnorePatterns test/integration-*.test.ts $X","build-dist":"npm run clean && NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name main && NODE_ENV=esm babel src --extensions .ts --out-dir dist/lib --out-file-extension .mjs && { echo -n '\"undefined\"!=typeof window&&(window.global=window);'; cat dist/lib/index.js; } > dist/lib/index.js-tmp && mv -f dist/lib/index.js-tmp dist/lib/index.js","build-docs":"typedoc --plugin typedoc-plugin-markdown --out docs --readme none src/index.ts && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find docs -name '*.md' -exec sed -i -e 's/__namedParameters/\\(destructured\\)/g' {} + && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --config-name main --json > bundle-stats.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --preset angular --config .changelogrc.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./.changelogrc.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.tmp && mv CHANGELOG.md.tmp CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-integration":"npm run list-tasks | grep -e '^test-integration-' | xargs -n1 npm run","test-integration-node":"BABEL_ENV=test jest test/integration-node*.test.ts","test-integration-webpack":"BABEL_ENV=test jest test/integration-webpack*.test.ts","test-integration-externals":"BABEL_ENV=test jest test/integration-externals*.test.ts"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"prettier":{"semi":true,"tabWidth":2,"endOfLine":"lf","overrides":[{"files":"**/*.@(ts|?(@(c|m))js)?(x)","options":{"parser":"babel-ts","printWidth":90}}],"proseWrap":"always","printWidth":80,"singleQuote":true,"trailingComma":"none"},"commitlint":{"rules":{"type-enum":[2,"always",["feat","fix","docs","style","refactor","test","revert","debug","build","chore"]],"body-leading-blank":[2,"always"],"footer-leading-blank":[2,"always"]},"extends":["@commitlint/config-conventional"]},"env-expect":{"rules":[{"name":"^MONGODB_URI$","value":"^.*:\\/\\/.*\\/.*$","required":false,"errorMessage":"expected MONGODB_URI to be a valid Mongo connect URI with database name"},{"name":"^GITHUB_PAT$","value":"^[a-f0-9]*$","required":false,"errorMessage":"expected GITHUB_PAT to be undefined or a valid GitHub Personal Access Token"}],"errorMessage":"\nCopy the \".env.example\" file to \".env\" or define the appropriate repository secrets"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"6.14.10","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"lint-staged":{"*":"prettier --write --ignore-unknown","*.md":"remark -o --use reference-links --use gfm --use frontmatter","package.json":"sort-package-json"},"sideEffects":false,"_nodeVersion":"15.5.1","dependencies":{"test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","jest":"^26.6.3","debug":"^4.3.1","husky":"^5.0.4","dotenv":"^8.2.0","eslint":"^7.17.0","semver":"^7.3.4","mongodb":"^3.6.3","shelljs":"^0.8.4","typedoc":"0.20.12","webpack":"^5.11.1","prettier":"^2.2.1","@babel/cli":"^7.12.10","babel-jest":"^26.6.3","remark-cli":"^9.0.0","remark-gfm":"^1.0.0","typescript":"^4.1.3","@babel/core":"^7.12.10","@types/jest":"^26.0.19","@types/node":"^14.14.20","jest-circus":"^26.6.3","lint-staged":"^10.5.3","test-listen":"^1.1.0","webpack-cli":"^4.3.1","@types/debug":"^4.1.5","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","spellchecker":"^3.7.1","@octokit/rest":"^18.0.12","@types/semver":"^7.3.4","jest-extended":"^0.11.5","@types/mongodb":"^3.6.3","@types/shelljs":"^0.8.8","@types/webpack":"^4.41.25","dotenv-webpack":"^6.0.0","edit-json-file":"^1.5.0","@commitlint/cli":"^11.0.0","@ergodark/types":"^1.0.16","text-extensions":"^2.3.0","unique-filename":"^1.1.1","semantic-release":"github:Xunnamius/semantic-release#contrib-holistic","@babel/preset-env":"^7.12.11","find-package-json":"^1.2.0","sort-package-json":"github:Xunnamius/sort-package-json#contrib-env-expect","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.1.3","remark-frontmatter":"^3.0.0","source-map-support":"^0.5.19","escape-string-regexp":"^4.0.0","eslint-plugin-import":"^2.22.1","@semantic-release/git":"^9.0.0","@types/edit-json-file":"^1.4.0","npm-force-resolutions":"0.0.3","@semantic-release/exec":"^5.0.0","remark-reference-links":"^5.0.0","webpack-node-externals":"^2.5.2","typedoc-plugin-markdown":"3.2.1","@babel/preset-typescript":"^7.12.7","@types/find-package-json":"^1.1.1","@typescript-eslint/parser":"^4.12.0","confusing-browser-globals":"^1.0.10","remark-lint-final-newline":"^1.0.5","webpack-node-module-types":"^1.0.4","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^5.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^2.0.1","remark-lint-no-inline-padding":"^3.0.0","conventional-changelog-angular":"^5.0.12","@commitlint/config-conventional":"^11.0.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^4.12.0","eslint-import-resolver-typescript":"^2.3.0","remark-lint-no-unused-definitions":"^2.0.1","babel-plugin-transform-mjs-imports":"^1.0.1","remark-lint-no-undefined-references":"^3.0.0","@babel/plugin-proposal-function-bind":"^7.12.1","remark-lint-no-duplicate-definitions":"^2.0.1","remark-lint-no-heading-content-indent":"^3.0.0","remark-lint-ordered-list-marker-style":"^2.0.1","remark-lint-no-blockquote-without-marker":"^4.0.0","remark-lint-no-auto-link-without-protocol":"^2.0.1","@babel/plugin-proposal-export-default-from":"^7.12.1"},"peerDependencies":{"next":">=9.5.x"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.2.3_1609868193291_0.1360116693001614","host":"s3://npm-registry-packages"}},"1.2.4":{"name":"next-test-api-route-handler","version":"1.2.4","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.2.4","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"bbf7c79e28e0eefb326db0f0328896b1a3d544cf","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.2.4.tgz","fileCount":7,"integrity":"sha512-QXJ0vkfIFwa5DaLFVrGR6qTW2MIsiNNre7u4Svo52NBeRDPZ29tb1/nAhckImh8aceisFTzoq0r+JdXA/FWwiA==","signatures":[{"sig":"MEUCIE6Of9FYTlS4y7lvsSX4AetHuIIk+TCFuhKXq/vhHIpyAiEA/zpAK+emkZjRt4pGA2OixmUOihdRjd58303Rb5AyANc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37603,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9TFQCRA9TVsSAnZWagAAn8QP/jSSihOmZxWi8Or9GYJA\nGa4Gaaaw958gyJozulgt3zRwm1kCChD7SiPg/KCJB+9OKBdVjRxUqk39ooma\nHYWs84pXJWaY5A4BoXAWurdZwq2uG4Bu1csv2p9oGAgC5YLRqUIP99OiOhyv\nVAerXxj68QG2KcOSSI15F4PPe/JsD8CJeD0LOq83Xxi+J1NzXH8p0eRiYclq\nlHt9Tt3W+zmCHqUSfFFYX0LLDyxzAE7/icgddqDoW5HL7lGzd4IgmfHI2DyY\nI6/a+7/FTYKidnrXtuIyRum3lx12xSIvxvVFA46exnQNV9YWP0ludMNuHwA7\nO1u3C74QX+PfP1kf2il2yVdM/qegmeM6LABV3hHU+9mu7gUJxFgws1A2Uhw6\n3BoNNpPtxhN8J8hClcj6pP5C2ovAIPIJ+TPWF/vpQt8LPKguCCUoutu7Dws4\nfyTwgjNB2iThTlSC+vTYfdHx/iUgwHibK3LpXahQHQFyeLD4rLQCfJqiZ3Dw\nVNQMep+ULTcJOMx81oKWfWe/fD+lc7PCw9EqdA0ZwzUwPOIYO63hjoFBbnT+\nxzFcsWf9ZZcT/wGMjFqkJpb2iv/0l/qRnSWFpUjAbVs2PzjNE2OQnYeh7GDs\nhHiV4fiU9MnNgPj/Anz3FT4biRc1B+5/pVNb03o0BpQPwQKGfGldmRLu7qkU\n4bkD\r\n=YBPv\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":false,"testRunner":"jest-circus/runner","testTimeout":20000,"testEnvironment":"node","setupFilesAfterEnv":["./test/setup.ts"],"testPathIgnorePatterns":["/node_modules/"]},"main":"./dist/lib/index","type":"commonjs","types":"./dist/lib/index.d.ts","module":"./dist/lib/index.mjs","engines":{"node":">=10.x"},"exports":{".":{"import":"./dist/lib/index.mjs","default":"./dist/lib/index.js","require":"./dist/lib/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"f0e2d9df96f3f8a2599067d0788f18412c6fba27","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --frail --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions .; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"rm -rf dist coverage external-scripts/bin","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter . && prettier --write .","prepare":"if [ -z \"$CI\" ]; then npx husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"if ! [ -z \"$INCLUDE_EXTERNALS\" ]; then X=; Y='--collectCoverageFrom'; Z='external-scripts/**/*.ts'; else X='test/unit-external*.test.ts'; Y=; Z=; fi; BABEL_ENV=test jest --coverage --collectCoverageFrom 'src/**/*.ts' --collectCoverageFrom 'lib/**/*.ts' $Y $Z --testPathIgnorePatterns test/integration-*.test.ts $X","build-dist":"npm run clean && NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name main && NODE_ENV=esm babel src --extensions .ts --out-dir dist/lib --out-file-extension .mjs && { echo -n '\"undefined\"!=typeof window&&(window.global=window);'; cat dist/lib/index.js; } > dist/lib/index.js-tmp && mv -f dist/lib/index.js-tmp dist/lib/index.js","build-docs":"typedoc --plugin typedoc-plugin-markdown --out docs --readme none src/index.ts && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find docs -name '*.md' -exec sed -i -e 's/__namedParameters/\\(destructured\\)/g' {} + && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --config-name main --json > bundle-stats.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --preset angular --config .changelogrc.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./.changelogrc.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.tmp && mv CHANGELOG.md.tmp CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-integration":"npm run list-tasks | grep -e '^test-integration-' | xargs -n1 npm run","test-integration-node":"BABEL_ENV=test jest test/integration-node*.test.ts","test-integration-webpack":"BABEL_ENV=test jest test/integration-webpack*.test.ts","test-integration-externals":"BABEL_ENV=test jest test/integration-externals*.test.ts"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"prettier":{"semi":true,"tabWidth":2,"endOfLine":"lf","overrides":[{"files":"**/*.@(ts|?(@(c|m))js)?(x)","options":{"parser":"babel-ts","printWidth":90}}],"proseWrap":"always","printWidth":80,"singleQuote":true,"trailingComma":"none"},"commitlint":{"rules":{"type-enum":[2,"always",["feat","fix","docs","style","refactor","test","revert","debug","build","chore"]],"body-leading-blank":[2,"always"],"footer-leading-blank":[2,"always"]},"extends":["@commitlint/config-conventional"]},"env-expect":{"rules":[{"name":"^MONGODB_URI$","value":"^.*:\\/\\/.*\\/.*$","required":false,"errorMessage":"expected MONGODB_URI to be a valid Mongo connect URI with database name"},{"name":"^GITHUB_PAT$","value":"^[a-f0-9]*$","required":false,"errorMessage":"expected GITHUB_PAT to be undefined or a valid GitHub Personal Access Token"}],"errorMessage":"\nCopy the \".env.example\" file to \".env\" or define the appropriate repository secrets"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"6.14.10","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"lint-staged":{"*":"prettier --write --ignore-unknown","*.md":"remark -o --use reference-links --use gfm --use frontmatter","package.json":"sort-package-json"},"sideEffects":false,"_nodeVersion":"15.5.1","dependencies":{"test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","jest":"^26.6.3","debug":"^4.3.1","husky":"^5.0.4","dotenv":"^8.2.0","eslint":"^7.17.0","semver":"^7.3.4","mongodb":"^3.6.3","shelljs":"^0.8.4","typedoc":"0.20.12","webpack":"^5.11.1","prettier":"^2.2.1","@babel/cli":"^7.12.10","babel-jest":"^26.6.3","remark-cli":"^9.0.0","remark-gfm":"^1.0.0","typescript":"^4.1.3","@babel/core":"^7.12.10","@types/jest":"^26.0.19","@types/node":"^14.14.20","jest-circus":"^26.6.3","lint-staged":"^10.5.3","test-listen":"^1.1.0","webpack-cli":"^4.3.1","@types/debug":"^4.1.5","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","spellchecker":"^3.7.1","@octokit/rest":"^18.0.12","@types/semver":"^7.3.4","jest-extended":"^0.11.5","@types/mongodb":"^3.6.3","@types/shelljs":"^0.8.8","@types/webpack":"^4.41.25","dotenv-webpack":"^6.0.0","edit-json-file":"^1.5.0","@commitlint/cli":"^11.0.0","@ergodark/types":"^1.0.16","text-extensions":"^2.3.0","unique-filename":"^1.1.1","semantic-release":"github:Xunnamius/semantic-release#contrib-holistic","@babel/preset-env":"^7.12.11","find-package-json":"^1.2.0","sort-package-json":"github:Xunnamius/sort-package-json#contrib-env-expect","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.1.3","remark-frontmatter":"^3.0.0","source-map-support":"^0.5.19","escape-string-regexp":"^4.0.0","eslint-plugin-import":"^2.22.1","@semantic-release/git":"^9.0.0","@types/edit-json-file":"^1.4.0","npm-force-resolutions":"0.0.3","@semantic-release/exec":"^5.0.0","remark-reference-links":"^5.0.0","webpack-node-externals":"^2.5.2","typedoc-plugin-markdown":"3.2.1","@babel/preset-typescript":"^7.12.7","@types/find-package-json":"^1.1.1","@typescript-eslint/parser":"^4.12.0","confusing-browser-globals":"^1.0.10","remark-lint-final-newline":"^1.0.5","webpack-node-module-types":"^1.0.4","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^5.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^2.0.1","remark-lint-no-inline-padding":"^3.0.0","conventional-changelog-angular":"^5.0.12","@commitlint/config-conventional":"^11.0.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^4.12.0","eslint-import-resolver-typescript":"^2.3.0","remark-lint-no-unused-definitions":"^2.0.1","babel-plugin-transform-mjs-imports":"^1.0.1","remark-lint-no-undefined-references":"^3.0.0","@babel/plugin-proposal-function-bind":"^7.12.1","remark-lint-no-duplicate-definitions":"^2.0.1","remark-lint-no-heading-content-indent":"^3.0.0","remark-lint-ordered-list-marker-style":"^2.0.1","remark-lint-no-blockquote-without-marker":"^4.0.0","remark-lint-no-auto-link-without-protocol":"^2.0.1","@babel/plugin-proposal-export-default-from":"^7.12.1"},"peerDependencies":{"next":">=9.5.x"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.2.4_1609904464035_0.8787745699406562","host":"s3://npm-registry-packages"}},"1.2.5":{"name":"next-test-api-route-handler","version":"1.2.5","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.2.5","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"14dcf147bef425a9940711702bad0481e6ae72ba","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.2.5.tgz","fileCount":7,"integrity":"sha512-J9tWAiWwzzFyK2p2ndF2SxaOpp9bNpLKifdG/MXuCnJqmNYHvFkU+MI+umy/LbSIYwBtPn0DdbO2SSeIwQAY1A==","signatures":[{"sig":"MEQCIDmK6PHkdGvajt8FBkzuD+c/8szV3zQuyVQsnQyMSoJtAiBS9omp2+bEYBuj8Yp0XcXxhpxVixlTgs2MVp8mXdLLng==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38114,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9abGCRA9TVsSAnZWagAA5ccP/jqOp3ukMP3tGSvFjpGh\nl4bITsDa+iKBnsoe/Y3c1mMfWV0o1zalTI6tqn7NJd9IdjCqULjbV6pYt9sH\nJyUJrO0NgsTF6Ypit9W/UTj8MiLN17Uo9uKI4Q/TGd+1Jtzx9mWbXD9/ySld\nf3Ivdjet2lR/0jdIGfHm+3hXh0AuWFJr59tF+pW+d2eA5dHxqKtj6ApKQkTO\n/4SRuyNJE4nal8OFzTVI8x7HrHmTAkoR5DNEPi9NpQ+yKY+jNn+C3NrMMJCa\nnNyhLddZc677M4ikJSvJg/VhAVVkSpEfLPC/4zGIEQj8PLxLNqF27DExFdwP\nl7JCGFWyYarukx2kWlmgRkxqnUraOj/7Zb72Fta1J2R0e/2i4KsluqWUIyEe\nzw20dYC0eYr3ueC6egSKNOh20et6+o1o3bxC+mfiJGr5o/+mya7XZUM2Vniz\nCR32Tds8XESULRYzU2sTmn+AMqTT1CnYQbgOLR35wYDcRepIoDb5qEILXCBC\nxCkYCZUuZmMNQRUWAiADK4H33211opMJhYuF92DyKnTNutSCRfF6ZnU6yo5b\nh//QDXP5BAc5/zxIWeLB59xJ4/j2KA/Uk2/kz/QfZuSl09DgPfynvTRjCYFT\n7Mf1NBLNEGGc5GHkQwmBmzw18kUTJBe+NGb4CjUC7Kd4MOk99X6E0RcIQtwf\naNdR\r\n=VR5c\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":false,"testRunner":"jest-circus/runner","testTimeout":20000,"testEnvironment":"node","setupFilesAfterEnv":["./test/setup.ts"],"testPathIgnorePatterns":["/node_modules/"]},"main":"./dist/lib/index","type":"commonjs","types":"./dist/lib/index.d.ts","module":"./dist/lib/index.mjs","engines":{"node":">=10.x"},"exports":{".":{"import":"./dist/lib/index.mjs","default":"./dist/lib/index.js","require":"./dist/lib/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"f864df8f0f77c2eb138ba61789c169d51269ae5c","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --frail --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions .; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"rm -rf dist coverage external-scripts/bin","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter . && prettier --write .","prepare":"if [ -z \"$CI\" ]; then npx husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"if ! [ -z \"$INCLUDE_EXTERNALS\" ]; then X=; Y='--collectCoverageFrom'; Z='external-scripts/**/*.ts'; else X='test/unit-external*.test.ts'; Y=; Z=; fi; BABEL_ENV=test jest --coverage --collectCoverageFrom 'src/**/*.ts' --collectCoverageFrom 'lib/**/*.ts' $Y $Z --testPathIgnorePatterns test/integration-*.test.ts $X","build-dist":"npm run clean && NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name main && NODE_ENV=esm babel src --extensions .ts --out-dir dist/lib --out-file-extension .mjs && { echo -n '\"undefined\"!=typeof window&&(window.global=window);'; cat dist/lib/index.js; } > dist/lib/index.js-tmp && mv -f dist/lib/index.js-tmp dist/lib/index.js","build-docs":"typedoc --plugin typedoc-plugin-markdown --out docs --readme none src/index.ts && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find docs -name '*.md' -exec sed -i -e 's/__namedParameters/\\(destructured\\)/g' {} + && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --config-name main --json > bundle-stats.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --preset angular --config .changelogrc.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./.changelogrc.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.tmp && mv CHANGELOG.md.tmp CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-integration":"npm run list-tasks | grep -e '^test-integration-' | xargs -n1 npm run","test-integration-node":"BABEL_ENV=test jest test/integration-node*.test.ts","test-integration-webpack":"BABEL_ENV=test jest test/integration-webpack*.test.ts","test-integration-externals":"BABEL_ENV=test jest test/integration-externals*.test.ts"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"prettier":{"semi":true,"tabWidth":2,"endOfLine":"lf","overrides":[{"files":"**/*.@(ts|?(@(c|m))js)?(x)","options":{"parser":"babel-ts","printWidth":90}}],"proseWrap":"always","printWidth":80,"singleQuote":true,"trailingComma":"none"},"commitlint":{"rules":{"type-enum":[2,"always",["feat","fix","docs","style","refactor","test","revert","debug","build","chore"]],"body-leading-blank":[2,"always"],"footer-leading-blank":[2,"always"]},"extends":["@commitlint/config-conventional"]},"env-expect":{"rules":[{"name":"^MONGODB_URI$","value":"^.*:\\/\\/.*\\/.*$","required":false,"errorMessage":"expected MONGODB_URI to be a valid Mongo connect URI with database name"},{"name":"^GH_TOKEN$","value":"^[a-f0-9]*$","required":false,"errorMessage":"expected GH_TOKEN to be undefined or a valid GitHub Personal Access Token"}],"errorMessage":"\nCopy the \".env.example\" file to \".env\" or define the appropriate repository secrets"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"6.14.10","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"lint-staged":{"*":"prettier --write --ignore-unknown","*.md":"remark -o --use reference-links --use gfm --use frontmatter","package.json":"sort-package-json"},"sideEffects":false,"_nodeVersion":"15.5.1","dependencies":{"test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","jest":"^26.6.3","debug":"^4.3.1","husky":"^5.0.4","dotenv":"^8.2.0","eslint":"^7.17.0","semver":"^7.3.4","mongodb":"^3.6.3","shelljs":"^0.8.4","typedoc":"0.20.13","webpack":"^5.11.1","prettier":"^2.2.1","@babel/cli":"^7.12.10","babel-jest":"^26.6.3","remark-cli":"^9.0.0","remark-gfm":"^1.0.0","typescript":"^4.1.3","@babel/core":"^7.12.10","@types/jest":"^26.0.19","@types/node":"^14.14.20","jest-circus":"^26.6.3","lint-staged":"^10.5.3","test-listen":"^1.1.0","webpack-cli":"^4.3.1","@types/debug":"^4.1.5","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","spellchecker":"^3.7.1","@octokit/rest":"^18.0.12","@types/semver":"^7.3.4","jest-extended":"^0.11.5","@types/mongodb":"^3.6.3","@types/shelljs":"^0.8.8","@types/webpack":"^4.41.25","dotenv-webpack":"^6.0.0","edit-json-file":"^1.5.0","@commitlint/cli":"^11.0.0","@ergodark/types":"^1.0.16","text-extensions":"^2.3.0","unique-filename":"^1.1.1","semantic-release":"github:Xunnamius/semantic-release#contrib-holistic","@babel/preset-env":"^7.12.11","find-package-json":"^1.2.0","sort-package-json":"github:Xunnamius/sort-package-json#contrib-env-expect","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.1.3","remark-frontmatter":"^3.0.0","source-map-support":"^0.5.19","escape-string-regexp":"^4.0.0","eslint-plugin-import":"^2.22.1","@semantic-release/git":"^9.0.0","@types/edit-json-file":"^1.4.0","npm-force-resolutions":"0.0.3","@semantic-release/exec":"^5.0.0","remark-reference-links":"^5.0.0","webpack-node-externals":"^2.5.2","typedoc-plugin-markdown":"3.3.0","@babel/preset-typescript":"^7.12.7","@types/find-package-json":"^1.1.1","@typescript-eslint/parser":"^4.12.0","confusing-browser-globals":"^1.0.10","remark-lint-final-newline":"^1.0.5","webpack-node-module-types":"^1.0.4","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^5.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^2.0.1","remark-lint-no-inline-padding":"^3.0.0","conventional-changelog-angular":"^5.0.12","@commitlint/config-conventional":"^11.0.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^4.12.0","eslint-import-resolver-typescript":"^2.3.0","remark-lint-no-unused-definitions":"^2.0.1","babel-plugin-transform-mjs-imports":"^1.0.1","remark-lint-no-undefined-references":"^3.0.0","@babel/plugin-proposal-function-bind":"^7.12.1","remark-lint-no-duplicate-definitions":"^2.0.1","remark-lint-no-heading-content-indent":"^3.0.0","remark-lint-ordered-list-marker-style":"^2.0.1","remark-lint-no-blockquote-without-marker":"^4.0.0","remark-lint-no-auto-link-without-protocol":"^2.0.1","@babel/plugin-proposal-export-default-from":"^7.12.1"},"peerDependencies":{"next":">=9.5.x"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.2.5_1609934534045_0.886274602457547","host":"s3://npm-registry-packages"}},"1.2.6":{"name":"next-test-api-route-handler","version":"1.2.6","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.2.6","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"efc9480255d9f2ec4e5ec09c86d78b95d6060ad9","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.2.6.tgz","fileCount":7,"integrity":"sha512-poU7uGZ4ujZt+AGZUGo5uVZ++3HZMa1Px3pUIOdCv+n0o2fDC5U0/dFfE76Ki+lGH0JjIMyDJj4rsz4ZhPpkkA==","signatures":[{"sig":"MEUCIQDls1VHa85R0N0em1vweGYB8fy1rQs/8yOH27G2PQyEnwIgHmElkSOt9HChTx6hXWsAMKchjVYxDjw0rzVwGsPsdbA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38316,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9cpUCRA9TVsSAnZWagAAv4UP/0VEjy8BMAoKacFxieKd\n8cStELuC53//zs2q00iW03tP4joghEFGZJZCwB4BGSGf0laRkWRXCpixXoGN\n3Jos8xcNfwADd63i6+45njpGahH83/+H2g+f+dtt5tcW4pZTNTxmXiY3Nkrz\nplTrq1WT8W3zvVx/gguRpUXXyNfnU2XIasi0W6E6ovZyAsmym8fPBjkhFiVT\nQCJ6wsfXFYv00W4szYnyiWhv7ZhufnsKA4+qYEK45XwwkQzj8dkRDHZ+8BFK\n+vUf/laOSmupXY7we1T4pihON9eqYssX/fdsTrzV9GkApRpnT1defjhOTEKg\nres0J8i1zCexkox2fkTkUC5N8NcTiNoPabeOEIbuvnJFkjotymMoIolS5TkZ\nXaBY7XWdE/JvBkoAK/0mzc7ts/r9icwaOGDD899O9ywsBhOT3AOFpyHf0G9g\njAOAP2lL+fwRPEDXrl4bIlpS4cfDqiDgnipklQUqGOiyT0SpChLiwnmhU5Rf\niMRUaLpTVKh5Ul74NFm4Zq3ag4AVQMbar/QkxZLRbo7FgipO1TPkRjy771A8\nT75zvsjIhGgcZYnQ/IkY1orzpZJRGIhclqsO9/JlyMFATOvG0Pi0CB2S1m70\nYnuAnElIimChtU3/cgmvC8ZwygxjDralH5J4UBaM0lHmllvubDZA9EQN51Aj\nLli+\r\n=fwoX\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":false,"testRunner":"jest-circus/runner","testTimeout":20000,"testEnvironment":"node","setupFilesAfterEnv":["./test/setup.ts"],"testPathIgnorePatterns":["/node_modules/"]},"main":"./dist/lib/index","type":"commonjs","types":"./dist/lib/index.d.ts","module":"./dist/lib/index.mjs","engines":{"node":">=10.x"},"exports":{".":{"import":"./dist/lib/index.mjs","default":"./dist/lib/index.js","require":"./dist/lib/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"b815c7d4c19c4bd1e924ed6e314285ef57fc1930","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --frail --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions .; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"rm -rf dist coverage external-scripts/bin","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter . && prettier --write .","prepare":"if [ -z \"$CI\" ]; then npx husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"if ! [ -z \"$INCLUDE_EXTERNALS\" ]; then X=; Y='--collectCoverageFrom'; Z='external-scripts/**/*.ts'; else X='test/unit-external*.test.ts'; Y=; Z=; fi; BABEL_ENV=test jest --coverage --collectCoverageFrom 'src/**/*.ts' --collectCoverageFrom 'lib/**/*.ts' $Y $Z --testPathIgnorePatterns test/integration-*.test.ts $X","build-dist":"npm run clean && NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name main && NODE_ENV=esm babel src --extensions .ts --out-dir dist/lib --out-file-extension .mjs && { echo -n '\"undefined\"!=typeof window&&(window.global=window);'; cat dist/lib/index.js; } > dist/lib/index.js-tmp && mv -f dist/lib/index.js-tmp dist/lib/index.js","build-docs":"typedoc --plugin typedoc-plugin-markdown --out docs --readme none src/index.ts && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find docs -name '*.md' -exec sed -i -e 's/__namedParameters/\\(destructured\\)/g' {} + && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --config-name main --json > bundle-stats.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --preset angular --config .changelogrc.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./.changelogrc.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.tmp && mv CHANGELOG.md.tmp CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-integration":"npm run list-tasks | grep -e '^test-integration-' | xargs -n1 npm run","test-integration-node":"BABEL_ENV=test jest test/integration-node*.test.ts","test-integration-webpack":"BABEL_ENV=test jest test/integration-webpack*.test.ts","test-integration-externals":"BABEL_ENV=test jest test/integration-externals*.test.ts"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"prettier":{"semi":true,"tabWidth":2,"endOfLine":"lf","overrides":[{"files":"**/*.@(ts|?(@(c|m))js)?(x)","options":{"parser":"babel-ts","printWidth":90}}],"proseWrap":"always","printWidth":80,"singleQuote":true,"trailingComma":"none"},"commitlint":{"rules":{"type-enum":[2,"always",["feat","fix","docs","style","refactor","test","revert","debug","build","chore"]],"body-leading-blank":[2,"always"],"footer-leading-blank":[2,"always"]},"extends":["@commitlint/config-conventional"]},"env-expect":{"rules":[{"name":"^MONGODB_URI$","value":"^.*:\\/\\/.*\\/.*$","required":false,"errorMessage":"expected MONGODB_URI to be a valid Mongo connect URI with database name"},{"name":"^GH_TOKEN$","value":"^[a-f0-9]*$","required":false,"errorMessage":"expected GH_TOKEN to be undefined or a valid GitHub Personal Access Token"}],"errorMessage":"\nCopy the \".env.example\" file to \".env\" or define the appropriate repository secrets"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"6.14.10","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"lint-staged":{"*":"prettier --write --ignore-unknown","*.md":"remark -o --use reference-links --use gfm --use frontmatter","package.json":"sort-package-json"},"sideEffects":false,"_nodeVersion":"15.5.1","dependencies":{"test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","jest":"^26.6.3","debug":"^4.3.1","husky":"^5.0.4","dotenv":"^8.2.0","eslint":"^7.17.0","semver":"^7.3.4","mongodb":"^3.6.3","shelljs":"^0.8.4","typedoc":"0.20.13","webpack":"^5.11.1","prettier":"^2.2.1","@babel/cli":"^7.12.10","babel-jest":"^26.6.3","remark-cli":"^9.0.0","remark-gfm":"^1.0.0","typescript":"^4.1.3","@babel/core":"^7.12.10","@types/jest":"^26.0.19","@types/node":"^14.14.20","jest-circus":"^26.6.3","lint-staged":"^10.5.3","webpack-cli":"^4.3.1","@types/debug":"^4.1.5","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","spellchecker":"^3.7.1","@octokit/rest":"^18.0.12","@types/semver":"^7.3.4","jest-extended":"^0.11.5","@types/mongodb":"^3.6.3","@types/shelljs":"^0.8.8","@types/webpack":"^4.41.25","edit-json-file":"^1.5.0","@commitlint/cli":"^11.0.0","@ergodark/types":"^1.0.16","text-extensions":"^2.3.0","unique-filename":"^1.1.1","semantic-release":"github:Xunnamius/semantic-release#contrib-holistic","@babel/preset-env":"^7.12.11","find-package-json":"^1.2.0","sort-package-json":"github:Xunnamius/sort-package-json#contrib-env-expect","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.1.3","remark-frontmatter":"^3.0.0","source-map-support":"^0.5.19","escape-string-regexp":"^4.0.0","eslint-plugin-import":"^2.22.1","@semantic-release/git":"^9.0.0","@types/edit-json-file":"^1.4.0","@semantic-release/exec":"^5.0.0","remark-reference-links":"^5.0.0","webpack-node-externals":"^2.5.2","typedoc-plugin-markdown":"3.3.0","@babel/preset-typescript":"^7.12.7","@types/find-package-json":"^1.1.1","@typescript-eslint/parser":"^4.12.0","confusing-browser-globals":"^1.0.10","remark-lint-final-newline":"^1.0.5","webpack-node-module-types":"^1.0.4","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^5.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^2.0.1","remark-lint-no-inline-padding":"^3.0.0","conventional-changelog-angular":"^5.0.12","@commitlint/config-conventional":"^11.0.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^4.12.0","eslint-import-resolver-typescript":"^2.3.0","remark-lint-no-unused-definitions":"^2.0.1","babel-plugin-transform-mjs-imports":"^1.0.1","remark-lint-no-undefined-references":"^3.0.0","@babel/plugin-proposal-function-bind":"^7.12.1","remark-lint-no-duplicate-definitions":"^2.0.1","remark-lint-no-heading-content-indent":"^3.0.0","remark-lint-ordered-list-marker-style":"^2.0.1","remark-lint-no-blockquote-without-marker":"^4.0.0","remark-lint-no-auto-link-without-protocol":"^2.0.1","@babel/plugin-proposal-export-default-from":"^7.12.1"},"peerDependencies":{"next":">=9.5.x"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.2.6_1609943635640_0.2928718450258927","host":"s3://npm-registry-packages"}},"1.2.7":{"name":"next-test-api-route-handler","version":"1.2.7","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.2.7","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"8e3aab00bf29bd1ac3bed150ab50d83008004605","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.2.7.tgz","fileCount":7,"integrity":"sha512-zIm/E9tDPkZeRO26qgqSPNucK2FoloOcBvQnS/21Yw6j2iPBslniODdHcZsUu+kVq9GeNXXwwzCNNBzAAxrE1w==","signatures":[{"sig":"MEUCIQC+TVF7Vt85UG91spS2l5xY8sBm/KY5h9wiKdO0ZyEkNAIgLTAR8mNkCygv6Q/7niyxPODle7LCm4hHCz/zgZLd4IE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38731,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/jYxCRA9TVsSAnZWagAAf+cQAIq8dCDvShcBPvgU2Gp8\nTwhKq2DNKGsIzkeKJIvKQX0Rhp7d/T1Ow0KIZDsVJLIZYiRSWhCRtJLIPt0J\nZ/5s5zkQ3LR6QJvYhB5GPaRzWw51+ifzFHcENyhDf3HM5qZjYr72nxVhSJkV\nHGPpNst5qPZDkCS6RZKZ+eX8vmRuhtJY9AgvZ64td/FaVpytwrZB0kJZWpmM\n6B2kAt6wvC4yVy9eGfgq7i4VtRQ0tynmP2co9Y3U1dJfH1VGa7Q8VcBk53Rd\nsiF+7FIlbfMwXo8fphLxlIyS7Hkn0Rs4vKzHUneWhTk/V1DGBTh0LI+9LdZS\noDYRKCaKIB/uMxXLFC6hhprJM0FmrPXYN2XuR5vQnzPRrXsj7NkPplQhxQwg\nTbQlrpisXf9d/z4FoCoOo1AMbZzy5dZFp9ooQqjcGTI4ojYulngU2QHxL3TJ\nft1vmWDoHmZmrhHRScKjjvjzUUP2xWN08fdTA7jde17tz4gkQgTUfw2gfIHf\n87GyEwO1ob60jaVB3odRR703vOoREYDPYIstnFPzkFj3ty665H9FvUcnjg8p\nZZJdfoLmwuH5oQ4LsDvvPwleQpJdLwOogY8PMRwrGsF702X5Dllcwwf80Qnr\nH8YNlcvmrsDxupv6AJHTVb+5A8geV0Q17vLL8XCf/sYN/ixVkoApQ32L8Mzs\ncBde\r\n=W4Pb\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":false,"testRunner":"jest-circus/runner","testTimeout":20000,"testEnvironment":"node","setupFilesAfterEnv":["./test/setup.ts"],"testPathIgnorePatterns":["/node_modules/"]},"main":"./dist/lib/index","type":"commonjs","types":"./dist/lib/index.d.ts","module":"./dist/lib/index.mjs","engines":{"node":">=10.x"},"exports":{".":{"import":"./dist/lib/index.mjs","default":"./dist/lib/index.js","require":"./dist/lib/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"2195e4545406d9f587554683e71c33da32942cda","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --frail --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions .; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"rm -rf dist coverage external-scripts/bin","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter . && prettier --write .","prepare":"if [ -z \"$CI\" ]; then npx husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"if ! [ -z \"$INCLUDE_EXTERNALS\" ]; then X=; Y='--collectCoverageFrom'; Z='external-scripts/**/*.ts'; else X='test/unit-external*.test.ts'; Y=; Z=; fi; BABEL_ENV=test jest --coverage --collectCoverageFrom 'src/**/*.ts' --collectCoverageFrom 'lib/**/*.ts' $Y $Z --testPathIgnorePatterns test/integration-*.test.ts $X","build-dist":"npm run clean && NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name main && NODE_ENV=esm babel src --extensions .ts --out-dir dist/lib --out-file-extension .mjs && { echo -n '\"undefined\"!=typeof window&&(window.global=window);'; cat dist/lib/index.js; } > dist/lib/index.js-tmp && mv -f dist/lib/index.js-tmp dist/lib/index.js","build-docs":"typedoc --plugin typedoc-plugin-markdown --out docs --readme none src/index.ts && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find docs -name '*.md' -exec sed -i -e 's/__namedParameters/\\(destructured\\)/g' {} + && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --config-name main --json > bundle-stats.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --preset angular --config .changelogrc.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./.changelogrc.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.tmp && mv CHANGELOG.md.tmp CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-integration":"npm run list-tasks | grep -e '^test-integration-' | xargs -n1 npm run","test-integration-node":"BABEL_ENV=test jest test/integration-node*.test.ts","test-integration-webpack":"BABEL_ENV=test jest test/integration-webpack*.test.ts","test-integration-externals":"BABEL_ENV=test jest test/integration-externals*.test.ts"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"prettier":{"semi":true,"tabWidth":2,"endOfLine":"lf","overrides":[{"files":"**/*.@(ts|?(@(c|m))js)?(x)","options":{"parser":"babel-ts","printWidth":90}}],"proseWrap":"always","printWidth":80,"singleQuote":true,"trailingComma":"none"},"commitlint":{"rules":{"type-enum":[2,"always",["feat","fix","docs","style","refactor","test","revert","debug","build","chore"]],"body-leading-blank":[2,"always"],"footer-leading-blank":[2,"always"]},"extends":["@commitlint/config-conventional"]},"env-expect":{"rules":[{"name":"^MONGODB_URI$","value":"^.*:\\/\\/.*\\/.*$","required":false,"errorMessage":"expected MONGODB_URI to be a valid Mongo connect URI with database name"},{"name":"^GH_TOKEN$","value":"^[a-f0-9]*$","required":false,"errorMessage":"expected GH_TOKEN to be undefined or a valid GitHub Personal Access Token"}],"errorMessage":"\nCopy the \".env.example\" file to \".env\" or define the appropriate repository secrets"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"6.14.11","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"lint-staged":{"*":"prettier --write --ignore-unknown","*.md":"remark -o --use reference-links --use gfm --use frontmatter","package.json":"sort-package-json"},"sideEffects":false,"_nodeVersion":"15.5.1","dependencies":{"test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","jest":"^26.6.3","debug":"^4.3.1","husky":"^5.0.4","dotenv":"^8.2.0","eslint":"^7.17.0","semver":"^7.3.4","mongodb":"^3.6.3","shelljs":"^0.8.4","typedoc":"0.20.14","webpack":"^5.13.0","prettier":"^2.2.1","@babel/cli":"^7.12.10","babel-jest":"^26.6.3","remark-cli":"^9.0.0","remark-gfm":"^1.0.0","typescript":"^4.1.3","@babel/core":"^7.12.10","@types/jest":"^26.0.20","@types/node":"^14.14.20","jest-circus":"^26.6.3","lint-staged":"^10.5.3","webpack-cli":"^4.3.1","@types/debug":"^4.1.5","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","spellchecker":"^3.7.1","@octokit/rest":"^18.0.12","@types/semver":"^7.3.4","jest-extended":"^0.11.5","@types/mongodb":"^3.6.3","@types/shelljs":"^0.8.8","@types/webpack":"^4.41.26","edit-json-file":"^1.5.0","@commitlint/cli":"^11.0.0","@ergodark/types":"^1.0.16","text-extensions":"^2.3.0","unique-filename":"^1.1.1","semantic-release":"github:Xunnamius/semantic-release#contrib-holistic","@babel/preset-env":"^7.12.11","find-package-json":"^1.2.0","sort-package-json":"github:Xunnamius/sort-package-json#contrib-env-expect","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.1.3","remark-frontmatter":"^3.0.0","source-map-support":"^0.5.19","escape-string-regexp":"^4.0.0","eslint-plugin-import":"^2.22.1","@semantic-release/git":"^9.0.0","@types/edit-json-file":"^1.4.0","@semantic-release/exec":"^5.0.0","remark-reference-links":"^5.0.0","webpack-node-externals":"^2.5.2","typedoc-plugin-markdown":"3.4.0","@babel/preset-typescript":"^7.12.7","@types/find-package-json":"^1.1.1","@typescript-eslint/parser":"^4.13.0","confusing-browser-globals":"^1.0.10","remark-lint-final-newline":"^1.0.5","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^5.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^2.0.1","remark-lint-no-inline-padding":"^3.0.0","conventional-changelog-angular":"^5.0.12","@commitlint/config-conventional":"^11.0.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^4.13.0","eslint-import-resolver-typescript":"^2.3.0","remark-lint-no-unused-definitions":"^2.0.1","babel-plugin-transform-mjs-imports":"^1.0.3","remark-lint-no-undefined-references":"^3.0.0","@babel/plugin-proposal-function-bind":"^7.12.1","remark-lint-no-duplicate-definitions":"^2.0.1","remark-lint-no-heading-content-indent":"^3.0.0","remark-lint-ordered-list-marker-style":"^2.0.1","remark-lint-no-blockquote-without-marker":"^4.0.0","remark-lint-no-auto-link-without-protocol":"^2.0.1","@babel/plugin-proposal-export-default-from":"^7.12.1"},"peerDependencies":{"next":">=9.5.x"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.2.7_1610495537016_0.02090395889281349","host":"s3://npm-registry-packages"}},"1.2.8":{"name":"next-test-api-route-handler","version":"1.2.8","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.2.8","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"83d94053f3300fc69292d3328da2a7c68be9ea96","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.2.8.tgz","fileCount":7,"integrity":"sha512-yZ6yFmDY9vi3zNcldIBfU3vsNtMEgIJQapqFASgOWGgbu5kfZ8/9ylzE7Z/G+1FHjz8wf6EwP0e1rsD85ecwsg==","signatures":[{"sig":"MEUCIDZsRb6Bx7ntoMHQGQVWNecR/mlYEcpL8pMx9BekdjqUAiEAm6O3dtMXbxeQsL4PWfWqx0BvUUKmGIMLKMXuEDD6EPw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/xKKCRA9TVsSAnZWagAAAK0QAJPyg02SvQTjb9We99No\n+InoFh2r5Bp3Rp246kQd+M4utdOxJT4f7G/xg37PT0bl8Xdu+HvNkDDcvzJX\n2GjFM9gdkjyKVzqfiC9eNMLBiKEO9fqvQiyEb5dqgXU4W95u8pdGe/przm2r\nHuslZEEhCbIVyf5qwcdDuTiTs15W+0sc6Nj4MI6mki+adH+y3qugmDWtAF+M\nssvRsUxyV/tRJn5ag0RSl4nKg2w3yYfK1mAH1Pbs47mlVcv83k3CoHoMQ2Hk\nn35r8hSoZZmeYfdJYX5vVKkyxiX2Hx/XZiwLI8wttkbxOytpQKHzaXLkedkm\nHZZ1nHsqPJ5FQ/6L4fDYbdz3zN2YW383S6F3dyzXUia1h+z1TC17eUFrW1iV\nVrH2IlhI6H291Gh63smo4wPJ7bVEC7VtpKYi16frwtLLKD2mZ78T2X6G6ptt\nzVJ+r9VqhU3K4F9jsOP44qto4LZrW/8cIOMkqCWViInzZKlYsDcUYJJy+MJu\nnXRBEPpFI7kyzJ8E/r300nTgGiYoPn+c/qCBFinSvfXEJ3clcwAao8yVXAZW\nfB2TdD8JJFLhCCkiyLP2kdiXkJF+BqwvJCZXLexQ43rdfN8pmj99jWxAY5x4\nj5Tp5xzMM2qKxwLHh6D5Z7jC955kzGmpaAJqoWtCMKYnMSIttIkPf6tm9676\nMml5\r\n=N7XS\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":false,"testRunner":"jest-circus/runner","testTimeout":20000,"testEnvironment":"node","setupFilesAfterEnv":["./test/setup.ts"],"testPathIgnorePatterns":["/node_modules/"]},"main":"./dist/lib/index","type":"commonjs","types":"./dist/lib/index.d.ts","module":"./dist/lib/index.mjs","engines":{"node":">=10.x"},"exports":{".":{"import":"./dist/lib/index.mjs","default":"./dist/lib/index.js","require":"./dist/lib/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"05b59d3a5b04dd76cf1a7dd47324713387e63564","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --frail --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions .; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"rm -rf dist coverage external-scripts/bin","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter . && prettier --write .","prepare":"if [ -z \"$CI\" ]; then npx husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"if ! [ -z \"$INCLUDE_EXTERNALS\" ]; then X=; Y='--collectCoverageFrom'; Z='external-scripts/**/*.ts'; else X='test/unit-external*.test.ts'; Y=; Z=; fi; BABEL_ENV=test jest --coverage --collectCoverageFrom 'src/**/*.ts' --collectCoverageFrom 'lib/**/*.ts' $Y $Z --testPathIgnorePatterns test/integration-*.test.ts $X","build-dist":"npm run clean && NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name main && NODE_ENV=esm babel src --extensions .ts --out-dir dist/lib --out-file-extension .mjs && { echo -n '\"undefined\"!=typeof window&&(window.global=window);'; cat dist/lib/index.js; } > dist/lib/index.js-tmp && mv -f dist/lib/index.js-tmp dist/lib/index.js","build-docs":"typedoc --plugin typedoc-plugin-markdown --out docs --readme none src/index.ts && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find docs -name '*.md' -exec sed -i -e 's/__namedParameters/\\(destructured\\)/g' {} + && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --config-name main --json > bundle-stats.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --preset angular --config .changelogrc.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./.changelogrc.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.tmp && mv CHANGELOG.md.tmp CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-integration":"npm run list-tasks | grep -e '^test-integration-' | xargs -n1 npm run","test-integration-node":"BABEL_ENV=test jest test/integration-node*.test.ts","test-integration-webpack":"BABEL_ENV=test jest test/integration-webpack*.test.ts","test-integration-externals":"BABEL_ENV=test jest test/integration-externals*.test.ts"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"prettier":{"semi":true,"tabWidth":2,"endOfLine":"lf","overrides":[{"files":"**/*.@(ts|?(@(c|m))js)?(x)","options":{"parser":"babel-ts","printWidth":90}}],"proseWrap":"always","printWidth":80,"singleQuote":true,"trailingComma":"none"},"commitlint":{"rules":{"type-enum":[2,"always",["feat","fix","docs","style","refactor","test","revert","debug","build","chore"]],"body-leading-blank":[2,"always"],"footer-leading-blank":[2,"always"]},"extends":["@commitlint/config-conventional"]},"env-expect":{"rules":[{"name":"^MONGODB_URI$","value":"^.*:\\/\\/.*\\/.*$","required":false,"errorMessage":"expected MONGODB_URI to be a valid Mongo connect URI with database name"},{"name":"^GH_TOKEN$","value":"^[a-f0-9]*$","required":false,"errorMessage":"expected GH_TOKEN to be undefined or a valid GitHub Personal Access Token"}],"errorMessage":"\nCopy the \".env.example\" file to \".env\" or define the appropriate repository secrets"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"6.14.11","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"lint-staged":{"*":"prettier --write --ignore-unknown","*.md":"remark -o --use reference-links --use gfm --use frontmatter","package.json":"sort-package-json"},"sideEffects":false,"_nodeVersion":"15.5.1","dependencies":{"test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","jest":"^26.6.3","debug":"^4.3.1","husky":"^5.0.4","dotenv":"^8.2.0","eslint":"^7.17.0","semver":"^7.3.4","mongodb":"^3.6.3","shelljs":"^0.8.4","typedoc":"0.20.14","webpack":"^5.13.0","prettier":"^2.2.1","@babel/cli":"^7.12.10","babel-jest":"^26.6.3","remark-cli":"^9.0.0","remark-gfm":"^1.0.0","typescript":"^4.1.3","@babel/core":"^7.12.10","@types/jest":"^26.0.20","@types/node":"^14.14.20","jest-circus":"^26.6.3","lint-staged":"^10.5.3","webpack-cli":"^4.3.1","@types/debug":"^4.1.5","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","spellchecker":"^3.7.1","@octokit/rest":"^18.0.12","@types/semver":"^7.3.4","jest-extended":"^0.11.5","@types/mongodb":"^3.6.3","@types/shelljs":"^0.8.8","@types/webpack":"^4.41.26","edit-json-file":"^1.5.0","@commitlint/cli":"^11.0.0","@ergodark/types":"^1.0.16","text-extensions":"^2.3.0","unique-filename":"^1.1.1","semantic-release":"github:Xunnamius/semantic-release#contrib-holistic","@babel/preset-env":"^7.12.11","find-package-json":"^1.2.0","sort-package-json":"github:Xunnamius/sort-package-json#contrib-env-expect","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.1.3","remark-frontmatter":"^3.0.0","source-map-support":"^0.5.19","escape-string-regexp":"^4.0.0","eslint-plugin-import":"^2.22.1","@semantic-release/git":"^9.0.0","@types/edit-json-file":"^1.4.0","@semantic-release/exec":"^5.0.0","remark-reference-links":"^5.0.0","webpack-node-externals":"^2.5.2","typedoc-plugin-markdown":"3.4.0","@babel/preset-typescript":"^7.12.7","@types/find-package-json":"^1.1.1","@typescript-eslint/parser":"^4.13.0","confusing-browser-globals":"^1.0.10","remark-lint-final-newline":"^1.0.5","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^5.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^2.0.1","remark-lint-no-inline-padding":"^3.0.0","conventional-changelog-angular":"^5.0.12","@commitlint/config-conventional":"^11.0.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^4.13.0","eslint-import-resolver-typescript":"^2.3.0","remark-lint-no-unused-definitions":"^2.0.1","babel-plugin-transform-mjs-imports":"^1.0.3","remark-lint-no-undefined-references":"^3.0.0","@babel/plugin-proposal-function-bind":"^7.12.1","remark-lint-no-duplicate-definitions":"^2.0.1","remark-lint-no-heading-content-indent":"^3.0.0","remark-lint-ordered-list-marker-style":"^2.0.1","remark-lint-no-blockquote-without-marker":"^4.0.0","remark-lint-no-auto-link-without-protocol":"^2.0.1","@babel/plugin-proposal-export-default-from":"^7.12.1"},"peerDependencies":{"next":">=9.5.x"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.2.8_1610551946100_0.8494085915832443","host":"s3://npm-registry-packages"}},"1.2.9":{"name":"next-test-api-route-handler","version":"1.2.9","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.2.9","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"3d4f0f1d4be469b07fdf3b23a8b2c12c01e032ba","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.2.9.tgz","fileCount":7,"integrity":"sha512-B9b/7LoN0P5HqdIZCsCg98103DMP1KG8x/gEniK4CLjV7gseIc2p9fOa3Z2YZrVMkZPO+Ympp5uJuZU8CQPmIA==","signatures":[{"sig":"MEQCIEsXl17ZhSyQ5wYkP7bp1dgzclcJFVbJUBCsPDSbM+CXAiA4ZPTAypxVudScibGxYexQ1BZvZvZLQHgUFqxtaHRVdg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39501,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgCTbaCRA9TVsSAnZWagAAqZYQAKKiV0pREW2sWekpeRyT\n5n0/XOJ87m+HnFtKSoJkDjOhrd5QC5vK8r/S/p1lepvCVbhF4O8TaFNcnc8S\nanQxzPDVc5MHJBUxZUjIHcr75EW00cPsbGE2AB0M52irssUoC32MW6xiRCaA\n4FzD0gK89owiF7RSbrzlkNWDOciAr4fc0TRKR00X75p9qf/soGLQ9LfsnQZV\nD+STO93PFxx5V4iAZRKCH6lEqu9MKfP9k0oJoNsnVRo00xzX+Fs9cA4NRpO7\nXde7OVugBPtXhRG8QNCagT47gWtQfpsmRLN/BOzYM7IhrlDhrT313IW3eXbn\nVn4HhkL/AAJX3tEjkY6WpnNvhASB+O33ped11OXMd6p31iAeONHvm+ixeCQo\n6l/1ynDy/ofCxnz3meOgpLu6Oaw/F6IwPTfr/AyAtD/D/RZCbWRcz0JgNNHL\n+dAMo7q+AQCxcCPtzg+YFDRRSwQfk+MpDiwlBM+TysbAe8d+0YcxAUohGS3k\ndjEPC+Tt08RnV/m8BHmlIpUCJqDE+/2mQn0BK9CIUPVQAnTgddGkZ/Cm60DI\nyWPOpXg1lAhuG8J5ZKibODNDKVSRwc92YKs2yYxN5JUsFcMaONVkM6XFc++b\nbgWgSw/PVKiqdUde0xD6ERaUUTPVYorddMQ1DiM9owDwc5LLcepctuaKFOY5\nwroH\r\n=TPUK\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":false,"testRunner":"jest-circus/runner","testTimeout":20000,"testEnvironment":"node","setupFilesAfterEnv":["./test/setup.ts"],"testPathIgnorePatterns":["/node_modules/"]},"main":"./dist/lib/index","type":"commonjs","types":"./dist/lib/index.d.ts","module":"./dist/lib/index.mjs","engines":{"node":">=10.x"},"exports":{".":{"import":"./dist/lib/index.mjs","default":"./dist/lib/index.js","require":"./dist/lib/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"a10b4ced6944fd7833daaefd5511094431fcc27c","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --frail --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions .; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"rm -rf dist coverage external-scripts/bin","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter . && prettier --write .","prepare":"if [ -z \"$CI\" ]; then npx husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"if ! [ -z \"$INCLUDE_EXTERNALS\" ]; then X=; Y='--collectCoverageFrom'; Z='external-scripts/**/*.ts'; else X='test/unit-external*.test.ts'; Y=; Z=; fi; BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts' --collectCoverageFrom 'lib/**/*.ts' $Y $Z --testPathIgnorePatterns test/integration-*.test.ts $X","build-dist":"npm run clean && NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name main && NODE_ENV=esm babel src --extensions .ts --out-dir dist/lib --out-file-extension .mjs && { echo -n '\"undefined\"!=typeof window&&(window.global=window);'; cat dist/lib/index.js; } > dist/lib/index.js-tmp && mv -f dist/lib/index.js-tmp dist/lib/index.js","build-docs":"typedoc --plugin typedoc-plugin-markdown --out docs --readme none src/index.ts && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find docs -name '*.md' -exec sed -i -e 's/__namedParameters/\\(destructured\\)/g' {} + && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --config-name main --json > bundle-stats.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --preset angular --config .changelogrc.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./.changelogrc.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-integration":"npm run list-tasks | grep -e '^test-integration-' | xargs -n1 npm run","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts","test-integration-webpack":"BABEL_ENV=test jest $JEST_CLI test/integration-webpack*.test.ts","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-externals*.test.ts"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"prettier":{"semi":true,"tabWidth":2,"endOfLine":"lf","overrides":[{"files":"**/*.@(ts|?(@(c|m))js)?(x)","options":{"parser":"babel-ts","printWidth":90}}],"proseWrap":"always","printWidth":80,"singleQuote":true,"trailingComma":"none"},"commitlint":{"rules":{"type-enum":[2,"always",["feat","fix","docs","style","refactor","test","revert","debug","build","chore"]],"body-leading-blank":[2,"always"],"footer-leading-blank":[2,"always"]},"extends":["@commitlint/config-conventional"]},"env-expect":{"rules":[{"name":"^MONGODB_URI$","value":"^.*:\\/\\/.*\\/.*$","required":false,"errorMessage":"expected MONGODB_URI to be a valid Mongo connect URI with database name"},{"name":"^GH_TOKEN$","value":"^[a-f0-9]*$","required":false,"errorMessage":"expected GH_TOKEN to be undefined or a valid GitHub Personal Access Token"}],"errorMessage":"\nCopy the \".env.example\" file to \".env\" or define the appropriate repository secrets"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"6.14.11","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"lint-staged":{"*":"prettier --write --ignore-unknown","*.md":"remark -o --use reference-links --use gfm --use frontmatter","package.json":"sort-package-json"},"sideEffects":false,"_nodeVersion":"15.6.0","dependencies":{"test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","jest":"^26.6.3","debug":"^4.3.1","husky":"^5.0.4","dotenv":"^8.2.0","eslint":"^7.17.0","semver":"^7.3.4","mongodb":"^3.6.3","shelljs":"^0.8.4","typedoc":"0.20.16","webpack":"^5.13.0","prettier":"^2.2.1","@babel/cli":"^7.12.10","babel-jest":"^26.6.3","remark-cli":"^9.0.0","remark-gfm":"^1.0.0","typescript":"^4.1.3","@babel/core":"^7.12.10","@types/jest":"^26.0.20","@types/node":"^14.14.20","jest-circus":"^26.6.3","lint-staged":"^10.5.3","webpack-cli":"^4.3.1","@types/debug":"^4.1.5","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","spellchecker":"^3.7.1","@octokit/rest":"^18.0.12","@types/semver":"^7.3.4","jest-extended":"^0.11.5","@types/mongodb":"^3.6.3","@types/shelljs":"^0.8.8","@types/webpack":"^4.41.26","edit-json-file":"^1.5.0","@commitlint/cli":"^11.0.0","@ergodark/types":"^1.0.16","text-extensions":"^2.3.0","unique-filename":"^1.1.1","semantic-release":"github:Xunnamius/semantic-release#contrib-holistic","@babel/preset-env":"^7.12.11","find-package-json":"^1.2.0","sort-package-json":"github:Xunnamius/sort-package-json#contrib-env-expect","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.1.3","remark-frontmatter":"^3.0.0","source-map-support":"^0.5.19","escape-string-regexp":"^4.0.0","eslint-plugin-import":"^2.22.1","@semantic-release/git":"^9.0.0","@types/edit-json-file":"^1.4.0","@semantic-release/exec":"^5.0.0","remark-reference-links":"^5.0.0","webpack-node-externals":"^2.5.2","typedoc-plugin-markdown":"3.4.1","@babel/preset-typescript":"^7.12.7","@types/find-package-json":"^1.1.1","@typescript-eslint/parser":"^4.13.0","confusing-browser-globals":"^1.0.10","remark-lint-final-newline":"^1.0.5","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^5.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^2.0.1","remark-lint-no-inline-padding":"^3.0.0","conventional-changelog-angular":"^5.0.12","@commitlint/config-conventional":"^11.0.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^4.13.0","eslint-import-resolver-typescript":"^2.3.0","remark-lint-no-unused-definitions":"^2.0.1","babel-plugin-transform-mjs-imports":"^1.0.3","remark-lint-no-undefined-references":"^3.0.0","@babel/plugin-proposal-function-bind":"^7.12.1","remark-lint-no-duplicate-definitions":"^2.0.1","remark-lint-no-heading-content-indent":"^3.0.0","remark-lint-ordered-list-marker-style":"^2.0.1","remark-lint-no-blockquote-without-marker":"^4.0.0","remark-lint-no-auto-link-without-protocol":"^2.0.1","@babel/plugin-proposal-export-default-from":"^7.12.1"},"peerDependencies":{"next":">=9.5.x"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.2.9_1611216602166_0.8089201874443634","host":"s3://npm-registry-packages"}},"1.2.10":{"name":"next-test-api-route-handler","version":"1.2.10","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.2.10","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"19b6bf563416455ac6af8b423c4c57441fe1579c","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.2.10.tgz","fileCount":7,"integrity":"sha512-HMItvZocfXyvaaNCMy2lyx//1APGcQTAV5Qxcb9/a/50xusLOE18rswJE6x4iW/areXapCtUQR2kWCq/H4ko4g==","signatures":[{"sig":"MEUCIQC0G+Vi45A4aQLA+K4QS4/iSOHST+V4tRsk6txZmYXxjwIgDDjIsCmFu1k1/y5Vr8BD0ajK1AnhPyaUSgeDOjLCrMA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgCx8nCRA9TVsSAnZWagAALXsP/A6AfbR/QtxYuDB0Z2n+\nTr2AivovDc8s/zlcs6bdig5YG86HSQi0dlcpgDeqqUYUkiKDzHvDaxoOk3rH\nEtKhFhmpzpRkkEeUzHuMnParrh4P7a0Jso1dcPc5tfETTniutDGMJTcN6ZUB\nG/sq3Qu6Fm+s2jnEdrA99iueMzAZKf+OvFZyyFx4HjyYWAm1jwOFWP2H/VHg\nqQcdE9rOWfI1EZTTAeAf4rWEHzkKTrwZfjDtOFzvi4CK9D17k1dmjUaxR9/e\n3KhWmFIQu4K55hei3XHgXOyV/yx7QuBoOeOLKDxfesS1BkJFkLH3IKfZMAEf\neI4OT1/JZ0E7jI1b+EBZkQ24/9neAMb+ZZBoKVxHkvOAFPhcm9Wh+8TtSkBV\nz6bLNlM1oacQ7o6DgVBj7k7UIqU+7e2fN2hp4z13pcRe5Qvx8CgTyBLRjOLp\nTtj8t0PQ7MvQe2JSZn++erovtvUkddgRgqhXmduVNwEO4+4cieTEsOQveYeg\n2Pte9QNQKeGLk4uOjrV7amk1YpLIivJ0SiInDUa28qEfY51ftePAbjw+X5zn\nqtN/Ls0m/3k2ylJSEZk3Q/BKjPkb/e5dOXADXLMJj7UTRvQLOzVmycnnKjka\nDPVNWtUFQ0PKZHwh6k52K2SfhYNktdbB8E8C8FN3v0ZasfRqyfd4I49VqFEH\nXzsE\r\n=C9aH\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":false,"testRunner":"jest-circus/runner","testTimeout":20000,"testEnvironment":"node","setupFilesAfterEnv":["./test/setup.ts"],"testPathIgnorePatterns":["/node_modules/"]},"main":"./dist/lib/index","type":"commonjs","types":"./dist/lib/index.d.ts","module":"./dist/lib/index.mjs","engines":{"node":">=10.x"},"exports":{".":{"import":"./dist/lib/index.mjs","default":"./dist/lib/index.js","require":"./dist/lib/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"537cc31833c78c58e613b53f6f49c8208d6587c7","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --frail --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions .; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"rm -rf dist coverage external-scripts/bin","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter . && prettier --write .","prepare":"if [ -z \"$CI\" ]; then npx husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"if ! [ -z \"$INCLUDE_EXTERNALS\" ]; then X=; Y='--collectCoverageFrom'; Z='external-scripts/**/*.ts'; else X='test/unit-external*.test.ts'; Y=; Z=; fi; BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts' --collectCoverageFrom 'lib/**/*.ts' $Y $Z --testPathIgnorePatterns test/integration-*.test.ts $X","build-dist":"npm run clean && NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name main && NODE_ENV=esm babel src --extensions .ts --out-dir dist/lib --out-file-extension .mjs && { echo -n '\"undefined\"!=typeof window&&(window.global=window);'; cat dist/lib/index.js; } > dist/lib/index.js-tmp && mv -f dist/lib/index.js-tmp dist/lib/index.js","build-docs":"typedoc --plugin typedoc-plugin-markdown --out docs --readme none src/index.ts && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find docs -name '*.md' -exec sed -i -e 's/__namedParameters/\\(destructured\\)/g' {} + && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --config-name main --json > bundle-stats.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --preset angular --config .changelogrc.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./.changelogrc.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-integration":"npm run list-tasks | grep -e '^test-integration-' | xargs -n1 npm run","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts","test-integration-webpack":"BABEL_ENV=test jest $JEST_CLI test/integration-webpack*.test.ts","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-externals*.test.ts"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"prettier":{"semi":true,"tabWidth":2,"endOfLine":"lf","overrides":[{"files":"**/*.@(ts|?(@(c|m))js)?(x)","options":{"parser":"babel-ts","printWidth":90}}],"proseWrap":"always","printWidth":80,"singleQuote":true,"trailingComma":"none"},"commitlint":{"rules":{"type-enum":[2,"always",["feat","fix","docs","style","refactor","test","revert","debug","build","chore"]],"body-leading-blank":[2,"always"],"footer-leading-blank":[2,"always"]},"extends":["@commitlint/config-conventional"]},"env-expect":{"rules":[{"name":"^MONGODB_URI$","value":"^.*:\\/\\/.*\\/.*$","required":false,"errorMessage":"expected MONGODB_URI to be a valid Mongo connect URI with database name"},{"name":"^GH_TOKEN$","value":"^[a-f0-9]*$","required":false,"errorMessage":"expected GH_TOKEN to be undefined or a valid GitHub Personal Access Token"}],"errorMessage":"\nCopy the \".env.example\" file to \".env\" or define the appropriate repository secrets"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"6.14.11","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"lint-staged":{"*":"prettier --write --ignore-unknown","*.md":"remark -o --use reference-links --use gfm --use frontmatter","package.json":"sort-package-json"},"sideEffects":false,"_nodeVersion":"15.6.0","dependencies":{"test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","jest":"^26.6.3","debug":"^4.3.1","husky":"^5.0.4","dotenv":"^8.2.0","eslint":"^7.17.0","semver":"^7.3.4","mongodb":"^3.6.3","shelljs":"^0.8.4","typedoc":"0.20.16","webpack":"^5.13.0","prettier":"^2.2.1","@babel/cli":"^7.12.10","babel-jest":"^26.6.3","remark-cli":"^9.0.0","remark-gfm":"^1.0.0","typescript":"^4.1.3","@babel/core":"^7.12.10","@types/jest":"^26.0.20","@types/node":"^14.14.20","jest-circus":"^26.6.3","lint-staged":"^10.5.3","webpack-cli":"^4.3.1","@types/debug":"^4.1.5","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","spellchecker":"^3.7.1","@octokit/rest":"^18.0.12","@types/semver":"^7.3.4","jest-extended":"^0.11.5","@types/mongodb":"^3.6.3","@types/shelljs":"^0.8.8","@types/webpack":"^4.41.26","edit-json-file":"^1.5.0","@commitlint/cli":"^11.0.0","@ergodark/types":"^1.0.16","text-extensions":"^2.3.0","unique-filename":"^1.1.1","semantic-release":"github:Xunnamius/semantic-release#contrib-holistic","@babel/preset-env":"^7.12.11","find-package-json":"^1.2.0","sort-package-json":"github:Xunnamius/sort-package-json#contrib-env-expect","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.1.3","remark-frontmatter":"^3.0.0","source-map-support":"^0.5.19","escape-string-regexp":"^4.0.0","eslint-plugin-import":"^2.22.1","@semantic-release/git":"^9.0.0","@types/edit-json-file":"^1.4.0","@semantic-release/exec":"^5.0.0","remark-reference-links":"^5.0.0","webpack-node-externals":"^2.5.2","typedoc-plugin-markdown":"3.4.2","@babel/preset-typescript":"^7.12.7","@types/find-package-json":"^1.1.1","@typescript-eslint/parser":"^4.13.0","confusing-browser-globals":"^1.0.10","remark-lint-final-newline":"^1.0.5","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^5.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^2.0.1","remark-lint-no-inline-padding":"^3.0.0","conventional-changelog-angular":"^5.0.12","@commitlint/config-conventional":"^11.0.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^4.13.0","eslint-import-resolver-typescript":"^2.3.0","remark-lint-no-unused-definitions":"^2.0.1","babel-plugin-transform-mjs-imports":"^1.0.3","remark-lint-no-undefined-references":"^3.0.0","@babel/plugin-proposal-function-bind":"^7.12.1","remark-lint-no-duplicate-definitions":"^2.0.1","remark-lint-no-heading-content-indent":"^3.0.0","remark-lint-ordered-list-marker-style":"^2.0.1","remark-lint-no-blockquote-without-marker":"^4.0.0","remark-lint-no-auto-link-without-protocol":"^2.0.1","@babel/plugin-proposal-export-default-from":"^7.12.1"},"peerDependencies":{"next":">=9.5.x"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.2.10_1611341607055_0.9444849304274232","host":"s3://npm-registry-packages"}},"1.2.11":{"name":"next-test-api-route-handler","version":"1.2.11","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.2.11","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"336d0e4f10f28b4b3bed6f936427394c027bceac","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.2.11.tgz","fileCount":7,"integrity":"sha512-fN+wMhTxbkyvBozV3LIW4ZJl13ZmlR/6rCo/cHper4MF0kXlxH/ME664P6zWUhDno0kSaoGMW7IE/VvQLsvR7g==","signatures":[{"sig":"MEUCIQCxQ7GW5zg0qdjp4C+Z7uOSQL5Kr4lEvoYWZW1NuJHC4gIgeGauDhSYHx65vTyBXz1ODAOgi9IMMX0YU5S0UggDa38=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39897,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgC9MICRA9TVsSAnZWagAAPbgP/jv+9n9reNOQ1dUOHqB/\nY70o8xzlJosmKKieTKN/fDK6iQIGRE7cIxSZt5s/F5t4z7qtu/2a3+ilqkti\nomE4W0PZ08/M31g8iVHJbvkZuYoS/Uv/kMWb24UOMtPCDlMXJqgUnQXebMai\nvOZS1u/WB/8npzlLuJcH6ZikNTc2IwbLKk26OWbVwHfXbmmrF5qHu92Y6+EN\ncF31tUsYk+sP3q+Gi0D0+83xJT/DfqLW6Atcd2ImlQUTxGA/fpEPZj6MzLDG\nS8aIzsD2JqBpPiFDixuxXQQ9MAdJaGbdFoszO4zTbtXuMiHOyD2evv480OVp\nZvMvBL5zy3WHxNa7Zt6Vm+juLIpxcRGpGIViXYieYMsPGLsjNeB5YL4ZptPM\nkhJ/f1xQoNEsJ5TRavG6t86yDL+BRQYMrkIW9BoTwHK6PVpqvFxom09cdjq5\nB51MWa+jk6MP2Psx+cJxB6hARl8RtpcBWQxJYJymAJFlOFMBqg5hka3/rrmp\n4hvts3yENuo0FfwVWo4F6dl+sSfAmK/pAWO+zuNOmrrDz98ZC3TzgCUAMKD4\nN6kygFpQscDfDsirwkRZDGATelLZINy9DFwLC36wclEh1tiBSGNwiRBSHnWJ\nbJiPfVAwZoLwYq154WZUyxT12F3iJSAkkJ7xorsPEwWMQMOy8Rb7xUNBrcSv\nLzHg\r\n=p9ek\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":false,"testRunner":"jest-circus/runner","testTimeout":20000,"testEnvironment":"node","setupFilesAfterEnv":["./test/setup.ts"],"testPathIgnorePatterns":["/node_modules/"]},"main":"./dist/index","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=10.x"},"exports":{".":{"import":"./dist/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"7ed0c561ae90101a9a7d15d08603098f418518f5","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions .; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"rm -rf dist coverage external-scripts/bin bundle-stats.ignore.json","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter . && prettier --write .","prepare":"if [ -z \"$CI\" ]; then npx husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"if ! [ -z \"$INCLUDE_EXTERNALS\" ]; then X=; Y='--collectCoverageFrom'; Z='external-scripts/**/*.ts'; else X='test/unit-external*.test.ts'; Y=; Z=; fi; BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts' --collectCoverageFrom 'lib/**/*.ts' $Y $Z --testPathIgnorePatterns test/integration-*.test.ts $X","build-dist":"npm run clean && NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name main && NODE_ENV=esm babel src --extensions .ts --out-dir dist --out-file-extension .mjs","build-docs":"typedoc --plugin typedoc-plugin-markdown --out docs --readme none src/index.ts && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find docs -name '*.md' -exec sed -i -e 's/__namedParameters/\\(destructured\\)/g' {} + && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --config-name main --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --preset angular --config .changelogrc.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./.changelogrc.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-integration":"npm run list-tasks | grep -e '^test-integration-' | xargs -n1 npm run","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts","test-integration-webpack":"BABEL_ENV=test jest $JEST_CLI test/integration-webpack*.test.ts","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-externals*.test.ts"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"prettier":{"semi":true,"tabWidth":2,"endOfLine":"lf","overrides":[{"files":"**/*.@(ts|?(@(c|m))js)?(x)","options":{"parser":"babel-ts","printWidth":90}}],"proseWrap":"always","printWidth":80,"singleQuote":true,"trailingComma":"none"},"commitlint":{"rules":{"type-enum":[2,"always",["feat","fix","docs","style","refactor","test","revert","debug","build","chore"]],"body-leading-blank":[2,"always"],"footer-leading-blank":[2,"always"]},"extends":["@commitlint/config-conventional"]},"env-expect":{"rules":[{"name":"^MONGODB_URI$","value":"^.*:\\/\\/.*\\/.*$","required":false,"errorMessage":"expected MONGODB_URI to be a valid Mongo connect URI with database name"},{"name":"^GH_TOKEN$","value":"^[a-f0-9]*$","required":false,"errorMessage":"expected GH_TOKEN to be undefined or a valid GitHub Personal Access Token"}],"errorMessage":"\nCopy the \".env.example\" file to \".env\" or define the appropriate repository secrets"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"6.14.11","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"lint-staged":{"*":"prettier --write --ignore-unknown","*.md":"remark -o --use reference-links --use gfm --use frontmatter","package.json":"sort-package-json"},"sideEffects":false,"_nodeVersion":"15.6.0","dependencies":{"test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","jest":"^26.6.3","debug":"^4.3.1","husky":"^5.0.4","dotenv":"^8.2.0","eslint":"^7.18.0","semver":"^7.3.4","mongodb":"^3.6.3","shelljs":"^0.8.4","typedoc":"^0.20.16","webpack":"^5.17.0","prettier":"^2.2.1","@babel/cli":"^7.12.10","babel-jest":"^26.6.3","remark-cli":"^9.0.0","remark-gfm":"^1.0.0","typescript":"^4.1.3","@babel/core":"^7.12.10","@types/jest":"^26.0.20","@types/node":"^14.14.22","jest-circus":"^26.6.3","lint-staged":"^10.5.3","webpack-cli":"^4.4.0","@types/debug":"^4.1.5","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","spellchecker":"^3.7.1","@octokit/rest":"^18.0.14","@types/semver":"^7.3.4","jest-extended":"^0.11.5","@types/mongodb":"^3.6.3","@types/shelljs":"^0.8.8","@types/webpack":"^4.41.26","edit-json-file":"^1.5.0","@commitlint/cli":"^11.0.0","@ergodark/types":"^1.0.16","text-extensions":"^2.4.0","unique-filename":"^1.1.1","semantic-release":"github:Xunnamius/semantic-release#contrib-holistic","@babel/preset-env":"^7.12.11","find-package-json":"^1.2.0","sort-package-json":"github:Xunnamius/sort-package-json#contrib-env-expect","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.1.3","remark-frontmatter":"^3.0.0","source-map-support":"^0.5.19","escape-string-regexp":"^4.0.0","eslint-plugin-import":"^2.22.1","@semantic-release/git":"^9.0.0","@types/edit-json-file":"^1.4.0","@semantic-release/exec":"^5.0.0","remark-reference-links":"^5.0.0","webpack-node-externals":"^2.5.2","typedoc-plugin-markdown":"^3.4.3","@babel/preset-typescript":"^7.12.7","@types/find-package-json":"^1.1.1","@typescript-eslint/parser":"^4.14.0","confusing-browser-globals":"^1.0.10","remark-lint-final-newline":"^1.0.5","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^5.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^2.0.1","remark-lint-no-inline-padding":"^3.0.0","conventional-changelog-angular":"^5.0.12","@commitlint/config-conventional":"^11.0.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^4.14.0","eslint-import-resolver-typescript":"^2.3.0","remark-lint-no-unused-definitions":"^2.0.1","babel-plugin-transform-mjs-imports":"^1.0.3","remark-lint-no-undefined-references":"^3.0.0","@babel/plugin-proposal-function-bind":"^7.12.1","remark-lint-no-duplicate-definitions":"^2.0.1","remark-lint-no-heading-content-indent":"^3.0.0","remark-lint-ordered-list-marker-style":"^2.0.1","remark-lint-no-blockquote-without-marker":"^4.0.0","remark-lint-no-auto-link-without-protocol":"^2.0.1","@babel/plugin-proposal-export-default-from":"^7.12.1"},"peerDependencies":{"next":">=9.5.x"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.2.11_1611387656043_0.8872699523003347","host":"s3://npm-registry-packages"}},"1.2.12":{"name":"next-test-api-route-handler","version":"1.2.12","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.2.12","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"75b582beafa8a45418330d43f99b53123b596573","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.2.12.tgz","fileCount":7,"integrity":"sha512-sQMheVQR0nJ9yAZ4OzuxpiYNyTtpngX1U5PVNUFn3EzEizDAinIAdLD+9Jm67SUeG/7999UIh+6xBC7Yv2t5qw==","signatures":[{"sig":"MEQCIFsrb+aUqUlzG08iuu1PIAaZvw8HKSTRG3Q5XLoTtYR7AiA6+099VSoAxjJ+pVTvPSlOfDKEzhBeVSua1OqfmtSrdg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40388,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgDJ1YCRA9TVsSAnZWagAAlaoP/AicVlvhalAT/SbGFW99\ntk0MtKaB2ig8vWV1DGU4ODFOfy3GBEqVljKIxRCI12ObviwshgpWnoTFyoBv\nsZp3vV8L7X+2AvT8QtiRj+jWctaGNPAxjmAvlBtaEUY3NkP4ccMigZMLFJu0\nPAA63rlu35iRNbZI0YXwRRuhKPT6flkX4tlWCFEr++vUZLkmLcKwR3hzuY0w\nMQNHTOF/QG09hYLoZIgfoRK72qkY9gOFSm4T6RQGO5RrQwMVn1pEJ7n+1p89\nSMw22vtHiM8KEphDi7exrmlXnBdXb9MImbpPPE57QHST6/NJ0AIUCBrBgorg\nZHEkCUDqq4ZKDiPKbC7h3xBcwwG5xyBdjRYUl7ApfmmKAKlVff/w+89AFp1D\nCBLzetGefZRH0AA3QvCbbDIoMSqruNnnKNXNwPXjdglJGn7u9EffTVv82o9X\nBvbKs8EahI0o+Cg090vDXMhhR6wQD/L64t2yyk3+9Q8QUTk0ACSkVkqOHv/W\npPpM8797DF5okm28mzIm9AtI0PBSFhty2hyAc2SFui8iKEyWCaIJhgQYPKCU\nloGQU9I1xB9FHT9OHYuuLdBIsD3073OYggmjxSp8cIcYS+aIQHdIsHkajq8f\nGt3PyWVHVp2V8SEIRN6AcKJKPt1yeiLXbAH4ByTTfUSOvqFjZgAg2+9MRYm2\nhBs8\r\n=8POV\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":false,"testRunner":"jest-circus/runner","testTimeout":20000,"testEnvironment":"node","setupFilesAfterEnv":["./test/setup.ts"],"testPathIgnorePatterns":["/node_modules/"]},"main":"./dist/index","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=10.x"},"exports":{".":{"import":"./dist/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"a293b556b191bd73eb4bf62f13f159f27dcf92dd","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions .; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"rm -rf dist coverage external-scripts/bin bundle-stats.ignore.json","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter . && prettier --write .","prepare":"if [ -z \"$CI\" ]; then npx husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"if ! [ -z \"$INCLUDE_EXTERNALS\" ]; then X=; Y='--collectCoverageFrom'; Z='external-scripts/**/*.ts'; else X='test/unit-external*.test.ts'; Y=; Z=; fi; BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts' --collectCoverageFrom 'lib/**/*.ts' $Y $Z --testPathIgnorePatterns test/integration-*.test.ts $X","build-dist":"npm run clean && NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name main && NODE_ENV=esm babel src --extensions .ts --out-dir dist --out-file-extension .mjs","build-docs":"ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo $ENTRY && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find docs -name '*.md' -exec sed -i -e 's/__namedParameters/\\(destructured\\)/g' {} + && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --config-name main --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --preset angular --config .changelogrc.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./.changelogrc.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-integration":"npm run list-tasks | grep -e '^test-integration-' | xargs -n1 npm run","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts","test-integration-webpack":"BABEL_ENV=test jest $JEST_CLI test/integration-webpack*.test.ts","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-externals*.test.ts"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"prettier":{"semi":true,"tabWidth":2,"endOfLine":"lf","overrides":[{"files":"**/*.@(ts|?(@(c|m))js)?(x)","options":{"parser":"babel-ts","printWidth":90}}],"proseWrap":"always","printWidth":80,"singleQuote":true,"trailingComma":"none"},"commitlint":{"rules":{"type-enum":[2,"always",["feat","fix","docs","style","refactor","test","revert","debug","build","chore"]],"body-leading-blank":[2,"always"],"footer-leading-blank":[2,"always"]},"extends":["@commitlint/config-conventional"]},"env-expect":{"rules":[{"name":"^MONGODB_URI$","value":"^.*:\\/\\/.*\\/.*$","required":false,"errorMessage":"expected MONGODB_URI to be a valid Mongo connect URI with database name"},{"name":"^GH_TOKEN$","value":"^[a-f0-9]*$","required":false,"errorMessage":"expected GH_TOKEN to be undefined or a valid GitHub Personal Access Token"}],"errorMessage":"\nCopy the \".env.example\" file to \".env\" or define the appropriate repository secrets"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"6.14.11","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"lint-staged":{"*":"prettier --write --ignore-unknown","*.md":"remark -o --use reference-links --use gfm --use frontmatter","package.json":"sort-package-json"},"sideEffects":false,"_nodeVersion":"15.6.0","dependencies":{"test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","jest":"^26.6.3","debug":"^4.3.1","husky":"^5.0.4","dotenv":"^8.2.0","eslint":"^7.18.0","semver":"^7.3.4","mongodb":"^3.6.3","shelljs":"^0.8.4","typedoc":"^0.20.16","webpack":"^5.17.0","prettier":"^2.2.1","@babel/cli":"^7.12.10","babel-jest":"^26.6.3","remark-cli":"^9.0.0","remark-gfm":"^1.0.0","typescript":"^4.1.3","@babel/core":"^7.12.10","@types/jest":"^26.0.20","@types/node":"^14.14.22","jest-circus":"^26.6.3","lint-staged":"^10.5.3","webpack-cli":"^4.4.0","@types/debug":"^4.1.5","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","spellchecker":"^3.7.1","@octokit/rest":"^18.0.14","@types/semver":"^7.3.4","jest-extended":"^0.11.5","@types/mongodb":"^3.6.3","@types/shelljs":"^0.8.8","@types/webpack":"^4.41.26","edit-json-file":"^1.5.0","@commitlint/cli":"^11.0.0","@ergodark/types":"^1.0.16","text-extensions":"^2.4.0","unique-filename":"^1.1.1","semantic-release":"github:Xunnamius/semantic-release#contrib-holistic","@babel/preset-env":"^7.12.11","find-package-json":"^1.2.0","sort-package-json":"github:Xunnamius/sort-package-json#contrib-env-expect","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.1.3","remark-frontmatter":"^3.0.0","source-map-support":"^0.5.19","escape-string-regexp":"^4.0.0","eslint-plugin-import":"^2.22.1","@semantic-release/git":"^9.0.0","@types/edit-json-file":"^1.4.0","@semantic-release/exec":"^5.0.0","remark-reference-links":"^5.0.0","webpack-node-externals":"^2.5.2","typedoc-plugin-markdown":"^3.4.3","@babel/preset-typescript":"^7.12.7","@types/find-package-json":"^1.1.1","@typescript-eslint/parser":"^4.14.0","confusing-browser-globals":"^1.0.10","remark-lint-final-newline":"^1.0.5","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^5.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^2.0.1","remark-lint-no-inline-padding":"^3.0.0","conventional-changelog-angular":"^5.0.12","@commitlint/config-conventional":"^11.0.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^4.14.0","eslint-import-resolver-typescript":"^2.3.0","remark-lint-no-unused-definitions":"^2.0.1","babel-plugin-transform-mjs-imports":"^1.0.3","remark-lint-no-undefined-references":"^3.0.0","@babel/plugin-proposal-function-bind":"^7.12.1","remark-lint-no-duplicate-definitions":"^2.0.1","remark-lint-no-heading-content-indent":"^3.0.0","remark-lint-ordered-list-marker-style":"^2.0.1","remark-lint-no-blockquote-without-marker":"^4.0.0","remark-lint-no-auto-link-without-protocol":"^2.0.1","@babel/plugin-proposal-export-default-from":"^7.12.1"},"peerDependencies":{"next":">=9.5.x"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.2.12_1611439448248_0.9856005824836487","host":"s3://npm-registry-packages"}},"1.2.13":{"name":"next-test-api-route-handler","version":"1.2.13","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.2.13","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"6f383d1118198528b10a71725879f2ce892d3cba","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.2.13.tgz","fileCount":7,"integrity":"sha512-qooaIM/hfJ6y8TwdeZ4TA4M0Rfic4AOIIDHxtxLNjVLe0qn/8kfE2LumiIJiFD9SldYRzPr3UaXTR7KFQ5lrrA==","signatures":[{"sig":"MEQCIHaFpJS1W0e+x77SmMVORPUT9Z7zTmvaBN66vanjr4UXAiAtDnEwDT0FE0fL8EF4YobGyovPH0yB+S/8h3a7qU9MYw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44510,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgHQmUCRA9TVsSAnZWagAAwMwP/0+alNQhzbe8j6eLn6xq\nGmV2KhJiVPbzMkvAVSOzQGPqg7rPuvO3sMNdQKV3Zqo/MUiEickZgLzEP5ws\nyBBEkIlfCY7H9dT5iiOna1DKHVhq9gCYKldMSPZ9RX6kYBHQA4O5Oho7+m5Z\nAONvykjBwtio6sqENKm3vRZ+yUh+jF7avuF2qhzutYhZJRPOWBGwbDYIga7C\nzJrZAbCGTjQUFPRn29a0LAGdwaHy5aUysssqx/O6Sz9Nta13+i6IYD+Ir2VU\nvyS2Wa3jrlTyRQkKAdQw/+NrDVDN2CDOvaGPyGmCx50g9EshUVHlAg09dch3\nQX13JjoagnY8ASkJEsFXCk1vzbGcinbp56SKkGES9ExiMybhAnA3BRwyjbV8\n7tJov7mw2jHT4R7xfkUBkJvR4fuAS41slSFYweHouJlvscFFrmVYmP7C10rS\n2E5azFnMr9abiI1ILVHJcwWLh1VHcmYnFno+TEb7O5CkrJ68COI9KkYp/sp8\nTAWeSCrdPEPmmadsK90akuSy9zEiGJWYDSlhZf4xefX5R04LeTaoQ77aeG5F\nUFNQv2n8c72mHwSwudxBkQK2MVNjF8XMEe4z+LDaAOfycVMfPEYSUDgi6DVT\nkfVDXe6i8sLVjsP/21t9BLrgXyzPuYrfXPbNo9kssvjhSkWdsEXx9TKpcgoP\noXDO\r\n=S3P0\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":false,"testRunner":"jest-circus/runner","testTimeout":20000,"testEnvironment":"node","setupFilesAfterEnv":["./test/setup.ts"],"testPathIgnorePatterns":["/node_modules/"]},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/esm/index.mjs","engines":{"node":">=12.x"},"exports":{".":{"import":"./dist/esm/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"664f22a907581803d3fef9a8813782edcdfad225","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions .; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"rm -rf dist coverage external-scripts/bin bundle-stats.ignore.json","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter . && prettier --write .","prepare":"if [ -z \"$CI\" ]; then npx husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts' --collectCoverageFrom 'lib/**/*.ts' --collectCoverageFrom 'external-scripts/**/*.ts' --testPathIgnorePatterns test/integration-*.test.ts","build-dist":"npm run clean && NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name main && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli; fi && NODE_ENV=esm babel src --extensions .ts --out-dir dist/esm --out-file-extension .mjs","build-docs":"ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find docs -name '*.md' -exec sed -i -E 's/^.\\s*(\\*\\*)?__namedParameters(\\*\\*)?/**\\({ destructured }\\)**/gm' {} + && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --config-name main --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --preset angular --config .changelogrc.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./.changelogrc.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-integration":"BABEL_ENV=test jest $JEST_CLI --testPathIgnorePatterns test/unit-*.test.ts","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts","test-integration-webpack":"BABEL_ENV=test jest $JEST_CLI test/integration-webpack*.test.ts","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-externals*.test.ts"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"prettier":{"semi":true,"tabWidth":2,"endOfLine":"lf","overrides":[{"files":"**/*.@(ts|?(@(c|m))js)?(x)","options":{"parser":"babel-ts","printWidth":90}}],"proseWrap":"always","printWidth":80,"singleQuote":true,"trailingComma":"none"},"commitlint":{"rules":{"type-enum":[2,"always",["feat","fix","docs","style","refactor","test","revert","debug","build","chore"]],"body-leading-blank":[2,"always"],"footer-leading-blank":[2,"always"]},"extends":["@commitlint/config-conventional"]},"env-expect":{"rules":[{"name":"^MONGODB_URI$","value":"^.*:\\/\\/.*\\/.*$","required":false,"errorMessage":"expected MONGODB_URI to be a valid Mongo connect URI with database name"},{"name":"^GH_TOKEN$","value":"^[a-f0-9]*$","required":false,"errorMessage":"expected GH_TOKEN to be undefined or a valid GitHub Personal Access Token"}],"errorMessage":"\nCopy the \".env.example\" file to \".env\" or define the appropriate repository secrets"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"6.14.11","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"lint-staged":{"*":"prettier --write --ignore-unknown","*.md":"remark -o --use reference-links --use gfm --use frontmatter","package.json":"sort-package-json"},"sideEffects":false,"_nodeVersion":"15.8.0","dependencies":{"test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","jest":"^26.6.3","debug":"^4.3.1","husky":"^5.0.4","dotenv":"^8.2.0","eslint":"^7.19.0","semver":"^7.3.4","mongodb":"^3.6.4","shelljs":"^0.8.4","typedoc":"^0.20.20","webpack":"^5.20.2","prettier":"^2.2.1","@babel/cli":"^7.12.13","babel-jest":"^26.6.3","remark-cli":"^9.0.0","remark-gfm":"^1.0.0","typescript":"^4.1.3","@babel/core":"^7.12.13","@types/jest":"^26.0.20","@types/node":"^14.14.25","jest-circus":"^26.6.3","lint-staged":"^10.5.3","webpack-cli":"^4.5.0","@types/debug":"^4.1.5","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","spellchecker":"^3.7.1","@octokit/rest":"^18.1.0","@types/semver":"^7.3.4","jest-extended":"^0.11.5","@types/mongodb":"^3.6.5","@types/shelljs":"^0.8.8","@types/webpack":"^4.41.26","edit-json-file":"^1.5.0","@commitlint/cli":"^11.0.0","@ergodark/types":"^1.0.16","text-extensions":"^2.4.0","unique-filename":"^1.1.1","semantic-release":"github:Xunnamius/semantic-release#contrib-holistic","@babel/preset-env":"^7.12.13","find-package-json":"^1.2.0","sort-package-json":"github:Xunnamius/sort-package-json#contrib-env-expect","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.1.3","remark-frontmatter":"^3.0.0","source-map-support":"^0.5.19","escape-string-regexp":"^4.0.0","eslint-plugin-import":"^2.22.1","@semantic-release/git":"^9.0.0","@types/edit-json-file":"^1.4.0","@semantic-release/exec":"^5.0.0","remark-reference-links":"^5.0.0","webpack-node-externals":"^2.5.2","typedoc-plugin-markdown":"^3.4.5","@babel/preset-typescript":"^7.12.13","@types/find-package-json":"^1.1.1","@typescript-eslint/parser":"^4.14.2","confusing-browser-globals":"^1.0.10","remark-lint-final-newline":"^1.0.5","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^5.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^2.0.1","remark-lint-no-inline-padding":"^3.0.0","conventional-changelog-angular":"^5.0.12","@commitlint/config-conventional":"^11.0.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^4.14.2","babel-plugin-add-import-extension":"^1.4.4","eslint-import-resolver-typescript":"^2.3.0","remark-lint-no-unused-definitions":"^2.0.1","remark-lint-no-undefined-references":"^3.0.0","@babel/plugin-proposal-function-bind":"^7.12.13","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^2.0.1","remark-lint-no-heading-content-indent":"^3.0.0","remark-lint-ordered-list-marker-style":"^2.0.1","remark-lint-no-blockquote-without-marker":"^4.0.0","remark-lint-no-auto-link-without-protocol":"^2.0.1","@babel/plugin-proposal-export-default-from":"^7.12.13","babel-plugin-transform-default-named-imports":"^1.0.9"},"peerDependencies":{"next":">=9.5.x"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.2.13_1612515731785_0.6477424383405153","host":"s3://npm-registry-packages"}},"1.2.14":{"name":"next-test-api-route-handler","version":"1.2.14","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.2.14","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"c649ad80b2e05f2b3ced74dd1144e9cfa0595a81","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.2.14.tgz","fileCount":7,"integrity":"sha512-NmjinyDQOxvyHu/YkDXDJ2Xnr4t3hqsdWYpzkhfwLiilzUoQWkRQVeqXJFoQ18mnZbg0Ww8fO26Cw7lJ3slZNQ==","signatures":[{"sig":"MEUCIQCmuQ5ItOElkUxbdbrr0Y3J1PkXeqr9rEmrdOultKTnAgIgWB13H9LTmhlDlZuQ+ZLsTm/BbattHSjUTZFO/MHUWFI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47067,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgIISyCRA9TVsSAnZWagAANQMP/359xFoMhDWKTjqx5CWi\nFiD0QbUP1mY3ra8hNfSdsZZ6SohM9R50mkb5coB+ltv9QKqXQtyBChOjjpfs\nu9NtHGxX49bRKUn0c4/3UNXBWl74phUGTRYxJf5zX6K2rLmD8s7q9brey8MA\nIKveyKXYnAEvFUbbM7HuPqn1mPjyNMCoRVbUuXmGfL8tBdy67btYfl2EXg2h\n+5CvdTLgIXVPXe5W6i0a4u9aXrWG8vX7cUlHMnmr2Pm+e6md2rmx2N/i5Vt1\n3waADk42Y86CNpZKNFOnjeUUdQDbWnfCJjEqNDUqRCeO0OSCu09z+Y3bI67P\ncqKICZBTEfOKK0jAwW/rtFgh45fIJ8c/AeHT6MHPUDDF/GemvwL5fd1f6/et\nQO6HD0nZ/vc5C8QYImYoY3Xwi4YK5mSDaA74kkDiKQzgbclY9Jk2x2eoqmEA\nrOZMatLgIPMlT7/ZkcbxLOYYvJbG9NmeXaW/DL4TyM3eP0NVeBeFl/UyIgP8\nDMONo+0OgQOGy6kqpAsn0TCDPtsldrDhgh9saowMkt5rIve1g7O3lu52dWe9\nm+jyXR6S5ZL1FQ8c93BeejdrqVrkyQo4RoExJY0wXBrR9AlkfFG+2rCD8Sz6\nSxGVhDb2pcKVnMjR+v5xuKyV9PZJAj7u2aagwC99Mr6sTVq8At4I1uASg8M9\nhrg3\r\n=+WSk\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":false,"testRunner":"jest-circus/runner","testTimeout":20000,"testEnvironment":"node","setupFilesAfterEnv":["./test/setup.ts"],"testPathIgnorePatterns":["/node_modules/"]},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/esm/index.mjs","engines":{"node":">=12.x"},"exports":{".":{"import":"./dist/esm/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"4516082d97e7d9c6271981aa4a62f00c6f3e5eb6","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions .; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"rm -rf dist coverage external-scripts/bin bundle-stats.ignore.json","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter . && prettier --write .","prepare":"if [ -z \"$CI\" ]; then npx husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts' --collectCoverageFrom 'lib/**/*.ts' --collectCoverageFrom 'external-scripts/**/*.ts' --testPathIgnorePatterns test/integration-*.test.ts","build-dist":"npm run clean && NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name main && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli; fi && NODE_ENV=esm babel src --extensions .ts --out-dir dist/esm --out-file-extension .mjs","build-docs":"ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find docs -name '*.md' -exec sed -i -E 's/^.\\s*(\\*\\*)?__namedParameters(\\*\\*)?/**\\({ destructured }\\)**/gm' {} + && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --config-name main --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --preset angular --config .changelogrc.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./.changelogrc.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-integration":"BABEL_ENV=test jest $JEST_CLI --testPathIgnorePatterns test/unit-*.test.ts","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts","test-integration-webpack":"BABEL_ENV=test jest $JEST_CLI test/integration-webpack*.test.ts","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-externals*.test.ts"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"prettier":{"semi":true,"tabWidth":2,"endOfLine":"lf","overrides":[{"files":"**/*.@(ts|?(@(c|m))js)?(x)","options":{"parser":"babel-ts","printWidth":90}}],"proseWrap":"always","printWidth":80,"singleQuote":true,"trailingComma":"none"},"commitlint":{"rules":{"type-enum":[2,"always",["feat","fix","docs","style","refactor","test","revert","debug","build","chore"]],"body-leading-blank":[2,"always"],"footer-leading-blank":[2,"always"]},"extends":["@commitlint/config-conventional"]},"env-expect":{"rules":[{"name":"^MONGODB_URI$","value":"^.*:\\/\\/.*\\/.*$","required":false,"errorMessage":"expected MONGODB_URI to be a valid Mongo connect URI with database name"},{"name":"^GH_TOKEN$","value":"^[a-f0-9]*$","required":false,"errorMessage":"expected GH_TOKEN to be undefined or a valid GitHub Personal Access Token"}],"errorMessage":"\nCopy the \".env.example\" file to \".env\" or define the appropriate repository secrets"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"6.14.11","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"lint-staged":{"*":"prettier --write --ignore-unknown","*.md":"remark -o --use reference-links --use gfm --use frontmatter","package.json":"sort-package-json"},"sideEffects":false,"_nodeVersion":"15.8.0","dependencies":{"test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","jest":"^26.6.3","debug":"^4.3.1","husky":"^5.0.4","dotenv":"^8.2.0","eslint":"^7.19.0","semver":"^7.3.4","mongodb":"^3.6.4","shelljs":"^0.8.4","typedoc":"^0.20.20","webpack":"^5.20.2","prettier":"^2.2.1","@babel/cli":"^7.12.13","babel-jest":"^26.6.3","remark-cli":"^9.0.0","remark-gfm":"^1.0.0","typescript":"^4.1.3","@babel/core":"^7.12.13","@types/jest":"^26.0.20","@types/node":"^14.14.25","jest-circus":"^26.6.3","lint-staged":"^10.5.3","webpack-cli":"^4.5.0","@types/debug":"^4.1.5","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","spellchecker":"^3.7.1","@octokit/rest":"^18.1.0","@types/semver":"^7.3.4","jest-extended":"^0.11.5","@types/mongodb":"^3.6.5","@types/shelljs":"^0.8.8","@types/webpack":"^4.41.26","edit-json-file":"^1.5.0","@commitlint/cli":"^11.0.0","@ergodark/types":"^1.0.16","text-extensions":"^2.4.0","unique-filename":"^1.1.1","semantic-release":"github:Xunnamius/semantic-release#contrib-holistic","@babel/preset-env":"^7.12.13","find-package-json":"^1.2.0","sort-package-json":"github:Xunnamius/sort-package-json#contrib-env-expect","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.1.3","remark-frontmatter":"^3.0.0","source-map-support":"^0.5.19","escape-string-regexp":"^4.0.0","eslint-plugin-import":"^2.22.1","@semantic-release/git":"^9.0.0","@types/edit-json-file":"^1.4.0","@semantic-release/exec":"^5.0.0","remark-reference-links":"^5.0.0","webpack-node-externals":"^2.5.2","typedoc-plugin-markdown":"^3.4.5","@babel/preset-typescript":"^7.12.13","@types/find-package-json":"^1.1.1","@typescript-eslint/parser":"^4.14.2","confusing-browser-globals":"^1.0.10","remark-lint-final-newline":"^1.0.5","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^5.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^2.0.1","remark-lint-no-inline-padding":"^3.0.0","conventional-changelog-angular":"^5.0.12","@commitlint/config-conventional":"^11.0.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^4.14.2","babel-plugin-add-import-extension":"^1.4.4","eslint-import-resolver-typescript":"^2.3.0","remark-lint-no-unused-definitions":"^2.0.1","remark-lint-no-undefined-references":"^3.0.0","@babel/plugin-proposal-function-bind":"^7.12.13","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^2.0.1","remark-lint-no-heading-content-indent":"^3.0.0","remark-lint-ordered-list-marker-style":"^2.0.1","remark-lint-no-blockquote-without-marker":"^4.0.0","remark-lint-no-auto-link-without-protocol":"^2.0.1","@babel/plugin-proposal-export-default-from":"^7.12.13","babel-plugin-transform-default-named-imports":"^1.0.9"},"peerDependencies":{"next":">=9.5.x"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.2.14_1612743857428_0.7600979128515402","host":"s3://npm-registry-packages"}},"1.2.15":{"name":"next-test-api-route-handler","version":"1.2.15","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.2.15","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"a936745be83d8a414ccdefd66563764c32edc1e3","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.2.15.tgz","fileCount":7,"integrity":"sha512-j5mV7ADInqDYQVvXzYDcf6S5S0F/Tm882nePGqX7DSh92bn9QZNU5si1Unz+I9QUS3fmMEBH1Nkk0FJrMNrAxA==","signatures":[{"sig":"MEYCIQDGSWBp/I2yKj/fwm91vTVIWlrxEmfWm120cp9IXh+R4gIhAP0DL9ooeBPEF9TdyC9LKrSLbPG360aKe7HPhhR7RMHL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47216,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgIJ1zCRA9TVsSAnZWagAAwGEQAIDZCZ7TaRKA1R+ROyJG\nmfm068xK4d6cuUhVTrgQSymqWuGjG+4IYnbFfhNrmuh9AN0Hyk2SElVRo4do\nGmbdohNn0XGIRBAI0lri6OOT5z2Nz5A+g8glWGIwdtBpjQRlD78kAdeytVh8\nHwRntEgxAklT7Hjd/gvgyXvmFqmLJwUeiGnCXHlRH5803aKCkTfDAGHQSjvx\nBofpZq4+Bxndi0uhOWpd26RRiX8txeATDZ5CX4spsktSLv2+HH+gkYXZbPmu\naq74AmKPfrvR2mOdhpSjZDlvpERHwB/yil5/jXUZXcESAFhShPt2RjViyxi2\nM/riBFg+/h1Fo8DKjzDSBDvZ0n/W7LGfEeN5F/zSOh1h1EW1IIMx1R2PA3vp\nBh9EoM/QoObUDD+Yh/nzfkjMt0YHQCwG8wN4u/AOLfgAZ8uQe08qWUX+u61I\nELq/b1H9iWBFb7QfxTDisz53f0XXiaMIQAkLGuPmNNvXDttrlbBA3UfJywpJ\n6UyBJdBl7vWWzNlc5smsbYvn6qsB78w4LkKvouEL829Wjn2rnJvbYNMFkY0Z\n+6qP1GSb9AeYTlkZVugGV/ActxGsZwNp923xR8VmSZPeTdi2814ALBDSZ1ip\nUaRfincJxOeoolGXhCZfF7u+zPsgSvAIfpeazssTmfTKhMqW0xHqGpUJ2EnJ\nhwBV\r\n=YESV\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":false,"testRunner":"jest-circus/runner","testTimeout":20000,"testEnvironment":"node","setupFilesAfterEnv":["./test/setup.ts"],"testPathIgnorePatterns":["/node_modules/"]},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/esm/index.mjs","engines":{"node":">=12.x"},"exports":{".":{"import":"./dist/esm/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"4ea5373a59806cd4e0a817a31944eb9f6a2337e7","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions .; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"rm -rf dist coverage external-scripts/bin bundle-stats.ignore.json","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter . && prettier --write .","prepare":"if [ -z \"$CI\" ]; then npx husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts' --collectCoverageFrom 'lib/**/*.ts' --collectCoverageFrom 'external-scripts/**/*.ts' --testPathIgnorePatterns test/integration-*.test.ts","build-dist":"npm run clean && NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name main && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli; fi && NODE_ENV=esm babel src --extensions .ts --out-dir dist/esm --out-file-extension .mjs","build-docs":"ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find docs -name '*.md' -exec sed -i -E 's/^.\\s*(\\*\\*)?__namedParameters(\\*\\*)?/**\\({ destructured }\\)**/gm' {} + && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --config-name main --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --preset angular --config .changelogrc.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./.changelogrc.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-integration":"BABEL_ENV=test jest $JEST_CLI --testPathIgnorePatterns test/unit-*.test.ts","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts","test-integration-webpack":"BABEL_ENV=test jest $JEST_CLI test/integration-webpack*.test.ts","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-externals*.test.ts"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"prettier":{"semi":true,"tabWidth":2,"endOfLine":"lf","overrides":[{"files":"**/*.@(ts|?(@(c|m))js)?(x)","options":{"parser":"babel-ts","printWidth":90}}],"proseWrap":"always","printWidth":80,"singleQuote":true,"trailingComma":"none"},"commitlint":{"rules":{"type-enum":[2,"always",["feat","fix","docs","style","refactor","test","revert","debug","build","chore"]],"body-leading-blank":[2,"always"],"footer-leading-blank":[2,"always"]},"extends":["@commitlint/config-conventional"]},"env-expect":{"rules":[{"name":"^MONGODB_URI$","value":"^.*:\\/\\/.*\\/.*$","required":false,"errorMessage":"expected MONGODB_URI to be a valid Mongo connect URI with database name"},{"name":"^GH_TOKEN$","value":"^[a-f0-9]*$","required":false,"errorMessage":"expected GH_TOKEN to be undefined or a valid GitHub Personal Access Token"}],"errorMessage":"\nCopy the \".env.example\" file to \".env\" or define the appropriate repository secrets"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"6.14.11","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"lint-staged":{"*":"prettier --write --ignore-unknown","*.md":"remark -o --use reference-links --use gfm --use frontmatter","package.json":"sort-package-json"},"sideEffects":false,"_nodeVersion":"15.8.0","dependencies":{"test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","jest":"^26.6.3","debug":"^4.3.1","husky":"^5.0.4","dotenv":"^8.2.0","eslint":"^7.19.0","semver":"^7.3.4","mongodb":"^3.6.4","shelljs":"^0.8.4","typedoc":"^0.20.20","webpack":"^5.20.2","prettier":"^2.2.1","@babel/cli":"^7.12.13","babel-jest":"^26.6.3","remark-cli":"^9.0.0","remark-gfm":"^1.0.0","typescript":"^4.1.3","@babel/core":"^7.12.13","@types/jest":"^26.0.20","@types/node":"^14.14.25","jest-circus":"^26.6.3","lint-staged":"^10.5.3","webpack-cli":"^4.5.0","@types/debug":"^4.1.5","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","spellchecker":"^3.7.1","@octokit/rest":"^18.1.0","@types/semver":"^7.3.4","jest-extended":"^0.11.5","@types/mongodb":"^3.6.5","@types/shelljs":"^0.8.8","@types/webpack":"^4.41.26","edit-json-file":"^1.5.0","@commitlint/cli":"^11.0.0","@ergodark/types":"^1.0.16","text-extensions":"^2.4.0","unique-filename":"^1.1.1","semantic-release":"github:Xunnamius/semantic-release#contrib-holistic","@babel/preset-env":"^7.12.13","find-package-json":"^1.2.0","sort-package-json":"github:Xunnamius/sort-package-json#contrib-env-expect","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.1.3","remark-frontmatter":"^3.0.0","source-map-support":"^0.5.19","escape-string-regexp":"^4.0.0","eslint-plugin-import":"^2.22.1","@semantic-release/git":"^9.0.0","@types/edit-json-file":"^1.4.0","@semantic-release/exec":"^5.0.0","remark-reference-links":"^5.0.0","webpack-node-externals":"^2.5.2","typedoc-plugin-markdown":"^3.4.5","@babel/preset-typescript":"^7.12.13","@types/find-package-json":"^1.1.1","@typescript-eslint/parser":"^4.14.2","confusing-browser-globals":"^1.0.10","remark-lint-final-newline":"^1.0.5","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^5.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^2.0.1","remark-lint-no-inline-padding":"^3.0.0","conventional-changelog-angular":"^5.0.12","@commitlint/config-conventional":"^11.0.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^4.14.2","babel-plugin-add-import-extension":"^1.4.4","eslint-import-resolver-typescript":"^2.3.0","remark-lint-no-unused-definitions":"^2.0.1","remark-lint-no-undefined-references":"^3.0.0","@babel/plugin-proposal-function-bind":"^7.12.13","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^2.0.1","remark-lint-no-heading-content-indent":"^3.0.0","remark-lint-ordered-list-marker-style":"^2.0.1","remark-lint-no-blockquote-without-marker":"^4.0.0","remark-lint-no-auto-link-without-protocol":"^2.0.1","@babel/plugin-proposal-export-default-from":"^7.12.13","babel-plugin-transform-default-named-imports":"^1.0.9"},"peerDependencies":{"next":">=9.5.x"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.2.15_1612750193986_0.4206249948439522","host":"s3://npm-registry-packages"}},"1.2.16":{"name":"next-test-api-route-handler","version":"1.2.16","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.2.16","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"ab9c62844e71ca8781015314bb173ae9d51ca1e2","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.2.16.tgz","fileCount":7,"integrity":"sha512-iqjEmk692Q5YUoSiSIH3r/vEwkeZ2fAdXUZPkA7XwI+A3Ls5/cmtiB2QAUgGgcnS5SlnmKuZ3IQwwRR2TEBoSg==","signatures":[{"sig":"MEUCIQDH9JeZZ0eJVER2xJWqp5H3tnAPjMKkaUUurjPcjz9XzAIgOR0vJmZockbp2bhEuIJoLlhz+kboQqeg19dMOwYxJQQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47525,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJCGjCRA9TVsSAnZWagAASJ8P/iBLVm7UgOwmbyASDqlE\nzY6aE7S6jiknHw8wyHr1ZiyNJGOoKyDO11pvtcuf/MdH6Q6WeG3Vk33oh7fe\n6bIxArrWcMlId73Dv7XlBpTj/5FmV/1KGHkHJtc03xYbhoqQLM1s7LH3FrKZ\nhbX6NZgc+gqMnCrCH/kngKDCcAIYuGpLn0ZsjLGvYRP5p2ntwTghMSQP6luS\nG4vJsqR0ZOx9ZuVb44klMb43y01y56FESeaOHkQRxANHFP+y1KiKhHNPzsZq\neFU2VDUUye8U54nk2Txhvnj7JLCj1M1TC7iIuQmv/m8dVFzpTlNsgbViUjG9\nLl86Fzesu5U0hNSxvdCPOco8nt6t1i02f1QrTGWZhBObW3V3ldCHKQL/7Wzt\nHiYOqTNdTfWcUoP9+/TL+HGDTjbinVK9Xen6QrHkJJZI6Shv3vl8n+Nfwd2m\nvIeWovQaPJZ6Mdbq59DX8HK1r6pjliudCLyYtozmtqLxrPrj9WnhkcRPJP7V\nObV0N6YHhqsgMzTfiFFX1/tOctEyj/ucEWG8EPwxilu+TqgllMv9tDpp6+sR\nFM6HxnlI6vpxrihjH6kR4VhsfV63LBQJEgiRyHPKd3I2cT6UrAc6PaR84Aew\nNRNW5I37ZV84B8TL8l/6wqdVXe/RA7f6McXZF+9h5K2CrXxKua50xmcHeziq\n6war\r\n=Z98d\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":false,"testRunner":"jest-circus/runner","testTimeout":20000,"testEnvironment":"node","setupFilesAfterEnv":["./test/setup.ts"],"testPathIgnorePatterns":["/node_modules/"]},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/esm/index.mjs","engines":{"node":">=12.x"},"exports":{".":{"import":"./dist/esm/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"6e90048965082e2e4a734e1144c9ee09534fd79c","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions .; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"rm -rf dist coverage external-scripts/bin bundle-stats.ignore.json","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter . && prettier --write .","prepare":"if [ -z \"$CI\" ]; then npx husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts' --collectCoverageFrom 'lib/**/*.ts' --collectCoverageFrom 'external-scripts/**/*.ts' --testPathIgnorePatterns test/integration-*.test.ts","build-dist":"npm run clean && NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name main && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli; fi && NODE_ENV=esm babel src --extensions .ts --out-dir dist/esm --out-file-extension .mjs","build-docs":"ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find docs -name '*.md' -exec sed -i -E 's/^.\\s*(\\*\\*)?__namedParameters(\\*\\*)?/**\\({ destructured }\\)**/gm' {} + && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --config-name main --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --preset angular --config .changelogrc.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./.changelogrc.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-integration":"BABEL_ENV=test jest $JEST_CLI --testPathIgnorePatterns test/unit-*.test.ts","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts","test-integration-webpack":"BABEL_ENV=test jest $JEST_CLI test/integration-webpack*.test.ts","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-externals*.test.ts"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"prettier":{"semi":true,"tabWidth":2,"endOfLine":"lf","overrides":[{"files":"**/*.@(ts|?(@(c|m))js)?(x)","options":{"parser":"babel-ts","printWidth":90}}],"proseWrap":"always","printWidth":80,"singleQuote":true,"trailingComma":"none"},"commitlint":{"rules":{"type-enum":[2,"always",["feat","fix","docs","style","refactor","test","revert","debug","build","chore"]],"body-leading-blank":[2,"always"],"footer-leading-blank":[2,"always"]},"extends":["@commitlint/config-conventional"]},"env-expect":{"rules":[{"name":"^MONGODB_URI$","value":"^.*:\\/\\/.*\\/.*$","required":false,"errorMessage":"expected MONGODB_URI to be a valid Mongo connect URI with database name"},{"name":"^GH_TOKEN$","value":"^[a-f0-9]*$","required":false,"errorMessage":"expected GH_TOKEN to be undefined or a valid GitHub Personal Access Token"}],"errorMessage":"\nCopy the \".env.example\" file to \".env\" or define the appropriate repository secrets"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"6.14.11","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"lint-staged":{"*":"prettier --write --ignore-unknown","*.md":"remark -o --use reference-links --use gfm --use frontmatter","package.json":"sort-package-json"},"sideEffects":false,"_nodeVersion":"15.8.0","dependencies":{"test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","jest":"^26.6.3","debug":"^4.3.1","husky":"^5.0.9","dotenv":"^8.2.0","eslint":"^7.19.0","semver":"^7.3.4","mongodb":"^3.6.4","shelljs":"^0.8.4","typedoc":"^0.20.23","webpack":"^5.21.2","prettier":"^2.2.1","@babel/cli":"^7.12.13","babel-jest":"^26.6.3","remark-cli":"^9.0.0","remark-gfm":"^1.0.0","typescript":"^4.1.4","@babel/core":"^7.12.13","@types/jest":"^26.0.20","@types/node":"^14.14.25","jest-circus":"^26.6.3","lint-staged":"^10.5.4","webpack-cli":"^4.5.0","@types/debug":"^4.1.5","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","spellchecker":"^3.7.1","@octokit/rest":"^18.1.0","@types/semver":"^7.3.4","jest-extended":"^0.11.5","@types/mongodb":"^3.6.6","@types/shelljs":"^0.8.8","@types/webpack":"^4.41.26","edit-json-file":"^1.5.0","@commitlint/cli":"^11.0.0","@ergodark/types":"^1.0.16","text-extensions":"^2.4.0","unique-filename":"^1.1.1","semantic-release":"github:Xunnamius/semantic-release#contrib-holistic","@babel/preset-env":"^7.12.13","find-package-json":"^1.2.0","sort-package-json":"github:Xunnamius/sort-package-json#contrib-env-expect","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.1.3","remark-frontmatter":"^3.0.0","source-map-support":"^0.5.19","escape-string-regexp":"^4.0.0","eslint-plugin-import":"^2.22.1","@semantic-release/git":"^9.0.0","@types/edit-json-file":"^1.4.0","@semantic-release/exec":"^5.0.0","remark-reference-links":"^5.0.0","webpack-node-externals":"^2.5.2","typedoc-plugin-markdown":"^3.4.5","@babel/preset-typescript":"^7.12.13","@types/find-package-json":"^1.1.1","@typescript-eslint/parser":"^4.15.0","confusing-browser-globals":"^1.0.10","remark-lint-final-newline":"^1.0.5","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^5.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^2.0.1","remark-lint-no-inline-padding":"^3.0.0","conventional-changelog-angular":"^5.0.12","@commitlint/config-conventional":"^11.0.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^4.15.0","babel-plugin-add-import-extension":"^1.4.4","eslint-import-resolver-typescript":"^2.3.0","remark-lint-no-unused-definitions":"^2.0.1","remark-lint-no-undefined-references":"^3.0.0","@babel/plugin-proposal-function-bind":"^7.12.13","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^2.0.1","remark-lint-no-heading-content-indent":"^3.0.0","remark-lint-ordered-list-marker-style":"^2.0.1","remark-lint-no-blockquote-without-marker":"^4.0.0","remark-lint-no-auto-link-without-protocol":"^2.0.1","@babel/plugin-proposal-export-default-from":"^7.12.13","babel-plugin-transform-default-named-imports":"^1.0.9"},"peerDependencies":{"next":">=9.5.x"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.2.16_1612980643254_0.17659192973872484","host":"s3://npm-registry-packages"}},"1.2.17":{"name":"next-test-api-route-handler","version":"1.2.17","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.2.17","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"85f15015251b2dedf668f22753fc66c9a4a0ba3e","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.2.17.tgz","fileCount":7,"integrity":"sha512-3EqMBIMuC2+e7Lxqu2osryV5Ja/i0UW2dsC86c0FNBRKQL//n+Vw6N1rJowXWr8XW/RXwoQWHJiYrbd7pTXr4g==","signatures":[{"sig":"MEUCIQC4LkYPS0cqnxTiJtUZMdWvrFBqAtb2Fs1bQuX5/d9A/AIge4VUCrl5L67uOLkp8lDhuKqL15iX2He4L3ztstOD1y4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":48053,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJDWDCRA9TVsSAnZWagAAenMP/0RG/8ufMaoO7voyzdzP\nXv9wpYvROQVHI6Ecd7ufpxlNSN8PtDnPkKduFxWB1dlF558dg1DVDQ+Im6W9\n7M7uZTJ1th4nhz1hZSEK3MHlMPIynT41pvw36PMtfrartPcfaXknTeWBKKDi\nBwOBvROY2NW1QrAUb3KRbTqB9D/jWOL0iMc8E6cvnQrabL/e218F00/n4Kow\nR7zk9k1NJATvi/zomn8vqq5u5rpFD83hWnvnLul4HhAxqwgoZm7zR30+fGZu\nR2hofiZUUtlUxsRS8XMTBndx4yhIIUx4J/NUxpzLqGyYVumxV8CBFCWCat7n\npkj6nAolROgRzsFAPOEADtjBt7X+ji/94N7j+lt4Vxgx0pJG9wbEfvRwdRnm\nV/Q8MtY19v66qp0HC22Sg/kHszI3/bpzGnB6qHAA74hXVKK2ndhfNhRHTuPD\n2oPFX7rc7au6YiN+9pXR/wvx3FzjucmAVVjXD/4DlSBdbXFOcLri3prxrjqD\nA5gidWEKYmvPEu6KKB1HokHbgyJPKlLxOYtU4IHgT3CH9pfZRqkWXXZnkYss\nlnbnTfn36iUjdQO4yaaSInQyO0gsEmqgxZn1Y0kN1EGSRp7enAMYOX2B7kKO\ncvAGDgemGIWbM2NepInyCkI3VnXqzo8/FcaOm5ZzxlMM+bZxWqsX46BS/X/B\nwN98\r\n=WRF4\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":false,"testRunner":"jest-circus/runner","testTimeout":20000,"testEnvironment":"node","setupFilesAfterEnv":["./test/setup.ts"],"testPathIgnorePatterns":["/node_modules/"]},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/esm/index.mjs","engines":{"node":">=12.x"},"exports":{".":{"import":"./dist/esm/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"067e57e10a8eaa0a29acc3cf1edb1ff21a71233d","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions .; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"rm -rf dist coverage external-scripts/bin bundle-stats.ignore.json","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter . && prettier --write .","prepare":"if [ -z \"$CI\" ]; then npx husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts' --collectCoverageFrom 'lib/**/*.ts' --collectCoverageFrom 'external-scripts/**/*.ts' --testPathIgnorePatterns test/integration-*.test.ts","build-dist":"npm run clean && NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name main && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli; fi && NODE_ENV=esm babel src --extensions .ts --out-dir dist/esm --out-file-extension .mjs","build-docs":"ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find docs -name '*.md' -exec sed -i -E 's/^.\\s*(\\*\\*)?__namedParameters(\\*\\*)?/**\\({ destructured }\\)**/gm' {} + && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --config-name main --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --preset angular --config .changelogrc.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./.changelogrc.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-integration":"BABEL_ENV=test jest $JEST_CLI --testPathIgnorePatterns test/unit-*.test.ts","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts","test-integration-webpack":"BABEL_ENV=test jest $JEST_CLI test/integration-webpack*.test.ts","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-externals*.test.ts"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"prettier":{"semi":true,"tabWidth":2,"endOfLine":"lf","overrides":[{"files":"**/*.@(ts|?(@(c|m))js)?(x)","options":{"parser":"babel-ts","printWidth":90}}],"proseWrap":"always","printWidth":80,"singleQuote":true,"trailingComma":"none"},"commitlint":{"rules":{"type-enum":[2,"always",["feat","fix","docs","style","refactor","test","revert","debug","build","chore"]],"body-leading-blank":[2,"always"],"footer-leading-blank":[2,"always"]},"extends":["@commitlint/config-conventional"]},"env-expect":{"rules":[{"name":"^MONGODB_URI$","value":"^.*:\\/\\/.*\\/.*$","required":false,"errorMessage":"expected MONGODB_URI to be a valid Mongo connect URI with database name"},{"name":"^GH_TOKEN$","value":"^[a-f0-9]*$","required":false,"errorMessage":"expected GH_TOKEN to be undefined or a valid GitHub Personal Access Token"}],"errorMessage":"\nCopy the \".env.example\" file to \".env\" or define the appropriate repository secrets"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"6.14.11","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"lint-staged":{"*":"prettier --write --ignore-unknown","*.md":"remark -o --use reference-links --use gfm --use frontmatter","package.json":"sort-package-json"},"sideEffects":false,"_nodeVersion":"15.8.0","dependencies":{"test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","jest":"^26.6.3","debug":"^4.3.1","husky":"^5.0.9","dotenv":"^8.2.0","eslint":"^7.19.0","semver":"^7.3.4","mongodb":"^3.6.4","shelljs":"^0.8.4","typedoc":"^0.20.23","webpack":"^5.21.2","prettier":"^2.2.1","@babel/cli":"^7.12.13","babel-jest":"^26.6.3","remark-cli":"^9.0.0","remark-gfm":"^1.0.0","typescript":"^4.1.4","@babel/core":"^7.12.13","@types/jest":"^26.0.20","@types/node":"^14.14.25","jest-circus":"^26.6.3","lint-staged":"^10.5.4","webpack-cli":"^4.5.0","@types/debug":"^4.1.5","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","spellchecker":"^3.7.1","@octokit/rest":"^18.1.0","@types/semver":"^7.3.4","jest-extended":"^0.11.5","@types/mongodb":"^3.6.6","@types/shelljs":"^0.8.8","@types/webpack":"^4.41.26","edit-json-file":"^1.5.0","@commitlint/cli":"^11.0.0","@ergodark/types":"^1.0.16","text-extensions":"^2.4.0","unique-filename":"^1.1.1","semantic-release":"github:Xunnamius/semantic-release#contrib-holistic","@babel/preset-env":"^7.12.13","find-package-json":"^1.2.0","sort-package-json":"github:Xunnamius/sort-package-json#contrib-env-expect","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.1.3","remark-frontmatter":"^3.0.0","source-map-support":"^0.5.19","escape-string-regexp":"^4.0.0","eslint-plugin-import":"^2.22.1","@semantic-release/git":"^9.0.0","@types/edit-json-file":"^1.4.0","@semantic-release/exec":"^5.0.0","remark-reference-links":"^5.0.0","webpack-node-externals":"^2.5.2","typedoc-plugin-markdown":"^3.4.5","@babel/preset-typescript":"^7.12.13","@types/find-package-json":"^1.1.1","@typescript-eslint/parser":"^4.15.0","confusing-browser-globals":"^1.0.10","remark-lint-final-newline":"^1.0.5","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^5.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^2.0.1","remark-lint-no-inline-padding":"^3.0.0","conventional-changelog-angular":"^5.0.12","@commitlint/config-conventional":"^11.0.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^4.15.0","babel-plugin-add-import-extension":"^1.4.4","eslint-import-resolver-typescript":"^2.3.0","remark-lint-no-unused-definitions":"^2.0.1","remark-lint-no-undefined-references":"^3.0.0","@babel/plugin-proposal-function-bind":"^7.12.13","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^2.0.1","remark-lint-no-heading-content-indent":"^3.0.0","remark-lint-ordered-list-marker-style":"^2.0.1","remark-lint-no-blockquote-without-marker":"^4.0.0","remark-lint-no-auto-link-without-protocol":"^2.0.1","@babel/plugin-proposal-export-default-from":"^7.12.13","babel-plugin-transform-default-named-imports":"^1.0.9"},"peerDependencies":{"next":">=9.5.x"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.2.17_1612985731318_0.36831229917996766","host":"s3://npm-registry-packages"}},"1.2.18":{"name":"next-test-api-route-handler","version":"1.2.18","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.2.18","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"b20e3e176050883c41f0577aa9379a627d070df8","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.2.18.tgz","fileCount":7,"integrity":"sha512-nfEuIbbZIZSD6n/zklqzRX/Oye3X0l1XqAYrsTMSyOnM95s5xgQaYgSAtiMEYt1LBLbVYeGyIe/+rASsBQ990g==","signatures":[{"sig":"MEQCICRe+muzqZntuwI9eTmHmYRbckLGFbIho0K7iXut79L+AiAZcXkkoLy/+LedYhz2XgwmlI6pQR5jUEp0Hql5QWCjRQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":48345,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJXFdCRA9TVsSAnZWagAAvLUP/0/AYd1zTobbUQjthyKc\n/cV/GuC5O+Kb2xGj42fZtyBac2L+XIbC2EfDyxr9IVGsSHdiKRBWuMk8SN1H\nIfbM/ynaq7aXXarBZ5SgnkdN+kWLvzBSTY4084mRpaT8JO2ahif7c9qpphAU\nZDOqZ96qWwlMKFAzv6Y73oFfjuUQ7Ris/W8QyKuKYGQe5rcLFzFE+6+UI9r7\nHDm7uNnq0E7UniFdCbTr7tDpmzlk3mwgA0gdKeMke6QNG+9cn0nL7pCldgsk\n1kxS4EvcKTKrzZYl18acIlAImk5Qd8AyzW9tdIzCl0r1SlzD7KWhNWO3I9uB\nmnG4y21C3w4EEoKZCGI5KWKVJ+ZkXmUaj82bXfVZYoc6aBZHsRSEHfvlPzbZ\nf/mpYMhF+dTQzvqtge+dThV89IlakFpnUpKKvtywuo9RqrqyX6EdwEfJvthw\nz8l5pe8zDq7siH30hDRBWBQTcg11vh1pZPo9m3h9TVYGh1mNvot7bFc9G6gM\neMNvMn9p7xDUpdgYQsb89wiFOg1/bgrShXDYSr40fzeVPqAzy4zb7M98vwXe\n2qkv1j9LMq0UynHxl3rFQ2td/Hs+BA9QzmtQdLQ7M9PTBG3rJJVhYa+4Kxng\n6P7DgX0GRBOH6jBEVFkKzXypLFvOpyX3ocmFguB7Otq5/wRI06+xZEWr3/aE\n1S3j\r\n=IQZe\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":false,"testRunner":"jest-circus/runner","testTimeout":20000,"testEnvironment":"node","setupFilesAfterEnv":["./test/setup.ts"],"testPathIgnorePatterns":["/node_modules/"]},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/esm/index.mjs","engines":{"node":">=12.x"},"exports":{".":{"import":"./dist/esm/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"bc5e0d0307ae73509fa262a378ede61c93aa27b7","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions .; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"rm -rf dist coverage external-scripts/bin bundle-stats.ignore.json","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter . && prettier --write .","prepare":"if [ -z \"$CI\" ]; then npx husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts' --collectCoverageFrom 'lib/**/*.ts' --collectCoverageFrom 'external-scripts/**/*.ts' --testPathIgnorePatterns test/integration-*.test.ts","build-dist":"npm run clean && NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name main && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli; fi && NODE_ENV=esm babel src --extensions .ts --out-dir dist/esm --out-file-extension .mjs","build-docs":"ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find docs -name '*.md' -exec sed -i -E 's/^.\\s*(\\*\\*)?__namedParameters(\\*\\*)?/**\\({ destructured }\\)**/gm' {} + && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --config-name main --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --preset angular --config .changelogrc.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./.changelogrc.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-integration":"BABEL_ENV=test jest $JEST_CLI --testPathIgnorePatterns test/unit-*.test.ts","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts","test-integration-webpack":"BABEL_ENV=test jest $JEST_CLI test/integration-webpack*.test.ts","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-externals*.test.ts"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"prettier":{"semi":true,"tabWidth":2,"endOfLine":"lf","overrides":[{"files":"**/*.@(ts|?(@(c|m))js)?(x)","options":{"parser":"babel-ts","printWidth":90}}],"proseWrap":"always","printWidth":80,"singleQuote":true,"trailingComma":"none"},"commitlint":{"rules":{"type-enum":[2,"always",["feat","fix","docs","style","refactor","test","revert","debug","build","chore"]],"body-leading-blank":[2,"always"],"footer-leading-blank":[2,"always"]},"extends":["@commitlint/config-conventional"]},"env-expect":{"rules":[{"name":"^MONGODB_URI$","value":"^.*:\\/\\/.*\\/.*$","required":false,"errorMessage":"expected MONGODB_URI to be a valid Mongo connect URI with database name"},{"name":"^GH_TOKEN$","value":"^[a-f0-9]*$","required":false,"errorMessage":"expected GH_TOKEN to be undefined or a valid GitHub Personal Access Token"}],"errorMessage":"\nCopy the \".env.example\" file to \".env\" or define the appropriate repository secrets"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"6.14.11","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"lint-staged":{"*":"prettier --write --ignore-unknown","*.md":"remark -o --use reference-links --use gfm --use frontmatter","package.json":"sort-package-json"},"sideEffects":false,"_nodeVersion":"15.8.0","dependencies":{"test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","jest":"^26.6.3","debug":"^4.3.1","husky":"^5.0.9","dotenv":"^8.2.0","eslint":"^7.19.0","semver":"^7.3.4","mongodb":"^3.6.4","shelljs":"^0.8.4","typedoc":"^0.20.24","webpack":"^5.21.2","prettier":"^2.2.1","@babel/cli":"^7.12.13","babel-jest":"^26.6.3","remark-cli":"^9.0.0","remark-gfm":"^1.0.0","typescript":"^4.1.5","@babel/core":"^7.12.13","@types/jest":"^26.0.20","@types/node":"^14.14.25","jest-circus":"^26.6.3","lint-staged":"^10.5.4","webpack-cli":"^4.5.0","@types/debug":"^4.1.5","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","spellchecker":"^3.7.1","@octokit/rest":"^18.1.0","@types/semver":"^7.3.4","jest-extended":"^0.11.5","@types/mongodb":"^3.6.6","@types/shelljs":"^0.8.8","@types/webpack":"^4.41.26","edit-json-file":"^1.5.0","@commitlint/cli":"^11.0.0","@ergodark/types":"^1.0.16","text-extensions":"^2.4.0","unique-filename":"^1.1.1","semantic-release":"github:Xunnamius/semantic-release","@babel/preset-env":"^7.12.13","find-package-json":"^1.2.0","sort-package-json":"github:Xunnamius/sort-package-json","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.1.3","remark-frontmatter":"^3.0.0","source-map-support":"^0.5.19","escape-string-regexp":"^4.0.0","eslint-plugin-import":"^2.22.1","@semantic-release/git":"^9.0.0","@types/edit-json-file":"^1.4.0","@semantic-release/exec":"^5.0.0","remark-reference-links":"^5.0.0","webpack-node-externals":"^2.5.2","typedoc-plugin-markdown":"^3.4.5","@babel/preset-typescript":"^7.12.13","@types/find-package-json":"^1.1.1","@typescript-eslint/parser":"^4.15.0","confusing-browser-globals":"^1.0.10","remark-lint-final-newline":"^1.0.5","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^5.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^2.0.1","remark-lint-no-inline-padding":"^3.0.0","conventional-changelog-angular":"^5.0.12","@commitlint/config-conventional":"^11.0.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^4.15.0","babel-plugin-add-import-extension":"^1.4.4","eslint-import-resolver-typescript":"^2.3.0","remark-lint-no-unused-definitions":"^2.0.1","remark-lint-no-undefined-references":"^3.0.0","@babel/plugin-proposal-function-bind":"^7.12.13","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^2.0.1","remark-lint-no-heading-content-indent":"^3.0.0","remark-lint-ordered-list-marker-style":"^2.0.1","remark-lint-no-blockquote-without-marker":"^4.0.0","remark-lint-no-auto-link-without-protocol":"^2.0.1","@babel/plugin-proposal-export-default-from":"^7.12.13","babel-plugin-transform-default-named-imports":"^1.0.9"},"peerDependencies":{"next":">=9.5.x"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.2.18_1613066589033_0.48919122197391474","host":"s3://npm-registry-packages"}},"1.2.19":{"name":"next-test-api-route-handler","version":"1.2.19","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.2.19","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"bba3647af9f0ef139ee8ee2a188881bde318098d","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.2.19.tgz","fileCount":7,"integrity":"sha512-EOV23r+lfbckJ9b5Bx744c2YRZ8/fnug9THsmjj4LfenA3xycU9Yx2jrBEcadw6OCyQRauWfz74/4sFIHpCkdw==","signatures":[{"sig":"MEQCIGxl4Py9MZedYmKNyT4UjNdW1k9UjGIHpaCPIgFeGUM5AiBrdFz5jT4M+uk1603y+5vLJrRjcuHSZiv3v+Vu4pp6Jw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51287,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgM0nvCRA9TVsSAnZWagAA4nwP/RlIHeDIi4afN3yrslxl\nw086kzWN+CjF5nTQzQBuYZyBVs7/g5TsqrdVUMN4aweaQ1ONdmmz1JqkGASZ\n2SrVch8n/0VdWy4bKDv/4T0W19k/caifP6GgM3ZSIXcx6reiu1EfvyGD55R0\nk1PvuQMOzGGJBkuPbs5IMnbSIVUTBOpqxxbaU+8edwDNW4HrbHVlpREmbAtV\nynB5DZbKJZoUBMpi8wq2atNWFgFaOuEpd4yb5UE+w7AXdyPL7M2BoJqFl75d\nGKhQJUkMPUcGS/tlz04sn7Nk9AOEgDRaj13Hvg3bdMkA5FDVEiclBnJnlOxD\n1CbUuY+JvMwhCqp5tpc1c6olkGfr/OyyjhBs6RsAq8ntGrdPxphip5aRah1e\nExEPBM/0eE5WpBqZJENztrwsXqQeF8dwzsDSLWOHED08kgpnTDNWZ/q2grmU\nEIhVTp2z6PUXuhEg/RkVEZyxoW+9krbxH2kLO1m5799WMJpIvskA3ZRz5Khj\nb1m8qMirkjTNBfH1tcHeVezp1P1DcH0kvXDuvuq1IZt7HlYeA0ejs3AzaLOr\nCbS9s0iRZnoul7F3i79rls0fHJpf9A+eHhfeVWcJLg1gsz0QbPxJj7YR251a\nbCTx3PfrMh2nIzhUQUkDAdk18XeZekGPv8JawlcPEhyyXnPoyFIFe5lTh4vt\nzl4I\r\n=45Ib\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":false,"testRunner":"jest-circus/runner","testTimeout":300000,"testEnvironment":"node","setupFilesAfterEnv":["./test/setup.ts"],"testPathIgnorePatterns":["/node_modules/"]},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/esm/index.mjs","engines":{"node":">=12.x"},"exports":{".":{"import":"./dist/esm/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"aeacac0fb75f265a5449f821459d5d1a4db01c76","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions .; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"rm -rf dist coverage external-scripts/bin bundle-stats.ignore.json","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter . && prettier --write .","prepare":"if [ -z \"$CI\" ]; then npx husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts' --collectCoverageFrom 'lib/**/*.ts' --collectCoverageFrom 'external-scripts/**/*.ts' --testPathIgnorePatterns test/integration-*.test.ts","build-dist":"NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name lib && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli && chmod +x ./dist/cli.js; fi && NODE_ENV=esm babel src --extensions .ts --out-dir dist/esm --out-file-extension .mjs","build-docs":"ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find docs -name '*.md' -exec sed -i -E 's/^.\\s*(\\*\\*)?__namedParameters(\\*\\*)?/**\\({ destructured }\\)**/gm' {} + && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --preset angular --config .changelogrc.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./.changelogrc.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-integration":"BABEL_ENV=test jest $JEST_CLI --testPathIgnorePatterns test/unit-*.test.ts","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts","test-integration-webpack":"BABEL_ENV=test jest $JEST_CLI test/integration-webpack*.test.ts","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-external*.test.ts"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"prettier":{"semi":true,"tabWidth":2,"endOfLine":"lf","overrides":[{"files":"**/*.@(ts|?(@(c|m))js)?(x)","options":{"parser":"babel-ts","printWidth":90}}],"proseWrap":"always","printWidth":80,"singleQuote":true,"trailingComma":"none"},"commitlint":{"rules":{"type-enum":[2,"always",["feat","fix","docs","style","refactor","test","revert","debug","build","chore"]],"body-leading-blank":[2,"always"],"footer-leading-blank":[2,"always"]},"extends":["@commitlint/config-conventional"]},"expect-env":{"rules":[{"name":"^MONGODB_URI$","value":"^.+:\\/\\/.+\\/.+$","required":false,"errorMessage":"expected MONGODB_URI to be a valid Mongo connect URI with database name"},{"name":"^GH_TOKEN$","value":"^[a-f0-9]+$","required":false,"errorMessage":"expected GH_TOKEN to be undefined or a valid GitHub Personal Access Token"}],"errorMessage":"\nCopy the \".env.example\" file to \".env\" or define the appropriate repository secrets"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"6.14.11","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"lint-staged":{"*":"prettier --write --ignore-unknown","*.md":"remark -o --use reference-links --use gfm --use frontmatter","package.json":"sort-package-json"},"sideEffects":false,"_nodeVersion":"15.9.0","dependencies":{"debug":"^4.3.1","test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","jest":"^26.6.3","execa":"^5.0.0","husky":"^5.1.0","dotenv":"^8.2.0","eslint":"^7.20.0","semver":"^7.3.4","mongodb":"3.6.3","typedoc":"^0.20.27","webpack":"^5.23.0","prettier":"^2.2.1","@babel/cli":"^7.12.17","babel-jest":"^26.6.3","remark-cli":"^9.0.0","remark-gfm":"^1.0.0","typescript":"^4.1.5","@babel/core":"^7.12.17","@types/jest":"^26.0.20","@types/node":"^14.14.31","jest-circus":"^26.6.3","lint-staged":"^10.5.4","webpack-cli":"^4.5.0","@types/debug":"^4.1.5","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","spellchecker":"^3.7.1","@octokit/rest":"^18.2.0","@types/semver":"^7.3.4","jest-extended":"^0.11.5","@types/mongodb":"^3.6.8","@types/webpack":"^4.41.26","edit-json-file":"^1.5.0","@commitlint/cli":"^11.0.0","@ergodark/types":"^1.0.17","text-extensions":"^2.4.0","unique-filename":"^1.1.1","semantic-release":"github:Xunnamius/semantic-release","@babel/preset-env":"^7.12.17","find-package-json":"^1.2.0","sort-package-json":"github:Xunnamius/sort-package-json","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.1.5","remark-frontmatter":"^3.0.0","source-map-support":"^0.5.19","escape-string-regexp":"^4.0.0","eslint-plugin-import":"^2.22.1","@semantic-release/git":"^9.0.0","@types/edit-json-file":"^1.4.0","@semantic-release/exec":"^5.0.0","remark-reference-links":"^5.0.0","webpack-node-externals":"^2.5.2","typedoc-plugin-markdown":"^3.5.0","@babel/preset-typescript":"^7.12.17","@types/find-package-json":"^1.1.1","@typescript-eslint/parser":"^4.15.1","confusing-browser-globals":"^1.0.10","remark-lint-final-newline":"^1.0.5","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^5.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^2.0.1","remark-lint-no-inline-padding":"^3.0.0","conventional-changelog-angular":"^5.0.12","@commitlint/config-conventional":"^11.0.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^4.15.1","babel-plugin-add-import-extension":"^1.4.4","eslint-import-resolver-typescript":"^2.4.0","remark-lint-no-unused-definitions":"^2.0.1","remark-lint-no-undefined-references":"^3.0.0","@babel/plugin-proposal-function-bind":"^7.12.13","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^2.0.1","remark-lint-no-heading-content-indent":"^3.0.0","remark-lint-ordered-list-marker-style":"^2.0.1","remark-lint-no-blockquote-without-marker":"^4.0.0","remark-lint-no-auto-link-without-protocol":"^2.0.1","@babel/plugin-proposal-export-default-from":"^7.12.13","babel-plugin-transform-default-named-imports":"^1.0.9"},"peerDependencies":{"next":">=9.5.x"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.2.19_1613973996622_0.6452680804079349","host":"s3://npm-registry-packages"}},"1.2.20":{"name":"next-test-api-route-handler","version":"1.2.20","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.2.20","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"92c7913b7dbb405d61b1a47f84b1b4c5e59fcd19","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.2.20.tgz","fileCount":7,"integrity":"sha512-9ClDt7aFdAPfcfHzyGPCSPCd/srKM/M57qUa4CKOFTMmo5sIQOPD0g10sSE7i3qIU/UmfDp58tyr7qz1nQx1DA==","signatures":[{"sig":"MEYCIQDkqPK1Pg2gu/SQ30ZxKUVKF9wgaLu0QXl4gO8K42G37wIhANLo+X4f/TpbZebFr4e/macGOCt3Nlnc2TsRgjRx/JZV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51790,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgM1uVCRA9TVsSAnZWagAAShsP/R6hsQtBMAO6Gzlg1eI6\nx7C/DEmk0bUGB0N7lptroIF7RtVyG1S0E7BqyXpm4a6deBt0+w0ZjxFR53QO\nfInywuDLTmWBiPjh5krMgMVkfzBOML9ZTNo9xZthP2l5nPofWzWe+6k3LRRE\nNBlcfv4TKhXIOWhAoF2GERfjIR7rvj8R4DOINU6uL2z/KIrgentebZz1b5/I\nlihZwRXyb6mwzLuZCVWq4SDUXMI0xu5NzCIn2T+jbHvETjFNSzI18DjFZA0Q\n5h1MM3TvgosKLTao+PD4KsO8ULHerw+IJpDznSU8R3M2K7uYCyUMRYMmzL2a\ndxqsHGhXbeafI7jZAkr4ojY5QABQ9xPY6ztUUeLoGIxDJSu1+XTUQc7qywZv\nT9rdn+aDcOYa/OjwY4Wef1YvuwCgvYq72FNpCg33Yp1w1bycAm43Vf3ZRGCu\nx3Z8CLlBLDjQdETwlx5KDEhD47fHVjsV0VOFkz4pnS9DZgZjcxjHfgaVpv9W\nHVwq86WapOoAFBLxiwKTdns1FoE90XO4uBO2ZNpi+g1vvtVUkwJVrY9/J7TA\n+22ypfdxdvdE8frDUQKxdE6nTR9gD7bm79uNznsvdLfoLanoyW2L+POKzpIZ\nEa1STE9Jj6XIInDVKnfRZ8R0rmJn9h1SOQEtqzrM0HG1OtXLgB+TI7UJx8L5\n8fdU\r\n=Ph40\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":false,"testRunner":"jest-circus/runner","testTimeout":60000,"testEnvironment":"node","setupFilesAfterEnv":["./test/setup.ts"],"testPathIgnorePatterns":["/node_modules/"]},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/esm/index.mjs","engines":{"node":">=12.x"},"exports":{".":{"import":"./dist/esm/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"b62d699af0d1869e08f420d3e2f8720110abcf1d","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions .; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"rm -rf dist coverage external-scripts/bin bundle-stats.ignore.json","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter . && prettier --write .","prepare":"if [ -z \"$CI\" ]; then npx husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts' --collectCoverageFrom 'lib/**/*.ts' --collectCoverageFrom 'external-scripts/**/*.ts' --testPathIgnorePatterns test/integration-*.test.ts","build-dist":"NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name lib && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli && chmod +x ./dist/cli.js; fi && NODE_ENV=esm babel src --extensions .ts --out-dir dist/esm --out-file-extension .mjs","build-docs":"ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find docs -name '*.md' -exec sed -i -E 's/^.\\s*(\\*\\*)?__namedParameters(\\*\\*)?/**\\({ destructured }\\)**/gm' {} + && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --preset angular --config .changelogrc.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./.changelogrc.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-integration":"BABEL_ENV=test jest $JEST_CLI --testPathIgnorePatterns test/unit-*.test.ts","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts","test-integration-webpack":"BABEL_ENV=test jest $JEST_CLI test/integration-webpack*.test.ts","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-external*.test.ts"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"prettier":{"semi":true,"tabWidth":2,"endOfLine":"lf","overrides":[{"files":"**/*.@(ts|?(@(c|m))js)?(x)","options":{"parser":"babel-ts","printWidth":90}}],"proseWrap":"always","printWidth":80,"singleQuote":true,"trailingComma":"none"},"commitlint":{"rules":{"type-enum":[2,"always",["feat","fix","docs","style","refactor","test","revert","debug","build","chore"]],"body-leading-blank":[2,"always"],"footer-leading-blank":[2,"always"]},"extends":["@commitlint/config-conventional"]},"expect-env":{"rules":[{"name":"^MONGODB_URI$","value":"^.+:\\/\\/.+\\/.+$","required":false,"errorMessage":"expected MONGODB_URI to be a valid Mongo connect URI with database name"},{"name":"^GH_TOKEN$","value":"^[a-f0-9]+$","required":false,"errorMessage":"expected GH_TOKEN to be undefined or a valid GitHub Personal Access Token"}],"errorMessage":"\nCopy the \".env.example\" file to \".env\" or define the appropriate repository secrets"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"6.14.11","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"lint-staged":{"*":"prettier --write --ignore-unknown","*.md":"remark -o --use reference-links --use gfm --use frontmatter","package.json":"sort-package-json"},"sideEffects":false,"_nodeVersion":"15.9.0","dependencies":{"debug":"^4.3.1","test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","jest":"^26.6.3","execa":"^5.0.0","husky":"^5.1.0","dotenv":"^8.2.0","eslint":"^7.20.0","semver":"^7.3.4","mongodb":"3.6.3","typedoc":"^0.20.27","webpack":"^5.23.0","prettier":"^2.2.1","@babel/cli":"^7.12.17","babel-jest":"^26.6.3","remark-cli":"^9.0.0","remark-gfm":"^1.0.0","typescript":"^4.1.5","@babel/core":"^7.12.17","@types/jest":"^26.0.20","@types/node":"^14.14.31","jest-circus":"^26.6.3","lint-staged":"^10.5.4","webpack-cli":"^4.5.0","@types/debug":"^4.1.5","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","spellchecker":"^3.7.1","@octokit/rest":"^18.2.0","@types/semver":"^7.3.4","jest-extended":"^0.11.5","@types/mongodb":"^3.6.8","@types/webpack":"^4.41.26","edit-json-file":"^1.5.0","@commitlint/cli":"^11.0.0","@ergodark/types":"^1.0.17","text-extensions":"^2.4.0","unique-filename":"^1.1.1","semantic-release":"github:Xunnamius/semantic-release","@babel/preset-env":"^7.12.17","find-package-json":"^1.2.0","sort-package-json":"github:Xunnamius/sort-package-json","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.1.5","remark-frontmatter":"^3.0.0","source-map-support":"^0.5.19","escape-string-regexp":"^4.0.0","eslint-plugin-import":"^2.22.1","@semantic-release/git":"^9.0.0","@types/edit-json-file":"^1.4.0","@semantic-release/exec":"^5.0.0","remark-reference-links":"^5.0.0","webpack-node-externals":"^2.5.2","typedoc-plugin-markdown":"^3.5.0","@babel/preset-typescript":"^7.12.17","@types/find-package-json":"^1.1.1","@typescript-eslint/parser":"^4.15.1","confusing-browser-globals":"^1.0.10","remark-lint-final-newline":"^1.0.5","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^5.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^2.0.1","remark-lint-no-inline-padding":"^3.0.0","conventional-changelog-angular":"^5.0.12","@commitlint/config-conventional":"^11.0.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^4.15.1","babel-plugin-add-import-extension":"^1.4.4","eslint-import-resolver-typescript":"^2.4.0","remark-lint-no-unused-definitions":"^2.0.1","remark-lint-no-undefined-references":"^3.0.0","@babel/plugin-proposal-function-bind":"^7.12.13","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^2.0.1","remark-lint-no-heading-content-indent":"^3.0.0","remark-lint-ordered-list-marker-style":"^2.0.1","remark-lint-no-blockquote-without-marker":"^4.0.0","remark-lint-no-auto-link-without-protocol":"^2.0.1","@babel/plugin-proposal-export-default-from":"^7.12.13","babel-plugin-transform-default-named-imports":"^1.0.9"},"peerDependencies":{"next":">=9.5.x"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.2.20_1613978516978_0.6174073064380072","host":"s3://npm-registry-packages"}},"1.2.21":{"name":"next-test-api-route-handler","version":"1.2.21","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.2.21","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"a203a822d113a14645fc81a4b46bab3b68e64d24","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.2.21.tgz","fileCount":7,"integrity":"sha512-GeiJ8/cIWO8mDVnix+2SZ6deYqpob2MFD5ZGATvx/c1JJM/qB74B9OPkACpyId3u2WCcCoEcLyiyWsn9/Lx+wQ==","signatures":[{"sig":"MEUCIQD4Oe6jJSAfZxRpkoBZ/m5aWecyeE+dg/SoOJQKTSHpnQIgbFnqDs4tOsg3ygJemzM6+2rsrvUgFO9O7YzFV0c9hbw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":52619,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgStJOCRA9TVsSAnZWagAAVe0QAKDKdspSwyEoNAYxEd7e\nqNf6enEcqg3WTJNOHHMZ0RJAguOvqGDd5LDsFlBgKlj8mNJf44GzA14Qen+C\nFiRkLPP0UExV5gbfXUOTxwcWcGkTPJyca6EiQxaAlG72EdhZDjuzqOfTsXF8\nlHT4tAjHPR282hq2X5tszNdaSR4X6R/F3tAXG5l1aF3ITAO8g29O7Jvzd/+8\nyWJFw3w3n9Lshqi02bEKxwsMQepG9vO0grxruHuCiZGL4VBzd9a3f5eoCCHo\nQfE6iJOWTDsaIhL2Hlr/eTW/JLW1S8YvT8nQPmkaFd5cAoihlBGp4FE2Gujo\nEpgscpK1ZtHts9yf15FAn1WM/cm6wW4Pe9vcTjA2xz9qr3zkVTIrPB9lO2tv\nzZ9L9Sycwx3pOhALA4nkhImB0bfvaurnj2i7ZjKyFpca7sO70QHGkHvTud4P\nJfD5uHAYJkx/V23D4YpJz//RlU/PpPSSDj9WgSW1FVmshQcoo5i2lCcavNpt\n0XESMZHe1YKSkIImq4tvGBlGkjqwKuWDCErM1ZTekIwaV+xVg7Bb1/2kShpu\nXS/Te8RbEnNdryn61Cy1z1h27xVTZ8CT86njHLJiqE5XQ1Sd8NirBIxOlH/Y\nHPrrPFySFQBj8ZSKVWItHvCh6CTNlXjKF+ZBVxg5gEMiMZz18SbGNHOPCoBx\ndR/v\r\n=/dU5\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":false,"testRunner":"jest-circus/runner","testTimeout":60000,"testEnvironment":"node","setupFilesAfterEnv":["./test/setup.ts"],"testPathIgnorePatterns":["/node_modules/"]},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/esm/index.mjs","engines":{"node":">=12.x"},"exports":{".":{"import":"./dist/esm/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"621bb3b415ce8f67eae23dd56ff4f84ab9ce25aa","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions .; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"rm -rf dist coverage external-scripts/bin bundle-stats.ignore.json","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter . && prettier --write .","prepare":"if [ -z \"$CI\" ]; then npx husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts' --collectCoverageFrom 'lib/**/*.ts' --collectCoverageFrom 'external-scripts/**/*.ts' --testPathIgnorePatterns test/integration-*.test.ts","build-dist":"NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name lib && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli && chmod +x ./dist/cli.js; fi && NODE_ENV=esm babel src --extensions .ts --out-dir dist/esm --out-file-extension .mjs","build-docs":"ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find docs -name '*.md' -exec sed -i -E 's/^.\\s*(\\*\\*)?__namedParameters(\\*\\*)?/`\\({ destructured }\\)/gm' {} + && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --preset angular --config .changelogrc.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./.changelogrc.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-integration":"BABEL_ENV=test jest $JEST_CLI --testPathIgnorePatterns test/unit-*.test.ts","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts","test-integration-webpack":"BABEL_ENV=test jest $JEST_CLI test/integration-webpack*.test.ts","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-external*.test.ts"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"prettier":{"semi":true,"tabWidth":2,"endOfLine":"lf","overrides":[{"files":"**/*.@(ts|?(@(c|m))js)?(x)","options":{"parser":"babel-ts","printWidth":90}}],"proseWrap":"always","printWidth":80,"singleQuote":true,"trailingComma":"none"},"commitlint":{"rules":{"type-enum":[2,"always",["feat","fix","docs","style","refactor","test","revert","debug","build","chore"]],"body-leading-blank":[2,"always"],"footer-leading-blank":[2,"always"]},"extends":["@commitlint/config-conventional"]},"expect-env":{"rules":[{"name":"^MONGODB_URI$","value":"^.+:\\/\\/.+\\/.+$","required":false,"errorMessage":"expected MONGODB_URI to be a valid Mongo connect URI with database name"},{"name":"^GH_TOKEN$","value":"^[a-f0-9]+$","required":false,"errorMessage":"expected GH_TOKEN to be undefined or a valid GitHub Personal Access Token"}],"errorMessage":"\nCopy the \".env.example\" file to \".env\" or define the appropriate repository secrets"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"6.14.11","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"lint-staged":{"*":"prettier --write --ignore-unknown","*.md":"remark -o --use reference-links --use gfm --use frontmatter","package.json":"sort-package-json"},"sideEffects":false,"_nodeVersion":"15.11.0","dependencies":{"debug":"^4.3.1","test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","jest":"^26.6.3","execa":"^5.0.0","husky":"^5.1.0","dotenv":"^8.2.0","eslint":"^7.20.0","semver":"^7.3.4","mongodb":"3.6.3","typedoc":"^0.20.27","webpack":"^5.23.0","prettier":"^2.2.1","@babel/cli":"^7.12.17","babel-jest":"^26.6.3","remark-cli":"^9.0.0","remark-gfm":"^1.0.0","simple-git":"^2.35.1","typescript":"^4.1.5","@babel/core":"^7.12.17","@types/jest":"^26.0.20","@types/node":"^14.14.31","jest-circus":"^26.6.3","lint-staged":"^10.5.4","webpack-cli":"^4.5.0","@types/debug":"^4.1.5","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","spellchecker":"^3.7.1","@octokit/rest":"^18.2.0","@types/semver":"^7.3.4","jest-extended":"^0.11.5","@types/mongodb":"^3.6.8","@types/webpack":"^4.41.26","edit-json-file":"^1.5.0","@commitlint/cli":"^12.0.0","@ergodark/types":"^1.0.17","text-extensions":"^2.4.0","unique-filename":"^1.1.1","semantic-release":"github:Xunnamius/semantic-release","@babel/preset-env":"^7.12.17","find-package-json":"^1.2.0","sort-package-json":"github:Xunnamius/sort-package-json","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.1.5","remark-frontmatter":"^3.0.0","source-map-support":"^0.5.19","escape-string-regexp":"^4.0.0","eslint-plugin-import":"^2.22.1","@semantic-release/git":"^9.0.0","@types/edit-json-file":"^1.4.0","@semantic-release/exec":"^5.0.0","remark-reference-links":"^5.0.0","webpack-node-externals":"^2.5.2","typedoc-plugin-markdown":"^3.5.0","@babel/preset-typescript":"^7.12.17","@types/find-package-json":"^1.1.1","@typescript-eslint/parser":"^4.15.1","confusing-browser-globals":"^1.0.10","remark-lint-final-newline":"^1.0.5","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^5.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^2.0.1","remark-lint-no-inline-padding":"^3.0.0","conventional-changelog-angular":"^5.0.12","@commitlint/config-conventional":"^12.0.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^4.15.1","babel-plugin-add-import-extension":"^1.4.4","eslint-import-resolver-typescript":"^2.4.0","remark-lint-no-unused-definitions":"^2.0.1","remark-lint-no-undefined-references":"^3.0.0","@babel/plugin-proposal-function-bind":"^7.12.13","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^2.0.1","remark-lint-no-heading-content-indent":"^3.0.0","remark-lint-ordered-list-marker-style":"^2.0.1","remark-lint-no-blockquote-without-marker":"^4.0.0","remark-lint-no-auto-link-without-protocol":"^2.0.1","@babel/plugin-proposal-export-default-from":"^7.12.13","babel-plugin-transform-default-named-imports":"^1.0.9"},"peerDependencies":{"next":">=9.5.x"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.2.21_1615516237982_0.9804324518192387","host":"s3://npm-registry-packages"}},"1.2.22":{"name":"next-test-api-route-handler","version":"1.2.22","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.2.22","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"5501e88440468823852e6fcd8358f4f5dee933b0","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.2.22.tgz","fileCount":7,"integrity":"sha512-mGLwONASDawCd51griGG9mqg4IID4V5P9197TGaM8zJYU1pdg8T9U+KDhTc7RlIzNV/9sPu6ZM1/QAYVakjNxQ==","signatures":[{"sig":"MEUCIQDB60sb8+jLsn/SpE6602dOvpy8M+u+9jcg19NLt13ZCwIgDxreUzfRX+hiDT6eMAs5J2u8xe7W/K4P9nDs+2Nu2Mg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":52946,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSuhhCRA9TVsSAnZWagAAT70P/0BQplLY5Dexpsjmrj7Z\n4hCzIZnekJi9b+HP1+3mzWKaJ6BRI8snkyz48040AWGuX36n+j8Cu2y/jvyj\n8lT3bPFerHMnMND7e/PAehVZU5EBtiXqXkwPL8gLACErEC5j0lE6IQOPoHE4\n36kGOUkuoOqeOHEUBRwRQsYq7iGfOPUylsGPu5aLIqQ8VoiUXC8vk9UAT/g9\noPjzmy9pv0Crqr+BjYvT9kvYyNDYEsGaVDdRbE26/KpUogoia6izri9mIzIz\nsj8MrTPCkIw6Uvw0aorbNxfUfIzezZ5ICDAvJ3ZD4Fg8JsSX0789Wm8FdTp7\ntp8vB1FS/AmyGvlfkVIEq9/A4IRH9M3KV1mJKeIKPOghWi7qtxQY0t+xv4Qi\nD2hgc3nVLTiHfoZZ6jZ+QlvCBMm/ZP5cc3YsF6KcQeYzU4MGgUfcUpDla2kX\neKqnrDvIsXPK31MOw6lIjKLeuyIAgJ7bpFkh5iggXqJlg9Oc9NQWRx3nhQRY\n6bfNn/aW/FwXoG7SUHtp0y2aMwMQ2o7F+V28r3UxGJ4OZMiWeXKpNYYcApGr\ngjIAXZP4gkLcwh+lwwOWK06BKSjFLfcuCUX2T2s6RKdDsqk0tKDppApwSwxi\nLHaP0bNNvwF7TBaz+GXce/2nrdbB0vdh7ttfVYoMbPZ+zRax0feg4/qLu2Jq\nETrW\r\n=oTGr\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":false,"testRunner":"jest-circus/runner","testTimeout":60000,"testEnvironment":"node","setupFilesAfterEnv":["./test/setup.ts"],"testPathIgnorePatterns":["/node_modules/"]},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/esm/index.mjs","engines":{"node":">=12.x"},"exports":{".":{"import":"./dist/esm/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"198330d5b60ab0aa8228b9d3beb1f46d8f1c8895","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions .; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"rm -rf dist coverage external-scripts/bin bundle-stats.ignore.json","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter . && prettier --write .","prepare":"if [ -z \"$CI\" ]; then npx husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts' --collectCoverageFrom 'lib/**/*.ts' --collectCoverageFrom 'external-scripts/**/*.ts' --testPathIgnorePatterns test/integration-*.test.ts","build-dist":"NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name lib && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli && chmod +x ./dist/cli.js; fi && NODE_ENV=esm babel src --extensions .ts --out-dir dist/esm --out-file-extension .mjs","build-docs":"ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find docs -name '*.md' -exec sed -i -E 's/^.\\s*(\\*\\*)?__namedParameters(\\*\\*)?/`\\({ destructured }\\)/gm' {} + && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --preset angular --config .changelogrc.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./.changelogrc.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-integration":"BABEL_ENV=test jest $JEST_CLI --testPathIgnorePatterns test/unit-*.test.ts","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts","test-integration-webpack":"BABEL_ENV=test jest $JEST_CLI test/integration-webpack*.test.ts","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-external*.test.ts"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"prettier":{"semi":true,"tabWidth":2,"endOfLine":"lf","overrides":[{"files":"**/*.@(ts|?(@(c|m))js)?(x)","options":{"parser":"babel-ts","printWidth":90}}],"proseWrap":"always","printWidth":80,"singleQuote":true,"trailingComma":"none"},"commitlint":{"rules":{"type-enum":[2,"always",["feat","fix","docs","style","refactor","test","revert","debug","build","chore"]],"body-leading-blank":[2,"always"],"footer-leading-blank":[2,"always"]},"extends":["@commitlint/config-conventional"]},"expect-env":{"rules":[{"name":"^MONGODB_URI$","value":"^.+:\\/\\/.+\\/.+$","required":false,"errorMessage":"expected MONGODB_URI to be a valid Mongo connect URI with database name"},{"name":"^GH_TOKEN$","value":"^[a-f0-9]+$","required":false,"errorMessage":"expected GH_TOKEN to be undefined or a valid GitHub Personal Access Token"}],"errorMessage":"\nCopy the \".env.example\" file to \".env\" or define the appropriate repository secrets"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"6.14.11","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"lint-staged":{"*":"prettier --write --ignore-unknown","*.md":"remark -o --use reference-links --use gfm --use frontmatter","package.json":"sort-package-json"},"sideEffects":false,"_nodeVersion":"15.11.0","dependencies":{"debug":"^4.3.1","test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","jest":"^26.6.3","execa":"^5.0.0","husky":"^5.1.3","dotenv":"^8.2.0","eslint":"^7.21.0","semver":"^7.3.4","mongodb":"^3.6.4","typedoc":"^0.20.30","webpack":"^5.24.4","prettier":"^2.2.1","@babel/cli":"^7.13.10","babel-jest":"^26.6.3","remark-cli":"^9.0.0","remark-gfm":"^1.0.0","simple-git":"^2.36.2","typescript":"^4.2.3","@babel/core":"^7.13.10","@types/jest":"^26.0.20","@types/node":"^14.14.33","jest-circus":"^26.6.3","lint-staged":"^10.5.4","webpack-cli":"^4.5.0","@types/debug":"^4.1.5","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","spellchecker":"^3.7.1","@octokit/rest":"^18.3.5","@types/semver":"^7.3.4","jest-extended":"^0.11.5","@types/mongodb":"^3.6.9","@types/webpack":"^4.41.26","edit-json-file":"^1.6.0","@commitlint/cli":"^12.0.1","@ergodark/types":"^1.0.17","text-extensions":"^2.4.0","unique-filename":"^1.1.1","semantic-release":"github:Xunnamius/semantic-release","@babel/preset-env":"^7.13.10","find-package-json":"^1.2.0","sort-package-json":"github:Xunnamius/sort-package-json","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.2.1","remark-frontmatter":"^3.0.0","source-map-support":"^0.5.19","escape-string-regexp":"^4.0.0","eslint-plugin-import":"^2.22.1","@semantic-release/git":"^9.0.0","@types/edit-json-file":"^1.4.0","@semantic-release/exec":"^5.0.0","remark-reference-links":"^5.0.0","webpack-node-externals":"^2.5.2","typedoc-plugin-markdown":"^3.6.0","@babel/preset-typescript":"^7.13.0","@types/find-package-json":"^1.2.0","@typescript-eslint/parser":"^4.17.0","confusing-browser-globals":"^1.0.10","remark-lint-final-newline":"^1.0.5","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^5.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^2.0.1","remark-lint-no-inline-padding":"^3.0.0","conventional-changelog-angular":"^5.0.12","@commitlint/config-conventional":"^12.0.1","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^4.17.0","babel-plugin-add-import-extension":"^1.5.0","eslint-import-resolver-typescript":"^2.4.0","remark-lint-no-unused-definitions":"^2.0.1","remark-lint-no-undefined-references":"^3.0.0","@babel/plugin-proposal-function-bind":"^7.12.13","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^2.0.1","remark-lint-no-heading-content-indent":"^3.0.0","remark-lint-ordered-list-marker-style":"^2.0.1","remark-lint-no-blockquote-without-marker":"^4.0.0","remark-lint-no-auto-link-without-protocol":"^2.0.1","@babel/plugin-proposal-export-default-from":"^7.12.13","babel-plugin-transform-default-named-imports":"^1.0.9"},"peerDependencies":{"next":">=9.5.x"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.2.22_1615521888866_0.365893529914989","host":"s3://npm-registry-packages"}},"1.2.23":{"name":"next-test-api-route-handler","version":"1.2.23","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.2.23","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"82e75d12e362a9cd51141e5d328a5dfb87c729e1","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.2.23.tgz","fileCount":7,"integrity":"sha512-I3vRGKe6owD/Bm3sDSONJARDCSf9oYlj7GQh4HuIg1N7mJPVol485E5xeqRIpWRM/weyLVe2JnWB6niC+8rquQ==","signatures":[{"sig":"MEQCIGtUokcw4TQIAVYie9tbWbPj5PTrzTbqCtRh1DvGZuphAiBZhWdXcFBQu33y9EMMZfMYORMaBpQRMDGG06wGSIQp2A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53352,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgTdlqCRA9TVsSAnZWagAAwdwP/3/4C9Y5GjzirQS/qHF8\nH5q+oyflpRXYtxMZzIYtAjSG/qW+Q4hit6PEEY04aqCMWle7dubAdTyhkWua\ntjpNuy8I+t9++mY82S9HzOfTvAIs1/thre9Z3AGEXBjODeWquYogEvmsAq7d\n4zmlTe8af77rWZiE9XZ74siifu9wqC3Y41B+nq1MML0xhcu1HYiFUglPKh8a\n/5fPOUHdO6cTn8iYAgbcTWQRIIRUqQUBK8ntuq7FbCiVGt2Y61U+fFb0kJxg\neBRkP2drnIuabQpvHxw4/+56tn9/JWXFUl2Hc8l+w8MCQGMPIdECDDrGYxAS\nu6zsBmDvMS2cs63jFBQxjQH0W7vxWFdA+r8O0JnJPI/DGICI6GVLWFMidr3s\nn/T1sABAnVnjZtPlzoBTTc43+fEtcj4OeqcmW2luXZw3ycu0KUMqX67vH+hK\nmPnKrU6WBg8vw2KN9hgCsZuyfa2zF6NpUUK6hVKbXlq9pC8xiT8d8Ds/18Hg\nEtX0qLp/VGsZn7b1P2H7yjX7rmKmrtbcsqnyh0193ng40gmcK4G+wICIlqVG\niTkr6d4xNKVFWhfBGn1/JmUuZ+RgYsMiNvh0Y0SUUuomgQnXZz3nS0fNEqwj\njJtpidtL27e0iTMO7pESnD2r1TtE9lq6INCVCCb7D2O/L2+xKU+qjx/Km5Rx\nso4N\r\n=K3gs\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":false,"testRunner":"jest-circus/runner","testTimeout":60000,"testEnvironment":"node","setupFilesAfterEnv":["./test/setup.ts"],"testPathIgnorePatterns":["/node_modules/"]},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/esm/index.mjs","engines":{"node":">=12.x"},"exports":{".":{"import":"./dist/esm/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"79ff9e68b2193386f75c6104e2835790e33d20f6","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions .; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"rm -rf dist coverage external-scripts/bin bundle-stats.ignore.json","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter . && prettier --write .","prepare":"if [ -z \"$CI\" ]; then npx husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts' --collectCoverageFrom 'lib/**/*.ts' --collectCoverageFrom 'external-scripts/**/*.ts' --testPathIgnorePatterns test/integration-*.test.ts","build-dist":"NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name lib && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli && chmod +x ./dist/cli.js; fi && NODE_ENV=esm babel src --extensions .ts --out-dir dist/esm --out-file-extension .mjs","build-docs":"ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find docs -name '*.md' -exec sed -i -E 's/^.\\s*(\\*\\*)?__namedParameters(\\*\\*)?/`\\(destructured\\)/gm' {} + && find docs -name '*.md' -exec sed -i -E 's/^.\\s*\\(destructured\\)\\.([a-zA-Z0-9_?-]+)/`\\({ \\1 }\\)/gm' {} + && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --preset angular --config .changelogrc.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./.changelogrc.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-integration":"BABEL_ENV=test jest $JEST_CLI --testPathIgnorePatterns test/unit-*.test.ts","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts","test-integration-webpack":"BABEL_ENV=test jest $JEST_CLI test/integration-webpack*.test.ts","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-external*.test.ts"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"prettier":{"semi":true,"tabWidth":2,"endOfLine":"lf","overrides":[{"files":"**/*.@(ts|?(@(c|m))js)?(x)","options":{"parser":"babel-ts","printWidth":90}}],"proseWrap":"always","printWidth":80,"singleQuote":true,"trailingComma":"none"},"commitlint":{"rules":{"type-enum":[2,"always",["feat","fix","docs","style","refactor","test","revert","debug","build","chore"]],"body-leading-blank":[2,"always"],"footer-leading-blank":[2,"always"]},"extends":["@commitlint/config-conventional"]},"expect-env":{"rules":[{"name":"^MONGODB_URI$","value":"^.+:\\/\\/.+\\/.+$","required":false,"errorMessage":"expected MONGODB_URI to be a valid Mongo connect URI with database name"},{"name":"^GH_TOKEN$","value":"^[a-f0-9]+$","required":false,"errorMessage":"expected GH_TOKEN to be undefined or a valid GitHub Personal Access Token"}],"errorMessage":"\nCopy the \".env.example\" file to \".env\" or define the appropriate repository secrets"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"6.14.11","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"lint-staged":{"*":"prettier --write --ignore-unknown","*.md":"remark -o --use reference-links --use gfm --use frontmatter","package.json":"sort-package-json"},"sideEffects":false,"_nodeVersion":"15.11.0","dependencies":{"debug":"^4.3.1","test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","jest":"^26.6.3","execa":"^5.0.0","husky":"^5.1.3","dotenv":"^8.2.0","eslint":"^7.21.0","semver":"^7.3.4","mongodb":"^3.6.4","typedoc":"^0.20.30","webpack":"^5.24.4","prettier":"^2.2.1","@babel/cli":"^7.13.10","babel-jest":"^26.6.3","remark-cli":"^9.0.0","remark-gfm":"^1.0.0","simple-git":"^2.36.2","typescript":"^4.2.3","@babel/core":"^7.13.10","@types/jest":"^26.0.20","@types/node":"^14.14.33","jest-circus":"^26.6.3","lint-staged":"^10.5.4","webpack-cli":"^4.5.0","@types/debug":"^4.1.5","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","spellchecker":"^3.7.1","@octokit/rest":"^18.3.5","@types/semver":"^7.3.4","jest-extended":"^0.11.5","@types/mongodb":"^3.6.9","@types/webpack":"^4.41.26","edit-json-file":"^1.6.0","@commitlint/cli":"^12.0.1","@ergodark/types":"^1.0.17","text-extensions":"^2.4.0","unique-filename":"^1.1.1","semantic-release":"github:Xunnamius/semantic-release","@babel/preset-env":"^7.13.10","find-package-json":"^1.2.0","sort-package-json":"github:Xunnamius/sort-package-json","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.2.1","remark-frontmatter":"^3.0.0","source-map-support":"^0.5.19","escape-string-regexp":"^4.0.0","eslint-plugin-import":"^2.22.1","@semantic-release/git":"^9.0.0","@types/edit-json-file":"^1.4.0","@semantic-release/exec":"^5.0.0","remark-reference-links":"^5.0.0","webpack-node-externals":"^2.5.2","typedoc-plugin-markdown":"^3.6.0","@babel/preset-typescript":"^7.13.0","@types/find-package-json":"^1.2.0","@typescript-eslint/parser":"^4.17.0","confusing-browser-globals":"^1.0.10","remark-lint-final-newline":"^1.0.5","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^5.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^2.0.1","remark-lint-no-inline-padding":"^3.0.0","conventional-changelog-angular":"^5.0.12","@commitlint/config-conventional":"^12.0.1","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^4.17.0","babel-plugin-add-import-extension":"^1.5.0","eslint-import-resolver-typescript":"^2.4.0","remark-lint-no-unused-definitions":"^2.0.1","remark-lint-no-undefined-references":"^3.0.0","@babel/plugin-proposal-function-bind":"^7.12.13","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^2.0.1","remark-lint-no-heading-content-indent":"^3.0.0","remark-lint-ordered-list-marker-style":"^2.0.1","remark-lint-no-blockquote-without-marker":"^4.0.0","remark-lint-no-auto-link-without-protocol":"^2.0.1","@babel/plugin-proposal-export-default-from":"^7.12.13","babel-plugin-transform-default-named-imports":"^1.0.9"},"peerDependencies":{"next":">=9.5.x"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.2.23_1615714665481_0.1064424971143274","host":"s3://npm-registry-packages"}},"1.2.24":{"name":"next-test-api-route-handler","version":"1.2.24","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@1.2.24","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"619ca3177ec75b54179786f3b67329fba2a71b0a","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-1.2.24.tgz","fileCount":7,"integrity":"sha512-X2JXE2PFuJRsjQp0bOaALIdgye6Ysm/nHvRCXI88Fi0Vbx5ZLZBkTq5/f4XrQHfAY7dJW8Tg3/esb2YzFzDiHw==","signatures":[{"sig":"MEUCIHd+3Q3ugbANeqxgmXehIRAigUPY1eb1VG4ziz7rk0JSAiEAlI0h609jcR6c75FhAyyOfUiFEI6xcmjAWlloSdqWJrY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53825,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgjFkUCRA9TVsSAnZWagAAJ+kQAKULjoEdgOWyX1fILTuT\nvTUbQi2cgsDGWo/NeCFe/KmKs4Wj1Vhvojrmjn8olSg6fqWZS2MVkEWZ3jin\nfinavkdM3k4/ustPxPqaW1y5O9y3qHwUq6g/wMirVS0QG0LwGdME0uNT9urb\nPzszK1jD1urPiRFUvEuVrNDBsfAlvbvWouUu094QHQBjgbnN+1U3tsME80Go\ndvnR2b5AS/76i1RzspOfYDx4L1MmqJaeY+RmSZxeEpmQ+yl223m3c64m4MAt\n9Dn1j2EFuyqjX5W00voPAn0KPlcVGhdwsAlx8ivwU4Xi4hLRJfY1rsUYYYAz\nzr7TYae1zQua7I9/j7fnFkHMZJfEknqFYrR0gdGUMGRS3XvweU4jcfXgC28U\nKve/V9D3SHYbf5QGkVxE7FbHMrD0sPdca2Q/E8d80DgQVC1WxU7lb3nR+CkH\nAyotGMX1e28Yl7TV7efDjb9ZWpszGiz4/zcXoJJOboKcOlK6ierEiFjFXogD\n9mkz498g4sJsu85wOe7/N1d3eO/t6ZPuOYCkRBemjkqZZIJCRzAbiAFVcBe0\nqVS1el2xDk0/VQVlsbIxUo1qvx31QP5fW95OdSD5q66/i9tj2J9oicxLSLhZ\nT2l/4Q7PbMYV8hKe0f/NXc3AdZrdOcxQGl+H8C6PZlRLY5RFf5paP35W4Cue\nVAlE\r\n=ni+i\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":false,"testRunner":"jest-circus/runner","testTimeout":60000,"testEnvironment":"node","setupFilesAfterEnv":["./test/setup.ts"],"testPathIgnorePatterns":["/node_modules/"]},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/esm/index.mjs","engines":{"node":">=12.x"},"exports":{".":{"import":"./dist/esm/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"d2f1c397edec52f8748c764aeb23cc9cd2ca7b21","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"rm -rf dist coverage external-scripts/bin bundle-stats.ignore.json","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && prettier --write '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && if [ -z \"$ALLOW_DISABLED_LINKS\" ] && grep -qR --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; then echo '---\nWARNING: disabled links were found in the following files:'; grep -R --color=always --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; echo '(to ignore this error, run this command again with ALLOW_DISABLED_LINKS=1)'; exit 1; fi","prepare":"if [ -z \"$CI\" ]; then npx husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts' --collectCoverageFrom 'lib/**/*.ts' --collectCoverageFrom 'external-scripts/**/*.ts' --testPathIgnorePatterns test/integration-*.test.ts","build-dist":"NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name lib && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli && chmod +x ./dist/cli.js; fi && NODE_ENV=esm babel src --extensions .ts --out-dir dist/esm --out-file-extension .mjs","build-docs":"ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find docs -name '*.md' -exec sed -i -E 's/^.\\s*(\\*\\*)?__namedParameters(\\*\\*)?/`\\(destructured\\)/gm' {} + && find docs -name '*.md' -exec sed -i -E 's/^.\\s*\\(destructured\\)\\.([a-zA-Z0-9_?-]+)/`\\({ \\1 }\\)/gm' {} + && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --preset angular --config .changelogrc.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./.changelogrc.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-integration":"BABEL_ENV=test jest $JEST_CLI --testPathIgnorePatterns test/unit-*.test.ts","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts","test-integration-webpack":"BABEL_ENV=test jest $JEST_CLI test/integration-webpack*.test.ts","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-external*.test.ts"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"prettier":{"semi":true,"tabWidth":2,"endOfLine":"lf","overrides":[{"files":"**/*.@(ts|?(@(c|m))js)?(x)","options":{"parser":"babel-ts","printWidth":90}}],"proseWrap":"always","printWidth":80,"singleQuote":true,"trailingComma":"none"},"commitlint":{"rules":{"type-enum":[2,"always",["feat","fix","docs","style","refactor","test","revert","debug","build","chore"]],"body-leading-blank":[2,"always"],"footer-leading-blank":[2,"always"]},"extends":["@commitlint/config-conventional"]},"expect-env":{"rules":[{"name":"^MONGODB_URI$","value":"^.+:\\/\\/.+\\/.+$","required":false,"errorMessage":"expected MONGODB_URI to be a valid Mongo connect URI with database name"},{"name":"^GH_TOKEN$","value":"^[a-f0-9]+$","required":false,"errorMessage":"expected GH_TOKEN to be undefined or a valid GitHub Personal Access Token"}],"errorMessage":"\nCopy the \".env.example\" file to \".env\" or define the appropriate repository secrets"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"7.11.2","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"lint-staged":{"*":"prettier --write --ignore-unknown","*.md":"remark -o --use reference-links --use gfm --use frontmatter","package.json":"sort-package-json"},"sideEffects":false,"_nodeVersion":"15.14.0","dependencies":{"debug":"^4.3.1","test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","jest":"^26.6.3","execa":"^5.0.0","husky":"^6.0.0","dotenv":"^8.2.0","eslint":"^7.25.0","semver":"^7.3.5","mongodb":"^3.6.6","typedoc":"^0.20.36","webpack":"^5.36.2","prettier":"^2.2.1","@babel/cli":"^7.13.16","babel-jest":"^26.6.3","remark-cli":"^9.0.0","remark-gfm":"^1.0.0","simple-git":"^2.38.0","typescript":"^4.2.4","@babel/core":"^7.14.0","@types/jest":"^26.0.23","@types/node":"^15.0.1","jest-circus":"^26.6.3","lint-staged":"^10.5.4","webpack-cli":"^4.6.0","@types/debug":"^4.1.5","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","spellchecker":"^3.7.1","@octokit/rest":"^18.5.3","@types/semver":"^7.3.5","jest-extended":"^0.11.5","@types/mongodb":"^3.6.12","@types/webpack":"^5.28.0","edit-json-file":"^1.6.0","@commitlint/cli":"^12.1.1","@ergodark/types":"^1.0.17","text-extensions":"^2.4.0","unique-filename":"^1.1.1","semantic-release":"github:xunnamius/semantic-release","@babel/preset-env":"^7.14.0","find-package-json":"^1.2.0","sort-package-json":"github:xunnamius/sort-package-json","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.3.6","remark-frontmatter":"^3.0.0","source-map-support":"^0.5.19","eslint-plugin-import":"^2.22.1","@semantic-release/git":"^9.0.0","@types/edit-json-file":"^1.4.0","remark-validate-links":"^10.0.4","@semantic-release/exec":"^5.0.0","remark-reference-links":"^5.0.0","webpack-node-externals":"^3.0.0","typedoc-plugin-markdown":"^3.7.2","@babel/preset-typescript":"^7.13.0","@types/find-package-json":"^1.2.0","@typescript-eslint/parser":"^4.22.0","confusing-browser-globals":"^1.0.10","remark-lint-final-newline":"^1.0.5","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^5.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^2.0.1","remark-lint-no-inline-padding":"^3.0.0","conventional-changelog-angular":"^5.0.12","@commitlint/config-conventional":"^12.1.1","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^4.22.0","babel-plugin-add-import-extension":"^1.5.1","eslint-import-resolver-typescript":"^2.4.0","remark-lint-no-unused-definitions":"^2.0.1","remark-lint-no-undefined-references":"^3.0.0","@babel/plugin-proposal-function-bind":"^7.12.13","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^2.0.1","remark-lint-no-heading-content-indent":"^3.0.0","remark-lint-ordered-list-marker-style":"^2.0.1","remark-lint-no-blockquote-without-marker":"^4.0.0","remark-lint-no-auto-link-without-protocol":"^2.0.1","@babel/plugin-proposal-export-default-from":"^7.12.13","babel-plugin-transform-default-named-imports":"^1.0.9"},"peerDependencies":{"next":">=9.5.x"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_1.2.24_1619810579524_0.7425947574722427","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"next-test-api-route-handler","version":"2.0.0","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@2.0.0","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"8aea2517fdac2c62e4c71fa17bc62dccca9a7cb8","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-2.0.0.tgz","fileCount":6,"integrity":"sha512-9r/qy1SEZHnD5rYtGVX5TqZajmuA1RMJ5TWdNorU5WNO5P4+N7bFOoMHwPGU5CKk4d70XWn4XtVIW/Ia2/FT9A==","signatures":[{"sig":"MEUCIQCVz1hI+LLgzvpLr18afk4DZkw8kjMWiwAdS2Ewd+pcoAIgeS0WQYX5MaacMGfIxYRt4L7u6fLsoku7I4F+BxbfeJc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":36875,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg2CmECRA9TVsSAnZWagAA9hUQAJKXgIpc7qfxHn5XRUQs\nHvNYebWw8C4yRRCrn90eezYYQqKP4HNUysDzp9k9oU9pWbcmdaf3xO8fRa7y\nF3DPPPvzbVWUzdsMcpH4B42TRB19j4vZCOiz3apuUXD23Dm/tTpJirC1+f4u\nslPXMMEvFsvQAlJC8rTeIwoMCROl1VPsDbfq6DKxa2LnoXrMSxXmyvPs2wOc\n2wI3AeAU8Lb/wzg4i04Zq5xDsYBN5khyp36jIz2GstFxrP38PquUvFOfyg/c\nq6Wmxn0QWpj3UgWafCA5dADB1KSXxC9hXBMyRb+nDQlkR/JnO6+as6kCwS5d\ngnNUDj/BsL0dUZ0KmFieZbOPWkNRLF7FTZgw57di0fVw5yaelZcZudRZSScj\npiXvyPnfosRm87adG0TFy8WwdH4Nab0NxhUWhnFD04GnttV18K5ZA8bXmDkv\nj4PriJ0v8f9Vtp6rFWl95z3aYrT7YvIH+Qf6EoZ33a5wdyhwk9Xfm3v+QRwp\nL5WmtrBWmioKV0uG3c01cKMZgQbTQKWIR1S+/Nz1d/H9kR38Jv3raKTLbBDD\nDoY+NnfYW0A54kVU93jh3xDVzQaQoNfXcZQcVrrIIPRBFuGza7xCvNDNge1G\nh8rhooBjrrow0PkdvkFYfErI1NdJBoSrSNT+RN0gxrbIbCgxIlkJ3wV6gdvm\n42qL\r\n=Eve5\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":false,"testRunner":"jest-circus/runner","testTimeout":60000,"testEnvironment":"node","setupFilesAfterEnv":["./test/setup.ts"],"testPathIgnorePatterns":["/node_modules/"]},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/esm/index.mjs","engines":{"node":">=12"},"exports":{".":{"import":"./dist/esm/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"a3e9abfa1eed3cf066370c935f958a245335d920","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"rm -rf dist coverage external-scripts/bin bundle-stats.ignore.json","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && prettier --write '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && if [ -z \"$ALLOW_DISABLED_LINKS\" ] && grep -qR --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; then echo '---\nWARNING: disabled links were found in the following files:'; grep -R --color=always --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; echo '(to ignore this error, run this command again with ALLOW_DISABLED_LINKS=1)'; exit 1; fi","prepare":"if [ -z \"$CI\" ]; then npx husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts' --collectCoverageFrom 'lib/**/*.ts' --collectCoverageFrom 'external-scripts/**/*.ts' --testPathIgnorePatterns test/integration-*.test.ts","build-dist":"NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name lib && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli && chmod +x ./dist/cli.js; fi && NODE_ENV=esm babel src --extensions .ts --out-dir dist/esm --out-file-extension .mjs","build-docs":"ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find docs -name '*.md' -exec sed -i -E 's/^.\\s*(\\*\\*)?__namedParameters(\\*\\*)?/`\\(destructured\\)/gm' {} + && find docs -name '*.md' -exec sed -i -E 's/^.\\s*\\(destructured\\)\\.([a-zA-Z0-9_?-]+)/`\\({ \\1 }\\)/gm' {} + && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --config conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-integration":"BABEL_ENV=test jest $JEST_CLI --testPathIgnorePatterns test/unit-*.test.ts","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts","test-integration-webpack":"BABEL_ENV=test jest $JEST_CLI test/integration-webpack*.test.ts","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-external*.test.ts"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"prettier":{"semi":true,"tabWidth":2,"endOfLine":"lf","overrides":[{"files":"**/*.@(ts|?(@(c|m))js)?(x)","options":{"parser":"babel-ts","printWidth":90}}],"proseWrap":"always","printWidth":80,"singleQuote":true,"trailingComma":"none"},"commitlint":{"rules":{"type-enum":[2,"always",["feat","fix","docs","style","refactor","test","revert","debug","build","chore"]],"body-leading-blank":[2,"always"],"footer-leading-blank":[2,"always"]},"extends":["@commitlint/config-conventional"]},"expect-env":{"rules":[{"name":"^MONGODB_URI$","value":"^.+:\\/\\/.+\\/.+$","required":false,"errorMessage":"expected MONGODB_URI to be a valid Mongo connect URI with database name"},{"name":"^GH_TOKEN$","value":"^[a-f0-9]+$","required":false,"errorMessage":"expected GH_TOKEN to be undefined or a valid GitHub Personal Access Token"}],"errorMessage":"\nCopy the \".env.example\" file to \".env\" or define the appropriate repository secrets"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"7.12.1","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"lint-staged":{"*":"prettier --write --ignore-unknown","*.md":"remark -o --use reference-links --use gfm --use frontmatter","package.json":"sort-package-json"},"sideEffects":false,"_nodeVersion":"15.14.0","dependencies":{"debug":"^4.3.1","test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","jest":"^27.0.5","execa":"^5.1.1","husky":"^6.0.0","dotenv":"^10.0.0","eslint":"^7.29.0","semver":"^7.3.5","mongodb":"^3.6.9","typedoc":"^0.21.1","webpack":"^5.40.0","prettier":"^2.3.2","@babel/cli":"^7.14.5","babel-jest":"^27.0.5","remark-cli":"^9.0.0","remark-gfm":"^1.0.0","simple-git":"^2.40.0","typescript":"4.3.4","@babel/core":"^7.14.6","@types/jest":"^26.0.23","@types/node":"^15.12.4","jest-circus":"^27.0.5","lint-staged":"^11.0.0","webpack-cli":"^4.7.2","@types/debug":"^4.1.5","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","spellchecker":"^3.7.1","@octokit/rest":"^18.6.2","@types/semver":"^7.3.6","jest-extended":"^0.11.5","@types/mongodb":"^3.6.18","@types/webpack":"^5.28.0","edit-json-file":"^1.6.0","@commitlint/cli":"^12.1.4","@ergodark/types":"^1.0.17","text-extensions":"^2.4.0","unique-filename":"^1.1.1","semantic-release":"github:xunnamius/semantic-release","@babel/preset-env":"^7.14.7","find-package-json":"^1.2.0","sort-package-json":"github:xunnamius/sort-package-json","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.3.6","remark-frontmatter":"^3.0.0","source-map-support":"^0.5.19","eslint-plugin-import":"^2.23.4","@semantic-release/git":"^9.0.0","@types/edit-json-file":"^1.4.0","remark-validate-links":"^10.0.4","@semantic-release/exec":"^5.0.0","remark-reference-links":"^5.0.0","webpack-node-externals":"^3.0.0","typedoc-plugin-markdown":"^3.10.2","@babel/preset-typescript":"^7.14.5","@types/find-package-json":"^1.2.1","@typescript-eslint/parser":"^4.28.0","confusing-browser-globals":"^1.0.10","remark-lint-final-newline":"^1.0.5","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^5.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^2.0.1","remark-lint-no-inline-padding":"^3.0.0","@commitlint/config-conventional":"^12.1.4","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^4.28.0","babel-plugin-add-import-extension":"^1.5.1","eslint-import-resolver-typescript":"^2.4.0","remark-lint-no-unused-definitions":"^2.0.1","remark-lint-no-undefined-references":"^3.0.0","@babel/plugin-proposal-function-bind":"^7.14.5","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^2.0.1","remark-lint-no-heading-content-indent":"^3.0.0","remark-lint-ordered-list-marker-style":"^2.0.1","remark-lint-no-blockquote-without-marker":"^4.0.0","remark-lint-no-auto-link-without-protocol":"^2.0.1","@babel/plugin-proposal-export-default-from":"^7.14.5","@xunnamius/conventional-changelog-projector":"^1.0.1","babel-plugin-transform-default-named-imports":"^1.0.9"},"peerDependencies":{"next":">=10"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_2.0.0_1624779139607_0.2786115953897661","host":"s3://npm-registry-packages"}},"2.0.1":{"name":"next-test-api-route-handler","version":"2.0.1","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@2.0.1","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"bcf3600ceb704ed890a380e3a0023f4ad951e89f","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-2.0.1.tgz","fileCount":6,"integrity":"sha512-FDdoeBtMXQpTzLbVMxM7NmwOM2o2lWwUpqGsSueIxsVw+X5K6vXxC44YRRFUeXYyyUreQumx/zXNtjA/XDQTHw==","signatures":[{"sig":"MEQCIBazN2dOHIRpJhkJPs2aMkM4L3OsyaZIaVmf6mS3qxmgAiBK4rUFNh7mU/8+mmJBot39V0wdw7FhshpX1PYQcge17g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37296,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg2DuWCRA9TVsSAnZWagAAB0EP/0NtEqt4snbzlVZCOov4\nOh6fO3I/tuDUT9gCcv6KuPo4wWa5O3fuNvT0xZ8NsHpOj57p4ZPR3YE3uCDQ\nJp5zU1jL3o6yMzHUW+OBrHdw8jTk3HuBrI0XGNDAyo3i1/Tqzzd4Dghz3lAd\n6IaqjCZndFkRM295agMLAOFRB6Tod0k6rK6d+kIS8JyYpba26mFeC6YX38f7\nfV7pbPaQepNOfcyiiYUvxNm86cwEnMrLVbApyvRQebT31lONI3jTJqH9/pKg\nSA+Cr8KFWH+JeMEUEHvyaW0yzklZ5CsrJrmw6FUQzzWHH22fO+vIKF95/YIN\nXbA1sol3ZYW+/104VaXEe7Bh9QhYMwQ9hK8E9k1vyLAnNPwTBFE9mHfztiTX\nPJH8L4nfy90Fu95nTBWoVfMqXoELvoELqab4q4R9bpWX8+L7sz86sMOtf+dW\nspBp4IGOwALgcE5aANmarF1VL79KfC8D1hnYljoUFMgNEy+Jv9tPElE/QKH8\ntrVVo7uOzVM2Yv4pS3mw6eM7cSfqUpYs8rcGPFAj2c7Wb6XcoMa+QFrhw3/P\nawmLNUoAN+cq7/7o3lSA5+o0lq6PRYm2LivLRW+YPpFrdeMfzi+dO/rLv9Fz\naMcVzKETRN9GyO80ezck4GRmQZY5UD8DgbZpvmVUxkreeTKHMGLiV9E1MNr1\nuj7q\r\n=I5Mr\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":false,"testRunner":"jest-circus/runner","testTimeout":60000,"testEnvironment":"node","setupFilesAfterEnv":["./test/setup.ts"],"testPathIgnorePatterns":["/node_modules/"]},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/esm/index.mjs","engines":{"node":">=12"},"exports":{".":{"import":"./dist/esm/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"ef03adde7b7dffa73fc02a40b956276de97d212d","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"rm -rf dist coverage external-scripts/bin bundle-stats.ignore.json","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && prettier --write '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && if [ -z \"$ALLOW_DISABLED_LINKS\" ] && grep -qR --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; then echo '---\nWARNING: disabled links were found in the following files:'; grep -R --color=always --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; echo '(to ignore this error, run this command again with ALLOW_DISABLED_LINKS=1)'; exit 1; fi","prepare":"if [ -z \"$CI\" ]; then npx husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts' --collectCoverageFrom 'lib/**/*.ts' --collectCoverageFrom 'external-scripts/**/*.ts' --testPathIgnorePatterns test/integration-*.test.ts","build-dist":"NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name lib && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli && chmod +x ./dist/cli.js; fi && NODE_ENV=esm babel src --extensions .ts --out-dir dist/esm --out-file-extension .mjs","build-docs":"ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find docs -name '*.md' -exec sed -i -E 's/^.\\s*(\\*\\*)?__namedParameters(\\*\\*)?/`\\(destructured\\)/gm' {} + && find docs -name '*.md' -exec sed -i -E 's/^.\\s*\\(destructured\\)\\.([a-zA-Z0-9_?-]+)/`\\({ \\1 }\\)/gm' {} + && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --config conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-integration":"BABEL_ENV=test jest $JEST_CLI --testPathIgnorePatterns test/unit-*.test.ts","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts","test-integration-webpack":"BABEL_ENV=test jest $JEST_CLI test/integration-webpack*.test.ts","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-external*.test.ts"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"prettier":{"semi":true,"tabWidth":2,"endOfLine":"lf","overrides":[{"files":"**/*.@(ts|?(@(c|m))js)?(x)","options":{"parser":"babel-ts","printWidth":90}}],"proseWrap":"always","printWidth":80,"singleQuote":true,"trailingComma":"none"},"commitlint":{"rules":{"type-enum":[2,"always",["feat","fix","docs","style","refactor","test","revert","debug","build","chore"]],"body-leading-blank":[2,"always"],"footer-leading-blank":[2,"always"]},"extends":["@commitlint/config-conventional"]},"expect-env":{"rules":[{"name":"^MONGODB_URI$","value":"^.+:\\/\\/.+\\/.+$","required":false,"errorMessage":"expected MONGODB_URI to be a valid Mongo connect URI with database name"},{"name":"^GH_TOKEN$","value":"^[a-f0-9]+$","required":false,"errorMessage":"expected GH_TOKEN to be undefined or a valid GitHub Personal Access Token"}],"errorMessage":"\nCopy the \".env.example\" file to \".env\" or define the appropriate repository secrets"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"7.12.1","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"lint-staged":{"*":"prettier --write --ignore-unknown","*.md":"remark -o --use reference-links --use gfm --use frontmatter","package.json":"sort-package-json"},"sideEffects":false,"_nodeVersion":"15.14.0","dependencies":{"debug":"^4.3.1","test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","jest":"^27.0.5","execa":"^5.1.1","husky":"^6.0.0","dotenv":"^10.0.0","eslint":"^7.29.0","semver":"^7.3.5","mongodb":"^3.6.9","typedoc":"^0.21.1","webpack":"^5.40.0","prettier":"^2.3.2","@babel/cli":"^7.14.5","babel-jest":"^27.0.5","remark-cli":"^9.0.0","remark-gfm":"^1.0.0","simple-git":"^2.40.0","typescript":"^4.3.4","@babel/core":"^7.14.6","@types/jest":"^26.0.23","@types/node":"^15.12.4","jest-circus":"^27.0.5","lint-staged":"^11.0.0","webpack-cli":"^4.7.2","@types/debug":"^4.1.5","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","spellchecker":"^3.7.1","@octokit/rest":"^18.6.2","@types/semver":"^7.3.6","jest-extended":"^0.11.5","@types/mongodb":"^3.6.18","@types/webpack":"^5.28.0","edit-json-file":"^1.6.0","@commitlint/cli":"^12.1.4","@ergodark/types":"^1.0.17","text-extensions":"^2.4.0","unique-filename":"^1.1.1","semantic-release":"github:xunnamius/semantic-release","@babel/preset-env":"^7.14.7","find-package-json":"^1.2.0","sort-package-json":"github:xunnamius/sort-package-json","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.3.6","remark-frontmatter":"^3.0.0","source-map-support":"^0.5.19","eslint-plugin-import":"^2.23.4","@semantic-release/git":"^9.0.0","@types/edit-json-file":"^1.4.0","remark-validate-links":"^10.0.4","@semantic-release/exec":"^5.0.0","remark-reference-links":"^5.0.0","webpack-node-externals":"^3.0.0","typedoc-plugin-markdown":"^3.10.2","@babel/preset-typescript":"^7.14.5","@types/find-package-json":"^1.2.1","@typescript-eslint/parser":"^4.28.0","confusing-browser-globals":"^1.0.10","remark-lint-final-newline":"^1.0.5","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^5.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^2.0.1","remark-lint-no-inline-padding":"^3.0.0","@commitlint/config-conventional":"^12.1.4","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^4.28.0","babel-plugin-add-import-extension":"^1.5.1","eslint-import-resolver-typescript":"^2.4.0","remark-lint-no-unused-definitions":"^2.0.1","remark-lint-no-undefined-references":"^3.0.0","@babel/plugin-proposal-function-bind":"^7.14.5","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^2.0.1","remark-lint-no-heading-content-indent":"^3.0.0","remark-lint-ordered-list-marker-style":"^2.0.1","remark-lint-no-blockquote-without-marker":"^4.0.0","remark-lint-no-auto-link-without-protocol":"^2.0.1","@babel/plugin-proposal-export-default-from":"^7.14.5","@xunnamius/conventional-changelog-projector":"^1.0.1","babel-plugin-transform-default-named-imports":"^1.0.9"},"peerDependencies":{"next":">=10"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_2.0.1_1624783765659_0.9522363832316543","host":"s3://npm-registry-packages"}},"2.0.2":{"name":"next-test-api-route-handler","version":"2.0.2","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@2.0.2","maintainers":[{"name":"xunnamius","email":"git@ergodark.com"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"6253400ae530b77dfcc286c82bfb035edf6fb78b","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-2.0.2.tgz","fileCount":6,"integrity":"sha512-K0+VvPCvf3U5BWrTWBN8B8MktNT/iMSiTnYHaESFcQQ1QvhZ/HMSWxSpOWOIW73DmY6+aIfSc29ztMQo9L5WDw==","signatures":[{"sig":"MEQCIFiJLf3DfoI2awaozlZ6wKWpp5oKtCHcPPqmw23JM+HTAiAnVJI+eUbx/shaLU3AkG1ta6mBJu07MxGfY6Hqw4lTiw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37435,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAvYvCRA9TVsSAnZWagAAX+gQAJO8cJpJYpp39kp3GP2h\nLtI05uMxs7BIC/F6Fcxz9DT7A3u1WZIalDICQt/GYIuU2zJh9OyLvxpVjRBz\nhODALNE5rWa1cZGRJXnwvNJEH9p+Rv4k+xQa6kol2FfSwExuW2T74cf0zq8z\nA3WqKYJCcp4ViDFz89vE2rOBXw22eaT1KqJE/6+RDFfO/w2cRsismxW7ZVxQ\nspXdLN0YgVpd3yDpNIKbyaO9ID4IlPIMSHD1e44nJo8hbPVeT6DmFvSbZur/\nZo9hOsdVR3aV9c4UjZpiA9EIxuCZMNYNfPDiJKB1HIhzHtdhoe5i5JPvUB7f\nbNYO1GABNkqihuDHhGqkHFiYHl6nBUpy+rcPfivMG9vWPA80jdwjjkH+b2Z4\nUadcHSAVHf2MquiJkqIZEfcwH7e5Xsg46RLwHZur4BiUdS0lo6+Cz7lFQSLM\ntv/jqdSptAmpxaXmO9bBICZ8MMTWUiGqUTPsGX1rxVFSMh/1EWPwWlN+V0qv\nEVC00rvozdxNOAGYEFTjCbTCrv2RcQAYNYlpSoNB7Xo3/QJ/41criHJZJvgp\nEBkU2n3GX0whqpxvp9oxhxIChqJ+ZcMxBqSdZblcr3FWN9/N0P54COTFI5wX\n/yrlKP41RsVly64Q+Ro+YQHdeD1uYHjXunT16gdyPCUTNYkW0ioFi5BH5VB1\n9wLH\r\n=jwTk\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":false,"testRunner":"jest-circus/runner","testTimeout":60000,"testEnvironment":"node","setupFilesAfterEnv":["./test/setup.ts"],"testPathIgnorePatterns":["/node_modules/"]},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/esm/index.mjs","engines":{"node":">=12"},"exports":{".":{"import":"./dist/esm/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"9761e7e3053fe27763a8fca8a0dde034372fdd39","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"rm -rf dist coverage external-scripts/bin bundle-stats.ignore.json","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && prettier --write '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && if [ -z \"$ALLOW_DISABLED_LINKS\" ] && grep -qR --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; then echo '---\nWARNING: disabled links were found in the following files:'; grep -R --color=always --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; echo '(to ignore this error, run this command again with ALLOW_DISABLED_LINKS=1)'; exit 1; fi","prepare":"if [ -z \"$CI\" ]; then npx husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts' --collectCoverageFrom 'lib/**/*.ts' --collectCoverageFrom 'external-scripts/**/*.ts' --testPathIgnorePatterns test/integration-*.test.ts","build-dist":"NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name lib && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli && chmod +x ./dist/cli.js; fi && NODE_ENV=esm babel src --extensions .ts --out-dir dist/esm --out-file-extension .mjs","build-docs":"ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find docs -name '*.md' -exec sed -i -E 's/^.\\s*(\\*\\*)?__namedParameters(\\*\\*)?/`\\(destructured\\)/gm' {} + && find docs -name '*.md' -exec sed -i -E 's/^.\\s*\\(destructured\\)\\.([a-zA-Z0-9_?-]+)/`\\({ \\1 }\\)/gm' {} + && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --config conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-integration":"BABEL_ENV=test jest $JEST_CLI --testPathIgnorePatterns test/unit-*.test.ts","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts","test-integration-webpack":"BABEL_ENV=test jest $JEST_CLI test/integration-webpack*.test.ts","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-external*.test.ts"},"_npmUser":{"name":"xunnamius","email":"git@ergodark.com"},"prettier":{"semi":true,"tabWidth":2,"endOfLine":"lf","overrides":[{"files":"**/*.@(ts|?(@(c|m))js)?(x)","options":{"parser":"babel-ts","printWidth":90}}],"proseWrap":"always","printWidth":80,"singleQuote":true,"trailingComma":"none"},"commitlint":{"rules":{"type-enum":[2,"always",["feat","fix","docs","style","refactor","test","revert","debug","build","chore"]],"body-leading-blank":[2,"always"],"footer-leading-blank":[2,"always"]},"extends":["@commitlint/config-conventional"]},"expect-env":{"rules":[{"name":"^MONGODB_URI$","value":"^.+:\\/\\/.+\\/.+$","required":false,"errorMessage":"expected MONGODB_URI to be a valid Mongo connect URI with database name"},{"name":"^GH_TOKEN$","value":"^[a-f0-9]+$","required":false,"errorMessage":"expected GH_TOKEN to be undefined or a valid GitHub Personal Access Token"}],"errorMessage":"\nCopy the \".env.example\" file to \".env\" or define the appropriate repository secrets"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"7.12.1","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"lint-staged":{"*":"prettier --write --ignore-unknown","*.md":"remark -o --use reference-links --use gfm --use frontmatter","package.json":"sort-package-json"},"sideEffects":false,"_nodeVersion":"15.14.0","dependencies":{"debug":"^4.3.2","test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","jest":"^27.0.6","execa":"^5.1.1","husky":"^7.0.1","dotenv":"^10.0.0","eslint":"^7.31.0","semver":"^7.3.5","mongodb":"^4.0.1","typedoc":"^0.21.4","webpack":"^5.47.1","prettier":"^2.3.2","@babel/cli":"^7.14.8","babel-jest":"^27.0.6","remark-cli":"^9.0.0","remark-gfm":"^1.0.0","simple-git":"^2.41.2","typescript":"^4.3.5","@babel/core":"^7.14.8","@types/jest":"^26.0.24","@types/node":"^16.4.7","jest-circus":"^27.0.6","lint-staged":"^11.1.1","webpack-cli":"^4.7.2","@types/debug":"^4.1.7","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","spellchecker":"^3.7.1","@octokit/rest":"^18.7.1","@types/semver":"^7.3.8","jest-extended":"^0.11.5","@types/webpack":"^5.28.0","edit-json-file":"^1.6.0","@commitlint/cli":"^13.1.0","@ergodark/types":"^1.0.17","text-extensions":"^2.4.0","unique-filename":"^1.1.1","semantic-release":"github:xunnamius/semantic-release","@babel/preset-env":"^7.14.8","find-package-json":"^1.2.0","sort-package-json":"github:xunnamius/sort-package-json","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.4.0","remark-frontmatter":"^3.0.0","source-map-support":"^0.5.19","eslint-plugin-import":"^2.23.4","@semantic-release/git":"^9.0.0","@types/edit-json-file":"^1.4.1","remark-validate-links":"^10.0.4","@semantic-release/exec":"^5.0.0","remark-reference-links":"^5.0.0","webpack-node-externals":"^3.0.0","typedoc-plugin-markdown":"^3.10.4","@babel/preset-typescript":"^7.14.5","@types/find-package-json":"^1.2.2","@typescript-eslint/parser":"^4.28.5","confusing-browser-globals":"^1.0.10","remark-lint-final-newline":"^1.0.5","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^5.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^2.0.1","remark-lint-no-inline-padding":"^3.0.0","@commitlint/config-conventional":"^13.1.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^4.28.5","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^2.4.0","remark-lint-no-unused-definitions":"^2.0.1","remark-lint-no-undefined-references":"^3.0.0","@babel/plugin-proposal-function-bind":"^7.14.5","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^2.0.1","remark-lint-no-heading-content-indent":"^3.0.0","remark-lint-ordered-list-marker-style":"^2.0.1","remark-lint-no-blockquote-without-marker":"^4.0.0","remark-lint-no-auto-link-without-protocol":"^2.0.1","@babel/plugin-proposal-export-default-from":"^7.14.5","@xunnamius/conventional-changelog-projector":"^1.0.2","babel-plugin-transform-default-named-imports":"^1.0.9"},"peerDependencies":{"next":">=11"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_2.0.2_1627584047772_0.9824074759087531","host":"s3://npm-registry-packages"}},"2.1.0":{"name":"next-test-api-route-handler","version":"2.1.0","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@2.1.0","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"d42114f502a28b154f97cbcfc443a11c19e41829","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-2.1.0.tgz","fileCount":6,"integrity":"sha512-DJf6rkigwa0rD2Onf33RnMJvLSXmd4RptLiVC2gOGwENmXm+fB407epT/waCRLsLfz3gVHeYSMmqE3wPwJ5/Cg==","signatures":[{"sig":"MEYCIQC6BzFgHAVl7JdzXXJtid3x7uXUmaK9IXhHjhTNMSe+/gIhAN30lGFohPDarXO6S7Yq4D2ZDMn0+uJJ7ETVSt0QQ4TY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39412,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhFkPOCRA9TVsSAnZWagAATzMP/Ak9HrI16c9NEW/480UL\n3QSs822qF3qqLIZ135j9HFJhAK0/hoyiWB35i+43SURCefePdb7a5KsRLeAk\n/DG/0Xix/RxP+FOANaSQ+V5SAdDVUr95GEEH/y80UaKW9rcBUCVCY7owQ1Dr\nILi7b3Ovw+5DiSst4aH264jp8WX4l6dqII2bm6mgaUZw96IgMjw/yTm1Z7Wj\nVwi5csLl9lmE0plNGysgHC3TpyxoTAIcxN8T4CoLn3/rb9IP8JiWX7QpISSG\n89JL2U5QT+FQC+VS7RIVhObrWvlqkNQtE6bYMf+hr2GyP+uyvjbggBZxttHF\nAQxFvnaWr9o0J2zN9hX0+xU6plFKnZKwpwvN9UQNa7r8KzRRAViU8VC54byh\nYkGJWJurjRQ4W60xRNyYzpKMChtmF/BoRyH4b/a8JtvChBPyPiymUP1dlyjc\nfgJ+FxKE4D86puYBnJOZGLfsjfdV1XyEQIQAqPkHe5ukEEVYArFF/NAIxkLB\nb0CxFzDXfiBc7LN42lGAL64suCqO7yMSj0RMwJ2kI+h1DFTx/6Sw6DvwkiuC\nlxoj8hVardTZLOBmA6WTuTKruv0dqgKkahsV+Cbw7GW1HycEfnN0O5kAS68x\nSVUhuOQ0udTjwcOTC/iJcklagcnwXoIqfcLYPw3LuFt/aaoFcraGNaFhq5u3\nIjFi\r\n=OXFL\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":false,"resetMocks":true,"testRunner":"jest-circus/runner","testTimeout":60000,"restoreMocks":true,"testEnvironment":"node","setupFilesAfterEnv":["./test/setup.ts"],"testPathIgnorePatterns":["/node_modules/"]},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/esm/index.mjs","engines":{"node":">=12"},"exports":{".":{"import":"./dist/esm/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"999b6b8b20317c2fe6df8a88908028744ef253f8","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"rm -rf dist coverage external-scripts/bin bundle-stats.ignore.json","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && prettier --write '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && if [ -z \"$ALLOW_DISABLED_LINKS\" ] && grep -qR --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; then echo '---\nWARNING: disabled links were found in the following files:'; grep -R --color=always --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; echo '(to ignore this error, run this command again with ALLOW_DISABLED_LINKS=1)'; exit 1; fi","prepare":"if [ -z \"$CI\" ]; then npx husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts' --collectCoverageFrom 'lib/**/*.ts' --collectCoverageFrom 'external-scripts/**/*.ts' --testPathIgnorePatterns test/integration-*.test.ts","build-dist":"NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name lib && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli && chmod +x ./dist/cli.js; fi && NODE_ENV=esm babel src --extensions .ts --out-dir dist/esm --out-file-extension .mjs","build-docs":"ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find docs -name '*.md' -exec sed -i -E 's/^.\\s*(\\*\\*)?__namedParameters(\\*\\*)?/`\\(destructured\\)/gm' {} + && find docs -name '*.md' -exec sed -i -E 's/^.\\s*\\(destructured\\)\\.([a-zA-Z0-9_?-]+)/`\\({ \\1 }\\)/gm' {} + && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --config conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-integration":"BABEL_ENV=test jest $JEST_CLI --testPathIgnorePatterns test/unit-*.test.ts","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts","test-integration-webpack":"BABEL_ENV=test jest $JEST_CLI test/integration-webpack*.test.ts","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-external*.test.ts"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"prettier":{"semi":true,"tabWidth":2,"endOfLine":"lf","overrides":[{"files":"**/*.@(ts|?(@(c|m))js)?(x)","options":{"parser":"babel-ts","printWidth":90}}],"proseWrap":"always","printWidth":80,"singleQuote":true,"trailingComma":"none"},"commitlint":{"rules":{"type-enum":[2,"always",["feat","fix","docs","style","refactor","test","revert","debug","build","chore"]],"body-leading-blank":[2,"always"],"footer-leading-blank":[2,"always"]},"extends":["@commitlint/config-conventional"]},"expect-env":{"rules":[{"name":"^MONGODB_URI$","value":"^.+:\\/\\/.+\\/.+$","required":false,"errorMessage":"expected MONGODB_URI to be a valid Mongo connect URI with database name"},{"name":"^GH_TOKEN$","value":"^[a-f0-9]+$","required":false,"errorMessage":"expected GH_TOKEN to be undefined or a valid GitHub Personal Access Token"}],"errorMessage":"\nCopy the \".env.example\" file to \".env\" or define the appropriate repository secrets"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"7.20.6","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"lint-staged":{"*":"prettier --write --ignore-unknown","*.md":"remark -o --use reference-links --use gfm --use frontmatter","package.json":"sort-package-json"},"sideEffects":false,"_nodeVersion":"15.14.0","dependencies":{"debug":"^4.3.2","test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","glob":"^7.1.7","jest":"^27.0.6","execa":"^5.1.1","husky":"^7.0.1","dotenv":"^10.0.0","eslint":"^7.32.0","semver":"^7.3.5","mongodb":"^4.1.0","typedoc":"^0.21.5","webpack":"^5.50.0","prettier":"^2.3.2","@babel/cli":"^7.14.8","babel-jest":"^27.0.6","remark-cli":"^10.0.0","remark-gfm":"^2.0.0","simple-git":"^2.43.0","typescript":"^4.3.5","@babel/core":"^7.15.0","@types/jest":"^27.0.1","@types/node":"^16.6.1","jest-circus":"^27.0.6","lint-staged":"^11.1.2","webpack-cli":"^4.7.2","@types/debug":"^4.1.7","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","spellchecker":"^3.7.1","@octokit/rest":"^18.9.0","@types/semver":"^7.3.8","jest-extended":"^0.11.5","@types/webpack":"^5.28.0","edit-json-file":"^1.6.0","@commitlint/cli":"^13.1.0","@ergodark/types":"^1.0.17","text-extensions":"^2.4.0","unique-filename":"^1.1.1","semantic-release":"github:xunnamius/semantic-release","@babel/preset-env":"^7.15.0","find-package-json":"^1.2.0","sort-package-json":"github:xunnamius/sort-package-json","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.4.0","remark-frontmatter":"^4.0.0","source-map-support":"^0.5.19","eslint-plugin-import":"^2.24.0","@semantic-release/git":"^9.0.0","@types/edit-json-file":"^1.4.1","remark-validate-links":"^11.0.0","@semantic-release/exec":"^5.0.0","remark-reference-links":"^6.0.0","webpack-node-externals":"^3.0.0","typedoc-plugin-markdown":"^3.10.4","@babel/preset-typescript":"^7.15.0","@types/find-package-json":"^1.2.2","@typescript-eslint/parser":"^4.29.1","confusing-browser-globals":"^1.0.10","remark-lint-final-newline":"^2.0.0","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^5.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^3.0.0","remark-lint-no-inline-padding":"^4.0.0","@commitlint/config-conventional":"^13.1.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^4.29.1","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^2.4.0","remark-lint-no-unused-definitions":"^3.0.0","remark-lint-no-undefined-references":"^4.0.0","@babel/plugin-proposal-function-bind":"^7.14.5","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^3.0.0","remark-lint-no-heading-content-indent":"^4.0.0","remark-lint-ordered-list-marker-style":"^3.0.0","remark-lint-no-blockquote-without-marker":"^5.0.0","remark-lint-no-auto-link-without-protocol":"^3.0.0","@babel/plugin-proposal-export-default-from":"^7.14.5","@xunnamius/conventional-changelog-projector":"^1.0.3","babel-plugin-transform-default-named-imports":"^1.0.9"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_2.1.0_1628849102278_0.7575863273926569","host":"s3://npm-registry-packages"}},"2.1.1":{"name":"next-test-api-route-handler","version":"2.1.1","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@2.1.1","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"03f3ecc990c56011205cf9965e008e781f1e65b5","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-2.1.1.tgz","fileCount":6,"integrity":"sha512-/CR/eYwXniwVBxEUDy5/JgSTXqOy0RQt7sk3o+aQHZd7FZSaYtD6EGwpCO0XJe3dJ8xIiaxmjyBM5ZuVywaKGQ==","signatures":[{"sig":"MEYCIQC+lJVvqECzOcDlZPJOB3AK55jeAabFjvvtG4/do5kt6AIhAK4g1LByabeTiFz9/7M8FlfAwi8bJnHRjOn6h0WXMucJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39485,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhFlO7CRA9TVsSAnZWagAAlLIP/0SYYI3yWaW4ajJ7ap8w\nqoxVsQ5C6j2NYCdPtQNOkK8QcK4JLAP9drlATS+BAXLcOI2PeLugnUa3ahRT\noTxSmhIlZfVv+l2EI9hfurM+Ji3/pk26eyvVJtxTis5pGcbgfrzMxbLghi92\nD9QZcQQs1wFZfssy1IBPJrJAryHxTwBw/WaO+499JYwSuvjfUwufbddftYul\nBx8EgNAWFU9CDsWPsu8MvCgnjjwp5fwrenhaEzd284fwEn84WynVtPqQ842N\njDgaCYH3MuuKe4CfJwAriF64d75aCiV2Z+qg/xvAKIQR/KbEHfJMptA6ph2y\nkJjmZUTJmM9tL2BlB3lA72tCm9g2mqWhJrDfTJA6vrpil9mH0xwiRYehbs8H\n5Nz8tKbFkgl5oARMr7zcPqVB1+ilqsLUJ7Dm7n/P+O6X1n03T0gu+//kyuxY\njrQjaubYKaULhBD6KRxGiYoAFZ55Hujz5+FZ6NpoGk333p/5wZNdN00qK933\nZ+b03KTu7m3PS90ob3/l8XUIz1cXHwZpVvExV8PRhJSjwSexBPjXk7lQvS3v\n9vytEhVBRJavKsiR9sVbIdqkZFnaaYiq0ZrUAhu6mTII9q3XJylINiLdkfkx\nC4RISTub44EVqt9nLTyVYwhvg+b8/BrTt6V+PSFPBDE/ZljcKYsDyOMKcNo+\n9oy0\r\n=xzu1\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":false,"resetMocks":true,"testRunner":"jest-circus/runner","testTimeout":60000,"restoreMocks":true,"testEnvironment":"node","setupFilesAfterEnv":["./test/setup.ts"],"testPathIgnorePatterns":["/node_modules/"]},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/esm/index.mjs","engines":{"node":">=12"},"exports":{".":{"import":"./dist/esm/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"f8ed87fc5ca77c02a295f3067076287a4ef17f4a","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"rm -rf dist coverage external-scripts/bin bundle-stats.ignore.json","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && prettier --write '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && if [ -z \"$ALLOW_DISABLED_LINKS\" ] && grep -qR --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; then echo '---\nWARNING: disabled links were found in the following files:'; grep -R --color=always --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; echo '(to ignore this error, run this command again with ALLOW_DISABLED_LINKS=1)'; exit 1; fi","prepare":"if [ -z \"$CI\" ]; then npx husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts' --collectCoverageFrom 'lib/**/*.ts' --collectCoverageFrom 'external-scripts/**/*.ts' --testPathIgnorePatterns test/integration-*.test.ts","build-dist":"NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name lib && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli && chmod +x ./dist/cli.js; fi && NODE_ENV=esm babel src --extensions .ts --out-dir dist/esm --out-file-extension .mjs","build-docs":"ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`: //g' {} + && find docs -name '*.md' -exec sed -i -E 's/^.\\s*(\\*\\*)?__namedParameters(\\*\\*)?/`\\(destructured\\)/gm' {} + && find docs -name '*.md' -exec sed -i -E 's/^.\\s*\\(destructured\\)\\.([a-zA-Z0-9_?-]+)/`\\({ \\1 }\\)/gm' {} + && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --config conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-integration":"BABEL_ENV=test jest $JEST_CLI --testPathIgnorePatterns test/unit-*.test.ts","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts","test-integration-webpack":"BABEL_ENV=test jest $JEST_CLI test/integration-webpack*.test.ts","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-external*.test.ts"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"prettier":{"semi":true,"tabWidth":2,"endOfLine":"lf","overrides":[{"files":"**/*.@(ts|?(@(c|m))js)?(x)","options":{"parser":"babel-ts","printWidth":90}}],"proseWrap":"always","printWidth":80,"singleQuote":true,"trailingComma":"none"},"commitlint":{"rules":{"type-enum":[2,"always",["feat","fix","docs","style","refactor","test","revert","debug","build","chore"]],"body-leading-blank":[2,"always"],"footer-leading-blank":[2,"always"]},"extends":["@commitlint/config-conventional"]},"expect-env":{"rules":[{"name":"^MONGODB_URI$","value":"^.+:\\/\\/.+\\/.+$","required":false,"errorMessage":"expected MONGODB_URI to be a valid Mongo connect URI with database name"},{"name":"^GH_TOKEN$","value":"^[a-f0-9]+$","required":false,"errorMessage":"expected GH_TOKEN to be undefined or a valid GitHub Personal Access Token"}],"errorMessage":"\nCopy the \".env.example\" file to \".env\" or define the appropriate repository secrets"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"7.20.6","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"lint-staged":{"*":"prettier --write --ignore-unknown","*.md":"remark -o --use reference-links --use gfm --use frontmatter","package.json":"sort-package-json"},"sideEffects":false,"_nodeVersion":"15.14.0","dependencies":{"debug":"^4.3.2","test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","glob":"^7.1.7","jest":"^27.0.6","execa":"^5.1.1","husky":"^7.0.1","dotenv":"^10.0.0","eslint":"^7.32.0","semver":"^7.3.5","mongodb":"^4.1.0","typedoc":"^0.21.5","webpack":"^5.50.0","prettier":"^2.3.2","@babel/cli":"^7.14.8","babel-jest":"^27.0.6","remark-cli":"^10.0.0","remark-gfm":"^2.0.0","simple-git":"^2.43.0","typescript":"^4.3.5","@babel/core":"^7.15.0","@types/jest":"^27.0.1","@types/node":"^16.6.1","jest-circus":"^27.0.6","lint-staged":"^11.1.2","webpack-cli":"^4.7.2","@types/debug":"^4.1.7","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","spellchecker":"^3.7.1","@octokit/rest":"^18.9.0","@types/semver":"^7.3.8","jest-extended":"^0.11.5","@types/webpack":"^5.28.0","edit-json-file":"^1.6.0","@commitlint/cli":"^13.1.0","@ergodark/types":"^1.0.17","text-extensions":"^2.4.0","unique-filename":"^1.1.1","semantic-release":"github:xunnamius/semantic-release","@babel/preset-env":"^7.15.0","find-package-json":"^1.2.0","sort-package-json":"github:xunnamius/sort-package-json","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.4.0","remark-frontmatter":"^4.0.0","source-map-support":"^0.5.19","eslint-plugin-import":"^2.24.0","@semantic-release/git":"^9.0.0","@types/edit-json-file":"^1.4.1","remark-validate-links":"^11.0.0","@semantic-release/exec":"^5.0.0","remark-reference-links":"^6.0.0","webpack-node-externals":"^3.0.0","typedoc-plugin-markdown":"^3.10.4","@babel/preset-typescript":"^7.15.0","@types/find-package-json":"^1.2.2","@typescript-eslint/parser":"^4.29.1","confusing-browser-globals":"^1.0.10","remark-lint-final-newline":"^2.0.0","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^5.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^3.0.0","remark-lint-no-inline-padding":"^4.0.0","@commitlint/config-conventional":"^13.1.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^4.29.1","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^2.4.0","remark-lint-no-unused-definitions":"^3.0.0","remark-lint-no-undefined-references":"^4.0.0","@babel/plugin-proposal-function-bind":"^7.14.5","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^3.0.0","remark-lint-no-heading-content-indent":"^4.0.0","remark-lint-ordered-list-marker-style":"^3.0.0","remark-lint-no-blockquote-without-marker":"^5.0.0","remark-lint-no-auto-link-without-protocol":"^3.0.0","@babel/plugin-proposal-export-default-from":"^7.14.5","@xunnamius/conventional-changelog-projector":"^1.0.3","babel-plugin-transform-default-named-imports":"^1.0.9"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_2.1.1_1628853179438_0.4066239042960025","host":"s3://npm-registry-packages"}},"2.1.2":{"name":"next-test-api-route-handler","version":"2.1.2","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@2.1.2","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"ff9949d2032c4a077e3a5f5cd7e02e5fcfd5105f","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-2.1.2.tgz","fileCount":6,"integrity":"sha512-75Z5Uqiybc4GddOvs9CibgDz7QzHqjtgQiFkunls3V5I684Vau0XaMMySsnB1R+9+2xRf1E3XJfwv26ZM6zZRA==","signatures":[{"sig":"MEUCIQCmM1GGsprMtA3LLFder1XirdnD1RxowX+Gzs11MCPdWgIgRQ2QGNW/KSy6vasjxZa9sMDSIn9H4kWE8KlJm9qvp8s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40417,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhF4klCRA9TVsSAnZWagAAphAP/RN/sS6sdDk0fsV0IhXD\nsgxgjyXCSnnQaco6had7seyVQh7uu8vrjEJZI3ZcQvIZeHHgglGc9407lrwD\nByPWpBJRww9lvzSGyJFeRqLa5H++FrKVDUKKjxy/g5shUKRGTt7Jkbs6cCtv\nIZndU7M4VD44ujUL4vaJ9rXvB20MwrAmKZqIPe47Vfu1KPTN841fysTirCc1\nloWNFcL6qUD5KF5boh/tsOt7ElSejaePXZu2Ct9TwrQdjG2u4s98YM55dBG2\nw7IDah02KDQ3n/v12G06vccd76ZwUg7qhMRtW6R3AEP3Kh/dj3t8VxeDgAOG\njLtB7xca7mAoD67OYdV44sMshqxlsv+wjRXVKrMUfN1MdrsVSO6xg4VdEptk\nDYhXIna73HWeIa5E58LeZXAq5tgEK3GxrN8PkSdHfbW719cZjbBFRbp5BIu9\n5zMkYJKw0Sge76qsZCrOrry8rOCf9Kdo1y8NDwW/rb/B66NkEJfpSWjO8q1M\nn+p4ceVFzyrPsajerrNUWw/bFUznfe0211WjNJEwtbCdNotCBK1ewuD+jNrc\nnuLZXko3j2J0ejASke4gM+10tAwIXtkGLH3QqnxjpE2p6qIzuSp4Q6sbBk78\nTGMZfNzzV0YvHY7OGfkLqlb8I4VaN98wEuTbrRALyN9RUZDJBRcjsQBBp1dV\nfce9\r\n=eu81\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":false,"resetMocks":true,"testRunner":"jest-circus/runner","testTimeout":60000,"restoreMocks":true,"testEnvironment":"node","setupFilesAfterEnv":["./test/setup.ts"],"testPathIgnorePatterns":["/node_modules/"]},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/esm/index.mjs","engines":{"node":">=12"},"exports":{".":{"import":"./dist/esm/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"305ae1c6e2f5e30368193b013e6d84f62a920cef","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"rm -rf dist coverage external-scripts/bin bundle-stats.ignore.json","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && prettier --write '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && if [ -z \"$ALLOW_DISABLED_LINKS\" ] && grep -qR --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; then echo '---\nWARNING: disabled links were found in the following files:'; grep -R --color=always --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; echo '(to ignore this error, run this command again with ALLOW_DISABLED_LINKS=1)'; exit 1; fi","prepare":"if [ -z \"$CI\" ]; then npx husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts' --collectCoverageFrom 'lib/**/*.ts' --collectCoverageFrom 'external-scripts/**/*.ts' --testPathIgnorePatterns test/integration-*.test.ts","build-dist":"NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name lib && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli && chmod +x ./dist/cli.js; fi && NODE_ENV=esm babel src --extensions .ts --out-dir dist/esm --out-file-extension .mjs","build-docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md; fi && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`/`\\(destructured\\)`/g' {} + && find docs -name '*.md' -exec sed -i -E 's/`__namedParameters\\.([^`]+)`/`\\({ \\1 }\\)`/g' {} +","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --config conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-integration":"BABEL_ENV=test jest $JEST_CLI --testPathIgnorePatterns test/unit-*.test.ts","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts","test-integration-webpack":"BABEL_ENV=test jest $JEST_CLI test/integration-webpack*.test.ts","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-external*.test.ts"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"prettier":{"semi":true,"tabWidth":2,"endOfLine":"lf","overrides":[{"files":"**/*.@(ts|?(@(c|m))js)?(x)","options":{"parser":"babel-ts","printWidth":90}}],"proseWrap":"always","printWidth":80,"singleQuote":true,"trailingComma":"none"},"commitlint":{"rules":{"type-enum":[2,"always",["feat","fix","docs","style","refactor","test","revert","debug","build","chore"]],"body-leading-blank":[2,"always"],"footer-leading-blank":[2,"always"]},"extends":["@commitlint/config-conventional"]},"expect-env":{"rules":[{"name":"^MONGODB_URI$","value":"^.+:\\/\\/.+\\/.+$","required":false,"errorMessage":"expected MONGODB_URI to be a valid Mongo connect URI with database name"},{"name":"^GH_TOKEN$","value":"^[a-f0-9]+$","required":false,"errorMessage":"expected GH_TOKEN to be undefined or a valid GitHub Personal Access Token"}],"errorMessage":"\nCopy the \".env.example\" file to \".env\" or define the appropriate repository secrets"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"7.20.6","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"lint-staged":{"*":"prettier --write --ignore-unknown","*.md":"remark -o --use reference-links --use gfm --use frontmatter","package.json":"sort-package-json"},"sideEffects":false,"_nodeVersion":"15.14.0","dependencies":{"debug":"^4.3.2","test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","glob":"^7.1.7","jest":"^27.0.6","execa":"^5.1.1","husky":"^7.0.1","dotenv":"^10.0.0","eslint":"^7.32.0","semver":"^7.3.5","mongodb":"^4.1.0","typedoc":"^0.21.5","webpack":"^5.50.0","prettier":"^2.3.2","@babel/cli":"^7.14.8","babel-jest":"^27.0.6","remark-cli":"^10.0.0","remark-gfm":"^2.0.0","simple-git":"^2.43.0","typescript":"^4.3.5","@babel/core":"^7.15.0","@types/jest":"^27.0.1","@types/node":"^16.6.1","jest-circus":"^27.0.6","lint-staged":"^11.1.2","webpack-cli":"^4.7.2","@types/debug":"^4.1.7","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","spellchecker":"^3.7.1","@octokit/rest":"^18.9.0","@types/semver":"^7.3.8","jest-extended":"^0.11.5","@types/webpack":"^5.28.0","edit-json-file":"^1.6.0","@commitlint/cli":"^13.1.0","@ergodark/types":"^1.0.17","text-extensions":"^2.4.0","unique-filename":"^1.1.1","semantic-release":"github:xunnamius/semantic-release","@babel/preset-env":"^7.15.0","find-package-json":"^1.2.0","sort-package-json":"github:xunnamius/sort-package-json","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.4.0","remark-frontmatter":"^4.0.0","source-map-support":"^0.5.19","eslint-plugin-import":"^2.24.0","@semantic-release/git":"^9.0.0","@types/edit-json-file":"^1.4.1","remark-validate-links":"^11.0.0","@semantic-release/exec":"^5.0.0","remark-reference-links":"^6.0.0","webpack-node-externals":"^3.0.0","typedoc-plugin-markdown":"^3.10.4","@babel/preset-typescript":"^7.15.0","@types/find-package-json":"^1.2.2","@typescript-eslint/parser":"^4.29.1","confusing-browser-globals":"^1.0.10","remark-lint-final-newline":"^2.0.0","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^5.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^3.0.0","remark-lint-no-inline-padding":"^4.0.0","@commitlint/config-conventional":"^13.1.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^4.29.1","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^2.4.0","remark-lint-no-unused-definitions":"^3.0.0","remark-lint-no-undefined-references":"^4.0.0","@babel/plugin-proposal-function-bind":"^7.14.5","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^3.0.0","remark-lint-no-heading-content-indent":"^4.0.0","remark-lint-ordered-list-marker-style":"^3.0.0","remark-lint-no-blockquote-without-marker":"^5.0.0","remark-lint-no-auto-link-without-protocol":"^3.0.0","@babel/plugin-proposal-export-default-from":"^7.14.5","@xunnamius/conventional-changelog-projector":"^1.0.3","babel-plugin-transform-default-named-imports":"^1.0.9"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_2.1.2_1628932389120_0.2976672998149741","host":"s3://npm-registry-packages"}},"2.1.3":{"name":"next-test-api-route-handler","version":"2.1.3","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@2.1.3","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"f35c3ae78b8e0b5ac41e91a3333f8240c5eb92e5","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-2.1.3.tgz","fileCount":6,"integrity":"sha512-Oxt+dxRvXwKKIepqJs8DgBnTVv9sOHqhLKIkM+JQLLdOCGFdgCgvj/CLV4CmFeNriJO29RXMqvsOit+aylxCLA==","signatures":[{"sig":"MEQCIHUiaHZT9AU2hpCgOkrkNFTSrNWfh8X3p8RBqXW05nSeAiBHd1Afjo9ofBU9kgJcWpRjuUvBRZNxZZLOX6QsLX6jwA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40839,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhIpAdCRA9TVsSAnZWagAAnAIQAIuWxgCbJrdvltztlmjn\n52kGPptFrswC04Do2T1YvZAggUmHGD0lmdaN0/KkR8V6KsePwOIgB6VZGeji\nDCRmLZZgUDLx0Kd4Yc/k2ueF4UWusGcPamQlqwoBYdTOyGE+v2XsI7KtQfhn\nJ88i1HteTf6oCjKUNX7GsAIe0ISFnuTzWXgWStGjUtcF/Zuv+kKCe5ECHDrd\nGsxz19+WTyh0+uW5dNms/a8cREgxANorQkhilTAWRBqqwzW6P8orylhoVM2e\nMl7miS3ExphfishCCRpfm/BrNWIUwFC+FMQ0uTXsMQnHrNQYCsVcJlwIKZyD\nJGxx6Y6Mm8EXLSJDHD7Y3djC4EgPk7Y13mAUwsvRIgKNTPwlwNvgO1pds427\nZV5gu+mOTRmbHUUvTDizjjAok7Y5idt4AzZweY6fekT4ER9YYrIWJcMLfyBT\nQw98aVy4r3ovNSMHDTP1q5JGGbBxKpnJddzbrvOBoYbaa618DrS9OmIaxXOS\nIDT3VLw1IQ+EMY60OAKlUGyWXUbAzsTXKNY7hFJk7vhq1lKHhImGI2SHOHHP\nva35bC+R0JBHf+ycKlZY9LdbFR1X/B0yECiC1cAlzWn4exVNVJ/+deM/3q5+\neE7tqFei0UfjzQQXQt8oJeRxQZUO6M2p8ovW8qj6xlNBlD1leAbZ7SD0fmGz\nfAor\r\n=w+WU\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":false,"resetMocks":true,"testRunner":"jest-circus/runner","testTimeout":60000,"restoreMocks":true,"testEnvironment":"node","setupFilesAfterEnv":["./test/setup.ts"],"testPathIgnorePatterns":["/node_modules/"]},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/esm/index.mjs","engines":{"node":">=12"},"exports":{".":{"import":"./dist/esm/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"3f1d53b3f1b061d1e546a83c54ff7f99372f8529","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"rm -rf dist coverage external-scripts/bin bundle-stats.ignore.json","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && prettier --write '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && if [ -z \"$ALLOW_DISABLED_LINKS\" ] && grep -qR --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; then echo '---\nWARNING: disabled links were found in the following files:'; grep -R --color=always --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; echo '(to ignore this error, run this command again with ALLOW_DISABLED_LINKS=1)'; exit 1; fi","prepare":"if [ -z \"$CI\" ]; then npx husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts' --collectCoverageFrom 'lib/**/*.ts' --collectCoverageFrom 'external-scripts/**/*.ts' --testPathIgnorePatterns test/integration-*.test.ts","build-dist":"NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name lib && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli && chmod +x ./dist/cli.js; fi && NODE_ENV=esm babel src --extensions .ts --out-dir dist/esm --out-file-extension .mjs","build-docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md; fi && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`/`\\(destructured\\)`/g' {} + && find docs -name '*.md' -exec sed -i -E 's/`__namedParameters\\.([^`]+)`/`\\({ \\1 }\\)`/g' {} +","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --config conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-integration":"BABEL_ENV=test jest $JEST_CLI --testPathIgnorePatterns test/unit-*.test.ts","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts","test-integration-webpack":"BABEL_ENV=test jest $JEST_CLI test/integration-webpack*.test.ts","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-external*.test.ts"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"prettier":{"semi":true,"tabWidth":2,"endOfLine":"lf","overrides":[{"files":"**/*.@(ts|?(@(c|m))js)?(x)","options":{"parser":"babel-ts","printWidth":90}}],"proseWrap":"always","printWidth":80,"singleQuote":true,"trailingComma":"none"},"commitlint":{"rules":{"type-enum":[2,"always",["feat","fix","docs","style","refactor","test","revert","debug","build","chore"]],"body-leading-blank":[2,"always"],"footer-leading-blank":[2,"always"]},"extends":["@commitlint/config-conventional"]},"expect-env":{"rules":[{"name":"^MONGODB_URI$","value":"^.+:\\/\\/.+\\/.+$","required":false,"errorMessage":"expected MONGODB_URI to be a valid Mongo connect URI with database name"},{"name":"^GH_TOKEN$","value":"^[a-f0-9]+$","required":false,"errorMessage":"expected GH_TOKEN to be undefined or a valid GitHub Personal Access Token"}],"errorMessage":"\nCopy the \".env.example\" file to \".env\" or define the appropriate repository secrets"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"7.20.6","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"lint-staged":{"*":"prettier --write --ignore-unknown","*.md":"remark -o --use reference-links --use gfm --use frontmatter","package.json":"sort-package-json"},"sideEffects":false,"_nodeVersion":"15.14.0","dependencies":{"debug":"^4.3.2","test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","glob":"^7.1.7","jest":"^27.0.6","execa":"^5.1.1","husky":"^7.0.1","dotenv":"^10.0.0","eslint":"^7.32.0","semver":"^7.3.5","mongodb":"^4.1.0","typedoc":"^0.21.6","webpack":"^5.51.1","prettier":"^2.3.2","@babel/cli":"^7.14.8","babel-jest":"^27.0.6","remark-cli":"^10.0.0","remark-gfm":"^2.0.0","simple-git":"^2.44.0","typescript":"^4.3.5","@babel/core":"^7.15.0","@types/jest":"^27.0.1","@types/node":"^16.7.1","jest-circus":"^27.0.6","lint-staged":"^11.1.2","webpack-cli":"^4.8.0","@types/debug":"^4.1.7","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","spellchecker":"^3.7.1","@octokit/rest":"^18.9.1","@types/semver":"^7.3.8","jest-extended":"^0.11.5","@types/webpack":"^5.28.0","edit-json-file":"^1.6.0","@commitlint/cli":"^13.1.0","@ergodark/types":"^1.0.17","text-extensions":"^2.4.0","unique-filename":"^1.1.1","semantic-release":"github:xunnamius/semantic-release","@babel/preset-env":"^7.15.0","find-package-json":"^1.2.0","sort-package-json":"github:xunnamius/sort-package-json","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.4.0","remark-frontmatter":"^4.0.0","source-map-support":"^0.5.19","eslint-plugin-import":"^2.24.1","@semantic-release/git":"^9.0.0","@types/edit-json-file":"^1.6.0","remark-validate-links":"^11.0.0","@semantic-release/exec":"^5.0.0","remark-reference-links":"^6.0.0","webpack-node-externals":"^3.0.0","typedoc-plugin-markdown":"^3.10.4","@babel/preset-typescript":"^7.15.0","@types/find-package-json":"^1.2.2","@typescript-eslint/parser":"^4.29.2","confusing-browser-globals":"^1.0.10","remark-lint-final-newline":"^2.0.1","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^5.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^3.0.1","remark-lint-no-inline-padding":"^4.0.1","@commitlint/config-conventional":"^13.1.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^4.29.2","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^2.4.0","remark-lint-no-unused-definitions":"^3.0.1","remark-lint-no-undefined-references":"^4.0.1","@babel/plugin-proposal-function-bind":"^7.14.5","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^3.0.1","remark-lint-no-heading-content-indent":"^4.0.1","remark-lint-ordered-list-marker-style":"^3.0.1","remark-lint-no-blockquote-without-marker":"^5.0.1","remark-lint-no-auto-link-without-protocol":"^3.0.1","@babel/plugin-proposal-export-default-from":"^7.14.5","@xunnamius/conventional-changelog-projector":"^1.0.3","babel-plugin-transform-default-named-imports":"^1.0.9"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_2.1.3_1629655069354_0.865340472410987","host":"s3://npm-registry-packages"}},"2.2.0":{"name":"next-test-api-route-handler","version":"2.2.0","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"Unlicense","_id":"next-test-api-route-handler@2.2.0","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"f4ed61bd8834bf311d4f796ed4be080a39d8cc38","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-2.2.0.tgz","fileCount":6,"integrity":"sha512-a9Z+LwfvBIayn3X8xg4rx65QhUjdlTsHW8vmyNCY6Y166sKv8HHFUjrZDUEXKJLYURfuSya5uCBOng94Y5pQzw==","signatures":[{"sig":"MEYCIQDriBbxx6EWiJP4EV8e6N5aDqf4JNLnS3NHbW0vaJMpkQIhAL3iBO2E2hzKEhbzhhYnAQ4tK6V3aFMUmIoHTa7JowMx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41905,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhIqmhCRA9TVsSAnZWagAAGzkP/15h3bTVom8V8AGRxuQI\nPUfM9LqQla7KqXcnqj9IxlwFtpKUCrlMhkW7e09Li47ImYuaeMoDEmVfoKir\nw/Dka8BhkLP6YbXFX6dSlYf0ZL1HMjyGTjfUSqFasjJZJ0yqI+SAQ04cLEp7\nznTwoAR+qlFeGX9JBulvxY85FdoZUXREy7Ye0LwLWpYk4EaodanRMvvKOvXP\n3ha9QRBK5+dPVasrY41/UVH/rcRgx9xn+ejP5DrBTMHV0FlmFynwiIic1xx0\n8wbkkMJVmzvjfCmhd3e4BbmcQRHEj8CIDHemphuqr2AqzBoZDlzM99t5AUip\nDny84zxnIssJ13Tbj2MM7tQ+aOKDZtgBCD7nDGPXD0ZtBWjL8NKaAuqG3qw/\n0eJqF3jZ8PSSV19MI6iizjfGTqcwHa+mkFMelwao1SQfZu46K7aqbktRDPqf\nYV7eJzixBpyuDF78QcUUjCU0jDKxGpI8fO6riOpfd54rA2PE+10zeDRP8PGZ\n0rAt0npZB/N4Wz0ajJYRSv/6hoHKHjGnMA7Do0UM19SAxUcFTzhJjtLdO4BP\nWKNgfRCjhUCvcywDjUjyHG/TWJQp2xOupP1nyjRv2R2GZSz0GxSV/7lkkwbT\n01NDk3klikmwXuVD+TpbD69AfztJmNt25ZnhRSZhKUEnzS1OQvnApCVI7Tzb\n+Uj0\r\n=3Jad\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":false,"resetMocks":true,"testRunner":"jest-circus/runner","testTimeout":60000,"restoreMocks":true,"testEnvironment":"node","setupFilesAfterEnv":["./test/setup.ts"],"testPathIgnorePatterns":["/node_modules/"]},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/esm/index.mjs","engines":{"node":">=12"},"exports":{".":{"import":"./dist/esm/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"99827c51b91b4a392f7298ae1e42fb4ec48744da","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"rm -rf dist coverage external-scripts/bin bundle-stats.ignore.json","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && prettier --write '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && if [ -z \"$ALLOW_DISABLED_LINKS\" ] && grep -qR --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; then echo '---\nWARNING: disabled links were found in the following files:'; grep -R --color=always --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; echo '(to ignore this error, run this command again with ALLOW_DISABLED_LINKS=1)'; exit 1; fi","prepare":"if [ -z \"$CI\" ]; then npx husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts' --collectCoverageFrom 'lib/**/*.ts' --collectCoverageFrom 'external-scripts/**/*.ts' --testPathIgnorePatterns test/integration-*.test.ts","build-dist":"NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name lib && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli && chmod +x ./dist/cli.js; fi && NODE_ENV=esm babel src --extensions .ts --out-dir dist/esm --out-file-extension .mjs","build-docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md; fi && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`/`\\(destructured\\)`/g' {} + && find docs -name '*.md' -exec sed -i -E 's/`__namedParameters\\.([^`]+)`/`\\({ \\1 }\\)`/g' {} +","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --config conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-integration":"BABEL_ENV=test jest $JEST_CLI --testPathIgnorePatterns test/unit-*.test.ts","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts","test-integration-webpack":"BABEL_ENV=test jest $JEST_CLI test/integration-webpack*.test.ts","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-external*.test.ts"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"prettier":{"semi":true,"tabWidth":2,"endOfLine":"lf","overrides":[{"files":"**/*.@(ts|?(@(c|m))js)?(x)","options":{"parser":"babel-ts","printWidth":90}}],"proseWrap":"always","printWidth":80,"singleQuote":true,"trailingComma":"none"},"commitlint":{"rules":{"type-enum":[2,"always",["feat","fix","docs","style","refactor","test","revert","debug","build","chore"]],"body-leading-blank":[2,"always"],"footer-leading-blank":[2,"always"]},"extends":["@commitlint/config-conventional"]},"expect-env":{"rules":[{"name":"^MONGODB_URI$","value":"^.+:\\/\\/.+\\/.+$","required":false,"errorMessage":"expected MONGODB_URI to be a valid Mongo connect URI with database name"},{"name":"^GH_TOKEN$","value":"^[a-f0-9]+$","required":false,"errorMessage":"expected GH_TOKEN to be undefined or a valid GitHub Personal Access Token"}],"errorMessage":"\nCopy the \".env.example\" file to \".env\" or define the appropriate repository secrets"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"7.20.6","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"lint-staged":{"*":"prettier --write --ignore-unknown","*.md":"remark -o --use reference-links --use gfm --use frontmatter","package.json":"sort-package-json"},"sideEffects":false,"_nodeVersion":"15.14.0","dependencies":{"debug":"^4.3.2","test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","glob":"^7.1.7","jest":"^27.0.6","execa":"^5.1.1","husky":"^7.0.1","dotenv":"^10.0.0","eslint":"^7.32.0","semver":"^7.3.5","mongodb":"^4.1.0","typedoc":"^0.21.6","webpack":"^5.51.1","prettier":"^2.3.2","type-fest":"^2.0.0","@babel/cli":"^7.14.8","babel-jest":"^27.0.6","remark-cli":"^10.0.0","remark-gfm":"^2.0.0","simple-git":"^2.44.0","typescript":"^4.3.5","@babel/core":"^7.15.0","@types/jest":"^27.0.1","@types/node":"^16.7.1","jest-circus":"^27.0.6","lint-staged":"^11.1.2","webpack-cli":"^4.8.0","@types/debug":"^4.1.7","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","spellchecker":"^3.7.1","@octokit/rest":"^18.9.1","@types/semver":"^7.3.8","jest-extended":"^0.11.5","@types/webpack":"^5.28.0","edit-json-file":"^1.6.0","@commitlint/cli":"^13.1.0","@ergodark/types":"^1.0.17","text-extensions":"^2.4.0","unique-filename":"^1.1.1","semantic-release":"github:xunnamius/semantic-release","@babel/preset-env":"^7.15.0","find-package-json":"^1.2.0","sort-package-json":"github:xunnamius/sort-package-json","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.4.0","remark-frontmatter":"^4.0.0","source-map-support":"^0.5.19","eslint-plugin-import":"^2.24.1","@semantic-release/git":"^9.0.0","@types/edit-json-file":"^1.6.0","remark-validate-links":"^11.0.0","@semantic-release/exec":"^5.0.0","remark-reference-links":"^6.0.0","webpack-node-externals":"^3.0.0","typedoc-plugin-markdown":"^3.10.4","@babel/preset-typescript":"^7.15.0","@types/find-package-json":"^1.2.2","@typescript-eslint/parser":"^4.29.2","confusing-browser-globals":"^1.0.10","remark-lint-final-newline":"^2.0.1","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^5.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^3.0.1","remark-lint-no-inline-padding":"^4.0.1","@commitlint/config-conventional":"^13.1.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^4.29.2","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^2.4.0","remark-lint-no-unused-definitions":"^3.0.1","remark-lint-no-undefined-references":"^4.0.1","@babel/plugin-proposal-function-bind":"^7.14.5","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^3.0.1","remark-lint-no-heading-content-indent":"^4.0.1","remark-lint-ordered-list-marker-style":"^3.0.1","remark-lint-no-blockquote-without-marker":"^5.0.1","remark-lint-no-auto-link-without-protocol":"^3.0.1","@babel/plugin-proposal-export-default-from":"^7.14.5","@xunnamius/conventional-changelog-projector":"^1.0.3","babel-plugin-transform-default-named-imports":"^1.0.9"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_2.2.0_1629661601518_0.4419619580644787","host":"s3://npm-registry-packages"}},"2.2.1":{"name":"next-test-api-route-handler","version":"2.2.1","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@2.2.1","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"162e408c745e2e924ec3bae95d210ea1a3d3f927","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-2.2.1.tgz","fileCount":6,"integrity":"sha512-IW9zTfHkNwKjeckfY2IoE0PDSzpukCOcChQZ7kiZoMJ5rUOHAp2GYJSVtvrtFmgrItq+mbtVYqusxSkXtJVGAQ==","signatures":[{"sig":"MEYCIQDGgEADYR9yMqs11WEQHc7ZN4SpdLvSkIzS0Pps5R3bxAIhAJ7nd3ylMrDPwbhLUz+h284v7GrBnElI3Hsw03oaIaIw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42039,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhKuepCRA9TVsSAnZWagAASpUP/1slikVLdcQpC2gxvU6H\nxvnwp5pxafy/b2eI4Tdp7v+AGIS3oewgfDR9Vb+GJjR+n3w7M8C0OMR7Avvm\nPyjwUdJnjBCD1FgEPppD141lPrgh0REQQJym2Df2sEzF28nQUFAk2EakRUb6\nKpRDk+B5xEbYnnBmifeFQft4E6AHQhDlrF7Yy6Af6kthnOw5GLtnlx+qKPrK\n8UfC+BY+y1ujxhGlX3/H24gh3W9eQsfGmhur2BIoru6O5TDK4oSGp0ZDvst4\n7how6duP39jklPr34kNE0KQrh7v/jFMaS1BN2wQiI9Zu4eNXB2nifIKKnI0c\nSLtIYoshP3JJsqGmvdbsV7VotHOx38x5GL8/t06lr6JNrTn+SjRz2VDMSs2W\ndKXrzaDdNXWFP8bqdzYyrviLjQVjfPpsJwq1do8LN7Km1dmZl9OG9LDClSaq\nAJ5w3elA03kW3QXQ2ZT78UQ9ZGJUAwDWsTVujmgQwyE6LbtGnyuTTpFqgk4H\nvquwBSvAi4nZBuuGvLLLjWmEKUWdsAoj5pwZPs6BSz8TcHbMI85/89ang0nH\nOjq/98lAPjQpBI9AzCuEqBt8Nbg0LvDfEzdQjhCTa5TzhkIP5WWcGrg2gZL7\n0GAFcmTXUShXLIACwSjTlQ/uyh0J1DZDv8BW/MNDjsiYqBaTBJSf/zfQYh97\n33jb\r\n=xt4M\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/esm/index.mjs","engines":{"node":">=12"},"exports":{".":{"import":"./dist/esm/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"00e9617156add104bc039e1a34aa83cc2813d599","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"rm -rf dist coverage external-scripts/bin bundle-stats.ignore.json && git ls-files --exclude-standard --ignored --others --directory dist | xargs rm -rf {} +","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && prettier --write '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && if [ -z \"$ALLOW_DISABLED_LINKS\" ] && grep -qR --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; then echo '---\nWARNING: disabled links were found in the following files:'; grep -R --color=always --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; echo '(to ignore this error, run this command again with ALLOW_DISABLED_LINKS=1)'; exit 1; fi","prepare":"if [ -z \"$CI\" ] && [ \"$NODE_ENV\" = \"development\" ]; then npx --no husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts*' --collectCoverageFrom 'lib/**/*.ts*' --collectCoverageFrom 'external-scripts/**/*.ts*' --testPathIgnorePatterns test/integration-*.test.ts* dist","build-dist":"if [ -r ./next.config.js ]; then next build; else NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name lib && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli && chmod +x ./dist/cli.js; fi && NODE_ENV=esm babel src --extensions .ts --out-dir dist/esm --out-file-extension .mjs; fi","build-docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md; fi && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`/`\\(destructured\\)`/g' {} + && find docs -name '*.md' -exec sed -i -E 's/`__namedParameters\\.([^`]+)`/`\\({ \\1 }\\)`/g' {} +","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --config conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-repeat-all":"npm run __test-repeat-all --silent","test-integration":"BABEL_ENV=test jest $JEST_CLI test/integration-*.test.ts* --testPathIgnorePatterns dist test/unit-*.test.ts","test-repeat-unit":"npm run __test-repeat-unit --silent","__test-repeat-all":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test npx jest --reporters=jest-silent-reporter || exit; done) && echo \"All tests passed! Congrats!\"","__test-repeat-unit":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test npx jest --reporters=jest-silent-reporter --testPathIgnorePatterns test/integration-*.test.ts dist || exit; done) && echo \"All tests passed! Congrats!\"","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts* --testPathIgnorePatterns dist","test-integration-webpack":"BABEL_ENV=test jest $JEST_CLI test/integration-webpack*.test.ts* --testPathIgnorePatterns dist","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-external*.test.ts* --testPathIgnorePatterns dist"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"7.20.6","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"16.8.0","dependencies":{"debug":"^4.3.2","test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","glob":"^7.1.7","jest":"^27.1.0","execa":"^5.1.1","husky":"^7.0.2","dotenv":"^10.0.0","eslint":"^7.32.0","semver":"^7.3.5","mongodb":"^4.1.1","typedoc":"^0.21.7","webpack":"^5.51.1","prettier":"^2.3.2","type-fest":"^2.1.0","@babel/cli":"^7.14.8","babel-jest":"^27.1.0","remark-cli":"^10.0.0","remark-gfm":"^2.0.0","simple-git":"^2.45.0","typescript":"4.3.x","@babel/core":"^7.15.0","@types/jest":"^27.0.1","@types/node":"^16.7.4","jest-circus":"^27.1.0","lint-staged":"^11.1.2","webpack-cli":"^4.8.0","@types/debug":"^4.1.7","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","spellchecker":"^3.7.1","@octokit/rest":"^18.9.1","@types/semver":"^7.3.8","jest-extended":"^0.11.5","@types/webpack":"^5.28.0","edit-json-file":"^1.6.0","@commitlint/cli":"^13.1.0","@ergodark/types":"^1.0.17","text-extensions":"^2.4.0","unique-filename":"^1.1.1","semantic-release":"github:xunnamius/semantic-release","@babel/preset-env":"^7.15.0","find-package-json":"^1.2.0","sort-package-json":"github:xunnamius/sort-package-json","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^24.4.0","remark-frontmatter":"^4.0.0","source-map-support":"^0.5.19","eslint-plugin-import":"^2.24.2","@semantic-release/git":"^9.0.0","@types/edit-json-file":"^1.6.0","remark-validate-links":"^11.0.1","@semantic-release/exec":"^5.0.0","remark-reference-links":"^6.0.0","webpack-node-externals":"^3.0.0","typedoc-plugin-markdown":"^3.10.4","@babel/preset-typescript":"^7.15.0","@types/find-package-json":"^1.2.2","@typescript-eslint/parser":"^4.29.3","confusing-browser-globals":"^1.0.10","remark-lint-final-newline":"^2.0.1","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^5.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^3.0.1","remark-lint-no-inline-padding":"^4.0.1","@commitlint/config-conventional":"^13.1.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^4.29.3","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^2.4.0","remark-lint-no-unused-definitions":"^3.0.1","remark-lint-no-undefined-references":"^4.0.1","@babel/plugin-proposal-function-bind":"^7.14.5","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^3.0.1","remark-lint-no-heading-content-indent":"^4.0.1","remark-lint-ordered-list-marker-style":"^3.0.1","babel-plugin-explicit-exports-references":"^1.0.1","remark-lint-no-blockquote-without-marker":"^5.0.1","remark-lint-no-auto-link-without-protocol":"^3.0.1","@babel/plugin-proposal-export-default-from":"^7.14.5","@xunnamius/conventional-changelog-projector":"^1.0.3","babel-plugin-transform-default-named-imports":"^1.0.9"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_2.2.1_1630201769356_0.18878908671428052","host":"s3://npm-registry-packages"}},"2.3.0":{"name":"next-test-api-route-handler","version":"2.3.0","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@2.3.0","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"682358840882b2ed3a02e290a7419ac02d2eb637","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-2.3.0.tgz","fileCount":7,"integrity":"sha512-QaPZGiu/zhtVfmbjWbuQy0AYn4rKh5Qf2sp+OUwKeeMMvqmmADcsr6wc85hEEvxOixaYUYd03g+SUHYoglppAQ==","signatures":[{"sig":"MEYCIQDYAWkCEabTRjVXoJFreQbcHBG6qyARlgtNY4Fjb/VRAQIhAIC2aDUgBNLsc9+Ez3ZjibWYj+NI/XdbjsQMWeftnL9K","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47035},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/esm/index.mjs","engines":{"node":">=12"},"exports":{".":{"import":"./dist/esm/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"fe27a3d57eff1700b9d5f982ee15588574c8f99a","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"git ls-files --exclude-standard --ignored --others --directory | grep -vE '^((\\.(env|vscode|husky))|next-env\\.d\\.ts|node_modules)($|\\/)' | xargs -p rm -rf","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && prettier --write '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && if [ -z \"$ALLOW_DISABLED_LINKS\" ] && grep -qR --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; then echo '---\nWARNING: disabled links were found in the following files:'; grep -R --color=always --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; echo '(to ignore this error, run this command again with ALLOW_DISABLED_LINKS=1)'; exit 1; fi","prepare":"if [ -z \"$CI\" ] && ([ -z \"$NODE_ENV\" ] || [ \"$NODE_ENV\" = \"development\" ]); then husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts*' --collectCoverageFrom 'lib/**/*.ts*' --collectCoverageFrom 'external-scripts/**/*.ts*' --testPathIgnorePatterns test/integration-*.test.ts* dist","build-dist":"if [ -r ./next.config.js ]; then next build; else NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name lib && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli && chmod +x ./dist/cli.js; fi && NODE_ENV=esm babel src --extensions .ts --out-dir dist/esm --out-file-extension .mjs; fi","build-docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md; fi && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`/`\\(destructured\\)`/g' {} + && find docs -name '*.md' -exec sed -i -E 's/`__namedParameters\\.([^`]+)`/`\\({ \\1 }\\)`/g' {} +","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --config conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-repeat-all":"npm run __test-repeat-all --silent","test-integration":"BABEL_ENV=test jest $JEST_CLI test/integration-*.test.ts* --testPathIgnorePatterns dist test/unit-*.test.ts","test-repeat-unit":"npm run __test-repeat-unit --silent","__test-repeat-all":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter || exit; done) && echo \"All tests passed! Congrats!\"","__test-repeat-unit":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter --testPathIgnorePatterns test/integration-*.test.ts dist || exit; done) && echo \"All tests passed! Congrats!\"","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts* --testPathIgnorePatterns dist","test-integration-client":"BABEL_ENV=test jest $JEST_CLI test/integration-client*.test.ts* --testPathIgnorePatterns dist","test-integration-compile":"BABEL_ENV=test jest $JEST_CLI test/integration-compile*.test.ts* --testPathIgnorePatterns dist","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-external*.test.ts* --testPathIgnorePatterns dist"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"7.24.2","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"16.11.1","dependencies":{"debug":"^4.3.2","cookie":"^0.4.1","test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","glob":"^7.2.0","jest":"^27.3.1","execa":"^5.1.1","husky":"^7.0.4","dotenv":"^10.0.0","eslint":"^8.1.0","semver":"^7.3.5","mongodb":"^4.1.4","typedoc":"^0.22.7","webpack":"^5.62.1","prettier":"^2.4.1","type-fest":"^2.5.2","@babel/cli":"^7.16.0","babel-jest":"^27.3.1","remark-cli":"^10.0.0","remark-gfm":"^3.0.1","simple-git":"^2.47.0","strip-ansi":"^6.0.1","typescript":"4.4.x","@babel/core":"^7.16.0","@types/jest":"^27.0.2","@types/node":"^16.11.6","jest-circus":"^27.3.1","lint-staged":"^11.2.6","webpack-cli":"^4.9.1","@types/debug":"^4.1.7","babel-loader":"^8.2.3","spellchecker":"^3.7.1","@octokit/rest":"^18.12.0","@types/cookie":"^0.4.1","@types/semver":"^7.3.9","jest-extended":"^1.1.0","@types/webpack":"^5.28.0","edit-json-file":"^1.6.0","@commitlint/cli":"^14.1.0","@ergodark/types":"^1.0.17","text-extensions":"^2.4.0","toss-expression":"^0.1.0","unique-filename":"^1.1.1","semantic-release":"github:xunnamius/semantic-release","@babel/preset-env":"^7.16.0","find-package-json":"^1.2.0","sort-package-json":"github:xunnamius/sort-package-json","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^25.2.3","remark-frontmatter":"^4.0.1","source-map-support":"^0.5.20","@babel/eslint-parser":"^7.16.0","eslint-plugin-import":"^2.25.2","@semantic-release/git":"^10.0.1","@types/edit-json-file":"^1.6.1","remark-validate-links":"^11.0.2","@semantic-release/exec":"^6.0.2","remark-reference-links":"^6.0.0","webpack-node-externals":"^3.0.0","typedoc-plugin-markdown":"^3.11.3","@babel/preset-typescript":"^7.16.0","@types/find-package-json":"^1.2.2","@typescript-eslint/parser":"^5.3.0","confusing-browser-globals":"^1.0.10","remark-lint-final-newline":"^2.1.0","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^6.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^3.1.0","remark-lint-no-inline-padding":"^4.1.0","@commitlint/config-conventional":"^14.1.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.3.0","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^2.5.0","remark-lint-no-unused-definitions":"^3.1.0","remark-lint-no-undefined-references":"^4.1.0","@babel/plugin-proposal-function-bind":"^7.16.0","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^3.1.0","remark-lint-no-heading-content-indent":"^4.1.0","remark-lint-ordered-list-marker-style":"^3.1.0","babel-plugin-explicit-exports-references":"^1.0.1","remark-lint-no-blockquote-without-marker":"^5.1.0","remark-lint-no-auto-link-without-protocol":"^3.1.0","@babel/plugin-proposal-export-default-from":"^7.16.0","@xunnamius/conventional-changelog-projector":"^1.1.1","babel-plugin-transform-default-named-imports":"^1.0.9","@babel/plugin-proposal-nullish-coalescing-operator":"^7.16.0"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_2.3.0_1636155175835_0.9201914581105552","host":"s3://npm-registry-packages"}},"2.3.1":{"name":"next-test-api-route-handler","version":"2.3.1","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@2.3.1","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"cc037dfab043c713d1cce19db2e2a30059194c1c","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-2.3.1.tgz","fileCount":7,"integrity":"sha512-P9tl/IXzMS7pMgeEqJ3SKG2dE2WP2HMcmwZDZ88t2iZ3rJ+c6PKdviZbwghHC39jeb9CmsF+OoO2sbfUS6jflw==","signatures":[{"sig":"MEUCIQD6zs3uw7JFpB1Nvw9wodiwpigKMTuaWFd63WH7uLfZXwIgVufR+DrfIJLC7LHd4Kmc7UBihp/ee3EbwlqZ8DqwBWo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47678},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/esm/index.mjs","engines":{"node":">=12"},"exports":{".":{"import":"./dist/esm/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"87bbbf447dc79accc16de33ccb37a439eeb03e18","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"git ls-files --exclude-standard --ignored --others --directory | grep -vE '^((\\.(env|vscode|husky))|next-env\\.d\\.ts|node_modules)($|\\/)' | xargs -p rm -rf","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && prettier --write '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && if [ -z \"$ALLOW_DISABLED_LINKS\" ] && grep -qR --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; then echo '---\nWARNING: disabled links were found in the following files:'; grep -R --color=always --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; echo '(to ignore this error, run this command again with ALLOW_DISABLED_LINKS=1)'; exit 1; fi","prepare":"if [ -z \"$CI\" ] && ([ -z \"$NODE_ENV\" ] || [ \"$NODE_ENV\" = \"development\" ]); then husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts*' --collectCoverageFrom 'lib/**/*.ts*' --collectCoverageFrom 'external-scripts/**/*.ts*' --testPathIgnorePatterns test/integration-*.test.ts* dist","build-dist":"if [ -r ./next.config.js ]; then next build; else NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name lib && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli && chmod +x ./dist/cli.js; fi && NODE_ENV=esm babel src --extensions .ts --out-dir dist/esm --out-file-extension .mjs; fi","build-docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md; fi && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`/`\\(destructured\\)`/g' {} + && find docs -name '*.md' -exec sed -i -E 's/`__namedParameters\\.([^`]+)`/`\\({ \\1 }\\)`/g' {} +","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --config conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-repeat-all":"npm run __test-repeat-all --silent","test-integration":"BABEL_ENV=test jest $JEST_CLI test/integration-*.test.ts* --testPathIgnorePatterns dist test/unit-*.test.ts","test-repeat-unit":"npm run __test-repeat-unit --silent","__test-repeat-all":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter || exit; done) && echo \"All tests passed! Congrats!\"","__test-repeat-unit":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter --testPathIgnorePatterns test/integration-*.test.ts dist || exit; done) && echo \"All tests passed! Congrats!\"","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts* --testPathIgnorePatterns dist","test-integration-client":"BABEL_ENV=test jest $JEST_CLI test/integration-client*.test.ts* --testPathIgnorePatterns dist","test-integration-compile":"BABEL_ENV=test jest $JEST_CLI test/integration-compile*.test.ts* --testPathIgnorePatterns dist","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-external*.test.ts* --testPathIgnorePatterns dist"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"7.24.2","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"16.11.1","dependencies":{"debug":"^4.3.2","cookie":"^0.4.1","test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","glob":"^7.2.0","jest":"^27.3.1","execa":"^5.1.1","husky":"^7.0.4","dotenv":"^10.0.0","eslint":"^8.1.0","semver":"^7.3.5","mongodb":"^4.1.4","typedoc":"^0.22.7","webpack":"^5.62.1","prettier":"^2.4.1","type-fest":"^2.5.2","@babel/cli":"^7.16.0","babel-jest":"^27.3.1","remark-cli":"^10.0.0","remark-gfm":"^3.0.1","simple-git":"^2.47.0","strip-ansi":"^6.0.1","typescript":"4.4.x","@babel/core":"^7.16.0","@types/jest":"^27.0.2","@types/node":"^16.11.6","jest-circus":"^27.3.1","lint-staged":"^11.2.6","webpack-cli":"^4.9.1","@types/debug":"^4.1.7","babel-loader":"^8.2.3","spellchecker":"^3.7.1","@octokit/rest":"^18.12.0","@types/cookie":"^0.4.1","@types/semver":"^7.3.9","jest-extended":"^1.1.0","@types/webpack":"^5.28.0","edit-json-file":"^1.6.0","@commitlint/cli":"^14.1.0","@ergodark/types":"^1.0.17","text-extensions":"^2.4.0","toss-expression":"^0.1.0","unique-filename":"^1.1.1","semantic-release":"github:xunnamius/semantic-release","@babel/preset-env":"^7.16.0","find-package-json":"^1.2.0","sort-package-json":"github:xunnamius/sort-package-json","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^25.2.3","remark-frontmatter":"^4.0.1","source-map-support":"^0.5.20","@babel/eslint-parser":"^7.16.0","eslint-plugin-import":"^2.25.2","@semantic-release/git":"^10.0.1","@types/edit-json-file":"^1.6.1","remark-validate-links":"^11.0.2","@semantic-release/exec":"^6.0.2","remark-reference-links":"^6.0.0","webpack-node-externals":"^3.0.0","typedoc-plugin-markdown":"^3.11.3","@babel/preset-typescript":"^7.16.0","@types/find-package-json":"^1.2.2","@typescript-eslint/parser":"^5.3.0","confusing-browser-globals":"^1.0.10","remark-lint-final-newline":"^2.1.0","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^6.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^3.1.0","remark-lint-no-inline-padding":"^4.1.0","@commitlint/config-conventional":"^14.1.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.3.0","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^2.5.0","remark-lint-no-unused-definitions":"^3.1.0","remark-lint-no-undefined-references":"^4.1.0","@babel/plugin-proposal-function-bind":"^7.16.0","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^3.1.0","remark-lint-no-heading-content-indent":"^4.1.0","remark-lint-ordered-list-marker-style":"^3.1.0","babel-plugin-explicit-exports-references":"^1.0.1","remark-lint-no-blockquote-without-marker":"^5.1.0","remark-lint-no-auto-link-without-protocol":"^3.1.0","@babel/plugin-proposal-export-default-from":"^7.16.0","@xunnamius/conventional-changelog-projector":"^1.1.1","babel-plugin-transform-default-named-imports":"^1.0.9","@babel/plugin-proposal-nullish-coalescing-operator":"^7.16.0"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_2.3.1_1636158717347_0.9688413570700289","host":"s3://npm-registry-packages"}},"2.3.2":{"name":"next-test-api-route-handler","version":"2.3.2","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@2.3.2","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"adc244a4e68aa4812276c55d746810b30461a366","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-2.3.2.tgz","fileCount":7,"integrity":"sha512-kHWH1feuvvqmc+f5POmnI/vEL6bIXP7JPMKzq93hL432USpeJipwo6P/TbAum5vG9fJrt994hMIAaTiT32UjuQ==","signatures":[{"sig":"MEQCIEwQ+KTFR4tdDD4nV5tzwbG2wZrkHIcOo62voXV9DNtTAiB/d6EACvMr74SxlsUOgwEGzBjUNkozLq6QxhvwrWVirQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47799},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/esm/index.mjs","engines":{"node":">=12"},"exports":{".":{"import":"./dist/esm/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"43e3c7a0f3200600823b3b995175df01d00488ff","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"git ls-files --exclude-standard --ignored --others --directory | grep -vE '^((\\.(env|vscode|husky))|next-env\\.d\\.ts|node_modules)($|\\/)' | xargs -p rm -rf","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && prettier --write '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && if [ -z \"$ALLOW_DISABLED_LINKS\" ] && grep -qR --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; then echo '---\nWARNING: disabled links were found in the following files:'; grep -R --color=always --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; echo '(to ignore this error, run this command again with ALLOW_DISABLED_LINKS=1)'; exit 1; fi","prepare":"if [ -z \"$CI\" ] && ([ -z \"$NODE_ENV\" ] || [ \"$NODE_ENV\" = \"development\" ]); then husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts*' --collectCoverageFrom 'lib/**/*.ts*' --collectCoverageFrom 'external-scripts/**/*.ts*' --testPathIgnorePatterns test/integration-*.test.ts* dist","build-dist":"if [ -r ./next.config.js ]; then next build; else NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name lib && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli && chmod +x ./dist/cli.js; fi && NODE_ENV=esm babel src --extensions .ts --out-dir dist/esm --out-file-extension .mjs; fi","build-docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md; fi && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`/`\\(destructured\\)`/g' {} + && find docs -name '*.md' -exec sed -i -E 's/`__namedParameters\\.([^`]+)`/`\\({ \\1 }\\)`/g' {} +","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --config conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-repeat-all":"npm run __test-repeat-all --silent","test-integration":"BABEL_ENV=test jest $JEST_CLI test/integration-*.test.ts* --testPathIgnorePatterns dist test/unit-*.test.ts","test-repeat-unit":"npm run __test-repeat-unit --silent","__test-repeat-all":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter || exit; done) && echo \"All tests passed! Congrats!\"","__test-repeat-unit":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter --testPathIgnorePatterns test/integration-*.test.ts dist || exit; done) && echo \"All tests passed! Congrats!\"","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts* --testPathIgnorePatterns dist","test-integration-client":"BABEL_ENV=test jest $JEST_CLI test/integration-client*.test.ts* --testPathIgnorePatterns dist","test-integration-compile":"BABEL_ENV=test jest $JEST_CLI test/integration-compile*.test.ts* --testPathIgnorePatterns dist","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-external*.test.ts* --testPathIgnorePatterns dist"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"7.24.2","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"16.11.1","dependencies":{"debug":"^4.3.2","cookie":"^0.4.1","test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","glob":"^7.2.0","jest":"^27.3.1","execa":"^5.1.1","husky":"^7.0.4","dotenv":"^10.0.0","eslint":"^8.2.0","semver":"^7.3.5","mongodb":"^4.1.4","typedoc":"^0.22.8","webpack":"^5.62.1","prettier":"^2.4.1","type-fest":"^2.5.2","@babel/cli":"^7.16.0","babel-jest":"^27.3.1","remark-cli":"^10.0.0","remark-gfm":"^3.0.1","simple-git":"^2.47.0","strip-ansi":"^6.0.1","typescript":"4.4.x","@babel/core":"^7.16.0","@types/jest":"^27.0.2","@types/node":"^16.11.6","jest-circus":"^27.3.1","lint-staged":"^11.2.6","webpack-cli":"^4.9.1","@types/debug":"^4.1.7","babel-loader":"^8.2.3","spellchecker":"^3.7.1","@octokit/rest":"^18.12.0","@types/cookie":"^0.4.1","@types/semver":"^7.3.9","jest-extended":"^1.1.0","@types/webpack":"^5.28.0","edit-json-file":"^1.6.0","@commitlint/cli":"^14.1.0","@ergodark/types":"^1.0.17","text-extensions":"^2.4.0","toss-expression":"^0.1.0","unique-filename":"^1.1.1","semantic-release":"github:xunnamius/semantic-release","@babel/preset-env":"^7.16.0","find-package-json":"^1.2.0","sort-package-json":"github:xunnamius/sort-package-json","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^25.2.3","remark-frontmatter":"^4.0.1","source-map-support":"^0.5.20","@babel/eslint-parser":"^7.16.0","eslint-plugin-import":"^2.25.2","@semantic-release/git":"^10.0.1","@types/edit-json-file":"^1.6.1","remark-validate-links":"^11.0.2","@semantic-release/exec":"^6.0.2","remark-reference-links":"^6.0.0","webpack-node-externals":"^3.0.0","typedoc-plugin-markdown":"^3.11.3","@babel/preset-typescript":"^7.16.0","@types/find-package-json":"^1.2.2","@typescript-eslint/parser":"^5.3.0","confusing-browser-globals":"^1.0.10","remark-lint-final-newline":"^2.1.0","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^6.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^3.1.0","remark-lint-no-inline-padding":"^4.1.0","@commitlint/config-conventional":"^14.1.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.3.0","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^2.5.0","remark-lint-no-unused-definitions":"^3.1.0","remark-lint-no-undefined-references":"^4.1.0","@babel/plugin-proposal-function-bind":"^7.16.0","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^3.1.0","remark-lint-no-heading-content-indent":"^4.1.0","remark-lint-ordered-list-marker-style":"^3.1.0","babel-plugin-explicit-exports-references":"^1.0.1","remark-lint-no-blockquote-without-marker":"^5.1.0","remark-lint-no-auto-link-without-protocol":"^3.1.0","@babel/plugin-proposal-export-default-from":"^7.16.0","@xunnamius/conventional-changelog-projector":"^1.1.1","babel-plugin-transform-default-named-imports":"^1.0.9","@babel/plugin-proposal-nullish-coalescing-operator":"^7.16.0"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_2.3.2_1636250272403_0.008240030114648356","host":"s3://npm-registry-packages"}},"2.3.3":{"name":"next-test-api-route-handler","version":"2.3.3","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@2.3.3","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"676a9c5e42ac16e3c58702097563944ac15c2570","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-2.3.3.tgz","fileCount":8,"integrity":"sha512-PkaxWUB16NXH1sBiyg/XnH0v3gqV4He1mLeL3gVSQtoef+pJEvi5bXrMSmo/xLmmwikeZRyjKfEtQSyZBmYjQw==","signatures":[{"sig":"MEYCIQCIEm1NgwTFV2C2P+5p3FkX7nShaQIlyS5b6TvGjKpJSgIhAK3wmbEs5TioSb8oLbSNdQsapAzC485btsOCMj9kM2jK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51187},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","engines":{"node":">=12"},"exports":{".":{"import":"./dist/esm/index.mjs","module":"./dist/bundle/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"2d91f41a58e40362c293336a2a35f1d698ce0656","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"git ls-files --exclude-standard --ignored --others --directory | grep -vE '^((\\.(env|vscode|husky))|next-env\\.d\\.ts|node_modules)($|\\/)' | xargs -p rm -rf","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && prettier --write '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && if [ -z \"$ALLOW_DISABLED_LINKS\" ] && grep -qR --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; then echo '---\nWARNING: disabled links were found in the following files:'; grep -R --color=always --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; echo '(to ignore this error, run this command again with ALLOW_DISABLED_LINKS=1)'; exit 1; fi","prepare":"if [ -z \"$CI\" ] && ([ -z \"$NODE_ENV\" ] || [ \"$NODE_ENV\" = \"development\" ]); then husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts*' --collectCoverageFrom 'lib/**/*.ts*' --collectCoverageFrom 'external-scripts/**/*.ts*' --testPathIgnorePatterns test/integration-*.test.ts* dist","build-dist":"if [ -r ./next.config.js ]; then next build; else NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name lib && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli && chmod +x ./dist/cli.js; fi && NODE_ENV=esm-bundle webpack --config-name esm && NODE_ENV=esm-bundle babel src --extensions .ts --out-dir dist/bundle --out-file-extension .mjs; fi","build-docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md; fi && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`/`\\(destructured\\)`/g' {} + && find docs -name '*.md' -exec sed -i -E 's/`__namedParameters\\.([^`]+)`/`\\({ \\1 }\\)`/g' {} +","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --config conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-repeat-all":"npm run __test-repeat-all --silent","test-integration":"BABEL_ENV=test jest $JEST_CLI test/integration-*.test.ts* --testPathIgnorePatterns dist test/unit-*.test.ts","test-repeat-unit":"npm run __test-repeat-unit --silent","__test-repeat-all":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter || exit; done) && echo \"All tests passed! Congrats!\"","__test-repeat-unit":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter --testPathIgnorePatterns test/integration-*.test.ts dist || exit; done) && echo \"All tests passed! Congrats!\"","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts* --testPathIgnorePatterns dist","test-integration-client":"BABEL_ENV=test jest $JEST_CLI test/integration-client*.test.ts* --testPathIgnorePatterns dist","test-integration-compile":"BABEL_ENV=test jest $JEST_CLI test/integration-compile*.test.ts* --testPathIgnorePatterns dist","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-external*.test.ts* --testPathIgnorePatterns dist"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"7.24.2","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"16.11.1","dependencies":{"debug":"^4.3.2","cookie":"^0.4.1","test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","glob":"^7.2.0","jest":"^27.3.1","execa":"^5.1.1","husky":"^7.0.4","dotenv":"^10.0.0","eslint":"^8.2.0","semver":"^7.3.5","mongodb":"^4.1.4","typedoc":"^0.22.8","webpack":"^5.63.0","prettier":"^2.4.1","type-fest":"^2.5.3","@babel/cli":"^7.16.0","babel-jest":"^27.3.1","remark-cli":"^10.0.0","remark-gfm":"^3.0.1","simple-git":"^2.47.0","strip-ansi":"^6.0.1","typescript":"4.4.x","@babel/core":"^7.16.0","@types/jest":"^27.0.2","@types/node":"^16.11.7","jest-circus":"^27.3.1","lint-staged":"^11.2.6","webpack-cli":"^4.9.1","@types/debug":"^4.1.7","babel-loader":"^8.2.3","spellchecker":"^3.7.1","@octokit/rest":"^18.12.0","@types/cookie":"^0.4.1","@types/semver":"^7.3.9","jest-extended":"^1.1.0","@types/webpack":"^5.28.0","edit-json-file":"^1.6.2","@commitlint/cli":"^14.1.0","@ergodark/types":"^1.0.17","text-extensions":"^2.4.0","toss-expression":"^0.1.0","unique-filename":"^1.1.1","semantic-release":"github:xunnamius/semantic-release","@babel/preset-env":"^7.16.0","find-package-json":"^1.2.0","sort-package-json":"github:xunnamius/sort-package-json","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^25.2.4","remark-frontmatter":"^4.0.1","source-map-support":"^0.5.20","@babel/eslint-parser":"^7.16.3","eslint-plugin-import":"^2.25.3","@semantic-release/git":"^10.0.1","@types/edit-json-file":"^1.6.1","remark-validate-links":"^11.0.2","@semantic-release/exec":"^6.0.2","remark-reference-links":"^6.0.0","webpack-node-externals":"^3.0.0","typedoc-plugin-markdown":"^3.11.3","@babel/preset-typescript":"^7.16.0","@types/find-package-json":"^1.2.2","@typescript-eslint/parser":"^5.3.1","confusing-browser-globals":"^1.0.10","remark-lint-final-newline":"^2.1.0","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^6.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^3.1.0","remark-lint-no-inline-padding":"^4.1.0","@commitlint/config-conventional":"^14.1.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.3.1","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^2.5.0","remark-lint-no-unused-definitions":"^3.1.0","remark-lint-no-undefined-references":"^4.1.0","@babel/plugin-proposal-function-bind":"^7.16.0","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^3.1.0","remark-lint-no-heading-content-indent":"^4.1.0","remark-lint-ordered-list-marker-style":"^3.1.0","babel-plugin-explicit-exports-references":"^1.0.1","remark-lint-no-blockquote-without-marker":"^5.1.0","remark-lint-no-auto-link-without-protocol":"^3.1.0","@babel/plugin-proposal-export-default-from":"^7.16.0","@xunnamius/conventional-changelog-projector":"^1.1.1","babel-plugin-transform-default-named-imports":"^1.0.9","@babel/plugin-proposal-nullish-coalescing-operator":"^7.16.0"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_2.3.3_1636533766085_0.18275710741972206","host":"s3://npm-registry-packages"}},"2.3.4":{"name":"next-test-api-route-handler","version":"2.3.4","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@2.3.4","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"748787ca4cf6b863c99ec2e695abde9ae887af54","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-2.3.4.tgz","fileCount":8,"integrity":"sha512-hr92BcHjvRBlNnnCrqobvSiztOh1L5nn0TNKim00wecxxsCX2OM2QAxvmxr+vPsWr7VwrKfRNttfENmjKYsiCA==","signatures":[{"sig":"MEYCIQDi20RMT7pbgDkAlApu677e6HPx+lxT4z+OHi5oPEj8gwIhALC5vdExIQYBi6d1Hfrv+djntRccA5NddJCViJ2hKhrL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":52017,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhk2djCRA9TVsSAnZWagAALFAP+gIXMpoxM7uHwk7eEOSv\ngj5prS739oVUh85vTNWDSdHiJBN34YBRU8SJzhgDrb8SiOigbtrv7vvyBL9l\nc5ntdzEBduz7Zj0HxwAvgzIAOBQ8DjNLzcIaJfzrr89eepR6z848s7SIVidU\nZqSSLkwtc9Yu00HFQnrlQA84S7XJCe+5uuZ4XSOydnNsyJbbEQVLrawqVqKQ\n+vxmNCzb1d3qfKMkFoyOwpHG22JReFjZj9BorO34XRZnrqXXfxZNGrZB+Zjf\nD5twNj2MmhHmZEMQmICQdgY7xrpRJ1Z7zw4EV9GsM9LaKsMLosuSZu7rWCbl\nsa7RFvAxWcq6uco+idND/+6z/9FGbMROzAGOl6MEJTi+CoQrp865I63zGTbh\nmNdWhMJJYDER/QWeR7lLkvdMAucnnLPJLh4vPrGAsyJZdXznCY8ZmHjdXKDF\n1wfhJul9gp7D5g5hGseiB/ql8DXoOysbGFUPccfJQIXW6YdVhigLxTB+Ayrv\nd0lzfLSznY91Xg9n/2ewgeoH742wOeGYcp2rCXSowdpDwbaaxXtgVo+D6WDD\njDu6ygMH4kGQQbTOunkNpHKrETg8j39vQnt0qUnmliB62DGN21oAKxbGiQx8\n+rMPaiR3KOGt0o3j5oooa9Ie3o3gYANwFIEv6Py+gpMdedBweQe12jdqPw4B\neJGj\r\n=BeC1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/bundle/index.mjs","engines":{"node":">=12"},"exports":{".":{"import":"./dist/esm/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"fccf5dff599333ec7ac60ba60aa406090a2ee794","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"git ls-files --exclude-standard --ignored --others --directory | grep -vE '^((\\.(env|vscode|husky))|next-env\\.d\\.ts|node_modules)($|\\/)' | xargs -p rm -rf","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && prettier --write '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && if [ -z \"$ALLOW_DISABLED_LINKS\" ] && grep -qR --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; then echo '---\nWARNING: disabled links were found in the following files:'; grep -R --color=always --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; echo '(to ignore this error, run this command again with ALLOW_DISABLED_LINKS=1)'; exit 1; fi","prepare":"if [ -z \"$CI\" ] && ([ -z \"$NODE_ENV\" ] || [ \"$NODE_ENV\" = \"development\" ]); then husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts*' --collectCoverageFrom 'lib/**/*.ts*' --collectCoverageFrom 'external-scripts/**/*.ts*' --testPathIgnorePatterns test/integration-*.test.ts* dist","build-dist":"if [ -r ./next.config.js ]; then next build; else NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name lib && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli && chmod +x ./dist/cli.js; fi && NODE_ENV=esm-bundle webpack --config-name esm && NODE_ENV=esm-bundle babel src --extensions .ts --out-dir dist/bundle --out-file-extension .mjs; fi","build-docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md; fi && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`/`\\(destructured\\)`/g' {} + && find docs -name '*.md' -exec sed -i -E 's/`__namedParameters\\.([^`]+)`/`\\({ \\1 }\\)`/g' {} +","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --config conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-repeat-all":"npm run __test-repeat-all --silent","test-integration":"BABEL_ENV=test jest $JEST_CLI test/integration-*.test.ts* --testPathIgnorePatterns dist test/unit-*.test.ts","test-repeat-unit":"npm run __test-repeat-unit --silent","__test-repeat-all":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter || exit; done) && echo \"All tests passed! Congrats!\"","__test-repeat-unit":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter --testPathIgnorePatterns test/integration-*.test.ts dist || exit; done) && echo \"All tests passed! Congrats!\"","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts* --testPathIgnorePatterns dist","test-integration-client":"BABEL_ENV=test jest $JEST_CLI test/integration-client*.test.ts* --testPathIgnorePatterns dist","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-external*.test.ts* --testPathIgnorePatterns dist"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"7.24.2","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"16.11.1","dependencies":{"debug":"^4.3.2","cookie":"^0.4.1","test-listen":"^1.1.0","isomorphic-unfetch":"^3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","glob":"^7.2.0","jest":"^27.3.1","execa":"^5.1.1","husky":"^7.0.4","dotenv":"^10.0.0","eslint":"^8.2.0","semver":"^7.3.5","mongodb":"^4.1.4","typedoc":"^0.22.9","webpack":"^5.64.1","prettier":"^2.4.1","type-fest":"^2.5.3","@babel/cli":"^7.16.0","babel-jest":"^27.3.1","remark-cli":"^10.0.0","remark-gfm":"^3.0.1","simple-git":"^2.47.0","strip-ansi":"^6.0.1","typescript":"4.4.x","@babel/core":"^7.16.0","@types/jest":"^27.0.2","@types/node":"^16.11.7","jest-circus":"^27.3.1","lint-staged":"^12.0.2","webpack-cli":"^4.9.1","@types/debug":"^4.1.7","babel-loader":"^8.2.3","spellchecker":"^3.7.1","@octokit/rest":"^18.12.0","@types/cookie":"^0.4.1","@types/semver":"^7.3.9","jest-extended":"^1.1.0","@types/webpack":"^5.28.0","edit-json-file":"^1.6.2","@commitlint/cli":"^14.1.0","@ergodark/types":"^1.0.17","text-extensions":"^2.4.0","toss-expression":"^0.1.0","unique-filename":"^1.1.1","semantic-release":"github:xunnamius/semantic-release","@babel/preset-env":"^7.16.0","find-package-json":"^1.2.0","sort-package-json":"github:xunnamius/sort-package-json","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^25.2.4","remark-frontmatter":"^4.0.1","source-map-support":"^0.5.20","@babel/eslint-parser":"^7.16.3","eslint-plugin-import":"^2.25.3","@semantic-release/git":"^10.0.1","@types/edit-json-file":"^1.6.1","remark-validate-links":"^11.0.2","@semantic-release/exec":"^6.0.2","remark-reference-links":"^6.0.1","webpack-node-externals":"^3.0.0","typedoc-plugin-markdown":"^3.11.6","@babel/preset-typescript":"^7.16.0","@types/find-package-json":"^1.2.2","@typescript-eslint/parser":"^5.4.0","confusing-browser-globals":"^1.0.10","remark-lint-final-newline":"^2.1.0","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^6.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^3.1.0","remark-lint-no-inline-padding":"^4.1.0","@commitlint/config-conventional":"^14.1.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.4.0","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^2.5.0","remark-lint-no-unused-definitions":"^3.1.0","remark-lint-no-undefined-references":"^4.1.0","@babel/plugin-proposal-function-bind":"^7.16.0","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^3.1.0","remark-lint-no-heading-content-indent":"^4.1.0","remark-lint-ordered-list-marker-style":"^3.1.0","babel-plugin-explicit-exports-references":"^1.0.1","remark-lint-no-blockquote-without-marker":"^5.1.0","remark-lint-no-auto-link-without-protocol":"^3.1.0","@babel/plugin-proposal-export-default-from":"^7.16.0","@xunnamius/conventional-changelog-projector":"^1.1.1","babel-plugin-transform-default-named-imports":"^1.0.9","@babel/plugin-proposal-nullish-coalescing-operator":"^7.16.0"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_2.3.4_1637050210945_0.7851225290410655","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"next-test-api-route-handler","version":"3.0.0","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@3.0.0","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"bcd05415a76bdc4b6feaae0f8ffe57e040afc5ac","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-3.0.0.tgz","fileCount":9,"integrity":"sha512-NTdFofsnSkQTTwSMyz2J3ag++UKaBXSHDpJNnDkoNnCXFbSIDIkH0IZNRIDtRI2JU8TjlngUj+4h0aavjNVhvA==","signatures":[{"sig":"MEUCIQCP8YCq64jNpczYB2Qpyx1jgFsgsTZ/pFmotMOjjUR2jQIgHfHoAF1tsVlz3lbprsFx6idXiN0uiC9MIVGMjtBJYp8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":99046,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhvKAMCRA9TVsSAnZWagAA8MIP/3/82b81VWRt2Ra8vOin\nOZKXUqIessqZoG6RZI8KcrstA/FRPNMJUTdnKzB7e+W5YlxuNtSpgvnpq1iA\nUZHrdrAeKip4DwIkk06bvvudTA3qEo7gB2FjIJw4L9U/EIYE+Wum4LLr2s/T\nmIq2M6X7hdjvYVN6EMp6sd3WAUa6ZmOl7FKN2xJB4U1z9SkpsBzVwUPSjSFV\n7PU2S+KcteLujczvlooE9IS2uIAxebB68aiHoUsAad13KG0iAmpDpky7BlOd\nwgbDr/VXhFQ4SRdA3bCbsBGK6n13RNnRczi1R/tKOm4nrM0V4Nz1yxKtd9/p\nIGwXE3UaboGTrMTAVD9dPBxvJCL7bIX7Ms5W23xj9qWFmXU0DerNsO8fXyGF\n64sASA2FzuMt7R5+ov9bhGlYC+aiaZjC3nv4U25usPvGR3sqDq6+F32hi6aX\n3YO3o+Ntsd7mTZRuZrSwj22P2mkVICDNkJ3K3R1eUQK7Z6SQR5o5TfY2FHiA\nFmiYkhkNpbatyieg+MbmqE8wfRWVt6Jt9H9qMaMmGYJmWUf4aG6UyJBiyyg0\ngduIx+XccuXBlMvWjdEohW9Jlewb3DT4V+Yn7MqA/qYddTeP7AsbX40c7crc\n/Xn2TMrMoBuPRjzw4rc8QfwUcP7roluKQ6yL4Sz6dNTGzg0xbJSG992cxJze\nq7au\r\n=O8u9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/bundle/index.mjs","engines":{"node":">=12"},"exports":{".":{"import":"./dist/esm/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"17e835f39ec34aaf70639d27f11a84e25353e446","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"git ls-files --exclude-standard --ignored --others --directory | grep -vE '^((\\.(env|vscode|husky))|next-env\\.d\\.ts|node_modules)($|\\/)' | xargs -p rm -rf","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && prettier --write '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && if [ -z \"$ALLOW_DISABLED_LINKS\" ] && grep -qR --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; then echo '---\nWARNING: disabled links were found in the following files:'; grep -R --color=always --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; echo '(to ignore this error, run this command again with ALLOW_DISABLED_LINKS=1)'; exit 1; fi","prepare":"if [ -z \"$CI\" ] && ([ -z \"$NODE_ENV\" ] || [ \"$NODE_ENV\" = \"development\" ]); then husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts*' --collectCoverageFrom 'lib/**/*.ts*' --collectCoverageFrom 'external-scripts/**/*.ts*' --testPathIgnorePatterns test/integration-*.test.ts* dist","build-dist":"if [ -r ./next.config.js ]; then next build; else NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name cjs && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli && chmod +x ./dist/cli.js; fi && NODE_ENV=esm webpack --config-name esm && NODE_ENV=bundle babel src --extensions .ts --out-dir dist/bundle --out-file-extension .mjs; fi","build-docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md; fi && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`/`\\(destructured\\)`/g' {} + && find docs -name '*.md' -exec sed -i -E 's/`__namedParameters\\.([^`]+)`/`\\({ \\1 }\\)`/g' {} +","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --config conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-repeat-all":"npm run __test-repeat-all --silent","test-integration":"BABEL_ENV=test jest $JEST_CLI test/integration-*.test.ts* --testPathIgnorePatterns dist test/unit-*.test.ts","test-repeat-unit":"npm run __test-repeat-unit --silent","__test-repeat-all":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter || exit; done) && echo \"All tests passed! Congrats!\"","__test-repeat-unit":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter --testPathIgnorePatterns test/integration-*.test.ts dist || exit; done) && echo \"All tests passed! Congrats!\"","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts* --testPathIgnorePatterns dist","test-integration-client":"BABEL_ENV=test jest $JEST_CLI test/integration-client*.test.ts* --testPathIgnorePatterns dist","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-external*.test.ts* --testPathIgnorePatterns dist"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"7.24.2","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"17.2.0","dependencies":{"cookie":"^0.4.1","node-fetch":"^2.6.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","glob":"^7.2.0","jest":"^27.4.5","debug":"^4.3.3","execa":"^5.1.1","husky":"^7.0.4","dotenv":"^10.0.0","eslint":"^8.4.1","semver":"^7.3.5","mongodb":"^4.2.2","typedoc":"^0.22.10","webpack":"^5.65.0","prettier":"^2.5.1","type-fest":"^2.8.0","@babel/cli":"^7.16.0","babel-jest":"^27.4.5","remark-cli":"^10.0.1","remark-gfm":"^3.0.1","simple-git":"^2.48.0","strip-ansi":"^6.0.1","typescript":"4.5.x","@babel/core":"^7.16.5","@types/jest":"^27.0.3","@types/node":"^17.0.0","jest-circus":"^27.4.5","lint-staged":"^12.1.2","webpack-cli":"^4.9.1","@types/debug":"^4.1.7","babel-loader":"^8.2.3","spellchecker":"^3.7.1","@octokit/rest":"^18.12.0","@types/cookie":"^0.4.1","@types/semver":"^7.3.9","jest-extended":"^1.2.0","@types/webpack":"^5.28.0","edit-json-file":"^1.6.2","@commitlint/cli":"^15.0.0","@ergodark/types":"^1.0.17","text-extensions":"^2.4.0","toss-expression":"^0.1.0","unique-filename":"^1.1.1","semantic-release":"github:xunnamius/semantic-release","@babel/preset-env":"^7.16.5","@types/node-fetch":"^2.5.12","find-package-json":"^1.2.0","sort-package-json":"github:xunnamius/sort-package-json","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^25.3.0","remark-frontmatter":"^4.0.1","source-map-support":"^0.5.21","@babel/eslint-parser":"^7.16.5","eslint-plugin-import":"^2.25.3","@semantic-release/git":"^10.0.1","@types/edit-json-file":"^1.6.1","remark-validate-links":"^11.0.2","@semantic-release/exec":"^6.0.3","remark-reference-links":"^6.0.1","webpack-node-externals":"^3.0.0","typedoc-plugin-markdown":"^3.11.7","@babel/preset-typescript":"^7.16.5","@types/find-package-json":"^1.2.2","@typescript-eslint/parser":"^5.7.0","confusing-browser-globals":"^1.0.11","remark-lint-final-newline":"^2.1.1","conventional-changelog-cli":"^2.1.1","@semantic-release/changelog":"^6.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^3.1.1","remark-lint-no-inline-padding":"^4.1.1","@commitlint/config-conventional":"^15.0.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.7.0","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^2.5.0","remark-lint-no-unused-definitions":"^3.1.1","remark-lint-no-undefined-references":"^4.1.1","@babel/plugin-proposal-function-bind":"^7.16.5","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^3.1.1","remark-lint-no-heading-content-indent":"^4.1.1","remark-lint-ordered-list-marker-style":"^3.1.1","babel-plugin-explicit-exports-references":"^1.0.1","remark-lint-no-blockquote-without-marker":"^5.1.1","remark-lint-no-auto-link-without-protocol":"^3.1.1","@babel/plugin-proposal-export-default-from":"^7.16.5","@xunnamius/conventional-changelog-projector":"^1.1.1","babel-plugin-transform-default-named-imports":"^1.2.1","@babel/plugin-proposal-nullish-coalescing-operator":"^7.16.5"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_3.0.0_1639751692764_0.906900562270234","host":"s3://npm-registry-packages"}},"3.0.1":{"name":"next-test-api-route-handler","version":"3.0.1","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@3.0.1","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"ea3962f375bf7a875d581b03b5b8952e46372f38","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-3.0.1.tgz","fileCount":9,"integrity":"sha512-bVNyK/fP8Ki0v2PFdfrqITmVdFg2LKMaEh8uhGX55cchiuEDe06vmHMVSCXQNUZEd2qyZdf06NIu4M9GF53J/Q==","signatures":[{"sig":"MEQCIFjcHmUpT9dyyogzzLxw29Ej1tKkwnhTeUND7K5d9hlGAiANn7LK8t2XhauAp/BbCvr6vjdmf684zuB2q5VInGpQTw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":99671,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhyhb7CRA9TVsSAnZWagAA7PEQAJ6mm/+0sYz0VbVKjDc0\n/5Qe5dZv/QktZlX5tePLi6YHxL8oBQUdiqY8/hI2M3hrE9opcMzKSDnz5F5P\n99pgpp2jlH0bZRE+m5KnZkD6aOZcfQT1ac5hMK4n7qpwosfTZDmIVVflJcpQ\nQ6Ko5axxnyz/qGjOpWZOr0YEX4SgfiMOu/ADcZlZX4V1UMiIHqPnizUpU4gD\nq8J7EAMbbxC8K/QDzxEQXDV+Mw6aEznmcyBmwZCY8ZEgpRTPjNeuw1Sbc0P7\nSezT0VnasJLDmoQs50RJAfWS1gkZDmXdLcPH7w3nrGt0gdn/nT1R8dGhVCv+\nf7/Iy4ePLY5CqYyegCAwMo+ZOobEl58TstdSlMtiR5Xco9wOWhrGwr1DoJPY\nsq67vt5ZXRIaZdZygMoEZZK2TngVKmVsh+SMMoArxiXi0oR2ArK84rcS1eRi\nQ0ftJYN2cmjg/lN4xJw4KhdHt80amUULtJDrBNTpluKR+D0HMRh6DNmwC2iB\nnbxCyVw31SKkgU+a0jRVcsH840oOGBZkptcbysrIGFcNNkN5pONuGELDaGCs\nvIfGhahwQLmTxWx1+/NvVMAALnPdOtqDYSfOi4G3/ZvclaV08ZzWipnVvFAx\n3O8uneTz7JznjiSAod5ax9pewkf1mkdrn3H5eEW3OJPL/kb+CcmIhZBHVCMz\nguA9\r\n=xlnD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/bundle/index.mjs","engines":{"node":">=12"},"exports":{".":{"import":"./dist/esm/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"83daa014e2cda62333e65b11ad2a811771793927","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"git ls-files --exclude-standard --ignored --others --directory | grep -vE '^((\\.(env|vscode|husky))|next-env\\.d\\.ts|node_modules)($|\\/)' | xargs -p rm -rf","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && prettier --write '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && if [ -z \"$ALLOW_DISABLED_LINKS\" ] && grep -qR --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; then echo '---\nWARNING: disabled links were found in the following files:'; grep -R --color=always --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; echo '(to ignore this error, run this command again with ALLOW_DISABLED_LINKS=1)'; exit 1; fi","prepare":"if [ -z \"$CI\" ] && ([ -z \"$NODE_ENV\" ] || [ \"$NODE_ENV\" = \"development\" ]); then husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts*' --collectCoverageFrom 'lib/**/*.ts*' --collectCoverageFrom 'external-scripts/**/*.ts*' --testPathIgnorePatterns test/integration-*.test.ts* dist","build-dist":"if [ -r ./next.config.js ]; then next build; else NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name cjs && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli && chmod +x ./dist/cli.js; fi && NODE_ENV=esm webpack --config-name esm && NODE_ENV=bundle babel src --extensions .ts --out-dir dist/bundle --out-file-extension .mjs; fi","build-docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md; fi && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`/`\\(destructured\\)`/g' {} + && find docs -name '*.md' -exec sed -i -E 's/`__namedParameters\\.([^`]+)`/`\\({ \\1 }\\)`/g' {} +","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --config conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-repeat-all":"npm run __test-repeat-all --silent","test-integration":"BABEL_ENV=test jest $JEST_CLI test/integration-*.test.ts* --testPathIgnorePatterns dist test/unit-*.test.ts","test-repeat-unit":"npm run __test-repeat-unit --silent","__test-repeat-all":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter || exit; done) && echo \"All tests passed! Congrats!\"","__test-repeat-unit":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter --testPathIgnorePatterns test/integration-*.test.ts dist || exit; done) && echo \"All tests passed! Congrats!\"","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts* --testPathIgnorePatterns dist","test-integration-client":"BABEL_ENV=test jest $JEST_CLI test/integration-client*.test.ts* --testPathIgnorePatterns dist","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-external*.test.ts* --testPathIgnorePatterns dist"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"7.24.2","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"17.3.0","dependencies":{"cookie":"^0.4.1","node-fetch":"^2.6.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","glob":"^7.2.0","jest":"^27.4.5","debug":"^4.3.3","execa":"^5.1.1","husky":"^7.0.4","dotenv":"^10.0.0","eslint":"^8.5.0","semver":"^7.3.5","mongodb":"^4.2.2","typedoc":"^0.22.10","webpack":"^5.65.0","prettier":"^2.5.1","type-fest":"^2.8.0","@babel/cli":"^7.16.0","babel-jest":"^27.4.5","remark-cli":"^10.0.1","remark-gfm":"^3.0.1","simple-git":"^2.48.0","strip-ansi":"^6.0.1","typescript":"4.5.x","@babel/core":"^7.16.5","@types/jest":"^27.0.3","@types/node":"^17.0.5","jest-circus":"^27.4.5","lint-staged":"^12.1.4","webpack-cli":"^4.9.1","@types/debug":"^4.1.7","babel-loader":"^8.2.3","spellchecker":"^3.7.1","@octokit/rest":"^18.12.0","@types/cookie":"^0.4.1","@types/semver":"^7.3.9","jest-extended":"^1.2.0","@types/webpack":"^5.28.0","edit-json-file":"^1.7.0","@commitlint/cli":"^16.0.0","@ergodark/types":"^1.0.17","text-extensions":"^2.4.0","toss-expression":"^0.1.0","unique-filename":"^1.1.1","semantic-release":"github:xunnamius/semantic-release","@babel/preset-env":"^7.16.5","@types/node-fetch":"^2.5.12","find-package-json":"^1.2.0","sort-package-json":"^1.53.1","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^25.3.0","remark-frontmatter":"^4.0.1","source-map-support":"^0.5.21","@babel/eslint-parser":"^7.16.5","eslint-plugin-import":"^2.25.3","@semantic-release/git":"^10.0.1","@types/edit-json-file":"^1.6.1","remark-validate-links":"^11.0.2","@semantic-release/exec":"^6.0.3","remark-reference-links":"^6.0.1","webpack-node-externals":"^3.0.0","typedoc-plugin-markdown":"^3.11.8","@babel/preset-typescript":"^7.16.5","@types/find-package-json":"^1.2.2","@typescript-eslint/parser":"^5.8.1","confusing-browser-globals":"^1.0.11","remark-lint-final-newline":"^2.1.1","conventional-changelog-cli":"^2.2.2","@semantic-release/changelog":"^6.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^3.1.1","remark-lint-no-inline-padding":"^4.1.1","@commitlint/config-conventional":"^16.0.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.8.1","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^2.5.0","remark-lint-no-unused-definitions":"^3.1.1","remark-lint-no-undefined-references":"^4.1.1","@babel/plugin-proposal-function-bind":"^7.16.5","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^3.1.1","remark-lint-no-heading-content-indent":"^4.1.1","remark-lint-ordered-list-marker-style":"^3.1.1","babel-plugin-explicit-exports-references":"^1.0.1","remark-lint-no-blockquote-without-marker":"^5.1.1","remark-lint-no-auto-link-without-protocol":"^3.1.1","@babel/plugin-proposal-export-default-from":"^7.16.5","@xunnamius/conventional-changelog-projector":"^1.1.1","babel-plugin-transform-default-named-imports":"^1.2.1","@babel/plugin-proposal-nullish-coalescing-operator":"^7.16.5"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_3.0.1_1640634107794_0.8511205379762927","host":"s3://npm-registry-packages"}},"3.0.2":{"name":"next-test-api-route-handler","version":"3.0.2","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@3.0.2","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"8c6280198c3c25cb0a4d6771db31e69cdbd2d382","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-3.0.2.tgz","fileCount":9,"integrity":"sha512-CxEvqaI0inOWwrFopTLlfLjDsfYm46VCwgyvWYc+iJ5bApW78IvD2QizKLdqiN907BM3XGaHKbp/N6XsXAEZGA==","signatures":[{"sig":"MEQCIFk+MAUDbM6WRtENkQebFANwilMMO37tgDJVHnDiS8FrAiBXDPE35WJkQWhtY0u8x52m1fXoI0OoXbIZLOUsdHEdAQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":99604,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh02nfCRA9TVsSAnZWagAA9IEP/ivxRzsTJ4z8ygnhTDbU\nn/IOOGRI94i6zCql4XIFl0aPJsd2E87RX1eplfQcb+tggPqaZn9OhBCuXlq2\nymRuYnYBhq7cw1ybMG3PHJg6BkqxUSTYtKsoS+cMZjWt5mBWfqSbESqoQ+4P\nWXnud1NXQDr27tMGiXbgwpPgmBIm4u5/sud375iXY0y7apgCBd6djfMZUEU3\nQ6vHfCpvJJS9c/+Ncul92u5t+DNvm9Kz1KqwDFvPfeRPe++jjcfaQ2Qk6Zbi\ncT307+pkGGXRdOTFA+yMnILY/shLwvFj+KrPuwemZ9PwB5zN2PCd2xCfX7Fs\nEz/Q/3SbsAysABgCo+fIoIer1d2Y0Gp/yJVzdb66prytDED9GGE6eBKq605B\nF91EzP1Z3SrLHm4mSwxTgKtqmsd6wcjXF47IpW+f7ZPA5DKLppP7b1p17Vv9\nFdUnzMuLYbXRxDmrcweZaIFwTqTF30J2KJ3O35x4wcCVY368xEOmeGcShKA9\n/pc3YEPOtsSdZk5Ba61dmTinqXpmvNmbRnrZrpORRIKoSdu9+RDNqtjyc11w\nmcblUrJw7kN33TU85Qt9eKL9DIIqqNDCYUF2xqXhqAIBB436GToSEnWdzKsu\nxZykKSE53uSSEC3AXbKZvfqfCamuu+7wBnQY22sjTAYLEDqWJA2b3Ovh1zE7\n2/OP\r\n=p35B\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/bundle/index.mjs","engines":{"node":">=12"},"exports":{".":{"import":"./dist/esm/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"3d1fb8c985020a82bd99a62e89e3f7972b0412f3","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"git ls-files --exclude-standard --ignored --others --directory | grep -vE '^((\\.(env|vscode|husky))|next-env\\.d\\.ts|node_modules)($|\\/)' | xargs -p rm -rf","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && prettier --write '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && if [ -z \"$ALLOW_DISABLED_LINKS\" ] && grep -qR --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; then echo '---\nWARNING: disabled links were found in the following files:'; grep -R --color=always --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; echo '(to ignore this error, run this command again with ALLOW_DISABLED_LINKS=1)'; exit 1; fi","prepare":"if [ -z \"$CI\" ] && ([ -z \"$NODE_ENV\" ] || [ \"$NODE_ENV\" = \"development\" ]); then husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts*' --collectCoverageFrom 'lib/**/*.ts*' --collectCoverageFrom 'external-scripts/**/*.ts*' --testPathIgnorePatterns test/integration-*.test.ts* dist","build-dist":"if [ -r ./next.config.js ]; then next build; else NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name cjs && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli && chmod +x ./dist/cli.js; fi && NODE_ENV=esm webpack --config-name esm && NODE_ENV=bundle babel src --extensions .ts --out-dir dist/bundle --out-file-extension .mjs; fi","build-docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md; fi && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`/`\\(destructured\\)`/g' {} + && find docs -name '*.md' -exec sed -i -E 's/`__namedParameters\\.([^`]+)`/`\\({ \\1 }\\)`/g' {} +","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --config conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-repeat-all":"npm run __test-repeat-all --silent","test-integration":"BABEL_ENV=test jest $JEST_CLI test/integration-*.test.ts* --testPathIgnorePatterns dist test/unit-*.test.ts","test-repeat-unit":"npm run __test-repeat-unit --silent","__test-repeat-all":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter || exit; done) && echo \"All tests passed! Congrats!\"","__test-repeat-unit":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter --testPathIgnorePatterns test/integration-*.test.ts dist || exit; done) && echo \"All tests passed! Congrats!\"","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts* --testPathIgnorePatterns dist","test-integration-client":"BABEL_ENV=test jest $JEST_CLI test/integration-client*.test.ts* --testPathIgnorePatterns dist","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-external*.test.ts* --testPathIgnorePatterns dist"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"7.24.2","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"17.3.0","dependencies":{"cookie":"^0.4.1","node-fetch":"^2.6.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","glob":"^7.2.0","jest":"^27.4.5","debug":"^4.3.3","execa":"^5.1.1","husky":"^7.0.4","dotenv":"^10.0.0","eslint":"^8.6.0","semver":"^7.3.5","mongodb":"^4.2.2","typedoc":"^0.22.10","webpack":"^5.65.0","prettier":"^2.5.1","type-fest":"^2.8.0","@babel/cli":"^7.16.7","babel-jest":"^27.4.5","remark-cli":"^10.0.1","remark-gfm":"^3.0.1","simple-git":"^2.48.0","strip-ansi":"^6.0.1","typescript":"4.5.x","@babel/core":"^7.16.7","@types/jest":"^27.4.0","@types/node":"^17.0.7","jest-circus":"^27.4.5","lint-staged":"^12.1.5","webpack-cli":"^4.9.1","@types/debug":"^4.1.7","babel-loader":"^8.2.3","spellchecker":"^3.7.1","@octokit/rest":"^18.12.0","@types/cookie":"^0.4.1","@types/semver":"^7.3.9","jest-extended":"^1.2.0","@types/webpack":"^5.28.0","edit-json-file":"^1.7.0","@commitlint/cli":"^16.0.1","@ergodark/types":"^1.0.17","text-extensions":"^2.4.0","toss-expression":"^0.1.0","unique-filename":"^1.1.1","semantic-release":"github:xunnamius/semantic-release","@babel/preset-env":"^7.16.7","@types/node-fetch":"^2.5.12","find-package-json":"^1.2.0","sort-package-json":"^1.53.1","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^25.3.4","remark-frontmatter":"^4.0.1","source-map-support":"^0.5.21","@babel/eslint-parser":"^7.16.5","eslint-plugin-import":"^2.25.4","@semantic-release/git":"^10.0.1","@types/edit-json-file":"^1.6.1","remark-validate-links":"^11.0.2","@semantic-release/exec":"^6.0.3","remark-reference-links":"^6.0.1","webpack-node-externals":"^3.0.0","typedoc-plugin-markdown":"^3.11.8","@babel/preset-typescript":"^7.16.7","@types/find-package-json":"^1.2.2","@typescript-eslint/parser":"^5.9.0","confusing-browser-globals":"^1.0.11","remark-lint-final-newline":"^2.1.1","conventional-changelog-cli":"^2.2.2","@semantic-release/changelog":"^6.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^3.1.1","remark-lint-no-inline-padding":"^4.1.1","@commitlint/config-conventional":"^16.0.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.9.0","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^2.5.0","remark-lint-no-unused-definitions":"^3.1.1","remark-lint-no-undefined-references":"^4.1.1","@babel/plugin-proposal-function-bind":"^7.16.7","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^3.1.1","remark-lint-no-heading-content-indent":"^4.1.1","remark-lint-ordered-list-marker-style":"^3.1.1","babel-plugin-explicit-exports-references":"^1.0.1","remark-lint-no-blockquote-without-marker":"^5.1.1","remark-lint-no-auto-link-without-protocol":"^3.1.1","@babel/plugin-proposal-export-default-from":"^7.16.7","@xunnamius/conventional-changelog-projector":"^1.1.1","babel-plugin-transform-default-named-imports":"^1.2.1","@babel/plugin-proposal-nullish-coalescing-operator":"^7.16.7"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_3.0.2_1641245151511_0.21436449973068816","host":"s3://npm-registry-packages"}},"3.0.3":{"name":"next-test-api-route-handler","version":"3.0.3","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@3.0.3","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"56dad15c77db04841c0a740bb81ddcf28fadebff","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-3.0.3.tgz","fileCount":9,"integrity":"sha512-6ry/b6c9xb0j/14n5xMXb0+ecNsCXTKtw/DTseSGdED4ewoWbdY6lFkYBrqoUwJIC9MyxssCuVAw8IWEnBIt3w==","signatures":[{"sig":"MEYCIQCQBupfClpI5cJSRdrVr17Tj9OShZ0e7PXCLqfHsClbPQIhANbtWKQxzSTOMXSSloR76h+7XNlRHl8uXr5BRboFXcg7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":100097,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/eheCRA9TVsSAnZWagAAD6EP/0kZTFDDZg5aBRyRnXRG\nP9ZjDalw9gs86gjlbDq77kwnrlypRSA4rZbqp5SCZbqjw3TChIzaGOsQjxCs\n3MWTc8la1TxBKJKH5vyelaxSZgIpqsvvCRsAdznRFq2LlLoPXCGCy6Eh+Eqn\nBwk+CqqITeBP7/hHEiywPxW1mKZeHrr9aIBc34MnbUJ6EwpcHH7rUHlHTJzN\nL7GXQ2lTMmfLPpe7gVHfRRvhymxoEfq7ZfH688s8Dzis+vLKvqbN6QhCxCQ9\n98PB/QiUaIZ7f4mILSPuK64htSfa4QEDi847Hh5kgxsWrOdN+EsFWPWB66ja\nSln71bnE8fqG7rjCu4uUXrRxjRvEhQ+/LEh++y5g8SNNqFTM2zNM8hhU6q+T\niP5ZiCFS3IDx/Re0J89RKxN3Qj+L5Bi35F07iQwSHOanjAWKiJZ4u5vO4NDL\nl/QO8WGD6EUlX/IPZx/1/x9o5qMm/AW2UNe504TbRarDR8mQA7uwQrRK278+\nzqnn7mg7ybnM1VC9RGLlFX5xC3BDBxW1yU9g7BN185QkmQzyxfLzL1BCHKi8\nSpgRAeRLVIhwUbMWZWBQ8tgA1lLgcWZf38ByE39jmb3sfTTEuUcqjO+rrlt0\nHyxapTMLmtq8OrWDq8HN76jDx0EliZvBHmk69iEoi0/ALKzGb2UQEv3RUXaZ\nE5x3\r\n=w8HB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/bundle/index.mjs","engines":{"node":">=12"},"exports":{".":{"import":"./dist/esm/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"0a29e9baabc6be3c3c3d745c42a1c735b283a8da","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"git ls-files --exclude-standard --ignored --others --directory | grep -vE '^((\\.(env|vscode|husky))|next-env\\.d\\.ts|node_modules)($|\\/)' | xargs -p rm -rf","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && prettier --write '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && if [ -z \"$ALLOW_DISABLED_LINKS\" ] && grep -qR --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; then echo '---\nWARNING: disabled links were found in the following files:'; grep -R --color=always --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; echo '(to ignore this error, run this command again with ALLOW_DISABLED_LINKS=1)'; exit 1; fi","prepare":"if [ -z \"$CI\" ] && ([ -z \"$NODE_ENV\" ] || [ \"$NODE_ENV\" = \"development\" ]); then husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts*' --collectCoverageFrom 'lib/**/*.ts*' --collectCoverageFrom 'external-scripts/**/*.ts*' --testPathIgnorePatterns test/integration-*.test.ts* dist","build-dist":"if [ -r ./next.config.js ]; then next build; else NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name cjs && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli && chmod +x ./dist/cli.js; fi && NODE_ENV=esm webpack --config-name esm && NODE_ENV=bundle babel src --extensions .ts --out-dir dist/bundle --out-file-extension .mjs; fi","build-docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md; fi && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`/`\\(destructured\\)`/g' {} + && find docs -name '*.md' -exec sed -i -E 's/`__namedParameters\\.([^`]+)`/`\\({ \\1 }\\)`/g' {} +","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --config conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-repeat-all":"npm run __test-repeat-all --silent","test-integration":"BABEL_ENV=test jest $JEST_CLI test/integration-*.test.ts* --testPathIgnorePatterns dist test/unit-*.test.ts","test-repeat-unit":"npm run __test-repeat-unit --silent","__test-repeat-all":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter || exit; done) && echo \"All tests passed! Congrats!\"","__test-repeat-unit":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter --testPathIgnorePatterns test/integration-*.test.ts dist || exit; done) && echo \"All tests passed! Congrats!\"","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts* --testPathIgnorePatterns dist","test-integration-client":"BABEL_ENV=test jest $JEST_CLI test/integration-client*.test.ts* --testPathIgnorePatterns dist","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-external*.test.ts* --testPathIgnorePatterns dist"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"8.3.1","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"17.4.0","dependencies":{"cookie":"^0.4.2","node-fetch":"^2.6.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","glob":"^7.2.0","jest":"^27.4.7","debug":"^4.3.3","execa":"^5.1.1","husky":"^7.0.4","dotenv":"^16.0.0","eslint":"^8.8.0","semver":"^7.3.5","mongodb":"^4.3.1","typedoc":"^0.22.11","webpack":"^5.68.0","prettier":"^2.5.1","type-fest":"^2.11.1","@babel/cli":"^7.17.0","babel-jest":"^27.4.6","remark-cli":"^10.0.1","remark-gfm":"^3.0.1","simple-git":"^3.1.1","strip-ansi":"^6.0.1","typescript":"4.5.x","@babel/core":"^7.17.0","@types/jest":"^27.4.0","@types/node":"^17.0.15","jest-circus":"^27.4.6","lint-staged":"^12.3.3","webpack-cli":"^4.9.2","@types/debug":"^4.1.7","babel-loader":"^8.2.3","spellchecker":"^3.7.1","@octokit/rest":"^18.12.0","@types/cookie":"^0.4.1","@types/semver":"^7.3.9","jest-extended":"^2.0.0","@types/webpack":"^5.28.0","edit-json-file":"^1.7.0","@commitlint/cli":"^16.1.0","@ergodark/types":"^1.0.17","text-extensions":"^2.4.0","toss-expression":"^0.1.1","unique-filename":"^1.1.1","semantic-release":"github:xunnamius/semantic-release","@babel/preset-env":"^7.16.11","@types/node-fetch":"^2.5.12","find-package-json":"^1.2.0","sort-package-json":"^1.54.0","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^26.0.0","remark-frontmatter":"^4.0.1","source-map-support":"^0.5.21","@babel/eslint-parser":"^7.17.0","eslint-plugin-import":"^2.25.4","@semantic-release/git":"^10.0.1","@types/edit-json-file":"^1.7.0","remark-validate-links":"^11.0.2","@semantic-release/exec":"^6.0.3","remark-reference-links":"^6.0.1","webpack-node-externals":"^3.0.0","typedoc-plugin-markdown":"^3.11.13","@babel/preset-typescript":"^7.16.7","@types/find-package-json":"^1.2.2","@typescript-eslint/parser":"^5.10.2","confusing-browser-globals":"^1.0.11","remark-lint-final-newline":"^2.1.1","conventional-changelog-cli":"^2.2.2","@semantic-release/changelog":"^6.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^3.1.1","remark-lint-no-inline-padding":"^4.1.1","@commitlint/config-conventional":"^16.0.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.10.2","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^2.5.0","remark-lint-no-unused-definitions":"^3.1.1","remark-lint-no-undefined-references":"^4.1.1","@babel/plugin-proposal-function-bind":"^7.16.7","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^3.1.1","remark-lint-no-heading-content-indent":"^4.1.1","remark-lint-ordered-list-marker-style":"^3.1.1","babel-plugin-explicit-exports-references":"^1.0.2","remark-lint-no-blockquote-without-marker":"^5.1.1","remark-lint-no-auto-link-without-protocol":"^3.1.1","@babel/plugin-proposal-export-default-from":"^7.16.7","@xunnamius/conventional-changelog-projector":"^1.1.1","babel-plugin-transform-default-named-imports":"^1.2.2","@babel/plugin-proposal-nullish-coalescing-operator":"^7.16.7"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_3.0.3_1644030046476_0.6724856938984844","host":"s3://npm-registry-packages"}},"3.1.0":{"name":"next-test-api-route-handler","version":"3.1.0","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@3.1.0","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"ca246501e75419b45ae3b8af55d788e3757bdb8e","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-3.1.0.tgz","fileCount":9,"integrity":"sha512-uU3xMd9d2HHvOrAZeJbYnhxvneKwCidYJGW+3FrHj3NRAMujVFi96N3uyk5hni5vFMe1IrEFLiSYiLWQOR2uTg==","signatures":[{"sig":"MEQCIFcwPRAHxD4r+V5Eu9HIOIfsIq5qF9EB1JxZYNXORxNlAiByL8Vl1kJsf4+Z/rcpWIBCz7vRVgj+n6sby417Go0rqA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":100913,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiBizsCRA9TVsSAnZWagAAWzMP/A6483FwwKUq812Rqk2b\ndaZxbh6NKCVOsCLx4eDkHTX5QClPEZMluwgghyQClPWm91kPx84XD5fECy9O\n5CTdq8afJb703DNnoXDjALokl0/MQjar3IIkTWQwSVa+nXbRw2T1RWWc+lM3\n1MJy5Pjg6Knq7zRWvHvVC0gzGeVsuJt550os1er4SaZTZ25EKy70TnUW2hbx\n0sC2D+90IDaKl8xhdxR5JpQJTmz+KExqptUOHQopSkoYgPMXRUDaDTzlbSKX\nh+q95sr4cMd/FdQtCpuXDc9U4R/EzxsKtty6coLogCNxU+cJVbEywwjkTJZF\ndAJHN79vuc8vh7+3m3A/O4eMzXEt0jDgu4tawUa1ZL2Eus4OA7XVez4+3Tho\ny4OLm5Uwvco3oxE6sXT2FbEGZqnJIeNXwDtqQkbM4/dJ5uDvqddEq4hQUbU+\nZOoL9+WNFbHS0hG6SFzfvH3qYu//esslhyzAEMEbuXiNRL/S7ex790hNe6F6\nBlRObF5lb6M76Zli6x2YThrsJZuhhNvtr8TrmVkUekUZQfcusrZa0v8Z+wgb\njyOiD+kPc3xkQ5JDD08s148k9oNxCYMBDZy3OyF1mJHo2lgi/7ZeNvbiDytO\nsGeFedJEu6KAa28PVLIiFWtfij3ab3OdIn2LQFKDtb7B+yZGBTz+agWFcY/d\nyxXM\r\n=FrB0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/bundle/index.mjs","engines":{"node":">=12"},"exports":{".":{"import":"./dist/esm/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"f73b3b18285b5f0775d0568dd8d686d117e5ff48","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"git ls-files --exclude-standard --ignored --others --directory | grep -vE '^((\\.(env|vscode|husky))|next-env\\.d\\.ts|node_modules)($|\\/)' | xargs -p rm -rf","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && prettier --write '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && if [ -z \"$ALLOW_DISABLED_LINKS\" ] && grep -qR --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; then echo '---\nWARNING: disabled links were found in the following files:'; grep -R --color=always --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; echo '(to ignore this error, run this command again with ALLOW_DISABLED_LINKS=1)'; exit 1; fi","prepare":"if [ -z \"$CI\" ] && ([ -z \"$NODE_ENV\" ] || [ \"$NODE_ENV\" = \"development\" ]); then husky install; else echo 'skipped installing husky git hooks'; fi","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts*' --collectCoverageFrom 'lib/**/*.ts*' --collectCoverageFrom 'external-scripts/**/*.ts*' --testPathIgnorePatterns test/integration-*.test.ts* dist","build-dist":"if [ -r ./next.config.js ]; then next build; else NODE_ENV=production tsc --project tsconfig.types.json && NODE_ENV=production webpack --config-name cjs && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli && chmod +x ./dist/cli.js; fi && NODE_ENV=esm webpack --config-name esm && NODE_ENV=bundle babel src --extensions .ts --out-dir dist/bundle --out-file-extension .mjs; fi","build-docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md; fi && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`/`\\(destructured\\)`/g' {} + && find docs -name '*.md' -exec sed -i -E 's/`__namedParameters\\.([^`]+)`/`\\({ \\1 }\\)`/g' {} +","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --config conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-repeat-all":"npm run __test-repeat-all --silent","test-integration":"BABEL_ENV=test jest $JEST_CLI test/integration-*.test.ts* --testPathIgnorePatterns dist test/unit-*.test.ts","test-repeat-unit":"npm run __test-repeat-unit --silent","__test-repeat-all":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter || exit; done) && echo \"All tests passed! Congrats!\"","__test-repeat-unit":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter --testPathIgnorePatterns test/integration-*.test.ts dist || exit; done) && echo \"All tests passed! Congrats!\"","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts* --testPathIgnorePatterns dist","test-integration-client":"BABEL_ENV=test jest $JEST_CLI test/integration-client*.test.ts* --testPathIgnorePatterns dist","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-external*.test.ts* --testPathIgnorePatterns dist"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"8.5.0","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"17.4.0","dependencies":{"cookie":"^0.4.2","node-fetch":"^2.6.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","glob":"^7.2.0","jest":"^27.5.1","debug":"^4.3.3","execa":"^5.1.1","husky":"^7.0.4","dotenv":"^16.0.0","eslint":"^8.8.0","semver":"^7.3.5","mongodb":"^4.3.1","typedoc":"^0.22.11","webpack":"^5.68.0","prettier":"^2.5.1","type-fest":"^2.11.2","@babel/cli":"^7.17.0","babel-jest":"^27.5.1","remark-cli":"^10.0.1","remark-gfm":"^3.0.1","simple-git":"^3.1.1","strip-ansi":"^6.0.1","typescript":"4.5.x","@babel/core":"^7.17.2","@types/jest":"^27.4.0","@types/node":"^17.0.17","jest-circus":"^27.5.1","lint-staged":"^12.3.3","webpack-cli":"^4.9.2","@types/debug":"^4.1.7","babel-loader":"^8.2.3","spellchecker":"^3.7.1","@octokit/rest":"^18.12.0","@types/cookie":"^0.4.1","@types/semver":"^7.3.9","jest-extended":"^2.0.0","@types/webpack":"^5.28.0","edit-json-file":"^1.7.0","@commitlint/cli":"^16.1.0","@ergodark/types":"^1.0.17","text-extensions":"^2.4.0","toss-expression":"^0.1.1","unique-filename":"^1.1.1","semantic-release":"https://xunn.at/semantic-release-atam","@babel/preset-env":"^7.16.11","@types/node-fetch":"^2.5.12","find-package-json":"^1.2.0","sort-package-json":"^1.54.0","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^26.1.0","remark-frontmatter":"^4.0.1","source-map-support":"^0.5.21","@babel/eslint-parser":"^7.17.0","eslint-plugin-import":"^2.25.4","@semantic-release/git":"^10.0.1","@types/edit-json-file":"^1.7.0","remark-validate-links":"^11.0.2","@semantic-release/exec":"^6.0.3","remark-reference-links":"^6.0.1","webpack-node-externals":"^3.0.0","typedoc-plugin-markdown":"^3.11.13","@babel/preset-typescript":"^7.16.7","@types/find-package-json":"^1.2.2","@typescript-eslint/parser":"^5.11.0","confusing-browser-globals":"^1.0.11","remark-lint-final-newline":"^2.1.1","conventional-changelog-cli":"^2.2.2","@semantic-release/changelog":"^6.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^3.1.1","remark-lint-no-inline-padding":"^4.1.1","@commitlint/config-conventional":"^16.0.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.11.0","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^2.5.0","remark-lint-no-unused-definitions":"^3.1.1","remark-lint-no-undefined-references":"^4.1.1","@babel/plugin-proposal-function-bind":"^7.16.7","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^3.1.1","remark-lint-no-heading-content-indent":"^4.1.1","remark-lint-ordered-list-marker-style":"^3.1.1","babel-plugin-explicit-exports-references":"^1.0.2","remark-lint-no-blockquote-without-marker":"^5.1.1","remark-lint-no-auto-link-without-protocol":"^3.1.1","@babel/plugin-proposal-export-default-from":"^7.16.7","@xunnamius/conventional-changelog-projector":"^1.1.1","babel-plugin-transform-default-named-imports":"^1.2.2","@babel/plugin-proposal-nullish-coalescing-operator":"^7.16.7"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_3.1.0_1644571884407_0.7564987109180639","host":"s3://npm-registry-packages"}},"3.1.1":{"name":"next-test-api-route-handler","version":"3.1.1","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@3.1.1","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"cea6f225d9b5285d18c7e7419c55043ab5fd51bb","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-3.1.1.tgz","fileCount":8,"integrity":"sha512-QHK8npH35GJHKY6j1GN3wGTsz1LYSpqCWlskrRl9+saQCn8CTsMG+XDxt7H16QcoJfq0BQVB33fXn44u/EZnKA==","signatures":[{"sig":"MEQCIFxRpOu95VmWUyTfQ1FBkMp65V4RKsbLXnJQ2LWf4C2AAiBGwnxTAnvpNu1YzHftyy7u2drMiiJj+1x85muDK77DWA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":57610,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiDx1ZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrygg/+KWHFl1v7YcmihKcpyuE4uV/694h7EPSJFpGc/IviraVA67vT\r\nOAx/44sA4+tA2GAUKlWuHEQpJBD9gOWuagIl40byR1TiJXio18XfTU+JTIcL\r\nFfJ0uLaNgnTHkgkrruJojyVetHsg9RJ5ud49Mh3O1rmN75msMDD9qg+7pg8B\r\nVVlCwFx3FbQe1on8iyiJbHPjSdFsUY5tPiHZBsHs+rGVVUEncZU24yBBV7Ui\r\nMMdCLEUuIvuvDoK3f63tl4Tf3GXkYsOtdvAKguX7L7rhWgz+44+IA6/tnAOF\r\nkGpFEqWwFBo5LRo/iJVg/qsxW7avRa4OFqgDr5JdTZ1g83yFSQI+q+3jDEJt\r\nPY/4zPlletiuWT4nlUSV+jTuK3iN1gn1+uU4orzXcDwn1hByHshN0QxcehB7\r\nd2lmp9gXN/Hdm1OtwiCK5YmOa+A7xPhtJBFgTOuYpE6eDuH6RiN8xJ0iaskZ\r\nabM7Y7ZKDDm4njD5QmM/LmGHzuY7ftX06nbMrzhPUzFukNS44TjQTl9GLwRk\r\nTklwVIgrZ+aBd/FLncUJvJfbkUpYG0u7xkQyHTIwTac11nQVZaWCgzDLNA8J\r\njBr3xRZD9hDz70mVzfF21nAGvfXyLhFggYOweSpzWnN90LXUF3eQ5QfQ8wWd\r\n63tSQ1WEhEw7QdVSOwTxrp/Hyba+L0MzrJU=\r\n=Fpho\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/bundle/index.mjs","engines":{"node":">=12"},"exports":{".":{"import":"./dist/esm/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"8b34907f9d51ad0b51702894c3bcd81a6727005c","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"git ls-files --exclude-standard --ignored --others --directory | grep -vE '^((\\.(env|vscode|husky))|next-env\\.d\\.ts|node_modules)($|\\/)' | xargs -p rm -rf","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && prettier --write '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && if [ -z \"$ALLOW_DISABLED_LINKS\" ] && grep -qR --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; then echo '---\nWARNING: disabled links were found in the following files:'; grep -R --color=always --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; echo '(to ignore this error, run this command again with ALLOW_DISABLED_LINKS=1)'; exit 1; fi","prepare":"if [ -z \"$CI\" ] && ([ -z \"$NODE_ENV\" ] || [ \"$NODE_ENV\" = \"development\" ]); then husky install; else echo 'skipped installing husky git hooks'; fi","lint-all":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.eslint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.eslint.json .; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test-all":"BABEL_ENV=test jest $JEST_CLI --coverage","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts*' --collectCoverageFrom 'lib/**/*.ts*' --collectCoverageFrom 'external-scripts/**/*.ts*' --testPathIgnorePatterns test/integration-*.test.ts* dist","build-dist":"if [ -r ./next.config.js ]; then next build; else NODE_ENV=production tsc --project tsconfig.types.json --incremental false && NODE_ENV=production webpack --config-name cjs && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli && chmod +x ./dist/cli.js; fi && NODE_ENV=esm webpack --config-name esm && NODE_ENV=bundle babel src --extensions .ts --out-dir dist/bundle --out-file-extension .mjs; fi","build-docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md; fi && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`/`\\(destructured\\)`/g' {} + && find docs -name '*.md' -exec sed -i -E 's/`__namedParameters\\.([^`]+)`/`\\({ \\1 }\\)`/g' {} +","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --config conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-repeat-all":"npm run __test-repeat-all --silent","test-integration":"BABEL_ENV=test jest $JEST_CLI test/integration-*.test.ts* --testPathIgnorePatterns dist test/unit-*.test.ts","test-repeat-unit":"npm run __test-repeat-unit --silent","__test-repeat-all":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter || exit; done) && echo \"All tests passed! Congrats!\"","__test-repeat-unit":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter --testPathIgnorePatterns test/integration-*.test.ts dist || exit; done) && echo \"All tests passed! Congrats!\"","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts* --testPathIgnorePatterns dist","test-integration-client":"BABEL_ENV=test jest $JEST_CLI test/integration-client*.test.ts* --testPathIgnorePatterns dist","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-external*.test.ts* --testPathIgnorePatterns dist"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"8.5.1","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"17.5.0","dependencies":{"cookie":"^0.4.2","node-fetch":"^2.6.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","glob":"^7.2.0","jest":"^27.5.1","debug":"^4.3.3","execa":"^5.1.1","husky":"^7.0.4","dotenv":"^16.0.0","eslint":"^8.9.0","semver":"^7.3.5","mongodb":"^4.4.0","typedoc":"^0.22.11","webpack":"^5.69.1","prettier":"^2.5.1","type-fest":"^2.11.2","@babel/cli":"^7.17.3","babel-jest":"^27.5.1","remark-cli":"^10.0.1","remark-gfm":"^3.0.1","simple-git":"^3.2.6","strip-ansi":"^6.0.1","typescript":"4.5.x","@babel/core":"^7.17.5","@types/jest":"^27.4.0","@types/node":"^17.0.18","jest-circus":"^27.5.1","lint-staged":"^12.3.4","webpack-cli":"^4.9.2","@types/debug":"^4.1.7","babel-loader":"^8.2.3","spellchecker":"^3.7.1","@octokit/rest":"^18.12.0","@types/cookie":"^0.4.1","@types/semver":"^7.3.9","jest-extended":"^2.0.0","@types/webpack":"^5.28.0","edit-json-file":"^1.7.0","@commitlint/cli":"^16.2.1","@ergodark/types":"^1.0.17","text-extensions":"^2.4.0","toss-expression":"^0.1.1","unique-filename":"^1.1.1","semantic-release":"https://xunn.at/semantic-release-atam","@babel/preset-env":"^7.16.11","@types/node-fetch":"^2.5.12","find-package-json":"^1.2.0","sort-package-json":"^1.54.0","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^26.1.1","remark-frontmatter":"^4.0.1","source-map-support":"^0.5.21","@babel/eslint-parser":"^7.17.0","eslint-plugin-import":"^2.25.4","@semantic-release/git":"^10.0.1","@types/edit-json-file":"^1.7.0","remark-validate-links":"^11.0.2","@semantic-release/exec":"^6.0.3","remark-reference-links":"^6.0.1","webpack-node-externals":"^3.0.0","typedoc-plugin-markdown":"^3.11.14","@babel/preset-typescript":"^7.16.7","@types/find-package-json":"^1.2.2","@typescript-eslint/parser":"^5.12.0","confusing-browser-globals":"^1.0.11","remark-lint-final-newline":"^2.1.1","conventional-changelog-cli":"^2.2.2","@semantic-release/changelog":"^6.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^3.1.1","remark-lint-no-inline-padding":"^4.1.1","@commitlint/config-conventional":"^16.2.1","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.12.0","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^2.5.0","remark-lint-no-unused-definitions":"^3.1.1","remark-lint-no-undefined-references":"^4.1.1","@babel/plugin-proposal-function-bind":"^7.16.7","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^3.1.1","remark-lint-no-heading-content-indent":"^4.1.1","remark-lint-ordered-list-marker-style":"^3.1.1","babel-plugin-explicit-exports-references":"^1.0.2","remark-lint-no-blockquote-without-marker":"^5.1.1","remark-lint-no-auto-link-without-protocol":"^3.1.1","@babel/plugin-proposal-export-default-from":"^7.16.7","@xunnamius/conventional-changelog-projector":"^1.1.1","babel-plugin-transform-default-named-imports":"^1.2.2","@babel/plugin-proposal-nullish-coalescing-operator":"^7.16.7"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_3.1.1_1645157721202_0.8570740253879354","host":"s3://npm-registry-packages"}},"4.0.0-canary.1":{"name":"next-test-api-route-handler","version":"4.0.0-canary.1","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@4.0.0-canary.1","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"c4a4819eb6865ef097c13ef9db0a0251b623f9b5","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-4.0.0-canary.1.tgz","fileCount":7,"integrity":"sha512-Qr71T8vi2LquQyVhNdoipjxV++lfY9PqGVSYmYEawyOMyPQvn9WGwgXAY1FgKI+4lCyJW4GHBL9eUO9zlG5QFQ==","signatures":[{"sig":"MEQCIDVeWZ0WzHXwsbme68ystBS2XOfLwILRlLyx76UZd8e6AiB4eq3Gf5hHQI11rWhGP+WDsQyt4eh43VwF9DBBga0Gkw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53299,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiD9keACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr8Ww/5AI5FloS4z0zsTXcueJ+RYKP+OFaGdz2Hhh4qsEu2/PHLE7LL\r\nBZ8YGMRmlDV1i3BdkaJHcEgXxK35dUhI/XWlpKPaJukWC0Tw9FSx3zcZSicJ\r\ncVqG+7befpft7OK/2HHyQIEAcXr8V+TE+MsCdwrUBo2hLVtAmA9VLYzDNHKr\r\n2JXQIdLzDkQP8S7l7QS8B30qGhL8BS0NbXdl0w+PIIexBhZG9WnZluv7Bofn\r\nbmhH/XECY7VAhjVCrwj8QEnz2zsqYouK57wgaB32o4+bYRcQ5m6+PLi4uktc\r\nMr+hAdgTXWQm44E+CGqdTHdsfeK9wvJm5atffIDOuj74xy6ZpiZEAZNjZh3C\r\nZ7z+xYmN5FoNxkb98glYAk650YUTRM8Gwyk0EPe3mLaXOsoqkaXEAm3fe0yo\r\nx7WjHBEj5iCWsuCnSc7CWJfcioa5MXMq88k4QUm+mqBuZf5AuBO6zPfburuI\r\nrSskIVarINCT/QZ1Ik01R8l+kENmLZmFxvTDvBU/rItTr7FnG/nga0VuwiHG\r\nv5wqdkDInSCxfeX7Hq25/AiOdFKcpdo2XLg8EnUsfNbw6FfVvUtD4T8rY/8W\r\nxhfDtGd+Yb7GOHNJhH3bTVew6Zexyvu/mICjmIRA2wQatvoXADpUESQNLTIF\r\ngcNazju0giO9q+xz663nCeW1WjAA8rKG8Xo=\r\n=qs6g\r\n-----END PGP SIGNATURE-----\r\n"},"type":"commonjs","engines":{"node":">=14.19.0"},"exports":{".":{"docs":"./src/index.ts","node":"./dist/cjs-static/index.js","types":"./dist/types/src/index.d.ts","module":"./dist/esm-shakable/index.mjs","default":"./dist/esm-shakable/index.mjs"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"9c9344c0fe7aaf6221ac44ea3dfbc8cd377aeefa","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"git ls-files --exclude-standard --ignored --others --directory | grep -vE '^((\\.(env|vscode|husky))|next-env\\.d\\.ts|node_modules)($|\\/)' | xargs -p rm -rf","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && prettier --write '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && if [ -z \"$ALLOW_DISABLED_LINKS\" ] && grep -qR --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; then echo '---\nWARNING: disabled links were found in the following files:'; grep -R --color=always --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; echo '(to ignore this error, run this command again with ALLOW_DISABLED_LINKS=1)'; exit 1; fi","prepare":"if [ -z \"$CI\" ] && ([ -z \"$NODE_ENV\" ] || [ \"$NODE_ENV\" = \"development\" ]); then husky install; else echo 'skipped installing husky git hooks'; fi","lint-all":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.eslint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.eslint.json .; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test-all":"BABEL_ENV=test jest $JEST_CLI --coverage","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts*' --collectCoverageFrom 'lib/**/*.ts*' --collectCoverageFrom 'external-scripts/**/*.ts*' --testPathIgnorePatterns test/integration-*.test.ts* dist","build-dist":"if [ -r ./next.config.js ]; then next build; else NODE_ENV=production tsc --project tsconfig.types.json --incremental false && NODE_ENV=production webpack --config-name cjs-static && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli && chmod +x ./dist/cli.js; fi && NODE_ENV=esm-shakable babel src --extensions .ts --out-dir dist/esm-shakable --out-file-extension .mjs; fi","build-docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"].docs))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md; fi && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`/`\\(destructured\\)`/g' {} + && find docs -name '*.md' -exec sed -i -E 's/`__namedParameters\\.([^`]+)`/`\\({ \\1 }\\)`/g' {} +","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --config conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-repeat-all":"npm run __test-repeat-all --silent","test-integration":"BABEL_ENV=test jest $JEST_CLI test/integration-*.test.ts* --testPathIgnorePatterns dist test/unit-*.test.ts","test-repeat-unit":"npm run __test-repeat-unit --silent","__test-repeat-all":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter || exit; done) && echo \"All tests passed! Congrats!\"","__test-repeat-unit":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter --testPathIgnorePatterns test/integration-*.test.ts dist || exit; done) && echo \"All tests passed! Congrats!\"","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts* --testPathIgnorePatterns dist","test-integration-client":"BABEL_ENV=test jest $JEST_CLI test/integration-client*.test.ts* --testPathIgnorePatterns dist","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-external*.test.ts* --testPathIgnorePatterns dist"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"deprecated":"this package should not be installed","repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"8.5.1","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"17.5.0","dependencies":{"cookie":"^0.4.2","node-fetch":"^2.6.7"},"publishConfig":{"access":"public"},"typesVersions":{"*":{"*":["dist/types/src/index.d.ts"]}},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"del":"^6.0.0","glob":"^7.2.0","jest":"^27.5.1","debug":"^4.3.3","execa":"^5.1.1","husky":"^7.0.4","dotenv":"^16.0.0","eslint":"^8.9.0","semver":"^7.3.5","mongodb":"^4.4.0","typedoc":"^0.22.11","webpack":"^5.69.1","prettier":"^2.5.1","type-fest":"^2.11.2","@babel/cli":"^7.17.3","babel-jest":"^27.5.1","remark-cli":"^10.0.1","remark-gfm":"^3.0.1","simple-git":"^3.2.6","strip-ansi":"^6.0.1","typescript":"4.5.x","@babel/core":"^7.17.5","@types/jest":"^27.4.0","@types/node":"^17.0.18","jest-circus":"^27.5.1","lint-staged":"^12.3.4","webpack-cli":"^4.9.2","@types/debug":"^4.1.7","babel-loader":"^8.2.3","spellchecker":"^3.7.1","@octokit/rest":"^18.12.0","@types/cookie":"^0.4.1","@types/semver":"^7.3.9","jest-extended":"^2.0.0","@types/webpack":"^5.28.0","edit-json-file":"^1.7.0","@commitlint/cli":"^16.2.1","@ergodark/types":"^1.0.17","text-extensions":"^2.4.0","toss-expression":"^0.1.1","unique-filename":"^1.1.1","semantic-release":"https://xunn.at/semantic-release-atam","@babel/preset-env":"^7.16.11","@types/node-fetch":"^2.5.12","find-package-json":"^1.2.0","sort-package-json":"^1.54.0","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^26.1.1","remark-frontmatter":"^4.0.1","source-map-support":"^0.5.21","@babel/eslint-parser":"^7.17.0","eslint-plugin-import":"^2.25.4","@semantic-release/git":"^10.0.1","@types/edit-json-file":"^1.7.0","remark-validate-links":"^11.0.2","@semantic-release/exec":"^6.0.3","remark-reference-links":"^6.0.1","webpack-node-externals":"^3.0.0","typedoc-plugin-markdown":"^3.11.14","@babel/preset-typescript":"^7.16.7","@types/find-package-json":"^1.2.2","@typescript-eslint/parser":"^5.12.0","confusing-browser-globals":"^1.0.11","remark-lint-final-newline":"^2.1.1","conventional-changelog-cli":"^2.2.2","@semantic-release/changelog":"^6.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^3.1.1","remark-lint-no-inline-padding":"^4.1.1","@commitlint/config-conventional":"^16.2.1","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.12.0","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^2.5.0","remark-lint-no-unused-definitions":"^3.1.1","remark-lint-no-undefined-references":"^4.1.1","@babel/plugin-proposal-function-bind":"^7.16.7","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^3.1.1","remark-lint-no-heading-content-indent":"^4.1.1","remark-lint-ordered-list-marker-style":"^3.1.1","babel-plugin-explicit-exports-references":"^1.0.2","remark-lint-no-blockquote-without-marker":"^5.1.1","remark-lint-no-auto-link-without-protocol":"^3.1.1","@babel/plugin-proposal-export-default-from":"^7.16.7","@xunnamius/conventional-changelog-projector":"^1.1.1","babel-plugin-transform-default-named-imports":"^1.2.2","@babel/plugin-proposal-nullish-coalescing-operator":"^7.16.7"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_4.0.0-canary.1_1645205790388_0.6215625721020142","host":"s3://npm-registry-packages"}},"3.1.2":{"name":"next-test-api-route-handler","version":"3.1.2","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@3.1.2","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"6be54d9c46f2b075860ee99b86e909fc9aefee3a","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-3.1.2.tgz","fileCount":8,"integrity":"sha512-lnW/nBtp/n8seD1i/POTmf6ZkxzQZUoU8cUYRmZNEOp75cjOyeK5ZG3lXe/JtDMnjs5r1jBnWRQMecwznwfXYA==","signatures":[{"sig":"MEUCIQCAnPkO0vZodmKnH7OgS5GBgKnnjzbJqd93B7tlUjEOjgIgXWHGvfbVILGxB+CumPU81eD8kSA7GtP7V4vd/UGYBnw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":57487,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOmrBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpSig/+Omz5aRjVdE2idk13sdQmxhGfU3aCethPJd1vxLuCgGsdrrnB\r\n4C2B7Sj69KV6r1dprNVV+n9+Gx0iIpOwojR5hLOerASm14Or0mxJaOe0b2Sw\r\nrSbxg7veAILe5W+dvwZrP/lvrzYQRJSQia+dhitSneEXkbHBQMADMnoPEKnF\r\nzM0yDkijsZwb2JP2O4nFArQwpe/btUKq45HoDlJdwFcHdGb2i2Z2SSSNS/MV\r\n+6wOg3VNjXUQsn7EEok/IBSI6yNXVAFhcSfMughFIY3CAmajO9WdAZQHHqOC\r\n1GT6dbYRw+0cPw6VaXPluy88pDpRYBYlwLkRLUYzjH49U1ZNSAiSkViFvO5r\r\n7VxejSinXjUnL/ZMXXgny3MY1y4955oN7a4Aa9+tQE/G2KWDqmkf2XAwAGSp\r\nuQsnV2WIjazptXrAT7jzM8gbPtJBS82CpFDm7op20wR0g17TRdLyBOllO+xs\r\nUVYYd/909degrC/6fwISz2UR0VJ5TRgA2MvDeOp2ItZbPM6tYg6IVpHfbNOL\r\n5FGTzfr0MuCf3B7l+8sZWsUtgNdgu9L9WuFDzF4ntovLdY83xwYeTwx3Z5PT\r\n/YU7MMQGvP2u5mSDhZjPdzpwQQIXphg1Ot/j1i8dwZEYwearQ0KD2JTi/RDS\r\nmmVL3qnC99ZTBLM39sRejfQ+dWf8ORRkT0Q=\r\n=mhTV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/bundle/index.mjs","engines":{"node":">=12"},"exports":{".":{"import":"./dist/esm/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"09a6dd08c728df2164886ae999080492b786a660","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"git ls-files --exclude-standard --ignored --others --directory | grep -vE '^((\\.(env|vscode|husky))|next-env\\.d\\.ts|node_modules)($|\\/)' | xargs -p rm -rf","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && prettier --write '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && if [ -z \"$ALLOW_DISABLED_LINKS\" ] && grep -qR --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; then echo '---\nWARNING: disabled links were found in the following files:'; grep -R --color=always --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; echo '(to ignore this error, run this command again with ALLOW_DISABLED_LINKS=1)'; exit 1; fi","prepare":"if [ -z \"$CI\" ] && ([ -z \"$NODE_ENV\" ] || [ \"$NODE_ENV\" = \"development\" ]); then husky install; else echo 'skipped installing husky git hooks'; fi","lint-all":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.eslint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.eslint.json .; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test-all":"BABEL_ENV=test jest $JEST_CLI --coverage","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts*' --collectCoverageFrom 'lib/**/*.ts*' --collectCoverageFrom 'external-scripts/**/*.ts*' --testPathIgnorePatterns test/integration-*.test.ts* dist","build-dist":"if [ -r ./next.config.js ]; then next build; else NODE_ENV=production tsc --project tsconfig.types.json --incremental false && NODE_ENV=production webpack --config-name cjs && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli && chmod +x ./dist/cli.js; fi && NODE_ENV=esm webpack --config-name esm && NODE_ENV=bundle babel src --extensions .ts --out-dir dist/bundle --out-file-extension .mjs; fi","build-docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md; fi && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`/`\\(destructured\\)`/g' {} + && find docs -name '*.md' -exec sed -i -E 's/`__namedParameters\\.([^`]+)`/`\\({ \\1 }\\)`/g' {} +","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --config conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-repeat-all":"npm run __test-repeat-all --silent","test-integration":"BABEL_ENV=test jest $JEST_CLI test/integration-*.test.ts* --testPathIgnorePatterns dist test/unit-*.test.ts","test-repeat-unit":"npm run __test-repeat-unit --silent","__test-repeat-all":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter || exit; done) && echo \"All tests passed! Congrats!\"","__test-repeat-unit":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter --testPathIgnorePatterns test/integration-*.test.ts dist || exit; done) && echo \"All tests passed! Congrats!\"","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts* --testPathIgnorePatterns dist","test-integration-client":"BABEL_ENV=test jest $JEST_CLI test/integration-client*.test.ts* --testPathIgnorePatterns dist","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-external*.test.ts* --testPathIgnorePatterns dist"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"8.5.1","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"17.6.0","dependencies":{"cookie":"^0.4.2","node-fetch":"^2.6.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.0.0","glob":"^7.2.0","jest":"^27.5.1","debug":"^4.3.4","execa":"^5.1.1","husky":"^7.0.4","dotenv":"^16.0.0","eslint":"^8.11.0","semver":"^7.3.5","mongodb":"^4.4.1","typedoc":"^0.22.13","webpack":"^5.70.0","prettier":"^2.6.0","type-fest":"^2.12.1","@babel/cli":"^7.17.6","babel-jest":"^27.5.1","remark-cli":"^10.0.1","remark-gfm":"^3.0.1","simple-git":"^3.4.0","strip-ansi":"^6.0.1","typescript":"^4.6.2","@babel/core":"^7.17.8","@types/jest":"^27.4.1","@types/node":"^17.0.22","jest-circus":"^27.5.1","lint-staged":"^12.3.7","webpack-cli":"^4.9.2","@types/debug":"^4.1.7","babel-loader":"^8.2.4","spellchecker":"^3.7.1","@octokit/rest":"^18.12.0","@types/cookie":"^0.4.1","@types/semver":"^7.3.9","jest-extended":"^2.0.0","@types/webpack":"^5.28.0","edit-json-file":"^1.7.0","@commitlint/cli":"^16.2.3","@ergodark/types":"^1.0.17","text-extensions":"^2.4.0","toss-expression":"^0.1.1","unique-filename":"^1.1.1","semantic-release":"https://xunn.at/semantic-release-atam","@babel/preset-env":"^7.16.11","@types/node-fetch":"^2.5.12","find-package-json":"^1.2.0","sort-package-json":"^1.55.0","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^26.1.2","remark-frontmatter":"^4.0.1","source-map-support":"^0.5.21","@babel/eslint-parser":"^7.17.0","eslint-plugin-import":"^2.25.4","@semantic-release/git":"^10.0.1","@types/edit-json-file":"^1.7.0","remark-validate-links":"^11.0.2","@semantic-release/exec":"^6.0.3","remark-reference-links":"^6.0.1","webpack-node-externals":"^3.0.0","typedoc-plugin-markdown":"^3.11.14","@babel/preset-typescript":"^7.16.7","@types/find-package-json":"^1.2.2","@typescript-eslint/parser":"^5.16.0","confusing-browser-globals":"^1.0.11","remark-lint-final-newline":"^2.1.1","conventional-changelog-cli":"^2.2.2","@semantic-release/changelog":"^6.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^3.1.1","remark-lint-no-inline-padding":"^4.1.1","@commitlint/config-conventional":"^16.2.1","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.16.0","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^2.5.0","remark-lint-no-unused-definitions":"^3.1.1","remark-lint-no-undefined-references":"^4.1.1","@babel/plugin-proposal-function-bind":"^7.16.7","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^3.1.1","remark-lint-no-heading-content-indent":"^4.1.1","remark-lint-ordered-list-marker-style":"^3.1.1","babel-plugin-explicit-exports-references":"^1.0.2","remark-lint-no-blockquote-without-marker":"^5.1.1","remark-lint-no-auto-link-without-protocol":"^3.1.1","@babel/plugin-proposal-export-default-from":"^7.16.7","@xunnamius/conventional-changelog-projector":"^1.1.1","babel-plugin-transform-default-named-imports":"^1.2.2","@babel/plugin-proposal-nullish-coalescing-operator":"^7.16.7"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_3.1.2_1647995585658_0.4543510211214927","host":"s3://npm-registry-packages"}},"3.1.3":{"name":"next-test-api-route-handler","version":"3.1.3","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@3.1.3","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"718f9d84e8a05600a7cb156d1f7968939e299321","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-3.1.3.tgz","fileCount":8,"integrity":"sha512-g49fZY0gSSAcm5J8UmW+Z7iqxk5XIv577s3G5DfPyuz8dTitZlB8Qeco95reMJJiBof9bhv0Gs/scZXnSo+PUg==","signatures":[{"sig":"MEQCIE5Yngoh4JTSY9CTei0FN+NhKcMkGqk6qpaEGK5BA9vBAiB+NAcj/bTw1EvgZsNuSZQ/JO61IfsEhidsgGgwjzNhCg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":57513,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiiDmOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoTfBAAj6fR+s0iOrVD++ZsnEGTnmd7nDLOE75NIHNVe/TIUbvuwmDT\r\nmMFyIjZCTjkQ0xRnMg0wQgL+T7p9QeXFVogZdtZKbNAJCigKiOuNSktpO6cO\r\nwkQjDisWjO5oLqdDEn627G14gC4F2ZudNVz2EXRFLl1YKl07sB3pPi+pmZG0\r\nGhj3ztWLBWiReye6mmaOUWUkNJEL/S7eEqf6FyPJT7tnAEfMMzOOBF+AHKBo\r\nHAvgSBzVWm/Pvm/U/0d9GUHzJ5It41LNdbkoFsrfcYnosBykhGNBQChXPQjy\r\nnxiIWNz9LAdPZOZQ6GtTohCcl+M91N4BGKd/3UyiNtsAjMimHwjuKQ4qDy3k\r\n5ngM8FNRrEClLnBdm62gVWrB0L+vC10Wq117jVr7aTXvs+1o9MtWmdxBk4tA\r\nWDTF3rRLIBNfeNKIODKdRcsgBovg2SWoTixq+z6NcabM8QyNRU3cUSkowrlg\r\ndAr8nBG+6MsJgHUnX3dUWnO8mw8V1zSY4cFaR2gaotaMIv83snmtO3liP5aP\r\nKLLBpjSGKp7v70k8rOKVjXKTMcpZLksi1xhlVKFJOQhsY/DwzsfdL1m1Utp1\r\nwQSTwMFNQfd5IeFNsTy2zExZoPTPkcpiVnMOxHGl1RrzRDsUCP/kR9Z/FvLp\r\nXFKLjzzSWWwKj7TIoYCsfPenjlaf9APcY3U=\r\n=SHA4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/bundle/index.mjs","engines":{"node":">=12"},"exports":{".":{"import":"./dist/esm/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"80778cbd807ce7f69f9b0669d32e39be6324d017","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"git ls-files --exclude-standard --ignored --others --directory | grep -vE '^((\\.(env|vscode|husky))|next-env\\.d\\.ts|node_modules)($|\\/)' | xargs -p rm -rf","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && prettier --write '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && if [ -z \"$ALLOW_DISABLED_LINKS\" ] && grep -qR --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; then echo '---\nWARNING: disabled links were found in the following files:'; grep -R --color=always --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; echo '(to ignore this error, run this command again with ALLOW_DISABLED_LINKS=1)'; exit 1; fi","prepare":"if [ -z \"$CI\" ] && ([ -z \"$NODE_ENV\" ] || [ \"$NODE_ENV\" = \"development\" ]); then husky install; else echo 'skipped installing husky git hooks'; fi","lint-all":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.eslint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.eslint.json .; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test-all":"BABEL_ENV=test jest $JEST_CLI --coverage","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts*' --collectCoverageFrom 'lib/**/*.ts*' --collectCoverageFrom 'external-scripts/**/*.ts*' --testPathIgnorePatterns test/integration-*.test.ts* dist","build-dist":"if [ -r ./next.config.js ]; then next build; else NODE_ENV=production tsc --project tsconfig.types.json --incremental false && NODE_ENV=production webpack --config-name cjs && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli && chmod +x ./dist/cli.js; fi && NODE_ENV=esm webpack --config-name esm && NODE_ENV=bundle babel src --extensions .ts --out-dir dist/bundle --out-file-extension .mjs; fi","build-docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md; fi && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`/`\\(destructured\\)`/g' {} + && find docs -name '*.md' -exec sed -i -E 's/`__namedParameters\\.([^`]+)`/`\\({ \\1 }\\)`/g' {} +","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --config conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-repeat-all":"npm run __test-repeat-all --silent","test-integration":"BABEL_ENV=test jest $JEST_CLI test/integration-*.test.ts* --testPathIgnorePatterns dist test/unit-*.test.ts","test-repeat-unit":"npm run __test-repeat-unit --silent","__test-repeat-all":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter || exit; done) && echo \"All tests passed! Congrats!\"","__test-repeat-unit":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter --testPathIgnorePatterns test/integration-*.test.ts dist || exit; done) && echo \"All tests passed! Congrats!\"","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts* --testPathIgnorePatterns dist","test-integration-client":"BABEL_ENV=test jest $JEST_CLI test/integration-client*.test.ts* --testPathIgnorePatterns dist","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-external*.test.ts* --testPathIgnorePatterns dist"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"8.10.0","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"17.9.0","dependencies":{"cookie":"^0.5.0","node-fetch":"^2.6.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.1.0","glob":"^8.0.3","jest":"^28.1.0","debug":"^4.3.4","execa":"^5.1.1","husky":"^8.0.1","dotenv":"^16.0.1","eslint":"^8.16.0","semver":"^7.3.7","mongodb":"^4.6.0","typedoc":"^0.22.15","webpack":"^5.72.1","prettier":"^2.6.2","type-fest":"^2.12.2","@babel/cli":"^7.17.10","babel-jest":"^28.1.0","remark-cli":"^10.0.1","remark-gfm":"^3.0.1","simple-git":"^3.7.1","strip-ansi":"^6.0.1","typescript":"^4.7.1-rc","@babel/core":"^7.18.0","@types/jest":"^27.5.1","@types/node":"^17.0.35","jest-circus":"^28.1.0","lint-staged":"^12.4.1","webpack-cli":"^4.9.2","@types/debug":"^4.1.7","babel-loader":"^8.2.5","spellchecker":"^3.7.1","@octokit/rest":"^18.12.0","@types/cookie":"^0.5.1","@types/semver":"^7.3.9","jest-extended":"^2.0.0","@types/webpack":"^5.28.0","edit-json-file":"^1.7.0","@commitlint/cli":"^17.0.0","@ergodark/types":"^1.0.17","text-extensions":"^2.4.0","toss-expression":"^0.1.1","unique-filename":"^1.1.1","semantic-release":"https://xunn.at/semantic-release-atam","@babel/preset-env":"^7.18.0","@types/node-fetch":"^2.5.12","find-package-json":"^1.2.0","sort-package-json":"^1.57.0","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^26.2.2","remark-frontmatter":"^4.0.1","source-map-support":"^0.5.21","@babel/eslint-parser":"^7.17.0","eslint-plugin-import":"^2.26.0","@semantic-release/git":"^10.0.1","@types/edit-json-file":"^1.7.0","remark-validate-links":"^11.0.2","@semantic-release/exec":"^6.0.3","remark-reference-links":"^6.0.1","webpack-node-externals":"^3.0.0","typedoc-plugin-markdown":"^3.12.1","@babel/preset-typescript":"^7.17.12","@types/find-package-json":"^1.2.3","@typescript-eslint/parser":"^5.25.0","confusing-browser-globals":"^1.0.11","remark-lint-final-newline":"^2.1.1","conventional-changelog-cli":"^2.2.2","@semantic-release/changelog":"^6.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^3.1.1","remark-lint-no-inline-padding":"^4.1.1","@commitlint/config-conventional":"^17.0.0","babel-plugin-source-map-support":"^2.1.3","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.25.0","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^2.7.1","remark-lint-no-unused-definitions":"^3.1.1","remark-lint-no-undefined-references":"^4.1.1","@babel/plugin-proposal-function-bind":"^7.16.7","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^3.1.1","remark-lint-no-heading-content-indent":"^4.1.1","remark-lint-ordered-list-marker-style":"^3.1.1","babel-plugin-explicit-exports-references":"^1.0.2","remark-lint-no-blockquote-without-marker":"^5.1.1","remark-lint-no-auto-link-without-protocol":"^3.1.1","@babel/plugin-proposal-export-default-from":"^7.17.12","@xunnamius/conventional-changelog-projector":"^1.1.1","babel-plugin-transform-default-named-imports":"^1.2.2","@babel/plugin-proposal-nullish-coalescing-operator":"^7.17.12"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_3.1.3_1653094798649_0.9418791283535166","host":"s3://npm-registry-packages"}},"3.1.4":{"name":"next-test-api-route-handler","version":"3.1.4","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@3.1.4","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"5f78b623c1a263351ed28915345aa8e520cfe1d9","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-3.1.4.tgz","fileCount":8,"integrity":"sha512-zHMLW/dXmmzoIrhAczimyap2hDluEFW3AOAzJ2bRya3HbwP/c0+rGf4bkE3Nox6UgmdT1x8WV8oHXiM5ty2rHA==","signatures":[{"sig":"MEUCIQCwgPx285peTMl+Qfk0bBDyJgAK09GKChYSDJUvg283DQIgKrUZs6x6i/iK6hsOwmnaOeeco6osUmbWa/XNIAKsLHg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":57870,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiuI5bACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrXQhAAmybGv/66Z3YqrFRalDGO1qrs/3Eh6RSj+5UE0P7iL3K/t0si\r\nEh1B+N7GNJjQT4oKpasVCUmTQPWL9lp2LJduWxrgAXTlr6TfQ44qrsdDDXKH\r\nYUomP/o9jp0fxC9uaWLeHcttjc/TtVb1Qf1MF18jbKKx+4Z6YOSjKS3t4rSp\r\nlBku13HeFOwH9Sf60sD12TBcdGtQHWoslu8ixr2EtyKWwwcNUdTAGpVnmmXY\r\n2Efzrd+IaOm8SQmeA/u1DNcC7DZvrEbRHZBCNZDX1rSCIW4ERHRfsgqVbCyS\r\nQnTAcxtQvmEl1QOUDi7Lwy4a4ro/CKVxkblJCxv2xBrwuyGkaTZCnhOynvi4\r\n+DIScy2uE2nmbjyM9G9Gp0FNZNIeZtZ+GwKrj8k/WRNk9g7NVDCgPAhmabpo\r\nGsvnxPuG6mPjOP4PfbXbrM3GQMj64Gkw+t282/gms+Wb6LSiEABX6rUg9Do9\r\nvJYEiFWWbLNvxtNn9hDb2ExZGILcJspljY4JfB7khOFfXW8ZQNippCJoLPUP\r\ncapxyRlZWHbGflnLWbc/6UxvtFNI6lnx+OCPioKQl+axWgB8vyUTKLEk3K7p\r\nNRoteXhRZ0v9zMzIu0eWef89wQNNx6BWHjahnRTfqusCc45mWUrty33jQ3kg\r\n05YwHDKKilCw5/g7fzb77Bem7AFmlBvTufI=\r\n=gJIO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/bundle/index.mjs","engines":{"node":">=12"},"exports":{".":{"import":"./dist/esm/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"a283ab94bb0f56864fc68a38ecf599c127e8267d","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"git ls-files --exclude-standard --ignored --others --directory | grep -vE '^((\\.(env|vscode|husky))|next-env\\.d\\.ts|node_modules)($|\\/)' | xargs -p rm -rf","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && prettier --write '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && if [ -z \"$ALLOW_DISABLED_LINKS\" ] && grep -qR --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; then echo '---\nWARNING: disabled links were found in the following files:'; grep -R --color=always --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; echo '(to ignore this error, run this command again with ALLOW_DISABLED_LINKS=1)'; exit 1; fi","prepare":"if [ -z \"$CI\" ] && ([ -z \"$NODE_ENV\" ] || [ \"$NODE_ENV\" = \"development\" ]); then husky install; else echo 'skipped installing husky git hooks'; fi","lint-all":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.eslint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.eslint.json .; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test-all":"BABEL_ENV=test jest $JEST_CLI --coverage","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts*' --collectCoverageFrom 'lib/**/*.ts*' --collectCoverageFrom 'external-scripts/**/*.ts*' --testPathIgnorePatterns test/integration-*.test.ts* dist","build-dist":"if [ -r ./next.config.js ]; then next build; else NODE_ENV=production tsc --project tsconfig.types.json --incremental false && NODE_ENV=production webpack --config-name cjs && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli && chmod +x ./dist/cli.js; fi && NODE_ENV=esm webpack --config-name esm && NODE_ENV=bundle babel src --extensions .ts --out-dir dist/bundle --out-file-extension .mjs; fi","build-docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md; fi && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`/`\\(destructured\\)`/g' {} + && find docs -name '*.md' -exec sed -i -E 's/`__namedParameters\\.([^`]+)`/`\\({ \\1 }\\)`/g' {} +","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --config conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-repeat-all":"npm run __test-repeat-all --silent","test-integration":"BABEL_ENV=test jest $JEST_CLI test/integration-*.test.ts* --testPathIgnorePatterns dist test/unit-*.test.ts","test-repeat-unit":"npm run __test-repeat-unit --silent","__test-repeat-all":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter || exit; done) && echo \"All tests passed! Congrats!\"","__test-repeat-unit":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter --testPathIgnorePatterns test/integration-*.test.ts dist || exit; done) && echo \"All tests passed! Congrats!\"","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts* --testPathIgnorePatterns dist","test-integration-client":"BABEL_ENV=test jest $JEST_CLI test/integration-client*.test.ts* --testPathIgnorePatterns dist","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-external*.test.ts* --testPathIgnorePatterns dist"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"8.12.1","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"18.4.0","dependencies":{"cookie":"^0.5.0","node-fetch":"^2.6.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.1.1","glob":"^8.0.3","jest":"^28.1.1","debug":"^4.3.4","execa":"^5.1.1","husky":"^8.0.1","dotenv":"^16.0.1","eslint":"^8.18.0","semver":"^7.3.7","mongodb":"^4.7.0","typedoc":"^0.22.18","webpack":"^5.73.0","prettier":"^2.7.1","type-fest":"^2.14.0","@babel/cli":"^7.17.10","babel-jest":"^28.1.1","remark-cli":"^11.0.0","remark-gfm":"^3.0.1","simple-git":"^3.10.0","strip-ansi":"^6.0.1","typescript":"^4.7.4","@babel/core":"^7.18.5","@types/jest":"^28.1.3","@types/node":"^18.0.0","jest-circus":"^28.1.1","lint-staged":"^13.0.3","webpack-cli":"^4.10.0","@types/debug":"^4.1.7","babel-loader":"^8.2.5","spellchecker":"^3.7.1","@octokit/rest":"^18.12.0","@types/cookie":"^0.5.1","@types/semver":"^7.3.10","jest-extended":"^2.0.0","@types/webpack":"^5.28.0","edit-json-file":"^1.7.0","@commitlint/cli":"^17.0.3","@ergodark/types":"^1.0.17","text-extensions":"^2.4.0","toss-expression":"^0.1.1","unique-filename":"^1.1.1","semantic-release":"https://xunn.at/semantic-release-atam","@babel/preset-env":"^7.18.2","@types/node-fetch":"^2.5.12","find-package-json":"^1.2.0","sort-package-json":"^1.57.0","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^26.5.3","remark-frontmatter":"^4.0.1","source-map-support":"^0.5.21","@babel/eslint-parser":"^7.18.2","eslint-plugin-import":"^2.26.0","@semantic-release/git":"^10.0.1","@types/edit-json-file":"^1.7.0","remark-validate-links":"^11.0.2","@semantic-release/exec":"^6.0.3","remark-reference-links":"^6.0.1","webpack-node-externals":"^3.0.0","typedoc-plugin-markdown":"^3.12.1","@babel/preset-typescript":"^7.17.12","@types/find-package-json":"^1.2.3","@typescript-eslint/parser":"^5.29.0","confusing-browser-globals":"^1.0.11","remark-lint-final-newline":"^2.1.1","conventional-changelog-cli":"^2.2.2","@semantic-release/changelog":"^6.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^3.1.1","remark-lint-no-inline-padding":"^4.1.1","@commitlint/config-conventional":"^17.0.3","babel-plugin-source-map-support":"^2.2.0","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.29.0","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^3.1.0","remark-lint-no-unused-definitions":"^3.1.1","remark-lint-no-undefined-references":"^4.1.1","@babel/plugin-proposal-function-bind":"^7.16.7","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^3.1.1","remark-lint-no-heading-content-indent":"^4.1.1","remark-lint-ordered-list-marker-style":"^3.1.1","babel-plugin-explicit-exports-references":"^1.0.2","remark-lint-no-blockquote-without-marker":"^5.1.1","remark-lint-no-auto-link-without-protocol":"^3.1.1","@babel/plugin-proposal-export-default-from":"^7.17.12","@xunnamius/conventional-changelog-projector":"^1.1.1","babel-plugin-transform-default-named-imports":"^1.2.2","@babel/plugin-proposal-nullish-coalescing-operator":"^7.17.12"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_3.1.4_1656262235068_0.8607659111790484","host":"s3://npm-registry-packages"}},"3.1.5":{"name":"next-test-api-route-handler","version":"3.1.5","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@3.1.5","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"85f108bb842419cf161fa9e0d6caddfe5482ff2c","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-3.1.5.tgz","fileCount":8,"integrity":"sha512-oD9cv4VzqflhyuKTBLIhluqSrX0tTHaJ3vuE25cbmXVjZf8Gf6l+37/Gd1YmcGeiguIOoEhZ6mZA0iTZIf9omQ==","signatures":[{"sig":"MEUCIBEDhtTnfEbQI+hdN6DVdOCdV2QReSbBg22DZPobREsqAiEAx8qEqgy+aH49VpVwFAy+6S07GwbfNGuYvVR/AKoUntU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":58859,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiuKJTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq2YA/7BRltjFHsWjUbkFAA1ybasSzP1EKIPYpxLyU2GXZ9wM4l8J7Q\r\nIL9+9K8t9waxrVqGz0LIVV6+QPV4WeRrsfrC8/twlvVIMDZDU+LI96y1Adn3\r\ndwEdArQDmCU7ilnX8jurPN17+hcDfcyYyxGvdFRcBRPTktwck2Fv+XEY6Llc\r\nxRR2xLvO4SHAtqZ/cksCAFTWd8c5K53Qnc3tKEczNZiNx/q335YFnAM287sq\r\nrpQYvORDcyf7BDw+c1Ez+OoUlDPbriNUWuXKg/vkd/0e/Im9slNg9xC0yrMp\r\nRWvEUpj+ighZ8NAoX3VGe2EXObg4UpUdXV9/h6EYV0KlVX1j00nxYxgwO+SS\r\n0QhoHm3JClELmJk8Jl16axDF8+ELDTOXOfFY/oySDeWCijohmdrFBJ/OQByr\r\ncePnmMT8iOkK10mRAduVe2+MrPhMLZudByj1lAQAf7fHPDSjH157p1l3MP9m\r\nBk+upvvcUgtqogrZAWUhdlnp0Ou5pNVomSDRVtKB+FzODnHtQW/VOOiBuZRJ\r\ntx3oOJkVSn6nxU3MNg7/binH0PdMm7YQDEXskZHQ6d5I9HPGWg36ALilADhw\r\nbX+XYKWq4knDFyRBcUVwJ73Eatj7aIWtzZUhQpZ6wLj3y4dgYmnWg0kN2KOJ\r\nRYdlpUyaW7PibYgofUh5WjpkF2TT+fDRr1I=\r\n=F7Dh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/bundle/index.mjs","engines":{"node":">=12"},"exports":{".":{"import":"./dist/esm/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"f7a65cb602f9f83e22bb67787a1aea277113377e","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"git ls-files --exclude-standard --ignored --others --directory | grep -vE '^((\\.(env|vscode|husky))|next-env\\.d\\.ts|node_modules)($|\\/)' | xargs -p rm -rf","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && prettier --write '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && if [ -z \"$ALLOW_DISABLED_LINKS\" ] && grep -qR --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; then echo '---\nWARNING: disabled links were found in the following files:'; grep -R --color=always --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; echo '(to ignore this error, run this command again with ALLOW_DISABLED_LINKS=1)'; exit 1; fi","prepare":"if [ -z \"$CI\" ] && ([ -z \"$NODE_ENV\" ] || [ \"$NODE_ENV\" = \"development\" ]); then husky install; else echo 'skipped installing husky git hooks'; fi","lint-all":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.eslint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.eslint.json .; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test-all":"BABEL_ENV=test jest $JEST_CLI --coverage","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts*' --collectCoverageFrom 'lib/**/*.ts*' --collectCoverageFrom 'external-scripts/**/*.ts*' --testPathIgnorePatterns test/integration-*.test.ts* dist","build-dist":"if [ -r ./next.config.js ]; then next build; else NODE_ENV=production tsc --project tsconfig.types.json --incremental false && NODE_ENV=production webpack --config-name cjs && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli && chmod +x ./dist/cli.js; fi && NODE_ENV=esm webpack --config-name esm && NODE_ENV=bundle babel src --extensions .ts --out-dir dist/bundle --out-file-extension .mjs; fi","build-docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md; fi && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`/`\\(destructured\\)`/g' {} + && find docs -name '*.md' -exec sed -i -E 's/`__namedParameters\\.([^`]+)`/`\\({ \\1 }\\)`/g' {} +","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --config conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-repeat-all":"npm run __test-repeat-all --silent","test-integration":"BABEL_ENV=test jest $JEST_CLI test/integration-*.test.ts* --testPathIgnorePatterns dist test/unit-*.test.ts","test-repeat-unit":"npm run __test-repeat-unit --silent","__test-repeat-all":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter || exit; done) && echo \"All tests passed! Congrats!\"","__test-repeat-unit":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter --testPathIgnorePatterns test/integration-*.test.ts dist || exit; done) && echo \"All tests passed! Congrats!\"","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts* --testPathIgnorePatterns dist","test-integration-client":"BABEL_ENV=test jest $JEST_CLI test/integration-client*.test.ts* --testPathIgnorePatterns dist","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-external*.test.ts* --testPathIgnorePatterns dist"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"8.12.1","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"18.4.0","dependencies":{"cookie":"^0.5.0","node-fetch":"^2.6.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.1.1","glob":"^8.0.3","jest":"^28.1.1","debug":"^4.3.4","execa":"^5.1.1","husky":"^8.0.1","dotenv":"^16.0.1","eslint":"^8.18.0","semver":"^7.3.7","mongodb":"^4.7.0","typedoc":"^0.22.18","webpack":"^5.73.0","prettier":"^2.7.1","type-fest":"^2.14.0","@babel/cli":"^7.17.10","babel-jest":"^28.1.1","remark-cli":"^11.0.0","remark-gfm":"^3.0.1","simple-git":"^3.10.0","strip-ansi":"^6.0.1","typescript":"^4.7.4","@babel/core":"^7.18.5","@types/jest":"^28.1.3","@types/node":"^18.0.0","jest-circus":"^28.1.1","lint-staged":"^13.0.3","webpack-cli":"^4.10.0","@types/debug":"^4.1.7","babel-loader":"^8.2.5","spellchecker":"^3.7.1","@octokit/rest":"^18.12.0","@types/cookie":"^0.5.1","@types/semver":"^7.3.10","jest-extended":"^2.0.0","@types/webpack":"^5.28.0","edit-json-file":"^1.7.0","@commitlint/cli":"^17.0.3","@ergodark/types":"^1.0.17","text-extensions":"^2.4.0","toss-expression":"^0.1.1","unique-filename":"^1.1.1","semantic-release":"https://xunn.at/semantic-release-atam","@babel/preset-env":"^7.18.2","@types/node-fetch":"^2.5.12","find-package-json":"^1.2.0","sort-package-json":"^1.57.0","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^26.5.3","remark-frontmatter":"^4.0.1","source-map-support":"^0.5.21","@babel/eslint-parser":"^7.18.2","eslint-plugin-import":"^2.26.0","@semantic-release/git":"^10.0.1","@types/edit-json-file":"^1.7.0","remark-validate-links":"^11.0.2","@semantic-release/exec":"^6.0.3","remark-reference-links":"^6.0.1","webpack-node-externals":"^3.0.0","typedoc-plugin-markdown":"^3.12.1","@babel/preset-typescript":"^7.17.12","@types/find-package-json":"^1.2.3","@typescript-eslint/parser":"^5.29.0","confusing-browser-globals":"^1.0.11","remark-lint-final-newline":"^2.1.1","conventional-changelog-cli":"^2.2.2","@semantic-release/changelog":"^6.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^3.1.1","remark-lint-no-inline-padding":"^4.1.1","@commitlint/config-conventional":"^17.0.3","babel-plugin-source-map-support":"^2.2.0","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.29.0","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^3.1.0","remark-lint-no-unused-definitions":"^3.1.1","remark-lint-no-undefined-references":"^4.1.1","@babel/plugin-proposal-function-bind":"^7.16.7","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^3.1.1","remark-lint-no-heading-content-indent":"^4.1.1","remark-lint-ordered-list-marker-style":"^3.1.1","babel-plugin-explicit-exports-references":"^1.0.2","remark-lint-no-blockquote-without-marker":"^5.1.1","remark-lint-no-auto-link-without-protocol":"^3.1.1","@babel/plugin-proposal-export-default-from":"^7.17.12","@xunnamius/conventional-changelog-projector":"^1.1.1","babel-plugin-transform-default-named-imports":"^1.2.2","@babel/plugin-proposal-nullish-coalescing-operator":"^7.17.12"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_3.1.5_1656267347140_0.11410665506969875","host":"s3://npm-registry-packages"}},"3.1.6":{"name":"next-test-api-route-handler","version":"3.1.6","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@3.1.6","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"c0b82bf6440aafb4c47b0577b63055d49cec3815","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-3.1.6.tgz","fileCount":8,"integrity":"sha512-pKK1ftOkQEGYodF39jh6iTEHSi8GaSPRB1KUvGkGZKCX+y2+mnTLYcUHueC7ODLN3KhpTwuRYtBQFhdJLSAYPQ==","signatures":[{"sig":"MEYCIQCRp+jsOIaQ9yvWsybw33U7Cb1jBM+sFa+7mhdtiXN28AIhANxgkMnKs5i8OZgKQt1lFenc/yRc5pXHe9Tol+VQ5fbl","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":59135,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJivZyhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqOwg//XdClBUI50MxOD/Fe4v/RUi7nOCVJPztm7ZhXfWJejybMsC7h\r\nrs+LwfdlJhKQpdwX0IM27+82ABvDwZGczsqmn8qfnuuotqPsUwF4oQla0pEj\r\niH6+HboL1YyHDM62vrsEjM8usRkD70FfAR/u0YyMR3Gp08Tbg6ZW1mW0OlO1\r\nTdPqqf+JJZfMMF8JtdzmcbQwbPX6OIVuUKu+8GD0B6znedDXunB8gsY/0Rs/\r\nNpv8e5j13PzqXwdDD3OHir800xo+AvlrwbWhmGnpRSHngoeLw7JPYP0NXqk9\r\nZ2KjA9GHUgc+cm8VJ8u7o6Hm9qMeifuNwF9Ldk46Wm0c8J+uuH+WNPEQ5SWN\r\nOnyyK2sK3bUROBkN0nXggbswdFuLScdgg1iecf1oPRP+G04r64rY5TelWfkp\r\n/TrjfiLBzhAfFZX5z2bvKt3lAzbHrg3DpKRDdGzhFgaUI0Dc0YtD3VLpD2dN\r\naWa+I6t0Ah2UW4isWF0A6d7S1BDS32YnmAhonS5FDky8ngw7kVgcT8ZaNCSt\r\nEjUyjW575o4L1OMdsVODOjUIw4xROWBaaWGifM+o975NZthott9HrHaQ2ayh\r\n6vjW25Bbvi5xh4/33GePElz3hfMc7EXvbCwDoe0QpKSjBG0GOSEBXGsoyTOI\r\nnoZdhXwMv4U2smhwWFATmZBDOV8/W4Eiz48=\r\n=jIQp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/bundle/index.mjs","engines":{"node":">=12"},"exports":{".":{"import":"./dist/esm/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"9304fb5505e99c2d4e56e9df0e9e1aaf1d102502","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"git ls-files --exclude-standard --ignored --others --directory | grep -vE '^((\\.(env|vscode|husky))|next-env\\.d\\.ts|node_modules)($|\\/)' | xargs -p rm -rf","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && prettier --write '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && if [ -z \"$ALLOW_DISABLED_LINKS\" ] && grep -qR --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; then echo '---\nWARNING: disabled links were found in the following files:'; grep -R --color=always --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; echo '(to ignore this error, run this command again with ALLOW_DISABLED_LINKS=1)'; exit 1; fi","prepare":"if [ -z \"$CI\" ] && ([ -z \"$NODE_ENV\" ] || [ \"$NODE_ENV\" = \"development\" ]); then husky install; else echo 'skipped installing husky git hooks'; fi","lint-all":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.eslint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.eslint.json .; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test-all":"BABEL_ENV=test jest $JEST_CLI --coverage","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts*' --collectCoverageFrom 'lib/**/*.ts*' --collectCoverageFrom 'external-scripts/**/*.ts*' --testPathIgnorePatterns test/integration-*.test.ts* dist","build-dist":"if [ -r ./next.config.js ]; then next build; else NODE_ENV=production tsc --project tsconfig.types.json --incremental false && NODE_ENV=production webpack --config-name cjs && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli && chmod +x ./dist/cli.js; fi && NODE_ENV=esm webpack --config-name esm && NODE_ENV=bundle babel src --extensions .ts --out-dir dist/bundle --out-file-extension .mjs; fi","build-docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md; fi && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`/`\\(destructured\\)`/g' {} + && find docs -name '*.md' -exec sed -i -E 's/`__namedParameters\\.([^`]+)`/`\\({ \\1 }\\)`/g' {} +","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --config conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-repeat-all":"npm run __test-repeat-all --silent","test-integration":"BABEL_ENV=test jest $JEST_CLI test/integration-*.test.ts* --testPathIgnorePatterns dist test/unit-*.test.ts","test-repeat-unit":"npm run __test-repeat-unit --silent","__test-repeat-all":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter || exit; done) && echo \"All tests passed! Congrats!\"","__test-repeat-unit":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter --testPathIgnorePatterns test/integration-*.test.ts dist || exit; done) && echo \"All tests passed! Congrats!\"","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts* --testPathIgnorePatterns dist","test-integration-client":"BABEL_ENV=test jest $JEST_CLI test/integration-client*.test.ts* --testPathIgnorePatterns dist","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-external*.test.ts* --testPathIgnorePatterns dist"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"8.12.1","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"18.4.0","dependencies":{"cookie":"^0.5.0","node-fetch":"^2.6.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^6.1.1","glob":"^8.0.3","jest":"^28.1.2","debug":"^4.3.4","execa":"^5.1.1","husky":"^8.0.1","dotenv":"^16.0.1","eslint":"^8.18.0","semver":"^7.3.7","mongodb":"^4.7.0","typedoc":"^0.23.2","webpack":"^5.73.0","prettier":"^2.7.1","type-fest":"^2.14.0","@babel/cli":"^7.18.6","babel-jest":"^28.1.2","remark-cli":"^11.0.0","remark-gfm":"^3.0.1","simple-git":"^3.10.0","strip-ansi":"^6.0.1","typescript":"^4.7.4","@babel/core":"^7.18.6","@types/jest":"^28.1.3","@types/node":"^18.0.0","jest-circus":"^28.1.2","lint-staged":"^13.0.3","webpack-cli":"^4.10.0","@types/debug":"^4.1.7","babel-loader":"^8.2.5","spellchecker":"^3.7.1","@octokit/rest":"^18.12.0","@types/cookie":"^0.5.1","@types/semver":"^7.3.10","jest-extended":"^2.0.0","@types/webpack":"^5.28.0","edit-json-file":"^1.7.0","@commitlint/cli":"^17.0.3","@ergodark/types":"^1.0.17","text-extensions":"^2.4.0","toss-expression":"^0.1.1","unique-filename":"^1.1.1","semantic-release":"https://xunn.at/semantic-release-atam","@babel/preset-env":"^7.18.6","@types/node-fetch":"^2.5.12","find-package-json":"^1.2.0","sort-package-json":"^1.57.0","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^26.5.3","remark-frontmatter":"^4.0.1","source-map-support":"^0.5.21","@babel/eslint-parser":"^7.18.2","eslint-plugin-import":"^2.26.0","@semantic-release/git":"^10.0.1","@types/edit-json-file":"^1.7.0","remark-validate-links":"^12.0.0","@semantic-release/exec":"^6.0.3","remark-reference-links":"^6.0.1","webpack-node-externals":"^3.0.0","typedoc-plugin-markdown":"^3.13.1","@babel/preset-typescript":"^7.18.6","@types/find-package-json":"^1.2.3","@typescript-eslint/parser":"^5.30.0","confusing-browser-globals":"^1.0.11","remark-lint-final-newline":"^2.1.1","conventional-changelog-cli":"^2.2.2","@semantic-release/changelog":"^6.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^3.1.1","remark-lint-no-inline-padding":"^4.1.1","@commitlint/config-conventional":"^17.0.3","babel-plugin-source-map-support":"^2.2.0","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.30.0","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^3.1.1","remark-lint-no-unused-definitions":"^3.1.1","remark-lint-no-undefined-references":"^4.1.1","@babel/plugin-proposal-function-bind":"^7.18.6","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^3.1.1","remark-lint-no-heading-content-indent":"^4.1.1","remark-lint-ordered-list-marker-style":"^3.1.1","babel-plugin-explicit-exports-references":"^1.0.2","remark-lint-no-blockquote-without-marker":"^5.1.1","remark-lint-no-auto-link-without-protocol":"^3.1.1","@babel/plugin-proposal-export-default-from":"^7.18.6","@xunnamius/conventional-changelog-projector":"^1.1.1","babel-plugin-transform-default-named-imports":"^1.2.2","@babel/plugin-proposal-nullish-coalescing-operator":"^7.18.6"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_3.1.6_1656593569111_0.5941506730779536","host":"s3://npm-registry-packages"}},"3.1.7":{"name":"next-test-api-route-handler","version":"3.1.7","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@3.1.7","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"bdb91d9981942f0bf73f201ddc24c1dfd732fd27","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-3.1.7.tgz","fileCount":8,"integrity":"sha512-ds4VH7TOMRY8iT0vAnOi88uXsIGk9r6Yf/VrZPGHuG1ceRuTHIN3pyzKaPtQO2MisHH4z9ZDXmGrh3NJgq56ag==","signatures":[{"sig":"MEUCIFcRdGnKpbpiCQXitjquqdH3at+cMAMm4gRfKk2kLWyhAiEA9X68uWdgfcf8LyZnqTN2zQBjCdzj/wlqfl7GBkL+s2Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":59134,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi4RM9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqoAg//VF9u4bEZJvK2hgiowuV0PHBra7xI4gqmsy9BwcDKaojnz1b3\r\n+tVxgUBxDSPVQCRvag5okV0w8O48ow1qDqRYpmgoemjyt0WYk6WeC1BL5q0T\r\nXmdwMYxn52IxzsnLtzoc198lftB41Mw/7BZvYsQi80YohOkgyulCE7ma48Dm\r\nn3SuXV33WdNYcGfVbbvns6dHKHm7Hk3PGrA4kgfckirJXFgBbCEtOrti/m3s\r\nOsnNdC8+R0wQQrt/Q6vg4p804kBcQjbBittfyL2Jsy5zXY5CvTl0TS5XZgA3\r\nEp7P9MkcXg7/iJXXP9vXGCl7aCgTtp4X2T7Uf9ptRFUD2Y9vrQgERPCfzuXh\r\nmrLKj3g5eH0MiRg898DoA8CK6+7qW8PvoxYEonhxk7FR+3TSYBN6YrZ3vJZU\r\nzZUGb9oeHy92tzzreptdsgMN/e6SLZsQNubT/0xVzyIBKi3B9wlvJhTgQxlJ\r\nEsxjlT9QIWnCM5eawD47z9f9mj4whWIgSOofKpenOiin0Bx4+Dc5ukv4cOWv\r\nkcZF2fkw0thW7AgRXK+4c8+3AzVDCeTpbsGFRGCf756oGGaB5XLfxVil6Kfg\r\ngu29N+4Y5jjzsSsW0pD7fHwP/E6p/NtVwJ6/QjEPhMcuNc+sJGHuKx+94OvQ\r\n1koL20GXmJ7iUnhYi036o3fnZcJChtbXqEU=\r\n=zZ+Y\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/bundle/index.mjs","engines":{"node":">=12"},"exports":{".":{"import":"./dist/esm/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"facce76da85dbb02204e9addeaeba34b3f8fdd2b","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"git ls-files --exclude-standard --ignored --others --directory | grep -vE '^((\\.(env|vscode|husky))|next-env\\.d\\.ts|node_modules)($|\\/)' | xargs -p rm -rf","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && prettier --write '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && if [ -z \"$ALLOW_DISABLED_LINKS\" ] && grep -qR --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; then echo '---\nWARNING: disabled links were found in the following files:'; grep -R --color=always --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; echo '(to ignore this error, run this command again with ALLOW_DISABLED_LINKS=1)'; exit 1; fi","prepare":"if [ -z \"$CI\" ] && ([ -z \"$NODE_ENV\" ] || [ \"$NODE_ENV\" = \"development\" ]); then husky install; else echo 'skipped installing husky git hooks'; fi","lint-all":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.eslint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.eslint.json .; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test-all":"BABEL_ENV=test jest $JEST_CLI --coverage","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts*' --collectCoverageFrom 'lib/**/*.ts*' --collectCoverageFrom 'external-scripts/**/*.ts*' --testPathIgnorePatterns test/integration-*.test.ts* dist","build-dist":"if [ -r ./next.config.js ]; then next build; else NODE_ENV=production tsc --project tsconfig.types.json --incremental false && NODE_ENV=production webpack --config-name cjs && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli && chmod +x ./dist/cli.js; fi && NODE_ENV=esm webpack --config-name esm && NODE_ENV=bundle babel src --extensions .ts --out-dir dist/bundle --out-file-extension .mjs; fi","build-docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md; fi && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`/`\\(destructured\\)`/g' {} + && find docs -name '*.md' -exec sed -i -E 's/`__namedParameters\\.([^`]+)`/`\\({ \\1 }\\)`/g' {} +","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --config conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-repeat-all":"npm run __test-repeat-all --silent","test-integration":"BABEL_ENV=test jest $JEST_CLI test/integration-*.test.ts* --testPathIgnorePatterns dist test/unit-*.test.ts","test-repeat-unit":"npm run __test-repeat-unit --silent","__test-repeat-all":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter || exit; done) && echo \"All tests passed! Congrats!\"","__test-repeat-unit":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter --testPathIgnorePatterns test/integration-*.test.ts dist || exit; done) && echo \"All tests passed! Congrats!\"","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts* --testPathIgnorePatterns dist","test-integration-client":"BABEL_ENV=test jest $JEST_CLI test/integration-client*.test.ts* --testPathIgnorePatterns dist","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-external*.test.ts* --testPathIgnorePatterns dist"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"8.15.0","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"18.6.0","dependencies":{"cookie":"^0.5.0","node-fetch":"^2.6.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^7.0.0","glob":"^8.0.3","jest":"^28.1.3","debug":"^4.3.4","execa":"^5.1.1","husky":"^8.0.1","dotenv":"^16.0.1","eslint":"^8.20.0","semver":"^7.3.7","mongodb":"^4.8.1","typedoc":"^0.23.9","webpack":"^5.74.0","prettier":"^2.7.1","type-fest":"^2.17.0","@babel/cli":"^7.18.9","babel-jest":"^28.1.3","remark-cli":"^11.0.0","remark-gfm":"^3.0.1","simple-git":"^3.10.0","strip-ansi":"^6.0.1","typescript":"^4.7.4","@babel/core":"^7.18.9","@types/jest":"^28.1.6","@types/node":"^18.6.1","jest-circus":"^28.1.3","lint-staged":"^13.0.3","webpack-cli":"^4.10.0","@types/debug":"^4.1.7","babel-loader":"^8.2.5","spellchecker":"^3.7.1","@octokit/rest":"^19.0.3","@types/cookie":"^0.5.1","@types/semver":"^7.3.10","jest-extended":"^3.0.1","@types/webpack":"^5.28.0","edit-json-file":"^1.7.0","@commitlint/cli":"^17.0.3","@ergodark/types":"^1.0.17","text-extensions":"^2.4.0","toss-expression":"^0.1.1","unique-filename":"^1.1.1","semantic-release":"https://xunn.at/semantic-release-atam","@babel/preset-env":"^7.18.9","@types/node-fetch":"^2.5.12","find-package-json":"^1.2.0","sort-package-json":"^1.57.0","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^26.6.0","remark-frontmatter":"^4.0.1","source-map-support":"^0.5.21","@babel/eslint-parser":"^7.18.9","eslint-plugin-import":"^2.26.0","@semantic-release/git":"^10.0.1","@types/edit-json-file":"^1.7.0","remark-validate-links":"^12.0.0","@semantic-release/exec":"^6.0.3","remark-reference-links":"^6.0.1","webpack-node-externals":"^3.0.0","typedoc-plugin-markdown":"^3.13.4","@babel/preset-typescript":"^7.18.6","@types/find-package-json":"^1.2.3","@typescript-eslint/parser":"^5.31.0","confusing-browser-globals":"^1.0.11","remark-lint-final-newline":"^2.1.1","conventional-changelog-cli":"^2.2.2","@semantic-release/changelog":"^6.0.1","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^3.1.1","remark-lint-no-inline-padding":"^4.1.1","@commitlint/config-conventional":"^17.0.3","babel-plugin-source-map-support":"^2.2.0","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.31.0","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^3.3.0","remark-lint-no-unused-definitions":"^3.1.1","remark-lint-no-undefined-references":"^4.1.1","@babel/plugin-proposal-function-bind":"^7.18.9","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^3.1.1","remark-lint-no-heading-content-indent":"^4.1.1","remark-lint-ordered-list-marker-style":"^3.1.1","babel-plugin-explicit-exports-references":"^1.0.2","remark-lint-no-blockquote-without-marker":"^5.1.1","remark-lint-no-auto-link-without-protocol":"^3.1.1","@babel/plugin-proposal-export-default-from":"^7.18.9","@xunnamius/conventional-changelog-projector":"^1.1.1","babel-plugin-transform-default-named-imports":"^1.2.2","@babel/plugin-proposal-nullish-coalescing-operator":"^7.18.6"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_3.1.7_1658917693038_0.45861221850926115","host":"s3://npm-registry-packages"}},"3.1.8":{"name":"next-test-api-route-handler","version":"3.1.8","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@3.1.8","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"a883a765670e939e9c625b8d11e680539a0ab89b","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-3.1.8.tgz","fileCount":9,"integrity":"sha512-8o+TjtlQdvLv7YmR5NOl+AQCM/tEZqB1mvqBeGFQscuGtL+42fOrOsDFv2QsFUWieUMKv7j7NqOmYMpJRPu3/w==","signatures":[{"sig":"MEUCIA4YMcxqfc+oAnG5w21SWe6dCkshiGJ86q5ECJMpsPL4AiEA5kELTcg1bnFfx+1MqAQSBl07fG8qG41u+eXEfNUOY7g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":65246,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtLzNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrrsQ/+PAlMVFTJlQgoi88kbJAVPS+oVGjrboZb3zTWundBMKyxoB7N\r\nyHS3Zg4AM+NBtd1fMiKbp+DNHnrCQnb75t2x08hc2Z0A4TkdpSXtZidQWcdr\r\nPiCZ66WgvZ5S2Oi2MR0hbpqt5tQ0TYMEZlPufF+M9+bo90y6UazPbd8vKKLm\r\nPsm+HSt0xyQdGV9zld60kenxeNdr09UHLUv48hWwrP36gKFOaot9JvhoDVjb\r\n54W+nU0c9J+d8RP+IQoVCcVTYu3AMx9zlj8Bly6vwrothxuzcAJuyeIJ6B7S\r\nnSyHo7jazZw2DA2fFW/iRFOBdsRkOc4t+94Wzp3telAVcNKidBAPyF0AdTYJ\r\nhsQpxKiOBJQSkAM1Gcy1XdsILa5z7Zz7PAhqpuzfkqQ42KniswImsxgmC0Wo\r\nZIDh6+RLs7EeVwWtyU7kp1Z4wODN9T6mbGqL0hrELZZ2L82vhFJ42VOnYQcB\r\nzc9KbmJqNxGr2tCEIIz9P5KtIRTIQqOlDtks5/WImmRNtoRAR2O00EU6QzES\r\nQeZAffoh6ozheiRbM2wyEV1n48dllml6FrmXTVfMJeSdK8RX7quhf9Yntg5Z\r\n6I5j17fqsUKxa/5aQicsmSjDLOFiHXhO5+AbeNMmPZpRSSz4ZUkPIaGBQ4qc\r\nSkTlG3ZjiNtxpe1E5ELctw97qzFkRQ726Lw=\r\n=KUXp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/bundle/index.mjs","engines":{"node":">=12"},"exports":{".":{"import":"./dist/esm/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"9bbde4edcc73f37b759bca9fedd1cc815b794bdb","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"git ls-files --exclude-standard --ignored --others --directory | grep -vE '^((\\.(env|vscode|husky))|next-env\\.d\\.ts|node_modules)($|\\/)' | xargs -p rm -rf","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && prettier --write '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && if [ -z \"$ALLOW_DISABLED_LINKS\" ] && grep -qR --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; then echo '---\nWARNING: disabled links were found in the following files:'; grep -R --color=always --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; echo '(to ignore this error, run this command again with ALLOW_DISABLED_LINKS=1)'; exit 1; fi","prepare":"if [ -z \"$CI\" ] && ([ -z \"$NODE_ENV\" ] || [ \"$NODE_ENV\" = \"development\" ]); then husky install; else echo 'skipped installing husky git hooks'; fi","lint-all":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.eslint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.eslint.json .; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test-all":"BABEL_ENV=test jest $JEST_CLI --coverage","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts*' --collectCoverageFrom 'lib/**/*.ts*' --collectCoverageFrom 'external-scripts/**/*.ts*' --testPathIgnorePatterns test/integration-*.test.ts* dist","build-dist":"if [ -r ./next.config.js ]; then next build; else NODE_ENV=production tsc --project tsconfig.types.json --incremental false && NODE_ENV=production webpack --config-name cjs && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli && chmod +x ./dist/cli.js; fi && NODE_ENV=esm webpack --config-name esm && NODE_ENV=bundle babel src --extensions .ts --out-dir dist/bundle --out-file-extension .mjs; fi","build-docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md; fi && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`/`\\(destructured\\)`/g' {} + && find docs -name '*.md' -exec sed -i -E 's/`__namedParameters\\.([^`]+)`/`\\({ \\1 }\\)`/g' {} +","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --config conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-repeat-all":"npm run __test-repeat-all --silent","test-integration":"BABEL_ENV=test jest $JEST_CLI test/integration-*.test.ts* --testPathIgnorePatterns dist test/unit-*.test.ts","test-repeat-unit":"npm run __test-repeat-unit --silent","__test-repeat-all":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter || exit; done) && echo \"All tests passed! Congrats!\"","__test-repeat-unit":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter --testPathIgnorePatterns test/integration-*.test.ts dist || exit; done) && echo \"All tests passed! Congrats!\"","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts* --testPathIgnorePatterns dist","test-integration-client":"BABEL_ENV=test jest $JEST_CLI test/integration-client*.test.ts* --testPathIgnorePatterns dist","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-external*.test.ts* --testPathIgnorePatterns dist"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"8.19.2","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"18.12.1","dependencies":{"cookie":"^0.5.0","node-fetch":"^2.6.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^7.0.0","glob":"^8.0.3","jest":"^29.3.1","debug":"^4.3.4","execa":"^5.1.1","husky":"^8.0.3","dotenv":"^16.0.3","eslint":"^8.31.0","semver":"^7.3.8","mongodb":"^4.13.0","typedoc":"^0.23.23","webpack":"^5.75.0","prettier":"^2.8.1","type-fest":"^3.5.0","@babel/cli":"^7.20.7","babel-jest":"^29.3.1","remark-cli":"^11.0.0","remark-gfm":"^3.0.1","simple-git":"^3.15.1","strip-ansi":"^6.0.1","typescript":"^4.9.4","@babel/core":"^7.20.7","@types/glob":"^8.0.0","@types/jest":"^29.2.5","@types/node":"^18.11.18","jest-circus":"^29.3.1","lint-staged":"^13.1.0","webpack-cli":"^5.0.1","@types/debug":"^4.1.7","babel-loader":"^9.1.0","spellchecker":"^3.7.1","@octokit/rest":"^19.0.5","@types/cookie":"^0.5.1","@types/semver":"^7.3.13","jest-extended":"^3.2.1","@types/webpack":"^5.28.0","edit-json-file":"^1.7.0","@commitlint/cli":"^17.3.0","@ergodark/types":"^1.0.17","text-extensions":"^2.4.0","toss-expression":"^0.1.1","unique-filename":"^3.0.0","semantic-release":"https://xunn.at/semantic-release-atam","@babel/preset-env":"^7.20.2","@types/node-fetch":"^2.5.12","find-package-json":"^1.2.0","sort-package-json":"^2.1.0","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^27.2.0","remark-frontmatter":"^4.0.1","source-map-support":"^0.5.21","@babel/eslint-parser":"^7.19.1","eslint-plugin-import":"^2.26.0","@semantic-release/git":"^10.0.1","@types/edit-json-file":"^1.7.0","remark-validate-links":"^12.1.0","@semantic-release/exec":"^6.0.3","remark-reference-links":"^6.0.1","webpack-node-externals":"^3.0.0","typedoc-plugin-markdown":"^3.14.0","@babel/preset-typescript":"^7.18.6","@types/find-package-json":"^1.2.3","@typescript-eslint/parser":"^5.48.0","confusing-browser-globals":"^1.0.11","remark-lint-final-newline":"^2.1.1","conventional-changelog-cli":"^2.2.2","@semantic-release/changelog":"^6.0.2","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^3.1.1","remark-lint-no-inline-padding":"^4.1.1","@commitlint/config-conventional":"^17.3.0","babel-plugin-source-map-support":"^2.2.0","@types/confusing-browser-globals":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.48.0","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^3.5.2","remark-lint-no-unused-definitions":"^3.1.1","remark-lint-no-undefined-references":"^4.2.0","@babel/plugin-proposal-function-bind":"^7.18.9","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^3.1.1","remark-lint-no-heading-content-indent":"^4.1.1","remark-lint-ordered-list-marker-style":"^3.1.1","babel-plugin-explicit-exports-references":"^1.0.2","remark-lint-no-blockquote-without-marker":"^5.1.1","remark-lint-no-auto-link-without-protocol":"^3.1.1","@babel/plugin-proposal-export-default-from":"^7.18.10","@xunnamius/conventional-changelog-projector":"^1.2.1","babel-plugin-transform-default-named-imports":"^1.2.2","@babel/plugin-proposal-nullish-coalescing-operator":"^7.18.6"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_3.1.8_1672789196996_0.19489843174483212","host":"s3://npm-registry-packages"}},"3.1.9":{"name":"next-test-api-route-handler","version":"3.1.9","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@3.1.9","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"cf4b8d226aa9cfdb68d7643a604838971d05ca57","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-3.1.9.tgz","fileCount":8,"integrity":"sha512-ujvxhPa+H37Cl4Cf0MqqyhIUFutQ5G8576xcjiBeQOlQsG07n+L70vDaRrvJloK9cHoWwX7kWD4qET3dTtfPEQ==","signatures":[{"sig":"MEQCIEMF2zhCyVgx9B5L71WvLbpGaWZjykid7slf0nlNxKMfAiABuW+Z4rDRAviEsM6A1CRukTV5oAjBbrRGTownD5JyRw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":58974},"main":"./dist/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","module":"./dist/bundle/index.mjs","engines":{"node":">=12"},"exports":{".":{"import":"./dist/esm/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"27acca7ebb2c28c8f726350b657b08c145b28ed8","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json src; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test-unit --","build":"npm run build-dist --","clean":"git ls-files --exclude-standard --ignored --others --directory | grep -vE '^((\\.(env|vscode|husky))|next-env\\.d\\.ts|node_modules)($|\\/)' | xargs -p rm -rf","format":"sort-package-json && remark -o --use reference-links --use gfm --use frontmatter '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && prettier --write '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}' && if [ -z \"$ALLOW_DISABLED_LINKS\" ] && grep -qR --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; then echo '---\nWARNING: disabled links were found in the following files:'; grep -R --color=always --exclude-dir=node_modules --include='*.md' '\\\\\\[[^\\]*\\]\\\\' .; echo '(to ignore this error, run this command again with ALLOW_DISABLED_LINKS=1)'; exit 1; fi","prepare":"if [ -z \"$CI\" ] && ([ -z \"$NODE_ENV\" ] || [ \"$NODE_ENV\" = \"development\" ]); then husky install; else echo 'skipped installing husky git hooks'; fi","lint-all":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.eslint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.eslint.json .; Y=$?; remark --quiet --use gfm --use frontmatter --use lint-final-newline --use lint-no-auto-link-without-protocol --use lint-no-blockquote-without-marker --use lint-ordered-list-marker-style --use lint-hard-break-spaces --use lint-no-duplicate-definitions --use lint-no-heading-content-indent --use lint-no-inline-padding --use lint-no-undefined-references --use lint-no-unused-definitions --use validate-links '{{,.}*.md,!(node_modules)/**/{,.}*.md,.*/**/{,.}*.md}'; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test-all":"BABEL_ENV=test jest $JEST_CLI --coverage","test-unit":"BABEL_ENV=test jest $JEST_CLI --coverage --collectCoverageFrom 'src/**/*.ts*' --collectCoverageFrom 'lib/**/*.ts*' --collectCoverageFrom 'external-scripts/**/*.ts*' --testPathIgnorePatterns test/integration-*.test.ts* dist","build-dist":"if [ -r ./next.config.js ]; then next build; else NODE_ENV=production tsc --project tsconfig.types.json --incremental false && NODE_ENV=production webpack --config-name cjs && if [ -r ./src/cli.ts ]; then NODE_ENV=production webpack --config-name cli && chmod +x ./dist/cli.js; fi && NODE_ENV=esm webpack --config-name esm && NODE_ENV=bundle babel src --extensions .ts --out-dir dist/bundle --out-file-extension .mjs; fi","build-docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'console.log((x => typeof x==\"string\"?x:x.default)(require(\"./package.json\").exports[\".\"]).replace(/\\.\\/dist\\/(.+)\\.[a-zA-Z0-9]+$/, \"./src/$1.ts\"))'` && echo 'Entry file:' \"$ENTRY\" && typedoc --plugin typedoc-plugin-markdown --out docs --readme none $ENTRY && find docs -name '*.md' -exec sed -i -e 's/Project: //g' {} + && sed -i -e 1,4d docs/README.md; fi && find docs -name '*.md' -exec sed -i -e 's/`__namedParameters`/`\\(destructured\\)`/g' {} + && find docs -name '*.md' -exec sed -i -E 's/`__namedParameters\\.([^`]+)`/`\\({ \\1 }\\)`/g' {} +","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))'","build-stats":"NODE_ENV=production webpack --json > bundle-stats.ignore.json","build-changelog":"conventional-changelog --outfile CHANGELOG.md --config conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && remark -o --use reference-links --use gfm --use frontmatter CHANGELOG.md && prettier --write CHANGELOG.md","build-externals":"NODE_ENV=external webpack --config-name externals","test-repeat-all":"npm run __test-repeat-all --silent","test-integration":"BABEL_ENV=test jest $JEST_CLI test/integration-*.test.ts* --testPathIgnorePatterns dist test/unit-*.test.ts","test-repeat-unit":"npm run __test-repeat-unit --silent","__test-repeat-all":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter || exit; done) && echo \"All tests passed! Congrats!\"","__test-repeat-unit":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true BABEL_ENV=test jest --reporters=jest-silent-reporter --testPathIgnorePatterns test/integration-*.test.ts dist || exit; done) && echo \"All tests passed! Congrats!\"","test-integration-node":"BABEL_ENV=test jest $JEST_CLI test/integration-node*.test.ts* --testPathIgnorePatterns dist","test-integration-client":"BABEL_ENV=test jest $JEST_CLI test/integration-client*.test.ts* --testPathIgnorePatterns dist","test-integration-externals":"BABEL_ENV=test jest $JEST_CLI test/integration-external*.test.ts* --testPathIgnorePatterns dist"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"9.8.1","description":"Confidently unit test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"20.5.1","dependencies":{"cookie":"^0.5.0","node-fetch":"^2.6.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"del":"^7.1.0","glob":"^9.3.2","jest":"^29.7.0","debug":"^4.3.4","execa":"^5.1.1","husky":"^8.0.3","dotenv":"^16.3.1","eslint":"^8.50.0","semver":"^7.5.4","mongodb":"^6.1.0","typedoc":"^0.25.1","webpack":"^5.88.2","prettier":"^3.0.3","type-fest":"^4.3.3","@babel/cli":"^7.23.0","babel-jest":"^29.7.0","remark-cli":"^12.0.0","remark-gfm":"^4.0.0","simple-git":"^3.20.0","strip-ansi":"^6.0.1","typescript":"^5.2.2","@babel/core":"^7.23.0","@types/glob":"^8.1.0","@types/jest":"^29.5.5","@types/node":"^20.8.2","jest-circus":"^29.7.0","lint-staged":"^14.0.1","webpack-cli":"^5.1.4","@types/debug":"^4.1.9","babel-loader":"^9.1.3","spellchecker":"^3.7.1","@octokit/rest":"^20.0.2","@types/cookie":"^0.5.2","@types/semver":"^7.5.3","jest-extended":"^4.0.1","@types/webpack":"^5.28.3","edit-json-file":"^1.7.0","@commitlint/cli":"^17.7.2","@ergodark/types":"^1.0.17","text-extensions":"^2.4.0","toss-expression":"^0.1.2","unique-filename":"^3.0.0","semantic-release":"https://xunn.at/semantic-release-atam","@babel/preset-env":"^7.22.20","@types/node-fetch":"^2.5.12","find-package-json":"^1.2.0","sort-package-json":"https://xunn.at/sort-package-json","@types/test-listen":"^1.1.0","eslint-plugin-jest":"^27.4.2","remark-frontmatter":"^5.0.0","source-map-support":"^0.5.21","@babel/eslint-parser":"^7.22.15","eslint-plugin-import":"^2.28.1","@semantic-release/git":"^10.0.1","@types/edit-json-file":"^1.7.1","remark-validate-links":"^13.0.0","@semantic-release/exec":"^6.0.3","remark-reference-links":"^7.0.0","webpack-node-externals":"^3.0.0","typedoc-plugin-markdown":"^3.16.0","@babel/preset-typescript":"^7.23.0","@types/find-package-json":"^1.2.4","@typescript-eslint/parser":"^6.7.4","confusing-browser-globals":"^1.0.11","remark-lint-final-newline":"^2.1.2","conventional-changelog-cli":"^4.1.0","@semantic-release/changelog":"^6.0.3","eslint-import-resolver-alias":"^1.1.2","remark-lint-hard-break-spaces":"^3.1.2","remark-lint-no-inline-padding":"^4.1.2","@commitlint/config-conventional":"^17.7.0","babel-plugin-source-map-support":"^2.2.0","@types/confusing-browser-globals":"^1.0.1","@typescript-eslint/eslint-plugin":"^6.7.4","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^3.6.1","remark-lint-no-unused-definitions":"^3.1.2","remark-lint-no-undefined-references":"^4.2.1","@babel/plugin-proposal-function-bind":"^7.22.5","babel-plugin-transform-rename-import":"^2.3.0","remark-lint-no-duplicate-definitions":"^3.1.2","remark-lint-no-heading-content-indent":"^4.1.2","remark-lint-ordered-list-marker-style":"^3.1.2","babel-plugin-explicit-exports-references":"^1.0.2","remark-lint-no-blockquote-without-marker":"^5.1.2","remark-lint-no-auto-link-without-protocol":"^3.1.2","@babel/plugin-proposal-export-default-from":"^7.22.17","@xunnamius/conventional-changelog-projector":"^1.2.1","babel-plugin-transform-default-named-imports":"^1.2.2","@babel/plugin-proposal-nullish-coalescing-operator":"^7.18.6"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_3.1.9_1696332679627_0.8341078083160522","host":"s3://npm-registry-packages"}},"4.0.0-canary.2":{"name":"next-test-api-route-handler","version":"4.0.0-canary.2","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@4.0.0-canary.2","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"941488ea75cb71d1c8ef73b06a6576f0edf620c2","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-4.0.0-canary.2.tgz","fileCount":6,"integrity":"sha512-2OKDN2LwEFQ0WxHSo2Xoi90wqXOxUGzUYEzl5jLym5t3Ul7s46xZUagR8+FWRbwQW7TnEreYeMZBhCS1dT3VcA==","signatures":[{"sig":"MEUCIEEGDlmoSpgir1lKFjSdLO2QRZBDd4nXfp83ojWsGicHAiEAyVgg5nAweQQJcLwsP8DrhKyd1HTh48E6KAWmieakhgQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66071},"main":"./dist/src/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","config":{"plugin-build":{"docs":{"entry":"./src/index.ts"}}},"module":"./dist/src/index.js","engines":{"node":">=12"},"exports":{".":{"node":"./dist/src/index.js","types":"./dist/types/src/index.d.ts","default":"./dist/src/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"01c546dca5db08f91018b20b25bad7547e54f778","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json --no-error-on-unmatched-pattern packages src; Y=$?; MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && echo $MD_FILES | NODE_ENV=lint xargs remark --quiet --frail --no-stdout; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test:unit --","build":"npm run build:dist --","clean":"git ls-files --exclude-standard --ignored --others --directory | grep -vE '^((\\.(env|vscode|husky))|next-env\\.d\\.ts|node_modules)($|\\/)' | xargs -p rm -rf","format":"MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && (echo $MD_FILES | xargs remark --no-config --no-stdout --quiet --frail --use gfm --use lint-no-undefined-references || (echo -n '\u001b' && echo '[37;41;1m FAIL \u001b[0m cannot continue with undefined references present' && false)) && sort-package-json './package.json' './packages/*/package.json' && echo $MD_FILES | NODE_ENV=format xargs remark --output --frail && echo $MD_FILES | xargs doctoc --no-title --maxlevel 3 --update-only && prettier --write .","prepare":"node -e \"execa = require('execa'); if(process.env.CI === undefined && (process.env.NODE_ENV === undefined || process.env.NODE_ENV == 'development')) { execa.sync('npx', ['husky', 'install'], { stdout: 'inherit', stderr: 'inherit' }); } else { console.log('skipped installing husky git hooks'); }\"","lint:all":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.eslint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.eslint.json .; Y=$?; MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && echo $MD_FILES | NODE_ENV=lint xargs remark --quiet --frail --no-stdout; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test:all":"NODE_ENV=test jest --coverage","test:e2e":"NODE_ENV=test jest 'e2e.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:unit":"NODE_ENV=test jest '/unit-.*\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","build:dist":"echo '> Generating types...' && NODE_ENV=production tsc --project tsconfig.types.json --incremental false && tsconfig-replace-paths --project tsconfig.types.json && echo '> Building distributables...' && NODE_ENV=production-cjs babel src --extensions .ts --out-dir dist/src","build:docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --skipErrorChecking --cleanOutputDir --tsconfig tsconfig.docs.json --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'const entry = require(\"./package.json\").config?.[\"plugin-build\"]?.docs?.entry; if(!entry) throw new Error(\"\\\"config['\"'\"'plugin-build'\"'\"'].docs.entry\\\" field is not defined in package.json\"); console.log(entry)'` && echo 'Entry file:' $ENTRY && typedoc --plugin typedoc-plugin-markdown --skipErrorChecking --cleanOutputDir --tsconfig tsconfig.docs.json --out docs --readme none $ENTRY; fi","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))' && (npm run -ws list-tasks --if-present 2>/dev/null || true)","build:changelog":"conventional-changelog --outfile CHANGELOG.md --config ./conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && NODE_ENV=format remark --output --frail CHANGELOG.md && prettier --write CHANGELOG.md","build:externals":"NODE_ENV=production-external babel external-scripts --extensions .ts --out-dir external-scripts/bin","test:repeat:all":"npm run __test:repeat:all --silent","test:integration":"NODE_ENV=test jest '/integration.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:repeat:unit":"npm run __test:repeat:unit --silent","__test:repeat:all":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true NODE_ENV=test npx jest --reporters=jest-silent-reporter || exit; done) && echo \"All tests passed! Congrats!\"","__test:repeat:unit":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true NODE_ENV=test npx jest --reporters=jest-silent-reporter --testPathIgnorePatterns '/(integration|e2e).*?\\.test\\.tsx?' '/dist/' || exit; done) && echo \"All tests passed! Congrats!\"","test:integration:node":"NODE_ENV=test jest '/integration-node.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:client":"NODE_ENV=test jest '/integration-client.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:compile":"NODE_ENV=test jest '/integration-compile.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:externals":"NODE_ENV=test jest '/integration-external.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"deprecated":"this package should not be installed","repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"9.9.0","description":"Confidently unit and integration test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"20.9.0","dependencies":{"cookie":"^0.5.0","core-js":"^3.33.2","node-fetch":"^2.6.7"},"publishConfig":{"access":"public"},"typesVersions":{"*":{"*":["./dist/types/src/index.d.ts"]}},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"del":"^7.1.0","glob":"^9.3.2","jest":"^29.7.0","debug":"^4.3.4","execa":"^5.1.1","husky":"^8.0.3","doctoc":"^2.2.1","dotenv":"^16.3.1","eslint":"^8.53.0","semver":"^7.5.4","mongodb":"^6.2.0","typedoc":"^0.25.3","prettier":"^3.0.3","type-fest":"^4.6.0","@babel/cli":"^7.23.0","babel-jest":"^29.7.0","remark-cli":"^12.0.0","remark-gfm":"^4.0.0","simple-git":"^3.20.0","strip-ansi":"^6.0.1","typescript":"^5.2.2","@babel/core":"^7.23.2","@types/glob":"^8.1.0","@types/jest":"^29.5.7","@types/node":"^20.8.10","jest-circus":"^29.7.0","lint-staged":"^15.0.2","remark-lint":"^9.1.2","@types/debug":"^4.1.10","babel-loader":"^9.1.3","spellchecker":"^3.7.1","@octokit/rest":"^20.0.2","@types/cookie":"^0.5.3","@types/semver":"^7.5.4","jest-extended":"^4.0.2","remark-ignore":"^1.0.6","@types/webpack":"^5.28.4","edit-json-file":"^1.7.0","glob-gitignore":"^1.0.14","@commitlint/cli":"^18.2.0","text-extensions":"^2.4.0","toss-expression":"^0.1.2","unique-filename":"^3.0.0","@xunnamius/types":"^1.3.0","lodash.mergewith":"^4.6.2","semantic-release":"https://xunn.at/semantic-release-atam@22.0.6","@babel/preset-env":"^7.23.2","@types/mime-types":"^2.1.3","@types/node-fetch":"^2.5.12","find-package-json":"^1.2.0","sort-package-json":"https://xunn.at/sort-package-json@2.3.0","@types/test-listen":"^1.1.1","eslint-plugin-jest":"^27.6.0","remark-frontmatter":"^5.0.0","source-map-support":"^0.5.21","remark-lint-no-tabs":"^3.1.2","@babel/eslint-parser":"^7.22.15","all-contributors-cli":"^6.26.1","eslint-plugin-import":"^2.29.0","@semantic-release/git":"^10.0.1","@types/edit-json-file":"^1.7.2","@types/lodash.ismatch":"^4.4.8","@xunnamius/jest-types":"^1.1.3","eslint-plugin-unicorn":"^49.0.0","remark-tight-comments":"^1.0.6","remark-validate-links":"^13.0.0","@semantic-release/exec":"^6.0.3","remark-reference-links":"^7.0.0","tsconfig-replace-paths":"^0.0.14","@types/lodash.mergewith":"^4.6.8","remark-sort-definitions":"^1.0.5","typedoc-plugin-markdown":"^3.17.0","@babel/preset-typescript":"^7.23.2","@types/find-package-json":"^1.2.5","remark-lint-no-empty-url":"^3.1.2","@typescript-eslint/parser":"^6.9.1","confusing-browser-globals":"^1.0.11","remark-lint-final-newline":"^2.1.2","conventional-changelog-cli":"^4.1.0","remark-capitalize-headings":"^1.0.3","remark-lint-file-extension":"^2.1.2","remark-renumber-references":"^1.0.5","@semantic-release/changelog":"^6.0.3","remark-lint-definition-case":"^3.1.2","remark-lint-list-item-style":"^1.1.3","remark-lint-no-literal-urls":"^3.1.2","babel-plugin-module-resolver":"^5.0.0","eslint-import-resolver-alias":"^1.1.2","remark-lint-fenced-code-flag":"^3.1.2","remark-lint-no-shell-dollars":"^3.1.2","eslint-plugin-module-resolver":"^1.5.0","remark-lint-hard-break-spaces":"^3.1.2","remark-lint-heading-increment":"^3.1.2","remark-lint-no-empty-sections":"^4.0.0","remark-lint-no-inline-padding":"^4.1.2","remark-lint-heading-whitespace":"^1.0.0","@commitlint/config-conventional":"^18.1.0","babel-plugin-source-map-support":"^2.2.0","remark-lint-first-heading-level":"^3.1.2","remark-lint-heading-word-length":"^1.0.3","@types/confusing-browser-globals":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.9.1","remark-lint-strikethrough-marker":"^2.1.2","remark-remove-unused-definitions":"^1.0.4","remark-remove-url-trailing-slash":"^1.0.2","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^3.6.1","remark-lint-fenced-code-flag-case":"^1.0.4","remark-lint-no-reference-like-url":"^3.1.2","remark-lint-no-unused-definitions":"^3.1.2","remark-lint-no-heading-punctuation":"^3.1.2","eslint-import-resolver-babel-module":"^5.3.2","remark-lint-no-undefined-references":"^4.2.1","@babel/plugin-proposal-function-bind":"^7.22.5","remark-lint-no-duplicate-definitions":"^3.1.2","remark-lint-no-duplicate-defined-urls":"^2.1.2","remark-lint-no-heading-content-indent":"^4.1.2","remark-lint-no-heading-like-paragraph":"^3.1.2","remark-lint-ordered-list-marker-style":"^3.1.2","remark-lint-ordered-list-marker-value":"^3.1.2","babel-plugin-transform-rewrite-imports":"^1.2.0","remark-lint-no-shortcut-reference-link":"^3.1.2","remark-lint-no-shortcut-reference-image":"^3.1.2","remark-lint-unordered-list-marker-style":"^3.1.2","babel-plugin-explicit-exports-references":"^1.0.2","remark-lint-no-blockquote-without-marker":"^5.1.2","remark-lint-no-auto-link-without-protocol":"^3.1.2","remark-lint-no-multiple-toplevel-headings":"^3.1.2","@babel/plugin-proposal-export-default-from":"^7.22.17","@xunnamius/conventional-changelog-projector":"^1.2.1","babel-plugin-transform-default-named-imports":"^1.2.2","remark-lint-no-duplicate-headings-in-section":"^3.1.2"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_4.0.0-canary.2_1699120534193_0.42125662906926165","host":"s3://npm-registry-packages"}},"3.1.10":{"name":"next-test-api-route-handler","version":"3.1.10","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@3.1.10","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"657c04f0320cf2ac2afc2ed006793b81f644cceb","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-3.1.10.tgz","fileCount":6,"integrity":"sha512-Xg14+hTOI8pD61rwprpMhi9ARo6wC/mMFs0lrDbtgQoQMt9TAeRzwLfCi2Q9o3IOWoiyi62S13xjI/89d9SZRg==","signatures":[{"sig":"MEQCIGHLWChRJCasUpf+FJZv4Fa8kSY7e8YItkHm9nrbRQTHAiB5Dlx3F1RFYUjD57WKKQayfE0luRizxG4C44WLIPb1hg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66431},"main":"./dist/src/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","config":{"plugin-build":{"docs":{"entry":"./src/index.ts"}}},"module":"./dist/src/index.js","engines":{"node":">=12"},"exports":{".":{"node":"./dist/src/index.js","types":"./dist/types/src/index.d.ts","default":"./dist/src/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"0877755f59aec7ad902778179ea01f2089ed59c8","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json --no-error-on-unmatched-pattern packages src; Y=$?; MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && echo $MD_FILES | NODE_ENV=lint xargs remark --quiet --frail --no-stdout; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test:unit --","build":"npm run build:dist --","clean":"git ls-files --exclude-standard --ignored --others --directory | grep -vE '^((\\.(env|vscode|husky))|next-env\\.d\\.ts|node_modules)($|\\/)' | xargs -p rm -rf","format":"MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && (echo $MD_FILES | xargs remark --no-config --no-stdout --quiet --frail --use gfm --use lint-no-undefined-references || (echo -n '\u001b' && echo '[37;41;1m FAIL \u001b[0m cannot continue with undefined references present' && false)) && sort-package-json './package.json' './packages/*/package.json' && echo $MD_FILES | NODE_ENV=format xargs remark --output --frail && echo $MD_FILES | xargs doctoc --no-title --maxlevel 3 --update-only && prettier --write .","prepare":"node -e \"execa = require('execa'); if(process.env.CI === undefined && (process.env.NODE_ENV === undefined || process.env.NODE_ENV == 'development')) { execa.sync('npx', ['husky', 'install'], { stdout: 'inherit', stderr: 'inherit' }); } else { console.log('skipped installing husky git hooks'); }\"","lint:all":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.eslint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.eslint.json .; Y=$?; MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && echo $MD_FILES | NODE_ENV=lint xargs remark --quiet --frail --no-stdout; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test:all":"npx attw --pack . && echo && NODE_ENV=test jest --coverage","test:e2e":"NODE_ENV=test jest 'e2e.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:unit":"NODE_ENV=test jest '/unit-.*\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","build:dist":"echo '> Generating types...' && NODE_ENV=production tsc --project tsconfig.types.json --incremental false && tsconfig-replace-paths --project tsconfig.types.json && echo '> Building distributables...' && NODE_ENV=production-cjs babel src --extensions .ts --out-dir dist/src","build:docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --skipErrorChecking --cleanOutputDir --tsconfig tsconfig.docs.json --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'const entry = require(\"./package.json\").config?.[\"plugin-build\"]?.docs?.entry; if(!entry) throw new Error(\"\\\"config['\"'\"'plugin-build'\"'\"'].docs.entry\\\" field is not defined in package.json\"); console.log(entry)'` && echo 'Entry file:' $ENTRY && typedoc --plugin typedoc-plugin-markdown --skipErrorChecking --cleanOutputDir --tsconfig tsconfig.docs.json --out docs --readme none $ENTRY; fi","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))' && (npm run -ws list-tasks --if-present 2>/dev/null || true)","build:changelog":"conventional-changelog --outfile CHANGELOG.md --config ./conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && NODE_ENV=format remark --output --frail CHANGELOG.md && prettier --write CHANGELOG.md","build:externals":"NODE_ENV=production-external babel external-scripts --extensions .ts --out-dir external-scripts/bin","test:repeat:all":"npm run __test:repeat:all --silent","test:integration":"NODE_ENV=test jest '/integration.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:repeat:unit":"npm run __test:repeat:unit --silent","__test:repeat:all":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true NODE_ENV=test npx jest --reporters=jest-silent-reporter || exit; done) && echo \"All tests passed! Congrats!\"","__test:repeat:unit":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true NODE_ENV=test npx jest --reporters=jest-silent-reporter --testPathIgnorePatterns '/(integration|e2e).*?\\.test\\.tsx?' '/dist/' || exit; done) && echo \"All tests passed! Congrats!\"","test:integration:node":"NODE_ENV=test jest '/integration-node.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:client":"NODE_ENV=test jest '/integration-client.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:compile":"NODE_ENV=test jest '/integration-compile.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:externals":"NODE_ENV=test jest '/integration-external.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"9.9.0","description":"Confidently unit and integration test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"20.9.0","dependencies":{"cookie":"^0.5.0","core-js":"^3.33.2","node-fetch":"^2.6.7"},"publishConfig":{"access":"public"},"typesVersions":{"*":{"*":["./dist/types/src/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"del":"^7.1.0","glob":"^9.3.2","jest":"^29.7.0","debug":"^4.3.4","execa":"^5.1.1","husky":"^8.0.3","doctoc":"^2.2.1","dotenv":"^16.3.1","eslint":"^8.53.0","semver":"^7.5.4","mongodb":"^6.2.0","typedoc":"^0.25.3","prettier":"^3.0.3","type-fest":"^4.6.0","@babel/cli":"^7.23.0","babel-jest":"^29.7.0","remark-cli":"^12.0.0","remark-gfm":"^4.0.0","simple-git":"^3.20.0","strip-ansi":"^6.0.1","typescript":"^5.2.2","@babel/core":"^7.23.2","@types/glob":"^8.1.0","@types/jest":"^29.5.7","@types/node":"^20.8.10","jest-circus":"^29.7.0","lint-staged":"^15.0.2","remark-lint":"^9.1.2","@types/debug":"^4.1.10","babel-loader":"^9.1.3","spellchecker":"^3.7.1","@octokit/rest":"^20.0.2","@types/cookie":"^0.5.3","@types/semver":"^7.5.4","jest-extended":"^4.0.2","remark-ignore":"^1.0.6","@types/webpack":"^5.28.4","edit-json-file":"^1.7.0","glob-gitignore":"^1.0.14","@commitlint/cli":"^18.2.0","text-extensions":"^2.4.0","toss-expression":"^0.1.2","unique-filename":"^3.0.0","@xunnamius/types":"^1.3.0","lodash.mergewith":"^4.6.2","semantic-release":"https://xunn.at/semantic-release-atam@22.0.6","@babel/preset-env":"^7.23.2","@types/mime-types":"^2.1.3","@types/node-fetch":"^2.5.12","find-package-json":"^1.2.0","sort-package-json":"https://xunn.at/sort-package-json@2.3.0","@types/test-listen":"^1.1.1","eslint-plugin-jest":"^27.6.0","remark-frontmatter":"^5.0.0","source-map-support":"^0.5.21","remark-lint-no-tabs":"^3.1.2","@babel/eslint-parser":"^7.22.15","all-contributors-cli":"^6.26.1","eslint-plugin-import":"^2.29.0","@arethetypeswrong/cli":"^0.13.1","@semantic-release/git":"^10.0.1","@types/edit-json-file":"^1.7.2","@types/lodash.ismatch":"^4.4.8","@xunnamius/jest-types":"^1.1.3","eslint-plugin-unicorn":"^49.0.0","remark-tight-comments":"^1.0.6","remark-validate-links":"^13.0.0","@semantic-release/exec":"^6.0.3","remark-reference-links":"^7.0.0","tsconfig-replace-paths":"^0.0.14","@types/lodash.mergewith":"^4.6.8","remark-sort-definitions":"^1.0.5","typedoc-plugin-markdown":"^3.17.0","@babel/preset-typescript":"^7.23.2","@types/find-package-json":"^1.2.5","remark-lint-no-empty-url":"^3.1.2","@typescript-eslint/parser":"^6.9.1","confusing-browser-globals":"^1.0.11","remark-lint-final-newline":"^2.1.2","conventional-changelog-cli":"^4.1.0","remark-capitalize-headings":"^1.0.3","remark-lint-file-extension":"^2.1.2","remark-renumber-references":"^1.0.5","@semantic-release/changelog":"^6.0.3","remark-lint-definition-case":"^3.1.2","remark-lint-list-item-style":"^1.1.3","remark-lint-no-literal-urls":"^3.1.2","babel-plugin-module-resolver":"^5.0.0","eslint-import-resolver-alias":"^1.1.2","remark-lint-fenced-code-flag":"^3.1.2","remark-lint-no-shell-dollars":"^3.1.2","eslint-plugin-module-resolver":"^1.5.0","remark-lint-hard-break-spaces":"^3.1.2","remark-lint-heading-increment":"^3.1.2","remark-lint-no-empty-sections":"^4.0.0","remark-lint-no-inline-padding":"^4.1.2","remark-lint-heading-whitespace":"^1.0.0","@commitlint/config-conventional":"^18.1.0","babel-plugin-source-map-support":"^2.2.0","remark-lint-first-heading-level":"^3.1.2","remark-lint-heading-word-length":"^1.0.3","@types/confusing-browser-globals":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.9.1","remark-lint-strikethrough-marker":"^2.1.2","remark-remove-unused-definitions":"^1.0.4","remark-remove-url-trailing-slash":"^1.0.2","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^3.6.1","remark-lint-fenced-code-flag-case":"^1.0.4","remark-lint-no-reference-like-url":"^3.1.2","remark-lint-no-unused-definitions":"^3.1.2","remark-lint-no-heading-punctuation":"^3.1.2","eslint-import-resolver-babel-module":"^5.3.2","remark-lint-no-undefined-references":"^4.2.1","@babel/plugin-proposal-function-bind":"^7.22.5","remark-lint-no-duplicate-definitions":"^3.1.2","remark-lint-no-duplicate-defined-urls":"^2.1.2","remark-lint-no-heading-content-indent":"^4.1.2","remark-lint-no-heading-like-paragraph":"^3.1.2","remark-lint-ordered-list-marker-style":"^3.1.2","remark-lint-ordered-list-marker-value":"^3.1.2","babel-plugin-transform-rewrite-imports":"^1.2.0","remark-lint-no-shortcut-reference-link":"^3.1.2","remark-lint-no-shortcut-reference-image":"^3.1.2","remark-lint-unordered-list-marker-style":"^3.1.2","babel-plugin-explicit-exports-references":"^1.0.2","remark-lint-no-blockquote-without-marker":"^5.1.2","remark-lint-no-auto-link-without-protocol":"^3.1.2","remark-lint-no-multiple-toplevel-headings":"^3.1.2","@babel/plugin-proposal-export-default-from":"^7.22.17","@xunnamius/conventional-changelog-projector":"^1.2.1","babel-plugin-transform-default-named-imports":"^1.2.2","remark-lint-no-duplicate-headings-in-section":"^3.1.2"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_3.1.10_1699125409192_0.06793236758090693","host":"s3://npm-registry-packages"}},"3.2.0":{"name":"next-test-api-route-handler","version":"3.2.0","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@3.2.0","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"0932e6132dfab4b7108c74a34d90a854085a2f16","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-3.2.0.tgz","fileCount":6,"integrity":"sha512-gEev0YpErOjcfGY6Vj50xKAFBYCymYTdVCQuid1rqY2NIbA99GrTIEs79j6FF7+6j2R6ruQPcbwt+z0f9Z1J9w==","signatures":[{"sig":"MEUCIQDZ38OG4ZteNODNtsOFpzB3LQU1il6Sskl52vz45TnAEAIgZdYV9blH6kr8nMSZsUIsaT3hmkEvEF0O0JfNg0ZUIOw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":67475},"main":"./dist/src/index.js","type":"commonjs","types":"./dist/types/src/index.d.ts","config":{"plugin-build":{"docs":{"entry":"./src/index.ts"}}},"module":"./dist/src/index.js","engines":{"node":">=12"},"exports":{".":{"node":"./dist/src/index.js","types":"./dist/types/src/index.d.ts","default":"./dist/src/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"a4de541d582c8b66d396471ed4418b87fd623aee","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json --no-error-on-unmatched-pattern packages src; Y=$?; MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && echo $MD_FILES | NODE_ENV=lint xargs remark --quiet --frail --no-stdout; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test:unit --","build":"npm run build:dist --","clean":"git ls-files --exclude-standard --ignored --others --directory | grep -vE '^((\\.(env|vscode|husky))|next-env\\.d\\.ts|node_modules)($|\\/)' | xargs -p rm -rf","format":"MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && (echo $MD_FILES | xargs remark --no-config --no-stdout --quiet --frail --use gfm --use lint-no-undefined-references || (echo -n '\u001b' && echo '[37;41;1m FAIL \u001b[0m cannot continue with undefined references present' && false)) && sort-package-json './package.json' './packages/*/package.json' && echo $MD_FILES | NODE_ENV=format xargs remark --output --frail && echo $MD_FILES | xargs doctoc --no-title --maxlevel 3 --update-only && prettier --write .","prepare":"node -e \"execa = require('execa'); if(process.env.CI === undefined && (process.env.NODE_ENV === undefined || process.env.NODE_ENV === 'development')) { execa.sync('npx', ['husky', 'install'], { stdout: 'inherit', stderr: 'inherit' }); } else { console.log('skipped installing husky git hooks'); }\"","lint:all":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.eslint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.eslint.json .; Y=$?; MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && echo $MD_FILES | NODE_ENV=lint xargs remark --quiet --frail --no-stdout; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test:all":"npx attw --pack . && echo && NODE_ENV=test jest --coverage","test:e2e":"NODE_ENV=test jest 'e2e.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:unit":"NODE_ENV=test jest '/unit-.*\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","build:dist":"echo '> Generating types...' && NODE_ENV=production tsc --project tsconfig.types.json --incremental false && tsconfig-replace-paths --project tsconfig.types.json && echo '> Building distributables...' && NODE_ENV=production-cjs babel src --extensions .ts --out-dir dist/src","build:docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --skipErrorChecking --cleanOutputDir --tsconfig tsconfig.docs.json --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'const entry = require(\"./package.json\").config?.[\"plugin-build\"]?.docs?.entry; if(!entry) throw new Error(\"\\\"config['\"'\"'plugin-build'\"'\"'].docs.entry\\\" field is not defined in package.json\"); console.log(entry)'` && echo 'Entry file:' $ENTRY && typedoc --plugin typedoc-plugin-markdown --skipErrorChecking --cleanOutputDir --tsconfig tsconfig.docs.json --out docs --readme none $ENTRY; fi","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))' && (npm run -ws list-tasks --if-present 2>/dev/null || true)","build:changelog":"conventional-changelog --outfile CHANGELOG.md --config ./conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\" != 'true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && NODE_ENV=format remark --output --frail CHANGELOG.md && prettier --write CHANGELOG.md","build:externals":"NODE_ENV=production-external babel external-scripts --extensions .ts --out-dir external-scripts/bin","test:repeat:all":"npm run __test:repeat:all --silent","test:integration":"NODE_ENV=test jest '/integration.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:repeat:unit":"npm run __test:repeat:unit --silent","__test:repeat:all":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true NODE_ENV=test npx jest --reporters=jest-silent-reporter || exit; done) && echo \"All tests passed! Congrats!\"","__test:repeat:unit":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true NODE_ENV=test npx jest --reporters=jest-silent-reporter --testPathIgnorePatterns '/(integration|e2e).*?\\.test\\.tsx?' '/dist/' || exit; done) && echo \"All tests passed! Congrats!\"","test:integration:node":"NODE_ENV=test jest '/integration-node.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:client":"NODE_ENV=test jest '/integration-client.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:compile":"NODE_ENV=test jest '/integration-compile.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:externals":"NODE_ENV=test jest '/integration-external.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"9.9.2","description":"Confidently unit and integration test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"20.10.0","dependencies":{"cookie":"^0.6.0","core-js":"^3.35.0","node-fetch":"^2.6.7"},"publishConfig":{"access":"public"},"typesVersions":{"*":{"*":["./dist/types/src/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"del":"^7.1.0","glob":"^9.3.2","jest":"^29.7.0","debug":"^4.3.4","execa":"^5.1.1","husky":"^8.0.3","doctoc":"^2.2.1","dotenv":"^16.3.1","eslint":"^8.56.0","semver":"^7.5.4","mongodb":"^6.3.0","typedoc":"^0.25.6","prettier":"^3.1.1","type-fest":"^4.9.0","@babel/cli":"^7.23.4","babel-jest":"^29.7.0","remark-cli":"^12.0.0","remark-gfm":"^4.0.0","simple-git":"^3.22.0","strip-ansi":"^6.0.1","typescript":"^5.3.3","@babel/core":"^7.23.7","@types/glob":"^8.1.0","@types/jest":"^29.5.11","@types/node":"^20.10.6","jest-circus":"^29.7.0","lint-staged":"^15.2.0","remark-lint":"^9.1.2","@types/debug":"^4.1.12","babel-loader":"^9.1.3","spellchecker":"^3.7.1","@octokit/rest":"^20.0.2","@types/cookie":"^0.6.0","@types/semver":"^7.5.6","jest-extended":"^4.0.2","remark-ignore":"^2.0.0","@types/webpack":"^5.28.5","edit-json-file":"^1.8.0","glob-gitignore":"^1.0.14","@commitlint/cli":"^18.4.3","text-extensions":"^2.4.0","toss-expression":"^0.1.2","unique-filename":"^3.0.0","@xunnamius/types":"^1.3.0","lodash.mergewith":"^4.6.2","semantic-release":"https://xunn.at/semantic-release-atam@22.0.6","@babel/preset-env":"^7.23.7","@types/mime-types":"^2.1.4","@types/node-fetch":"^2.5.12","find-package-json":"^1.2.0","sort-package-json":"https://xunn.at/sort-package-json@2.3.0","@types/test-listen":"^1.1.2","eslint-plugin-jest":"^27.6.1","remark-frontmatter":"^5.0.0","source-map-support":"^0.5.21","remark-lint-no-tabs":"^3.1.2","@babel/eslint-parser":"^7.23.3","all-contributors-cli":"^6.26.1","eslint-plugin-import":"^2.29.1","@arethetypeswrong/cli":"^0.13.5","@semantic-release/git":"^10.0.1","@types/edit-json-file":"^1.7.3","@types/lodash.ismatch":"^4.4.9","@xunnamius/jest-types":"^1.1.3","eslint-plugin-unicorn":"^50.0.1","remark-tight-comments":"^2.0.0","remark-validate-links":"^13.0.0","@semantic-release/exec":"^6.0.3","remark-reference-links":"^7.0.0","suppress-node-warnings":"^1.0.0","tsconfig-replace-paths":"^0.0.14","@types/lodash.mergewith":"^4.6.9","remark-sort-definitions":"^2.0.0","typedoc-plugin-markdown":"^3.17.1","@babel/preset-typescript":"^7.23.3","@types/find-package-json":"^1.2.6","remark-lint-no-empty-url":"^3.1.2","@typescript-eslint/parser":"^6.17.0","confusing-browser-globals":"^1.0.11","remark-lint-final-newline":"^2.1.2","conventional-changelog-cli":"^4.1.0","remark-capitalize-headings":"^2.0.1","remark-lint-file-extension":"^2.1.2","remark-renumber-references":"^2.0.0","@semantic-release/changelog":"^6.0.3","remark-lint-definition-case":"^3.1.2","remark-lint-list-item-style":"^2.0.0","remark-lint-no-literal-urls":"^3.1.2","babel-plugin-module-resolver":"^5.0.0","eslint-import-resolver-alias":"^1.1.2","remark-lint-fenced-code-flag":"^3.1.2","remark-lint-no-shell-dollars":"^3.1.2","eslint-plugin-module-resolver":"^1.5.0","remark-lint-hard-break-spaces":"^3.1.2","remark-lint-heading-increment":"^3.1.2","remark-lint-no-empty-sections":"^4.0.0","remark-lint-no-inline-padding":"^4.1.2","remark-lint-heading-whitespace":"^1.0.0","@commitlint/config-conventional":"^18.4.3","babel-plugin-source-map-support":"^2.2.0","remark-lint-first-heading-level":"^3.1.2","remark-lint-heading-word-length":"^2.0.0","@types/confusing-browser-globals":"^1.0.3","@typescript-eslint/eslint-plugin":"^6.17.0","remark-lint-strikethrough-marker":"^2.1.2","remark-remove-unused-definitions":"^2.0.0","remark-remove-url-trailing-slash":"^2.0.0","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^3.6.1","remark-lint-fenced-code-flag-case":"^2.0.0","remark-lint-no-reference-like-url":"^3.1.2","remark-lint-no-unused-definitions":"^3.1.2","remark-lint-no-heading-punctuation":"^3.1.2","eslint-import-resolver-babel-module":"^5.3.2","remark-lint-no-undefined-references":"^4.2.1","@babel/plugin-proposal-function-bind":"^7.23.3","remark-lint-no-duplicate-definitions":"^3.1.2","remark-lint-no-duplicate-defined-urls":"^2.1.2","remark-lint-no-heading-content-indent":"^4.1.2","remark-lint-no-heading-like-paragraph":"^3.1.2","remark-lint-ordered-list-marker-style":"^3.1.2","remark-lint-ordered-list-marker-value":"^3.1.2","babel-plugin-transform-rewrite-imports":"^1.2.0","remark-lint-no-shortcut-reference-link":"^3.1.2","remark-lint-no-shortcut-reference-image":"^3.1.2","remark-lint-unordered-list-marker-style":"^3.1.2","babel-plugin-explicit-exports-references":"^1.0.2","remark-lint-no-blockquote-without-marker":"^5.1.2","remark-lint-no-auto-link-without-protocol":"^3.1.2","remark-lint-no-multiple-toplevel-headings":"^3.1.2","@babel/plugin-proposal-export-default-from":"^7.23.3","@xunnamius/conventional-changelog-projector":"^1.2.1","babel-plugin-transform-default-named-imports":"^1.2.2","remark-lint-no-duplicate-headings-in-section":"^3.1.2"},"peerDependencies":{"msw":">=2","next":">=9"},"peerDependenciesMeta":{"msw":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_3.2.0_1704360036000_0.8637567354029894","host":"s3://npm-registry-packages"}},"4.0.0":{"name":"next-test-api-route-handler","version":"4.0.0","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@4.0.0","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"1374792b63f45537cdfa2c4b26137d27024cb28a","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-4.0.0.tgz","fileCount":6,"integrity":"sha512-9Z4c8vL2pcrssEGRDiq4AmyvncNl6j5shVEbt4XzQddtFVZG2H4FoPNzILcEBSOFZjBQ40lVanD2ozTlYpc34g==","signatures":[{"sig":"MEQCIEi/0ESgYt/Dxllon6vVeg36BeOS/CBM1Q8A+8lZjrS3AiBOWx/vl/hU5it9uksihTlTh5nUDlHEUnH++HdwPQfCpQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":102059},"type":"commonjs","types":"./dist/types/src/index.d.ts","config":{"plugin-build":{"docs":{"entry":"./src/index.ts"}}},"engines":{"node":"^18.18.2 || ^20.10.0 || >=21.2.0"},"exports":{".":{"node":"./dist/src/index.js","types":"./dist/types/src/index.d.ts","default":"./dist/src/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"8fbfb023ef1436fb6d6ab01541cb26e337586b8d","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json --no-error-on-unmatched-pattern packages src; Y=$?; MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && echo $MD_FILES | NODE_ENV=lint xargs remark --quiet --frail --no-stdout; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test:unit --","build":"npm run build:dist --","clean":"git ls-files --exclude-standard --ignored --others --directory | grep -vE '^((\\.(env|vscode|husky))|next-env\\.d\\.ts|node_modules)($|\\/)' | xargs -p rm -rf","format":"MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && (echo $MD_FILES | xargs remark --no-config --no-stdout --quiet --frail --use gfm --use lint-no-undefined-references || (echo -n '\u001b' && echo '[37;41;1m FAIL \u001b[0m cannot continue with undefined references present' && false)) && sort-package-json './package.json' './packages/*/package.json' && echo $MD_FILES | NODE_ENV=format xargs remark --output --frail && echo $MD_FILES | xargs doctoc --no-title --maxlevel 3 --update-only && prettier --write .","prepare":"node -e \"execa = require('execa'); if(process.env.CI === undefined && (process.env.NODE_ENV === undefined || process.env.NODE_ENV === 'development')) { execa.sync('npx', ['husky', 'install'], { stdout: 'inherit', stderr: 'inherit' }); } else { console.log('skipped installing husky git hooks'); }\"","lint:all":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.eslint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.eslint.json .; Y=$?; MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && echo $MD_FILES | NODE_ENV=lint xargs remark --quiet --frail --no-stdout; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test:all":"npx attw --pack . && echo && NODE_OPTIONS='--no-warnings' NODE_ENV=test jest --coverage","test:e2e":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'e2e.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:unit":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest '/unit-.*\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","build:dist":"echo '> Generating types...' && NODE_ENV=production tsc --project tsconfig.types.json --incremental false && tsconfig-replace-paths --project tsconfig.types.json && echo '> Building distributables...' && NODE_ENV=production-cjs babel src --extensions .ts --out-dir dist/src","build:docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --skipErrorChecking --cleanOutputDir --tsconfig tsconfig.docs.json --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'const entry = require(\"./package.json\").config?.[\"plugin-build\"]?.docs?.entry; if(!entry) throw new Error(\"\\\"config['\"'\"'plugin-build'\"'\"'].docs.entry\\\" field is not defined in package.json\"); console.log(entry)'` && echo 'Entry file:' $ENTRY && typedoc --plugin typedoc-plugin-markdown --skipErrorChecking --cleanOutputDir --tsconfig tsconfig.docs.json --out docs --readme none $ENTRY; fi","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))' && (npm run -ws list-tasks --if-present 2>/dev/null || true)","build:changelog":"conventional-changelog --outfile CHANGELOG.md --config ./conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\"!=='true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && NODE_ENV=format remark --output --frail CHANGELOG.md && prettier --write CHANGELOG.md","build:externals":"NODE_ENV=production-external babel external-scripts --extensions .ts --out-dir external-scripts/bin","test:repeat:all":"npm run __test:repeat:all --silent","test:integration":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest '/integration.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:repeat:unit":"npm run __test:repeat:unit --silent","__test:repeat:all":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true NODE_ENV=test npx jest --reporters=jest-silent-reporter || exit; done) && echo \"All tests passed! Congrats!\"","__test:repeat:unit":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true NODE_ENV=test npx jest --reporters=jest-silent-reporter --testPathIgnorePatterns '/(integration|e2e).*?\\.test\\.tsx?' '/dist/' || exit; done) && echo \"All tests passed! Congrats!\"","test:integration:node":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest '/integration-node.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:client":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest '/integration-client.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:compile":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest '/integration-compile.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:externals":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest '/integration-external.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"9.9.2","description":"Confidently unit and integration test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"21.5.0","dependencies":{"cookie":"^0.6.0","core-js":"^3.35.0","@whatwg-node/server":"^0.9.23"},"publishConfig":{"access":"public"},"typesVersions":{"*":{"*":["./dist/types/src/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"del":"^7.1.0","msw":"2.0.14","glob":"^9.3.2","jest":"^29.7.0","debug":"^4.3.4","execa":"^5.1.1","husky":"^8.0.3","doctoc":"^2.2.1","dotenv":"^16.3.1","eslint":"^8.56.0","semver":"^7.5.4","mongodb":"^6.3.0","typedoc":"^0.25.7","prettier":"^3.2.2","type-fest":"^4.9.0","@babel/cli":"^7.23.4","babel-jest":"^29.7.0","remark-cli":"^12.0.0","remark-gfm":"^4.0.0","simple-git":"^3.22.0","strip-ansi":"^6.0.1","typescript":"^5.3.3","@babel/core":"^7.23.7","@types/glob":"^8.1.0","@types/jest":"^29.5.11","@types/node":"^20.11.1","jest-circus":"^29.7.0","lint-staged":"^15.2.0","remark-lint":"^9.1.2","@types/debug":"^4.1.12","babel-loader":"^9.1.3","spellchecker":"^3.7.1","@octokit/rest":"^20.0.2","@types/cookie":"^0.6.0","@types/semver":"^7.5.6","jest-extended":"^4.0.2","remark-ignore":"^2.0.0","@types/webpack":"^5.28.5","edit-json-file":"^1.8.0","glob-gitignore":"^1.0.14","@commitlint/cli":"^18.4.4","text-extensions":"^2.4.0","toss-expression":"^0.1.2","unique-filename":"^3.0.0","@xunnamius/types":"^1.3.0","lodash.mergewith":"^4.6.2","semantic-release":"https://xunn.at/semantic-release-atam@22.0.6","@babel/preset-env":"^7.23.8","@types/mime-types":"^2.1.4","find-package-json":"^1.2.0","sort-package-json":"https://xunn.at/sort-package-json@2.3.0","@types/test-listen":"^1.1.2","eslint-plugin-jest":"^27.6.3","remark-frontmatter":"^5.0.0","source-map-support":"^0.5.21","remark-lint-no-tabs":"^3.1.2","@babel/eslint-parser":"^7.23.3","all-contributors-cli":"^6.26.1","eslint-plugin-import":"^2.29.1","@arethetypeswrong/cli":"^0.13.5","@semantic-release/git":"^10.0.1","@types/edit-json-file":"^1.7.3","@types/lodash.ismatch":"^4.4.9","@xunnamius/jest-types":"^1.1.3","eslint-plugin-unicorn":"^50.0.1","remark-tight-comments":"^2.0.0","remark-validate-links":"^13.0.0","@semantic-release/exec":"^6.0.3","remark-reference-links":"^7.0.0","suppress-node-warnings":"^1.0.0","tsconfig-replace-paths":"^0.0.14","@types/lodash.mergewith":"^4.6.9","remark-sort-definitions":"^2.0.0","typedoc-plugin-markdown":"^3.17.1","@babel/preset-typescript":"^7.23.3","@types/find-package-json":"^1.2.6","remark-lint-no-empty-url":"^3.1.2","@typescript-eslint/parser":"^6.18.1","confusing-browser-globals":"^1.0.11","remark-lint-final-newline":"^2.1.2","conventional-changelog-cli":"^4.1.0","remark-capitalize-headings":"^2.0.1","remark-lint-file-extension":"^2.1.2","remark-renumber-references":"^2.0.0","@semantic-release/changelog":"^6.0.3","remark-lint-definition-case":"^3.1.2","remark-lint-list-item-style":"^2.0.0","remark-lint-no-literal-urls":"^3.1.2","babel-plugin-module-resolver":"^5.0.0","eslint-import-resolver-alias":"^1.1.2","remark-lint-fenced-code-flag":"^3.1.2","remark-lint-no-shell-dollars":"^3.1.2","eslint-plugin-module-resolver":"^1.5.0","remark-lint-hard-break-spaces":"^3.1.2","remark-lint-heading-increment":"^3.1.2","remark-lint-no-empty-sections":"^4.0.0","remark-lint-no-inline-padding":"^4.1.2","remark-lint-heading-whitespace":"^1.0.0","@commitlint/config-conventional":"^18.4.4","babel-plugin-source-map-support":"^2.2.0","remark-lint-first-heading-level":"^3.1.2","remark-lint-heading-word-length":"^2.0.0","@types/confusing-browser-globals":"^1.0.3","@typescript-eslint/eslint-plugin":"^6.18.1","remark-lint-strikethrough-marker":"^2.1.2","remark-remove-unused-definitions":"^2.0.0","remark-remove-url-trailing-slash":"^2.0.0","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^3.6.1","remark-lint-fenced-code-flag-case":"^2.0.0","remark-lint-no-reference-like-url":"^3.1.2","remark-lint-no-unused-definitions":"^3.1.2","remark-lint-no-heading-punctuation":"^3.1.2","eslint-import-resolver-babel-module":"^5.3.2","remark-lint-no-undefined-references":"^4.2.1","@babel/plugin-proposal-function-bind":"^7.23.3","remark-lint-no-duplicate-definitions":"^3.1.2","remark-lint-no-duplicate-defined-urls":"^2.1.2","remark-lint-no-heading-content-indent":"^4.1.2","remark-lint-no-heading-like-paragraph":"^3.1.2","remark-lint-ordered-list-marker-style":"^3.1.2","remark-lint-ordered-list-marker-value":"^3.1.2","babel-plugin-transform-rewrite-imports":"^1.2.0","remark-lint-no-shortcut-reference-link":"^3.1.2","remark-lint-no-shortcut-reference-image":"^3.1.2","remark-lint-unordered-list-marker-style":"^3.1.2","babel-plugin-explicit-exports-references":"^1.0.2","remark-lint-no-blockquote-without-marker":"^5.1.2","remark-lint-no-auto-link-without-protocol":"^3.1.2","remark-lint-no-multiple-toplevel-headings":"^3.1.2","@babel/plugin-proposal-export-default-from":"^7.23.3","@xunnamius/conventional-changelog-projector":"^1.2.1","babel-plugin-transform-default-named-imports":"^1.2.2","remark-lint-no-duplicate-headings-in-section":"^3.1.2"},"peerDependencies":{"msw":">=2","next":">=9"},"peerDependenciesMeta":{"msw":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_4.0.0_1705302168403_0.4970297386411042","host":"s3://npm-registry-packages"}},"4.0.1":{"name":"next-test-api-route-handler","version":"4.0.1","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@4.0.1","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"8578eb0654c9b4a597096e2f038586103a069637","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-4.0.1.tgz","fileCount":6,"integrity":"sha512-RgwGrjlCpJJDkntByfDOSTeCqEOuOysU9NUCLdQn3c+nYoUHymIFTYcmW1rynoVoQlP/I0dnjfSjlYvK7I+vAQ==","signatures":[{"sig":"MEYCIQCo+4w5sPEWCon5jRmVVYqFyIQOJH5KtV+lEKYvkqW09gIhAJl5aj2BRRCItz5qJW+VWJ+dz64KeDkMRE64fe45wA6D","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":104395},"type":"commonjs","types":"./dist/types/src/index.d.ts","config":{"plugin-build":{"docs":{"entry":"./src/index.ts"}}},"engines":{"node":"^18.18.2 || ^20.10.0 || >=21.2.0"},"exports":{".":{"node":"./dist/src/index.js","types":"./dist/types/src/index.d.ts","default":"./dist/src/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"a1a1f690b229456412ddc54d89f5eb669c15ef68","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json --no-error-on-unmatched-pattern packages src; Y=$?; MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && echo $MD_FILES | NODE_ENV=lint xargs remark --quiet --frail --no-stdout; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test:unit --","build":"npm run build:dist --","clean":"git ls-files --exclude-standard --ignored --others --directory | grep -vE '^((\\.(env|vscode|husky))|next-env\\.d\\.ts|node_modules)($|\\/)' | xargs -p rm -rf","format":"MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && (echo $MD_FILES | xargs remark --no-config --no-stdout --quiet --frail --use gfm --use lint-no-undefined-references || (echo -n '\u001b' && echo '[37;41;1m FAIL \u001b[0m cannot continue with undefined references present' && false)) && sort-package-json './package.json' './packages/*/package.json' && echo $MD_FILES | NODE_ENV=format xargs remark --output --frail && echo $MD_FILES | xargs doctoc --no-title --maxlevel 3 --update-only && prettier --write .","prepare":"node -e \"execa = require('execa'); if(process.env.CI === undefined && (process.env.NODE_ENV === undefined || process.env.NODE_ENV === 'development')) { execa.sync('npx', ['husky', 'install'], { stdout: 'inherit', stderr: 'inherit' }); } else { console.log('skipped installing husky git hooks'); }\"","lint:all":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.eslint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.eslint.json .; Y=$?; MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && echo $MD_FILES | NODE_ENV=lint xargs remark --quiet --frail --no-stdout; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test:all":"npx attw --pack . && echo && NODE_OPTIONS='--no-warnings' NODE_ENV=test jest --coverage","test:e2e":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'e2e.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:unit":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest '/unit-.*\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","build:dist":"echo '> Generating types...' && NODE_ENV=production tsc --project tsconfig.types.json --incremental false && tsconfig-replace-paths --project tsconfig.types.json && echo '> Building distributables...' && NODE_ENV=production-cjs babel src --extensions .ts --out-dir dist/src","build:docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --skipErrorChecking --cleanOutputDir --tsconfig tsconfig.docs.json --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'const entry = require(\"./package.json\").config?.[\"plugin-build\"]?.docs?.entry; if(!entry) throw new Error(\"\\\"config['\"'\"'plugin-build'\"'\"'].docs.entry\\\" field is not defined in package.json\"); console.log(entry)'` && echo 'Entry file:' $ENTRY && typedoc --plugin typedoc-plugin-markdown --skipErrorChecking --cleanOutputDir --tsconfig tsconfig.docs.json --out docs --readme none $ENTRY; fi","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))' && (npm run -ws list-tasks --if-present 2>/dev/null || true)","build:changelog":"conventional-changelog --outfile CHANGELOG.md --config ./conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\"!=='true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && NODE_ENV=format remark --output --frail CHANGELOG.md && prettier --write CHANGELOG.md","build:externals":"NODE_ENV=production-external babel external-scripts --extensions .ts --out-dir external-scripts/bin","test:repeat:all":"npm run __test:repeat:all --silent","test:integration":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest '/integration.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:repeat:unit":"npm run __test:repeat:unit --silent","__test:repeat:all":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true NODE_ENV=test npx jest --reporters=jest-silent-reporter || exit; done) && echo \"All tests passed! Congrats!\"","__test:repeat:unit":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true NODE_ENV=test npx jest --reporters=jest-silent-reporter --testPathIgnorePatterns '/(integration|e2e).*?\\.test\\.tsx?' '/dist/' || exit; done) && echo \"All tests passed! Congrats!\"","test:integration:node":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest '/integration-node.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:client":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest '/integration-client.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:compile":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest '/integration-compile.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:externals":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest '/integration-external.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"9.9.2","description":"Confidently unit and integration test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"21.5.0","dependencies":{"cookie":"^0.6.0","core-js":"^3.35.0","@whatwg-node/server":"^0.9.23"},"publishConfig":{"access":"public"},"typesVersions":{"*":{"*":["./dist/types/src/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"del":"^7.1.0","msw":"2.1.0","glob":"^9.3.2","jest":"^29.7.0","debug":"^4.3.4","execa":"^5.1.1","husky":"^8.0.3","doctoc":"^2.2.1","dotenv":"^16.3.1","eslint":"^8.56.0","semver":"^7.5.4","mongodb":"^6.3.0","typedoc":"^0.25.7","prettier":"^3.2.2","type-fest":"^4.9.0","@babel/cli":"^7.23.4","babel-jest":"^29.7.0","remark-cli":"^12.0.0","remark-gfm":"^4.0.0","simple-git":"^3.22.0","strip-ansi":"^6.0.1","typescript":"^5.3.3","@babel/core":"^7.23.7","@types/glob":"^8.1.0","@types/jest":"^29.5.11","@types/node":"^20.11.3","jest-circus":"^29.7.0","lint-staged":"^15.2.0","remark-lint":"^9.1.2","@types/debug":"^4.1.12","babel-loader":"^9.1.3","spellchecker":"^3.7.1","@octokit/rest":"^20.0.2","@types/cookie":"^0.6.0","@types/semver":"^7.5.6","jest-extended":"^4.0.2","remark-ignore":"^2.0.0","@types/webpack":"^5.28.5","edit-json-file":"^1.8.0","glob-gitignore":"^1.0.14","@commitlint/cli":"^18.4.4","text-extensions":"^2.4.0","toss-expression":"^0.1.2","unique-filename":"^3.0.0","@xunnamius/types":"^1.3.0","lodash.mergewith":"^4.6.2","semantic-release":"https://xunn.at/semantic-release-atam@22.0.6","@babel/preset-env":"^7.23.8","@types/mime-types":"^2.1.4","find-package-json":"^1.2.0","sort-package-json":"https://xunn.at/sort-package-json@2.3.0","@types/test-listen":"^1.1.2","eslint-plugin-jest":"^27.6.3","remark-frontmatter":"^5.0.0","source-map-support":"^0.5.21","remark-lint-no-tabs":"^3.1.2","@babel/eslint-parser":"^7.23.3","all-contributors-cli":"^6.26.1","eslint-plugin-import":"^2.29.1","@arethetypeswrong/cli":"^0.13.5","@semantic-release/git":"^10.0.1","@types/edit-json-file":"^1.7.3","@types/lodash.ismatch":"^4.4.9","@xunnamius/jest-types":"^1.1.3","eslint-plugin-unicorn":"^50.0.1","remark-tight-comments":"^2.0.0","remark-validate-links":"^13.0.0","@semantic-release/exec":"^6.0.3","remark-reference-links":"^7.0.0","suppress-node-warnings":"^1.0.0","tsconfig-replace-paths":"^0.0.14","@types/lodash.mergewith":"^4.6.9","remark-sort-definitions":"^2.0.0","typedoc-plugin-markdown":"^3.17.1","@babel/preset-typescript":"^7.23.3","@types/find-package-json":"^1.2.6","remark-lint-no-empty-url":"^3.1.2","@typescript-eslint/parser":"^6.19.0","confusing-browser-globals":"^1.0.11","remark-lint-final-newline":"^2.1.2","conventional-changelog-cli":"^4.1.0","remark-capitalize-headings":"^2.0.1","remark-lint-file-extension":"^2.1.2","remark-renumber-references":"^2.0.0","@semantic-release/changelog":"^6.0.3","remark-lint-definition-case":"^3.1.2","remark-lint-list-item-style":"^2.0.0","remark-lint-no-literal-urls":"^3.1.2","babel-plugin-module-resolver":"^5.0.0","eslint-import-resolver-alias":"^1.1.2","remark-lint-fenced-code-flag":"^3.1.2","remark-lint-no-shell-dollars":"^3.1.2","eslint-plugin-module-resolver":"^1.5.0","remark-lint-hard-break-spaces":"^3.1.2","remark-lint-heading-increment":"^3.1.2","remark-lint-no-empty-sections":"^4.0.0","remark-lint-no-inline-padding":"^4.1.2","remark-lint-heading-whitespace":"^1.0.0","@commitlint/config-conventional":"^18.4.4","babel-plugin-source-map-support":"^2.2.0","remark-lint-first-heading-level":"^3.1.2","remark-lint-heading-word-length":"^2.0.0","@types/confusing-browser-globals":"^1.0.3","@typescript-eslint/eslint-plugin":"^6.19.0","remark-lint-strikethrough-marker":"^2.1.2","remark-remove-unused-definitions":"^2.0.0","remark-remove-url-trailing-slash":"^2.0.0","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^3.6.1","remark-lint-fenced-code-flag-case":"^2.0.0","remark-lint-no-reference-like-url":"^3.1.2","remark-lint-no-unused-definitions":"^3.1.2","remark-lint-no-heading-punctuation":"^3.1.2","eslint-import-resolver-babel-module":"^5.3.2","remark-lint-no-undefined-references":"^4.2.1","@babel/plugin-proposal-function-bind":"^7.23.3","remark-lint-no-duplicate-definitions":"^3.1.2","remark-lint-no-duplicate-defined-urls":"^2.1.2","remark-lint-no-heading-content-indent":"^4.1.2","remark-lint-no-heading-like-paragraph":"^3.1.2","remark-lint-ordered-list-marker-style":"^3.1.2","remark-lint-ordered-list-marker-value":"^3.1.2","babel-plugin-transform-rewrite-imports":"^1.2.0","remark-lint-no-shortcut-reference-link":"^3.1.2","remark-lint-no-shortcut-reference-image":"^3.1.2","remark-lint-unordered-list-marker-style":"^3.1.2","babel-plugin-explicit-exports-references":"^1.0.2","remark-lint-no-blockquote-without-marker":"^5.1.2","remark-lint-no-auto-link-without-protocol":"^3.1.2","remark-lint-no-multiple-toplevel-headings":"^3.1.2","@babel/plugin-proposal-export-default-from":"^7.23.3","@xunnamius/conventional-changelog-projector":"^1.2.1","babel-plugin-transform-default-named-imports":"^1.2.2","remark-lint-no-duplicate-headings-in-section":"^3.1.2"},"peerDependencies":{"msw":">=2","next":">=9"},"peerDependenciesMeta":{"msw":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_4.0.1_1705375777981_0.3469575335173596","host":"s3://npm-registry-packages"}},"4.0.2":{"name":"next-test-api-route-handler","version":"4.0.2","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@4.0.2","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"426036b2c88a33c5aa9462d9e667c7642f444337","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-4.0.2.tgz","fileCount":6,"integrity":"sha512-Hykych3/qdYPkW4LqnrfyAj9D3cpE7Dod5a7EXhx5nCyKumgJDPt8vNyzTTLP1nV8FwL9tPu1qBywb6HVzZOvw==","signatures":[{"sig":"MEQCIDuSOjStIXCTXuPVx4NqKJnLcT6nDwV0uLMnFznGGvIaAiA+hnO1WsJ2pePALJyScZ+30r5XgMnbRLobKHCASa3jQg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":105821},"type":"commonjs","types":"./dist/types/src/index.d.ts","config":{"plugin-build":{"docs":{"entry":"./src/index.ts"}}},"engines":{"node":"^18.18.2 || ^20.10.0 || >=21.2.0"},"exports":{".":{"node":"./dist/src/index.js","types":"./dist/types/src/index.d.ts","default":"./dist/src/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"d063a4d0964cc30e64275d6e84487120590b880f","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json --no-error-on-unmatched-pattern packages src; Y=$?; MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && echo $MD_FILES | NODE_ENV=lint xargs remark --quiet --frail --no-stdout; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test:unit --","build":"npm run build:dist --","clean":"git ls-files --exclude-standard --ignored --others --directory | grep -vE '^((\\.(env|vscode|husky))|next-env\\.d\\.ts|node_modules)($|\\/)' | xargs -p rm -rf","format":"MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && (echo $MD_FILES | xargs remark --no-config --no-stdout --quiet --frail --use gfm --use lint-no-undefined-references || (echo -n '\u001b' && echo '[37;41;1m FAIL \u001b[0m cannot continue with undefined references present' && false)) && sort-package-json './package.json' './packages/*/package.json' && echo $MD_FILES | NODE_ENV=format xargs remark --output --frail && echo $MD_FILES | xargs doctoc --no-title --maxlevel 3 --update-only && prettier --write .","prepare":"node -e \"execa = require('execa'); if(process.env.CI === undefined && (process.env.NODE_ENV === undefined || process.env.NODE_ENV === 'development')) { execa.sync('npx', ['husky', 'install'], { stdout: 'inherit', stderr: 'inherit' }); } else { console.log('skipped installing husky git hooks'); }\"","lint:all":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.eslint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.eslint.json .; Y=$?; MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && echo $MD_FILES | NODE_ENV=lint xargs remark --quiet --frail --no-stdout; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test:all":"npx attw --pack . && echo && NODE_OPTIONS='--no-warnings' NODE_ENV=test jest --coverage","test:e2e":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'e2e.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:unit":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest '/unit-.*\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","build:dist":"echo '> Generating types...' && NODE_ENV=production tsc --project tsconfig.types.json --incremental false && tsconfig-replace-paths --project tsconfig.types.json && echo '> Building distributables...' && NODE_ENV=production-cjs babel src --extensions .ts --out-dir dist/src","build:docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --skipErrorChecking --cleanOutputDir --tsconfig tsconfig.docs.json --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'const entry = require(\"./package.json\").config?.[\"plugin-build\"]?.docs?.entry; if(!entry) throw new Error(\"\\\"config['\"'\"'plugin-build'\"'\"'].docs.entry\\\" field is not defined in package.json\"); console.log(entry)'` && echo 'Entry file:' $ENTRY && typedoc --plugin typedoc-plugin-markdown --skipErrorChecking --cleanOutputDir --tsconfig tsconfig.docs.json --out docs --readme none $ENTRY; fi","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))' && (npm run -ws list-tasks --if-present 2>/dev/null || true)","build:changelog":"conventional-changelog --outfile CHANGELOG.md --config ./conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\"!=='true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && NODE_ENV=format remark --output --frail CHANGELOG.md && prettier --write CHANGELOG.md","build:externals":"NODE_ENV=production-external babel external-scripts --extensions .ts --out-dir external-scripts/bin","test:repeat:all":"npm run __test:repeat:all --silent","test:integration":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest '/integration.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:repeat:unit":"npm run __test:repeat:unit --silent","__test:repeat:all":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true NODE_ENV=test npx jest --reporters=jest-silent-reporter || exit; done) && echo \"All tests passed! Congrats!\"","__test:repeat:unit":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true NODE_ENV=test npx jest --reporters=jest-silent-reporter --testPathIgnorePatterns '/(integration|e2e).*?\\.test\\.tsx?' '/dist/' || exit; done) && echo \"All tests passed! Congrats!\"","test:integration:node":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest '/integration-node.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:client":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest '/integration-client.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:compile":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest '/integration-compile.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:externals":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest '/integration-external.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"9.9.2","description":"Confidently unit and integration test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"21.5.0","dependencies":{"cookie":"^0.6.0","core-js":"^3.35.0","@whatwg-node/server":"^0.9.23"},"publishConfig":{"access":"public"},"typesVersions":{"*":{"*":["./dist/types/src/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"del":"^7.1.0","msw":"2.1.0","glob":"^9.3.2","jest":"^29.7.0","debug":"^4.3.4","execa":"^5.1.1","husky":"^8.0.3","doctoc":"^2.2.1","dotenv":"^16.3.1","eslint":"^8.56.0","semver":"^7.5.4","mongodb":"^6.3.0","typedoc":"^0.25.7","prettier":"^3.2.2","type-fest":"^4.9.0","@babel/cli":"^7.23.4","babel-jest":"^29.7.0","remark-cli":"^12.0.0","remark-gfm":"^4.0.0","simple-git":"^3.22.0","strip-ansi":"^6.0.1","typescript":"^5.3.3","@babel/core":"^7.23.7","@types/glob":"^8.1.0","@types/jest":"^29.5.11","@types/node":"^20.11.3","jest-circus":"^29.7.0","lint-staged":"^15.2.0","remark-lint":"^9.1.2","@types/debug":"^4.1.12","babel-loader":"^9.1.3","spellchecker":"^3.7.1","@octokit/rest":"^20.0.2","@types/cookie":"^0.6.0","@types/semver":"^7.5.6","jest-extended":"^4.0.2","remark-ignore":"^2.0.0","@types/webpack":"^5.28.5","edit-json-file":"^1.8.0","glob-gitignore":"^1.0.14","@commitlint/cli":"^18.4.4","text-extensions":"^2.4.0","toss-expression":"^0.1.2","unique-filename":"^3.0.0","@xunnamius/types":"^1.3.0","lodash.mergewith":"^4.6.2","semantic-release":"https://xunn.at/semantic-release-atam@22.0.6","@babel/preset-env":"^7.23.8","@types/mime-types":"^2.1.4","find-package-json":"^1.2.0","sort-package-json":"https://xunn.at/sort-package-json@2.3.0","@types/test-listen":"^1.1.2","eslint-plugin-jest":"^27.6.3","remark-frontmatter":"^5.0.0","source-map-support":"^0.5.21","remark-lint-no-tabs":"^3.1.2","@babel/eslint-parser":"^7.23.3","all-contributors-cli":"^6.26.1","eslint-plugin-import":"^2.29.1","@arethetypeswrong/cli":"^0.13.5","@semantic-release/git":"^10.0.1","@types/edit-json-file":"^1.7.3","@types/lodash.ismatch":"^4.4.9","@xunnamius/jest-types":"^1.1.3","eslint-plugin-unicorn":"^50.0.1","remark-tight-comments":"^2.0.0","remark-validate-links":"^13.0.0","@semantic-release/exec":"^6.0.3","remark-reference-links":"^7.0.0","suppress-node-warnings":"^1.0.0","tsconfig-replace-paths":"^0.0.14","@types/lodash.mergewith":"^4.6.9","remark-sort-definitions":"^2.0.0","typedoc-plugin-markdown":"^3.17.1","@babel/preset-typescript":"^7.23.3","@types/find-package-json":"^1.2.6","remark-lint-no-empty-url":"^3.1.2","@typescript-eslint/parser":"^6.19.0","confusing-browser-globals":"^1.0.11","remark-lint-final-newline":"^2.1.2","conventional-changelog-cli":"^4.1.0","remark-capitalize-headings":"^2.0.1","remark-lint-file-extension":"^2.1.2","remark-renumber-references":"^2.0.0","@semantic-release/changelog":"^6.0.3","remark-lint-definition-case":"^3.1.2","remark-lint-list-item-style":"^2.0.0","remark-lint-no-literal-urls":"^3.1.2","babel-plugin-module-resolver":"^5.0.0","eslint-import-resolver-alias":"^1.1.2","remark-lint-fenced-code-flag":"^3.1.2","remark-lint-no-shell-dollars":"^3.1.2","eslint-plugin-module-resolver":"^1.5.0","remark-lint-hard-break-spaces":"^3.1.2","remark-lint-heading-increment":"^3.1.2","remark-lint-no-empty-sections":"^4.0.0","remark-lint-no-inline-padding":"^4.1.2","remark-lint-heading-whitespace":"^1.0.0","@commitlint/config-conventional":"^18.4.4","babel-plugin-source-map-support":"^2.2.0","remark-lint-first-heading-level":"^3.1.2","remark-lint-heading-word-length":"^2.0.0","@types/confusing-browser-globals":"^1.0.3","@typescript-eslint/eslint-plugin":"^6.19.0","remark-lint-strikethrough-marker":"^2.1.2","remark-remove-unused-definitions":"^2.0.0","remark-remove-url-trailing-slash":"^2.0.0","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^3.6.1","remark-lint-fenced-code-flag-case":"^2.0.0","remark-lint-no-reference-like-url":"^3.1.2","remark-lint-no-unused-definitions":"^3.1.2","remark-lint-no-heading-punctuation":"^3.1.2","eslint-import-resolver-babel-module":"^5.3.2","remark-lint-no-undefined-references":"^4.2.1","@babel/plugin-proposal-function-bind":"^7.23.3","remark-lint-no-duplicate-definitions":"^3.1.2","remark-lint-no-duplicate-defined-urls":"^2.1.2","remark-lint-no-heading-content-indent":"^4.1.2","remark-lint-no-heading-like-paragraph":"^3.1.2","remark-lint-ordered-list-marker-style":"^3.1.2","remark-lint-ordered-list-marker-value":"^3.1.2","babel-plugin-transform-rewrite-imports":"^1.2.0","remark-lint-no-shortcut-reference-link":"^3.1.2","remark-lint-no-shortcut-reference-image":"^3.1.2","remark-lint-unordered-list-marker-style":"^3.1.2","babel-plugin-explicit-exports-references":"^1.0.2","remark-lint-no-blockquote-without-marker":"^5.1.2","remark-lint-no-auto-link-without-protocol":"^3.1.2","remark-lint-no-multiple-toplevel-headings":"^3.1.2","@babel/plugin-proposal-export-default-from":"^7.23.3","@xunnamius/conventional-changelog-projector":"^1.2.1","babel-plugin-transform-default-named-imports":"^1.2.2","remark-lint-no-duplicate-headings-in-section":"^3.1.2"},"peerDependencies":{"msw":">=2","next":">=9"},"peerDependenciesMeta":{"msw":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_4.0.2_1705395980242_0.06128687531466648","host":"s3://npm-registry-packages"}},"4.0.3":{"name":"next-test-api-route-handler","version":"4.0.3","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@4.0.3","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"16ce1bf0188b904c21078e718991f5c48ce55ef5","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-4.0.3.tgz","fileCount":6,"integrity":"sha512-rfvU7bmaQ36aV99OkOOfQ3EKQDNEZfbhT3HHZim4xmcioBr65ufs2QlhkB+remJyuLVktko5btcO6rG4R81Z7A==","signatures":[{"sig":"MEYCIQCcy7BxZEeJ1t6CtmqJWL++UxgGsTehpFLbrTQkhEKscAIhAKuQwVTDd+eaTPFyDVm1pu5S1PsIIOMwaYc6VQVjoyLa","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":105883},"type":"commonjs","types":"./dist/types/src/index.d.ts","config":{"plugin-build":{"docs":{"entry":"./src/index.ts"}}},"engines":{"node":"^18.18.2 || ^20.10.0 || >=21.2.0"},"exports":{".":{"node":"./dist/src/index.js","types":"./dist/types/src/index.d.ts","default":"./dist/src/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"0d57d70102d6f02c8a849058c8be30503f44678c","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json --no-error-on-unmatched-pattern packages src; Y=$?; MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && echo $MD_FILES | NODE_ENV=lint xargs remark --quiet --frail --no-stdout; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test:unit --","build":"npm run build:dist --","clean":"git ls-files --exclude-standard --ignored --others --directory | grep -vE '^((\\.(env|vscode|husky))|next-env\\.d\\.ts|node_modules)($|\\/)' | xargs -p rm -rf","format":"MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && (echo $MD_FILES | xargs remark --no-config --no-stdout --quiet --frail --use gfm --use lint-no-undefined-references || (echo -n '\u001b' && echo '[37;41;1m FAIL \u001b[0m cannot continue with undefined references present' && false)) && sort-package-json './package.json' './packages/*/package.json' && echo $MD_FILES | NODE_ENV=format xargs remark --output --frail && echo $MD_FILES | xargs doctoc --no-title --maxlevel 3 --update-only && prettier --write .","prepare":"node -e \"execa = require('execa'); if(process.env.CI === undefined && (process.env.NODE_ENV === undefined || process.env.NODE_ENV === 'development')) { execa.sync('npx', ['husky', 'install'], { stdout: 'inherit', stderr: 'inherit' }); } else { console.log('skipped installing husky git hooks'); }\"","lint:all":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.eslint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.eslint.json .; Y=$?; MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && echo $MD_FILES | NODE_ENV=lint xargs remark --quiet --frail --no-stdout; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test:all":"npx attw --pack . && echo && NODE_OPTIONS='--no-warnings' NODE_ENV=test jest --coverage","test:e2e":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'e2e.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:unit":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest '/unit-.*\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","build:dist":"echo '> Generating types...' && NODE_ENV=production tsc --project tsconfig.types.json --incremental false && tsconfig-replace-paths --project tsconfig.types.json && echo '> Building distributables...' && NODE_ENV=production-cjs babel src --extensions .ts --out-dir dist/src","build:docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --skipErrorChecking --cleanOutputDir --tsconfig tsconfig.docs.json --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'const entry = require(\"./package.json\").config?.[\"plugin-build\"]?.docs?.entry; if(!entry) throw new Error(\"\\\"config['\"'\"'plugin-build'\"'\"'].docs.entry\\\" field is not defined in package.json\"); console.log(entry)'` && echo 'Entry file:' $ENTRY && typedoc --plugin typedoc-plugin-markdown --skipErrorChecking --cleanOutputDir --tsconfig tsconfig.docs.json --out docs --readme none $ENTRY; fi","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))' && (npm run -ws list-tasks --if-present 2>/dev/null || true)","build:changelog":"conventional-changelog --outfile CHANGELOG.md --config ./conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\"!=='true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && NODE_ENV=format remark --output --frail CHANGELOG.md && prettier --write CHANGELOG.md","build:externals":"NODE_ENV=production-external babel external-scripts --extensions .ts --out-dir external-scripts/bin","test:repeat:all":"npm run __test:repeat:all --silent","test:integration":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest '/integration.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:repeat:unit":"npm run __test:repeat:unit --silent","__test:repeat:all":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true NODE_ENV=test npx jest --reporters=jest-silent-reporter || exit; done) && echo \"All tests passed! Congrats!\"","__test:repeat:unit":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true NODE_ENV=test npx jest --reporters=jest-silent-reporter --testPathIgnorePatterns '/(integration|e2e).*?\\.test\\.tsx?' '/dist/' || exit; done) && echo \"All tests passed! Congrats!\"","test:integration:node":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest '/integration-node.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:client":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest '/integration-client.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:compile":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest '/integration-compile.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:externals":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest '/integration-external.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"9.9.2","description":"Confidently unit and integration test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"21.5.0","dependencies":{"cookie":"^0.6.0","core-js":"^3.35.0","@whatwg-node/server":"^0.9.23"},"publishConfig":{"access":"public"},"typesVersions":{"*":{"*":["./dist/types/src/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"del":"^7.1.0","msw":"2.1.2","glob":"^9.3.2","jest":"^29.7.0","debug":"^4.3.4","execa":"^5.1.1","husky":"^8.0.3","doctoc":"^2.2.1","dotenv":"^16.3.1","eslint":"^8.56.0","semver":"^7.5.4","mongodb":"^6.3.0","typedoc":"^0.25.7","prettier":"^3.2.4","type-fest":"^4.9.0","@babel/cli":"^7.23.4","babel-jest":"^29.7.0","remark-cli":"^12.0.0","remark-gfm":"^4.0.0","simple-git":"^3.22.0","strip-ansi":"^6.0.1","typescript":"^5.3.3","@babel/core":"^7.23.7","@types/glob":"^8.1.0","@types/jest":"^29.5.11","@types/node":"^20.11.5","jest-circus":"^29.7.0","lint-staged":"^15.2.0","remark-lint":"^9.1.2","@types/debug":"^4.1.12","babel-loader":"^9.1.3","spellchecker":"^3.7.1","@octokit/rest":"^20.0.2","@types/cookie":"^0.6.0","@types/semver":"^7.5.6","jest-extended":"^4.0.2","remark-ignore":"^2.0.0","@types/webpack":"^5.28.5","edit-json-file":"^1.8.0","glob-gitignore":"^1.0.14","@commitlint/cli":"^18.4.4","text-extensions":"^2.4.0","toss-expression":"^0.1.2","unique-filename":"^3.0.0","@xunnamius/types":"^1.3.0","lodash.mergewith":"^4.6.2","semantic-release":"https://xunn.at/semantic-release-atam@22.0.6","@babel/preset-env":"^7.23.8","@types/mime-types":"^2.1.4","find-package-json":"^1.2.0","sort-package-json":"https://xunn.at/sort-package-json@2.3.0","@types/test-listen":"^1.1.2","eslint-plugin-jest":"^27.6.3","remark-frontmatter":"^5.0.0","source-map-support":"^0.5.21","remark-lint-no-tabs":"^3.1.2","@babel/eslint-parser":"^7.23.3","all-contributors-cli":"^6.26.1","eslint-plugin-import":"^2.29.1","@arethetypeswrong/cli":"^0.13.5","@semantic-release/git":"^10.0.1","@types/edit-json-file":"^1.7.3","@types/lodash.ismatch":"^4.4.9","@xunnamius/jest-types":"^1.1.3","eslint-plugin-unicorn":"^50.0.1","remark-tight-comments":"^2.0.0","remark-validate-links":"^13.0.0","@semantic-release/exec":"^6.0.3","remark-reference-links":"^7.0.0","suppress-node-warnings":"^1.0.0","tsconfig-replace-paths":"^0.0.14","@types/lodash.mergewith":"^4.6.9","remark-sort-definitions":"^2.0.0","typedoc-plugin-markdown":"^3.17.1","@babel/preset-typescript":"^7.23.3","@types/find-package-json":"^1.2.6","remark-lint-no-empty-url":"^3.1.2","@typescript-eslint/parser":"^6.19.0","confusing-browser-globals":"^1.0.11","remark-lint-final-newline":"^2.1.2","conventional-changelog-cli":"^4.1.0","remark-capitalize-headings":"^2.0.1","remark-lint-file-extension":"^2.1.2","remark-renumber-references":"^2.0.0","@semantic-release/changelog":"^6.0.3","remark-lint-definition-case":"^3.1.2","remark-lint-list-item-style":"^2.0.0","remark-lint-no-literal-urls":"^3.1.2","babel-plugin-module-resolver":"^5.0.0","eslint-import-resolver-alias":"^1.1.2","remark-lint-fenced-code-flag":"^3.1.2","remark-lint-no-shell-dollars":"^3.1.2","eslint-plugin-module-resolver":"^1.5.0","remark-lint-hard-break-spaces":"^3.1.2","remark-lint-heading-increment":"^3.1.2","remark-lint-no-empty-sections":"^4.0.0","remark-lint-no-inline-padding":"^4.1.2","remark-lint-heading-whitespace":"^1.0.0","@commitlint/config-conventional":"^18.4.4","babel-plugin-source-map-support":"^2.2.0","remark-lint-first-heading-level":"^3.1.2","remark-lint-heading-word-length":"^2.0.0","@types/confusing-browser-globals":"^1.0.3","@typescript-eslint/eslint-plugin":"^6.19.0","remark-lint-strikethrough-marker":"^2.1.2","remark-remove-unused-definitions":"^2.0.0","remark-remove-url-trailing-slash":"^2.0.0","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^3.6.1","remark-lint-fenced-code-flag-case":"^2.0.0","remark-lint-no-reference-like-url":"^3.1.2","remark-lint-no-unused-definitions":"^3.1.2","remark-lint-no-heading-punctuation":"^3.1.2","eslint-import-resolver-babel-module":"^5.3.2","remark-lint-no-undefined-references":"^4.2.1","@babel/plugin-proposal-function-bind":"^7.23.3","remark-lint-no-duplicate-definitions":"^3.1.2","remark-lint-no-duplicate-defined-urls":"^2.1.2","remark-lint-no-heading-content-indent":"^4.1.2","remark-lint-no-heading-like-paragraph":"^3.1.2","remark-lint-ordered-list-marker-style":"^3.1.2","remark-lint-ordered-list-marker-value":"^3.1.2","babel-plugin-transform-rewrite-imports":"^1.2.0","remark-lint-no-shortcut-reference-link":"^3.1.2","remark-lint-no-shortcut-reference-image":"^3.1.2","remark-lint-unordered-list-marker-style":"^3.1.2","babel-plugin-explicit-exports-references":"^1.0.2","remark-lint-no-blockquote-without-marker":"^5.1.2","remark-lint-no-auto-link-without-protocol":"^3.1.2","remark-lint-no-multiple-toplevel-headings":"^3.1.2","@babel/plugin-proposal-export-default-from":"^7.23.3","@xunnamius/conventional-changelog-projector":"^1.2.1","babel-plugin-transform-default-named-imports":"^1.2.2","remark-lint-no-duplicate-headings-in-section":"^3.1.2"},"peerDependencies":{"msw":">=2","next":">=9"},"peerDependenciesMeta":{"msw":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_4.0.3_1705580246433_0.8925620353505437","host":"s3://npm-registry-packages"}},"4.0.4":{"name":"next-test-api-route-handler","version":"4.0.4","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@4.0.4","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"64ad83c6cdb31199a8cb7dc1971357b0993e84f6","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-4.0.4.tgz","fileCount":6,"integrity":"sha512-eJYpkR0fKvDkluEw3PGW/7LaOpKRCJ2DP0+Z4YBOF/wER3LGH+kPyOSmRq0RQyXRTwVAsu8J6eADUYdvlr0rbg==","signatures":[{"sig":"MEUCIDfBVmXeBHuRAweptVY8LKgcuQYGNGc7+5I7PhZsGqbSAiEArjR3Pr6uJIB56dVwI7iJLJ8PVvtWUhC41bXvDVKy+g8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":110473},"type":"commonjs","types":"./dist/types/src/index.d.ts","config":{"plugin-build":{"docs":{"entry":"./src/index.ts"}}},"engines":{"node":"^18.18.2 || ^20.10.0 || >=21.2.0"},"exports":{".":{"node":"./dist/src/index.js","types":"./dist/types/src/index.d.ts","default":"./dist/src/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"ca4721f4c201860be249231835c90479cbb0ea99","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json --no-error-on-unmatched-pattern packages src; Y=$?; MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && echo $MD_FILES | NODE_ENV=lint xargs remark --quiet --frail --no-stdout; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test:unit --","build":"npm run build:dist --","clean":"git ls-files --exclude-standard --ignored --others --directory | grep -vE '^((\\.(env|vscode|husky))|next-env\\.d\\.ts|node_modules)($|\\/)' | xargs -p rm -rf","format":"MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && (echo $MD_FILES | xargs remark --no-config --no-stdout --quiet --frail --use gfm --use lint-no-undefined-references || (echo -n '\u001b' && echo '[37;41;1m FAIL \u001b[0m cannot continue with undefined references present' && false)) && sort-package-json './package.json' './packages/*/package.json' && echo $MD_FILES | NODE_ENV=format xargs remark --output --frail && echo $MD_FILES | xargs doctoc --no-title --maxlevel 3 --update-only && prettier --write .","prepare":"node -e \"execa = require('execa'); if(process.env.CI === undefined && (process.env.NODE_ENV === undefined || process.env.NODE_ENV === 'development')) { execa.sync('npx', ['husky', 'install'], { stdout: 'inherit', stderr: 'inherit' }); } else { console.log('skipped installing husky git hooks'); }\"","lint:all":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.eslint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.eslint.json .; Y=$?; MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && echo $MD_FILES | NODE_ENV=lint xargs remark --quiet --frail --no-stdout; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test:all":"npx attw --pack . && echo && NODE_OPTIONS='--no-warnings' NODE_ENV=test jest --coverage","test:e2e":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'e2e.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:unit":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'unit-.*\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","build:dist":"echo '> Generating types...' && NODE_ENV=production tsc --project tsconfig.types.json --incremental false && tsconfig-replace-paths --project tsconfig.types.json && echo '> Building distributables...' && NODE_ENV=production-cjs babel src --extensions .ts --out-dir dist/src","build:docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --skipErrorChecking --cleanOutputDir --tsconfig tsconfig.docs.json --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'const entry = require(\"./package.json\").config?.[\"plugin-build\"]?.docs?.entry; if(!entry) throw new Error(\"\\\"config['\"'\"'plugin-build'\"'\"'].docs.entry\\\" field is not defined in package.json\"); console.log(entry)'` && echo 'Entry file:' $ENTRY && typedoc --plugin typedoc-plugin-markdown --skipErrorChecking --cleanOutputDir --tsconfig tsconfig.docs.json --out docs --readme none $ENTRY; fi","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))' && (npm run -ws list-tasks --if-present 2>/dev/null || true)","build:changelog":"conventional-changelog --outfile CHANGELOG.md --config ./conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\"!=='true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && NODE_ENV=format remark --output --frail CHANGELOG.md && prettier --write CHANGELOG.md","build:externals":"NODE_ENV=production-external babel external-scripts --extensions .ts --out-dir external-scripts/bin","test:repeat:all":"npm run __test:repeat:all --silent","test:integration":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:repeat:unit":"npm run __test:repeat:unit --silent","__test:repeat:all":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true NODE_ENV=test npx jest --reporters=jest-silent-reporter || exit; done) && echo \"All tests passed! Congrats!\"","__test:repeat:unit":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true NODE_ENV=test npx jest --reporters=jest-silent-reporter --testPathIgnorePatterns '/(integration|e2e).*?\\.test\\.tsx?' '/dist/' || exit; done) && echo \"All tests passed! Congrats!\"","test:integration:node":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-node.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:client":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-client.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:compile":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-compile.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:externals":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-external.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"9.9.2","description":"Confidently unit and integration test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"21.6.1","dependencies":{"cookie":"^0.6.0","core-js":"^3.36.0","@whatwg-node/server":"^0.9.26"},"publishConfig":{"access":"public"},"typesVersions":{"*":{"*":["./dist/types/src/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"del":"^7.1.0","msw":"2.2.2","glob":"^9.3.2","jest":"^29.7.0","debug":"^4.3.4","execa":"^5.1.1","husky":"^9.0.11","doctoc":"^2.2.1","dotenv":"^16.4.5","eslint":"^8.57.0","semver":"^7.6.0","mongodb":"^6.4.0","typedoc":"^0.25.9","prettier":"^3.2.5","type-fest":"^4.10.3","@babel/cli":"^7.23.9","babel-jest":"^29.7.0","remark-cli":"^12.0.0","remark-gfm":"^4.0.0","simple-git":"^3.22.0","strip-ansi":"^6.0.1","typescript":"^5.3.3","@babel/core":"^7.24.0","@types/glob":"^8.1.0","@types/jest":"^29.5.12","@types/node":"^20.11.24","jest-circus":"^29.7.0","lint-staged":"^15.2.2","remark-lint":"^9.1.2","@types/debug":"^4.1.12","babel-loader":"^9.1.3","spellchecker":"^3.7.1","@octokit/rest":"^20.0.2","@types/cookie":"^0.6.0","@types/semver":"^7.5.8","jest-extended":"^4.0.2","remark-ignore":"^2.0.0","@types/webpack":"^5.28.5","edit-json-file":"^1.8.0","glob-gitignore":"^1.0.14","@commitlint/cli":"^19.0.3","text-extensions":"^2.4.0","toss-expression":"^0.1.2","unique-filename":"^3.0.0","@xunnamius/types":"^1.3.0","lodash.mergewith":"^4.6.2","semantic-release":"https://xunn.at/semantic-release-atam@22.0.6","@babel/preset-env":"^7.24.0","@types/mime-types":"^2.1.4","find-package-json":"^1.2.0","sort-package-json":"https://xunn.at/sort-package-json@2.3.0","@types/test-listen":"^1.1.2","eslint-plugin-jest":"^27.9.0","remark-frontmatter":"^5.0.0","source-map-support":"^0.5.21","remark-lint-no-tabs":"^3.1.2","@babel/eslint-parser":"^7.23.10","all-contributors-cli":"^6.26.1","eslint-plugin-import":"^2.29.1","@arethetypeswrong/cli":"^0.15.0","@semantic-release/git":"^10.0.1","@types/edit-json-file":"^1.7.3","@types/lodash.ismatch":"^4.4.9","@xunnamius/jest-types":"^1.1.3","eslint-plugin-unicorn":"^51.0.1","remark-tight-comments":"^2.0.0","remark-validate-links":"^13.0.0","@semantic-release/exec":"^6.0.3","remark-reference-links":"^7.0.0","suppress-node-warnings":"^1.0.0","tsconfig-replace-paths":"^0.0.14","@types/lodash.mergewith":"^4.6.9","remark-sort-definitions":"^2.0.0","typedoc-plugin-markdown":"^3.17.1","@babel/preset-typescript":"^7.23.3","@types/find-package-json":"^1.2.6","remark-lint-no-empty-url":"^3.1.2","@typescript-eslint/parser":"^7.1.0","confusing-browser-globals":"^1.0.11","remark-lint-final-newline":"^2.1.2","conventional-changelog-cli":"^4.1.0","remark-capitalize-headings":"^2.0.1","remark-lint-file-extension":"^2.1.2","remark-renumber-references":"^2.0.0","@semantic-release/changelog":"^6.0.3","remark-lint-definition-case":"^3.1.2","remark-lint-list-item-style":"^2.0.0","remark-lint-no-literal-urls":"^3.1.2","babel-plugin-module-resolver":"^5.0.0","eslint-import-resolver-alias":"^1.1.2","remark-lint-fenced-code-flag":"^3.1.2","remark-lint-no-shell-dollars":"^3.1.2","eslint-plugin-module-resolver":"^1.5.0","remark-lint-hard-break-spaces":"^3.1.2","remark-lint-heading-increment":"^3.1.2","remark-lint-no-empty-sections":"^4.0.0","remark-lint-no-inline-padding":"^4.1.2","remark-lint-heading-whitespace":"^1.0.0","@commitlint/config-conventional":"^19.0.3","babel-plugin-source-map-support":"^2.2.0","remark-lint-first-heading-level":"^3.1.2","remark-lint-heading-word-length":"^2.0.0","@types/confusing-browser-globals":"^1.0.3","@typescript-eslint/eslint-plugin":"^7.1.0","remark-lint-strikethrough-marker":"^2.1.2","remark-remove-unused-definitions":"^2.0.0","remark-remove-url-trailing-slash":"^2.0.0","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^3.6.1","remark-lint-fenced-code-flag-case":"^2.0.0","remark-lint-no-reference-like-url":"^3.1.2","remark-lint-no-unused-definitions":"^3.1.2","remark-lint-no-heading-punctuation":"^3.1.2","eslint-import-resolver-babel-module":"^5.3.2","remark-lint-no-undefined-references":"^4.2.1","@babel/plugin-proposal-function-bind":"^7.23.3","remark-lint-no-duplicate-definitions":"^3.1.2","remark-lint-no-duplicate-defined-urls":"^2.1.2","remark-lint-no-heading-content-indent":"^4.1.2","remark-lint-no-heading-like-paragraph":"^3.1.2","remark-lint-ordered-list-marker-style":"^3.1.2","remark-lint-ordered-list-marker-value":"^3.1.2","babel-plugin-transform-rewrite-imports":"^1.2.0","remark-lint-no-shortcut-reference-link":"^3.1.2","remark-lint-no-shortcut-reference-image":"^3.1.2","remark-lint-unordered-list-marker-style":"^3.1.2","babel-plugin-explicit-exports-references":"^1.0.2","remark-lint-no-blockquote-without-marker":"^5.1.2","remark-lint-no-auto-link-without-protocol":"^3.1.2","remark-lint-no-multiple-toplevel-headings":"^3.1.2","@babel/plugin-proposal-export-default-from":"^7.23.3","@xunnamius/conventional-changelog-projector":"^1.2.1","babel-plugin-transform-default-named-imports":"^1.2.2","remark-lint-no-duplicate-headings-in-section":"^3.1.2"},"peerDependencies":{"msw":">=2","next":">=9"},"peerDependenciesMeta":{"msw":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_4.0.4_1709367486432_0.5364192742261384","host":"s3://npm-registry-packages"}},"4.0.5":{"name":"next-test-api-route-handler","version":"4.0.5","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@4.0.5","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"7ea7fc098bf9a9fd3899c703a73202fe35313666","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-4.0.5.tgz","fileCount":6,"integrity":"sha512-/V+BIyJBMVoT8GeRea/18vt9INZd3hr6JT+IpEpxvJpjO5KonBFl/CKBlil7HYRWUQ8Ba3GMrzC4E8boSu+u9w==","signatures":[{"sig":"MEQCICmkYbj0o9l6SvE2KZELzTuAlckFevkD7DgwDpB3tuUuAiAahplFr8a7K/4/Euwe9bmpwbuZv5JUI6bUfjD6XypGCQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":110971},"type":"commonjs","types":"./dist/types/src/index.d.ts","config":{"plugin-build":{"docs":{"entry":"./src/index.ts"}}},"engines":{"node":"^18.18.2 || ^20.10.0 || >=21.2.0"},"exports":{".":{"node":"./dist/src/index.js","types":"./dist/types/src/index.d.ts","default":"./dist/src/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"80ac9cd45e2e71a293c5b783b89e2adc34107416","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json --no-error-on-unmatched-pattern packages src; Y=$?; MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && echo $MD_FILES | NODE_ENV=lint xargs remark --quiet --frail --no-stdout; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test:unit --","build":"npm run build:dist --","clean":"git ls-files --exclude-standard --ignored --others --directory | grep -vE '^((\\.(env|vscode|husky))|next-env\\.d\\.ts|node_modules)($|\\/)' | xargs -p rm -rf","format":"MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && (echo $MD_FILES | xargs remark --no-config --no-stdout --quiet --frail --use gfm --use lint-no-undefined-references || (echo -n '\u001b' && echo '[37;41;1m FAIL \u001b[0m cannot continue with undefined references present' && false)) && sort-package-json './package.json' './packages/*/package.json' && echo $MD_FILES | NODE_ENV=format xargs remark --output --frail && echo $MD_FILES | xargs doctoc --no-title --maxlevel 3 --update-only && prettier --write .","prepare":"node -e \"execa = require('execa'); if(process.env.CI === undefined && (process.env.NODE_ENV === undefined || process.env.NODE_ENV === 'development')) { execa.sync('npx', ['husky', 'install'], { stdout: 'inherit', stderr: 'inherit' }); } else { console.log('skipped installing husky git hooks'); }\"","lint:all":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.eslint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.eslint.json .; Y=$?; MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && echo $MD_FILES | NODE_ENV=lint xargs remark --quiet --frail --no-stdout; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test:all":"npx attw --pack . && echo && NODE_OPTIONS='--no-warnings' NODE_ENV=test jest --coverage","test:e2e":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'e2e.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:unit":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'unit-.*\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","build:dist":"echo '> Generating types...' && NODE_ENV=production tsc --project tsconfig.types.json --incremental false && tsconfig-replace-paths --project tsconfig.types.json && echo '> Building distributables...' && NODE_ENV=production-cjs babel src --extensions .ts --out-dir dist/src","build:docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --skipErrorChecking --cleanOutputDir --tsconfig tsconfig.docs.json --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'const entry = require(\"./package.json\").config?.[\"plugin-build\"]?.docs?.entry; if(!entry) throw new Error(\"\\\"config['\"'\"'plugin-build'\"'\"'].docs.entry\\\" field is not defined in package.json\"); console.log(entry)'` && echo 'Entry file:' $ENTRY && typedoc --plugin typedoc-plugin-markdown --skipErrorChecking --cleanOutputDir --tsconfig tsconfig.docs.json --out docs --readme none $ENTRY; fi","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))' && (npm run -ws list-tasks --if-present 2>/dev/null || true)","build:changelog":"conventional-changelog --outfile CHANGELOG.md --config ./conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\"!=='true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && NODE_ENV=format remark --output --frail CHANGELOG.md && prettier --write CHANGELOG.md","build:externals":"NODE_ENV=production-external babel external-scripts --extensions .ts --out-dir external-scripts/bin","test:repeat:all":"npm run __test:repeat:all --silent","test:integration":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:repeat:unit":"npm run __test:repeat:unit --silent","__test:repeat:all":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true NODE_ENV=test npx jest --reporters=jest-silent-reporter || exit; done) && echo \"All tests passed! Congrats!\"","__test:repeat:unit":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true NODE_ENV=test npx jest --reporters=jest-silent-reporter --testPathIgnorePatterns '/(integration|e2e).*?\\.test\\.tsx?' '/dist/' || exit; done) && echo \"All tests passed! Congrats!\"","test:integration:node":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-node.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:client":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-client.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:compile":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-compile.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:externals":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-external.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"9.9.2","description":"Confidently unit and integration test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"21.6.1","dependencies":{"cookie":"^0.6.0","core-js":"^3.36.0","@whatwg-node/server":"^0.9.26"},"publishConfig":{"access":"public"},"typesVersions":{"*":{"*":["./dist/types/src/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"del":"^7.1.0","msw":"2.2.2","glob":"^9.3.2","jest":"^29.7.0","debug":"^4.3.4","execa":"^5.1.1","husky":"^9.0.11","doctoc":"^2.2.1","dotenv":"^16.4.5","eslint":"^8.57.0","semver":"^7.6.0","mongodb":"^6.4.0","typedoc":"^0.25.9","prettier":"^3.2.5","type-fest":"^4.10.3","@babel/cli":"^7.23.9","babel-jest":"^29.7.0","remark-cli":"^12.0.0","remark-gfm":"^4.0.0","simple-git":"^3.22.0","strip-ansi":"^6.0.1","typescript":"^5.3.3","@babel/core":"^7.24.0","@types/glob":"^8.1.0","@types/jest":"^29.5.12","@types/node":"^20.11.24","jest-circus":"^29.7.0","lint-staged":"^15.2.2","remark-lint":"^9.1.2","@types/debug":"^4.1.12","babel-loader":"^9.1.3","spellchecker":"^3.7.1","@octokit/rest":"^20.0.2","@types/cookie":"^0.6.0","@types/semver":"^7.5.8","jest-extended":"^4.0.2","remark-ignore":"^2.0.0","@types/webpack":"^5.28.5","edit-json-file":"^1.8.0","glob-gitignore":"^1.0.14","@commitlint/cli":"^19.0.3","text-extensions":"^2.4.0","toss-expression":"^0.1.2","unique-filename":"^3.0.0","@xunnamius/types":"^1.3.0","lodash.mergewith":"^4.6.2","semantic-release":"https://xunn.at/semantic-release-atam@22.0.6","@babel/preset-env":"^7.24.0","@types/mime-types":"^2.1.4","find-package-json":"^1.2.0","sort-package-json":"https://xunn.at/sort-package-json@2.3.0","@types/test-listen":"^1.1.2","eslint-plugin-jest":"^27.9.0","remark-frontmatter":"^5.0.0","source-map-support":"^0.5.21","remark-lint-no-tabs":"^3.1.2","@babel/eslint-parser":"^7.23.10","all-contributors-cli":"^6.26.1","eslint-plugin-import":"^2.29.1","@arethetypeswrong/cli":"^0.15.0","@semantic-release/git":"^10.0.1","@types/edit-json-file":"^1.7.3","@types/lodash.ismatch":"^4.4.9","@xunnamius/jest-types":"^1.1.3","eslint-plugin-unicorn":"^51.0.1","remark-tight-comments":"^2.0.0","remark-validate-links":"^13.0.0","@semantic-release/exec":"^6.0.3","remark-reference-links":"^7.0.0","suppress-node-warnings":"^1.0.0","tsconfig-replace-paths":"^0.0.14","@types/lodash.mergewith":"^4.6.9","remark-sort-definitions":"^2.0.0","typedoc-plugin-markdown":"^3.17.1","@babel/preset-typescript":"^7.23.3","@types/find-package-json":"^1.2.6","remark-lint-no-empty-url":"^3.1.2","@typescript-eslint/parser":"^7.1.0","confusing-browser-globals":"^1.0.11","remark-lint-final-newline":"^2.1.2","conventional-changelog-cli":"^4.1.0","remark-capitalize-headings":"^2.0.1","remark-lint-file-extension":"^2.1.2","remark-renumber-references":"^2.0.0","@semantic-release/changelog":"^6.0.3","remark-lint-definition-case":"^3.1.2","remark-lint-list-item-style":"^2.0.0","remark-lint-no-literal-urls":"^3.1.2","babel-plugin-module-resolver":"^5.0.0","eslint-import-resolver-alias":"^1.1.2","remark-lint-fenced-code-flag":"^3.1.2","remark-lint-no-shell-dollars":"^3.1.2","eslint-plugin-module-resolver":"^1.5.0","remark-lint-hard-break-spaces":"^3.1.2","remark-lint-heading-increment":"^3.1.2","remark-lint-no-empty-sections":"^4.0.0","remark-lint-no-inline-padding":"^4.1.2","remark-lint-heading-whitespace":"^1.0.0","@commitlint/config-conventional":"^19.0.3","babel-plugin-source-map-support":"^2.2.0","remark-lint-first-heading-level":"^3.1.2","remark-lint-heading-word-length":"^2.0.0","@types/confusing-browser-globals":"^1.0.3","@typescript-eslint/eslint-plugin":"^7.1.0","remark-lint-strikethrough-marker":"^2.1.2","remark-remove-unused-definitions":"^2.0.0","remark-remove-url-trailing-slash":"^2.0.0","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^3.6.1","remark-lint-fenced-code-flag-case":"^2.0.0","remark-lint-no-reference-like-url":"^3.1.2","remark-lint-no-unused-definitions":"^3.1.2","remark-lint-no-heading-punctuation":"^3.1.2","eslint-import-resolver-babel-module":"^5.3.2","remark-lint-no-undefined-references":"^4.2.1","@babel/plugin-proposal-function-bind":"^7.23.3","remark-lint-no-duplicate-definitions":"^3.1.2","remark-lint-no-duplicate-defined-urls":"^2.1.2","remark-lint-no-heading-content-indent":"^4.1.2","remark-lint-no-heading-like-paragraph":"^3.1.2","remark-lint-ordered-list-marker-style":"^3.1.2","remark-lint-ordered-list-marker-value":"^3.1.2","babel-plugin-transform-rewrite-imports":"^1.2.0","remark-lint-no-shortcut-reference-link":"^3.1.2","remark-lint-no-shortcut-reference-image":"^3.1.2","remark-lint-unordered-list-marker-style":"^3.1.2","babel-plugin-explicit-exports-references":"^1.0.2","remark-lint-no-blockquote-without-marker":"^5.1.2","remark-lint-no-auto-link-without-protocol":"^3.1.2","remark-lint-no-multiple-toplevel-headings":"^3.1.2","@babel/plugin-proposal-export-default-from":"^7.23.3","@xunnamius/conventional-changelog-projector":"^1.2.1","babel-plugin-transform-default-named-imports":"^1.2.2","remark-lint-no-duplicate-headings-in-section":"^3.1.2"},"peerDependencies":{"msw":">=2","next":">=9"},"peerDependenciesMeta":{"msw":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_4.0.5_1709426028145_0.6808927603805346","host":"s3://npm-registry-packages"}},"4.0.6":{"name":"next-test-api-route-handler","version":"4.0.6","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@4.0.6","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"ed8cdfb17fb8f8b25de81f5212f3ec15e7db113c","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-4.0.6.tgz","fileCount":6,"integrity":"sha512-ol//mPYwVSVN9Hw36AIvaZlhl2Dcl5xnBvhi6WYMgrE8wozkDh4VYdGUu3atEY80P02t5m2Ip8icljiE6tRiBA==","signatures":[{"sig":"MEYCIQCCoQvEoV4cnBGXYjSQzTnc4YaJOmpDS2Mj97OoWUzEcwIhALpl2TRzUejoARI0VUAAkQxjA/lrXsLrgUPI+Ge3+uwh","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111010},"type":"commonjs","types":"./dist/types/src/index.d.ts","config":{"plugin-build":{"docs":{"entry":"./src/index.ts"}}},"engines":{"node":"^18.18.2 || ^20.10.0 || >=21.2.0"},"exports":{".":{"node":"./dist/src/index.js","types":"./dist/types/src/index.d.ts","default":"./dist/src/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"260d0c864b68cc7ff5eede314b5aec9420a3ab98","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json --no-error-on-unmatched-pattern packages src; Y=$?; MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && echo $MD_FILES | NODE_ENV=lint xargs remark --quiet --frail --no-stdout; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test:unit --","build":"npm run build:dist --","clean":"git ls-files --exclude-standard --ignored --others --directory | grep -vE '^((\\.(env|vscode|husky))|next-env\\.d\\.ts|node_modules)($|\\/)' | xargs -p rm -rf","format":"MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && (echo $MD_FILES | xargs remark --no-config --no-stdout --quiet --frail --use gfm --use lint-no-undefined-references || (echo -n '\u001b' && echo '[37;41;1m FAIL \u001b[0m cannot continue with undefined references present' && false)) && sort-package-json './package.json' './packages/*/package.json' && echo $MD_FILES | NODE_ENV=format xargs remark --output --frail && echo $MD_FILES | xargs doctoc --no-title --maxlevel 3 --update-only && prettier --write .","prepare":"node -e \"execa = require('execa'); if(process.env.CI === undefined && (process.env.NODE_ENV === undefined || process.env.NODE_ENV === 'development')) { execa.sync('npx', ['husky', 'install'], { stdout: 'inherit', stderr: 'inherit' }); } else { console.log('skipped installing husky git hooks'); }\"","lint:all":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.eslint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.eslint.json .; Y=$?; MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && echo $MD_FILES | NODE_ENV=lint xargs remark --quiet --frail --no-stdout; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test:all":"npx attw --pack . && echo && NODE_OPTIONS='--no-warnings' NODE_ENV=test jest --coverage","test:e2e":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'e2e.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:unit":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'unit-.*\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","build:dist":"echo '> Generating types...' && NODE_ENV=production tsc --project tsconfig.types.json --incremental false && tsconfig-replace-paths --project tsconfig.types.json && echo '> Building distributables...' && NODE_ENV=production-cjs babel src --extensions .ts --out-dir dist/src","build:docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --skipErrorChecking --cleanOutputDir --tsconfig tsconfig.docs.json --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'const entry = require(\"./package.json\").config?.[\"plugin-build\"]?.docs?.entry; if(!entry) throw new Error(\"\\\"config['\"'\"'plugin-build'\"'\"'].docs.entry\\\" field is not defined in package.json\"); console.log(entry)'` && echo 'Entry file:' $ENTRY && typedoc --plugin typedoc-plugin-markdown --skipErrorChecking --cleanOutputDir --tsconfig tsconfig.docs.json --out docs --readme none $ENTRY; fi","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))' && (npm run -ws list-tasks --if-present 2>/dev/null || true)","build:changelog":"conventional-changelog --outfile CHANGELOG.md --config ./conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\"!=='true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && NODE_ENV=format remark --output --frail CHANGELOG.md && prettier --write CHANGELOG.md","build:externals":"NODE_ENV=production-external babel external-scripts --extensions .ts --out-dir external-scripts/bin","test:repeat:all":"npm run __test:repeat:all --silent","test:integration":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:repeat:unit":"npm run __test:repeat:unit --silent","__test:repeat:all":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true NODE_ENV=test npx jest --reporters=jest-silent-reporter || exit; done) && echo \"All tests passed! Congrats!\"","__test:repeat:unit":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true NODE_ENV=test npx jest --reporters=jest-silent-reporter --testPathIgnorePatterns '/(integration|e2e).*?\\.test\\.tsx?' '/dist/' || exit; done) && echo \"All tests passed! Congrats!\"","test:integration:node":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-node.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:client":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-client.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:compile":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-compile.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:externals":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-external.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"9.9.2","description":"Confidently unit and integration test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"21.7.1","dependencies":{"cookie":"^0.6.0","core-js":"^3.36.1","@whatwg-node/server":"^0.9.32"},"publishConfig":{"access":"public"},"typesVersions":{"*":{"*":["./dist/types/src/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"del":"^7.1.0","msw":"2.2.13","glob":"^9.3.2","jest":"^29.7.0","debug":"^4.3.4","execa":"^5.1.1","husky":"^9.0.11","doctoc":"^2.2.1","dotenv":"^16.4.5","eslint":"^8.57.0","semver":"^7.6.0","mongodb":"^6.5.0","typedoc":"^0.25.13","prettier":"^3.2.5","type-fest":"^4.15.0","@babel/cli":"^7.24.1","babel-jest":"^29.7.0","remark-cli":"^12.0.0","remark-gfm":"^4.0.0","simple-git":"^3.24.0","strip-ansi":"^6.0.1","typescript":"^5.4.5","@babel/core":"^7.24.4","@types/glob":"^8.1.0","@types/jest":"^29.5.12","@types/node":"^20.12.7","jest-circus":"^29.7.0","lint-staged":"^15.2.2","remark-lint":"^10.0.0","@types/debug":"^4.1.12","babel-loader":"^9.1.3","spellchecker":"^3.7.1","@octokit/rest":"^20.1.0","@types/cookie":"^0.6.0","@types/semver":"^7.5.8","jest-extended":"^4.0.2","remark-ignore":"^2.0.0","@types/webpack":"^5.28.5","edit-json-file":"^1.8.0","glob-gitignore":"^1.0.14","@commitlint/cli":"^19.2.1","text-extensions":"^2.4.0","toss-expression":"^0.1.2","unique-filename":"^3.0.0","@xunnamius/types":"^1.3.0","lodash.mergewith":"^4.6.2","semantic-release":"https://xunn.at/semantic-release-atam@22.0.6","@babel/preset-env":"^7.24.4","@types/mime-types":"^2.1.4","find-package-json":"^1.2.0","sort-package-json":"https://xunn.at/sort-package-json@2.3.0","@types/test-listen":"^1.1.2","eslint-plugin-jest":"^27.9.0","remark-frontmatter":"^5.0.0","source-map-support":"^0.5.21","remark-lint-no-tabs":"^4.0.0","@babel/eslint-parser":"^7.24.1","all-contributors-cli":"^6.26.1","eslint-plugin-import":"^2.29.1","@arethetypeswrong/cli":"^0.15.3","@semantic-release/git":"^10.0.1","@types/edit-json-file":"^1.7.3","@types/lodash.ismatch":"^4.4.9","@xunnamius/jest-types":"^1.1.3","eslint-plugin-unicorn":"^51.0.1","remark-tight-comments":"^2.0.0","remark-validate-links":"^13.0.1","@semantic-release/exec":"^6.0.3","remark-reference-links":"^7.0.0","suppress-node-warnings":"^1.0.0","tsconfig-replace-paths":"^0.0.14","@types/lodash.mergewith":"^4.6.9","remark-sort-definitions":"^2.0.0","typedoc-plugin-markdown":"^3.17.1","@babel/preset-typescript":"^7.24.1","@types/find-package-json":"^1.2.6","remark-lint-no-empty-url":"^4.0.0","@typescript-eslint/parser":"^7.6.0","confusing-browser-globals":"^1.0.11","remark-lint-final-newline":"^3.0.0","conventional-changelog-cli":"^4.1.0","remark-capitalize-headings":"^2.0.1","remark-lint-file-extension":"^3.0.0","remark-renumber-references":"^2.0.0","@semantic-release/changelog":"^6.0.3","remark-lint-definition-case":"^4.0.0","remark-lint-list-item-style":"^2.0.0","remark-lint-no-literal-urls":"^4.0.0","babel-plugin-module-resolver":"^5.0.0","eslint-import-resolver-alias":"^1.1.2","remark-lint-fenced-code-flag":"^4.0.0","remark-lint-no-shell-dollars":"^4.0.0","eslint-plugin-module-resolver":"^1.5.0","remark-lint-hard-break-spaces":"^4.0.0","remark-lint-heading-increment":"^4.0.0","remark-lint-no-empty-sections":"^4.0.0","remark-lint-no-inline-padding":"^4.1.2","remark-lint-heading-whitespace":"^1.0.0","@commitlint/config-conventional":"^19.1.0","babel-plugin-source-map-support":"^2.2.0","remark-lint-first-heading-level":"^4.0.0","remark-lint-heading-word-length":"^2.0.0","@types/confusing-browser-globals":"^1.0.3","@typescript-eslint/eslint-plugin":"^7.6.0","remark-lint-strikethrough-marker":"^3.0.0","remark-remove-unused-definitions":"^2.0.0","remark-remove-url-trailing-slash":"^2.0.0","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^3.6.1","remark-lint-fenced-code-flag-case":"^2.0.0","remark-lint-no-reference-like-url":"^4.0.0","remark-lint-no-unused-definitions":"^4.0.0","remark-lint-no-heading-punctuation":"^4.0.0","eslint-import-resolver-babel-module":"^5.3.2","remark-lint-no-undefined-references":"^5.0.0","@babel/plugin-proposal-function-bind":"^7.24.1","remark-lint-no-duplicate-definitions":"^4.0.0","remark-lint-no-duplicate-defined-urls":"^3.0.0","remark-lint-no-heading-content-indent":"^5.0.0","remark-lint-no-heading-like-paragraph":"^4.0.0","remark-lint-ordered-list-marker-style":"^4.0.0","remark-lint-ordered-list-marker-value":"^4.0.0","babel-plugin-transform-rewrite-imports":"^1.2.0","remark-lint-no-shortcut-reference-link":"^4.0.0","remark-lint-no-shortcut-reference-image":"^4.0.0","remark-lint-unordered-list-marker-style":"^4.0.0","babel-plugin-explicit-exports-references":"^1.0.2","remark-lint-no-blockquote-without-marker":"^6.0.0","remark-lint-no-auto-link-without-protocol":"^3.1.2","remark-lint-no-multiple-toplevel-headings":"^4.0.0","@babel/plugin-proposal-export-default-from":"^7.24.1","@xunnamius/conventional-changelog-projector":"^1.2.1","babel-plugin-transform-default-named-imports":"^1.2.2","remark-lint-no-duplicate-headings-in-section":"^4.0.0"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_4.0.6_1712961502156_0.7384129644191688","host":"s3://npm-registry-packages"}},"4.0.7":{"name":"next-test-api-route-handler","version":"4.0.7","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@4.0.7","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"930f4e178f40292fbc999914856c589b452e3476","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-4.0.7.tgz","fileCount":6,"integrity":"sha512-7lSpltVIVrJK1X06MNVVSgq5MvIzo5LZjdtUmWigt4v4/xpF78QeOgBorB+wfbiIAj6tjzf1/0zeEWiaxbyLsQ==","signatures":[{"sig":"MEQCIAjlgrlFKCnl13jBlTEbh4uPWEzxtiOmasPJWdLI5yGRAiBc5Du+wEeBaJlK1nPadTZaCkf4OhEmicj+ZrNkwL1hMQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112519},"type":"commonjs","types":"./dist/types/src/index.d.ts","config":{"plugin-build":{"docs":{"entry":"./src/index.ts"}}},"engines":{"node":"^18.18.2 || ^20.10.0 || >=21.2.0"},"exports":{".":{"node":"./dist/src/index.js","types":"./dist/types/src/index.d.ts","default":"./dist/src/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"836cc68d6e6fd8cb9ad06f5a895ade4592e6075a","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json --no-error-on-unmatched-pattern packages src; Y=$?; MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && echo $MD_FILES | NODE_ENV=lint xargs remark --quiet --frail --no-stdout; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test:unit --","build":"npm run build:dist --","clean":"git ls-files --exclude-standard --ignored --others --directory | grep -vE '^((\\.(env|vscode|husky))|next-env\\.d\\.ts|node_modules)($|\\/)' | xargs -p rm -rf","format":"MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && (echo $MD_FILES | xargs remark --no-config --no-stdout --quiet --frail --use gfm --use lint-no-undefined-references || (echo -n '\u001b' && echo '[37;41;1m FAIL \u001b[0m cannot continue with undefined references present' && false)) && sort-package-json './package.json' './packages/*/package.json' && echo $MD_FILES | NODE_ENV=format xargs remark --output --frail && echo $MD_FILES | xargs doctoc --no-title --maxlevel 3 --update-only && prettier --write .","prepare":"node -e \"execa = require('execa'); if(process.env.CI === undefined && (process.env.NODE_ENV === undefined || process.env.NODE_ENV === 'development')) { execa.sync('npx', ['husky', 'install'], { stdout: 'inherit', stderr: 'inherit' }); } else { console.log('skipped installing husky git hooks'); }\"","lint:all":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.eslint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.eslint.json .; Y=$?; MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && echo $MD_FILES | NODE_ENV=lint xargs remark --quiet --frail --no-stdout; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test:all":"npx attw --pack . && echo && NODE_OPTIONS='--no-warnings' NODE_ENV=test jest --coverage","test:e2e":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'e2e.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:unit":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'unit-.*\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","build:dist":"echo '> Generating types...' && NODE_ENV=production tsc --project tsconfig.types.json --incremental false && tsconfig-replace-paths --project tsconfig.types.json && echo '> Building distributables...' && NODE_ENV=production-cjs babel src --extensions .ts --out-dir dist/src","build:docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --skipErrorChecking --cleanOutputDir --tsconfig tsconfig.docs.json --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'const entry = require(\"./package.json\").config?.[\"plugin-build\"]?.docs?.entry; if(!entry) throw new Error(\"\\\"config['\"'\"'plugin-build'\"'\"'].docs.entry\\\" field is not defined in package.json\"); console.log(entry)'` && echo 'Entry file:' $ENTRY && typedoc --plugin typedoc-plugin-markdown --skipErrorChecking --cleanOutputDir --tsconfig tsconfig.docs.json --out docs --readme none $ENTRY; fi","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))' && (npm run -ws list-tasks --if-present 2>/dev/null || true)","build:changelog":"conventional-changelog --outfile CHANGELOG.md --config ./conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\"!=='true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && NODE_ENV=format remark --output --frail CHANGELOG.md && prettier --write CHANGELOG.md","build:externals":"NODE_ENV=production-external babel external-scripts --extensions .ts --out-dir external-scripts/bin","test:repeat:all":"npm run __test:repeat:all --silent","test:integration":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:repeat:unit":"npm run __test:repeat:unit --silent","__test:repeat:all":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true NODE_ENV=test npx jest --reporters=jest-silent-reporter || exit; done) && echo \"All tests passed! Congrats!\"","__test:repeat:unit":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true NODE_ENV=test npx jest --reporters=jest-silent-reporter --testPathIgnorePatterns '/(integration|e2e).*?\\.test\\.tsx?' '/dist/' || exit; done) && echo \"All tests passed! Congrats!\"","test:integration:node":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-node.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:client":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-client.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:compile":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-compile.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:externals":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-external.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"9.9.2","description":"Confidently unit and integration test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"21.7.1","dependencies":{"cookie":"^0.6.0","core-js":"^3.37.0","@whatwg-node/server":"^0.9.33"},"publishConfig":{"access":"public"},"typesVersions":{"*":{"*":["./dist/types/src/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"del":"^7.1.0","msw":"2.2.13","glob":"^9.3.2","jest":"^29.7.0","debug":"^4.3.4","execa":"^5.1.1","husky":"^9.0.11","doctoc":"^2.2.1","dotenv":"^16.4.5","eslint":"^8.57.0","semver":"^7.6.0","mongodb":"^6.5.0","typedoc":"^0.25.13","prettier":"^3.2.5","type-fest":"^4.15.0","@babel/cli":"^7.24.1","babel-jest":"^29.7.0","remark-cli":"^12.0.0","remark-gfm":"^4.0.0","simple-git":"^3.24.0","strip-ansi":"^6.0.1","typescript":"^5.4.5","@babel/core":"^7.24.4","@types/glob":"^8.1.0","@types/jest":"^29.5.12","@types/node":"^20.12.7","jest-circus":"^29.7.0","lint-staged":"^15.2.2","remark-lint":"^10.0.0","@types/debug":"^4.1.12","babel-loader":"^9.1.3","spellchecker":"^3.7.1","@octokit/rest":"^20.1.0","@types/cookie":"^0.6.0","@types/semver":"^7.5.8","jest-extended":"^4.0.2","remark-ignore":"^2.0.0","@types/webpack":"^5.28.5","edit-json-file":"^1.8.0","glob-gitignore":"^1.0.14","@commitlint/cli":"^19.2.2","text-extensions":"^2.4.0","toss-expression":"^0.1.2","unique-filename":"^3.0.0","@xunnamius/types":"^1.3.0","lodash.mergewith":"^4.6.2","semantic-release":"https://xunn.at/semantic-release-atam@22.0.6","@babel/preset-env":"^7.24.4","@types/mime-types":"^2.1.4","find-package-json":"^1.2.0","sort-package-json":"https://xunn.at/sort-package-json@2.3.0","@types/test-listen":"^1.1.2","eslint-plugin-jest":"^27.9.0","remark-frontmatter":"^5.0.0","source-map-support":"^0.5.21","remark-lint-no-tabs":"^4.0.0","@babel/eslint-parser":"^7.24.1","all-contributors-cli":"^6.26.1","eslint-plugin-import":"^2.29.1","@arethetypeswrong/cli":"^0.15.3","@semantic-release/git":"^10.0.1","@types/edit-json-file":"^1.7.3","@types/lodash.ismatch":"^4.4.9","@xunnamius/jest-types":"^1.1.3","eslint-plugin-unicorn":"^51.0.1","remark-tight-comments":"^2.0.0","remark-validate-links":"^13.0.1","@semantic-release/exec":"^6.0.3","remark-reference-links":"^7.0.0","suppress-node-warnings":"^1.0.0","tsconfig-replace-paths":"^0.0.14","@types/lodash.mergewith":"^4.6.9","remark-sort-definitions":"^2.0.0","typedoc-plugin-markdown":"^3.17.1","@babel/preset-typescript":"^7.24.1","@types/find-package-json":"^1.2.6","remark-lint-no-empty-url":"^4.0.0","@typescript-eslint/parser":"^7.6.0","confusing-browser-globals":"^1.0.11","remark-lint-final-newline":"^3.0.0","conventional-changelog-cli":"^4.1.0","remark-capitalize-headings":"^2.0.1","remark-lint-file-extension":"^3.0.0","remark-renumber-references":"^2.0.0","@semantic-release/changelog":"^6.0.3","remark-lint-definition-case":"^4.0.0","remark-lint-list-item-style":"^2.0.0","remark-lint-no-literal-urls":"^4.0.0","babel-plugin-module-resolver":"^5.0.0","eslint-import-resolver-alias":"^1.1.2","remark-lint-fenced-code-flag":"^4.0.0","remark-lint-no-shell-dollars":"^4.0.0","eslint-plugin-module-resolver":"^1.5.0","remark-lint-hard-break-spaces":"^4.0.0","remark-lint-heading-increment":"^4.0.0","remark-lint-no-empty-sections":"^4.0.0","remark-lint-no-inline-padding":"^4.1.2","remark-lint-heading-whitespace":"^1.0.0","@commitlint/config-conventional":"^19.2.2","babel-plugin-source-map-support":"^2.2.0","remark-lint-first-heading-level":"^4.0.0","remark-lint-heading-word-length":"^2.0.0","@types/confusing-browser-globals":"^1.0.3","@typescript-eslint/eslint-plugin":"^7.6.0","remark-lint-strikethrough-marker":"^3.0.0","remark-remove-unused-definitions":"^2.0.0","remark-remove-url-trailing-slash":"^2.0.0","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^3.6.1","remark-lint-fenced-code-flag-case":"^2.0.0","remark-lint-no-reference-like-url":"^4.0.0","remark-lint-no-unused-definitions":"^4.0.0","remark-lint-no-heading-punctuation":"^4.0.0","eslint-import-resolver-babel-module":"^5.3.2","remark-lint-no-undefined-references":"^5.0.0","@babel/plugin-proposal-function-bind":"^7.24.1","remark-lint-no-duplicate-definitions":"^4.0.0","remark-lint-no-duplicate-defined-urls":"^3.0.0","remark-lint-no-heading-content-indent":"^5.0.0","remark-lint-no-heading-like-paragraph":"^4.0.0","remark-lint-ordered-list-marker-style":"^4.0.0","remark-lint-ordered-list-marker-value":"^4.0.0","babel-plugin-transform-rewrite-imports":"^1.2.0","remark-lint-no-shortcut-reference-link":"^4.0.0","remark-lint-no-shortcut-reference-image":"^4.0.0","remark-lint-unordered-list-marker-style":"^4.0.0","babel-plugin-explicit-exports-references":"^1.0.2","remark-lint-no-blockquote-without-marker":"^6.0.0","remark-lint-no-auto-link-without-protocol":"^3.1.2","remark-lint-no-multiple-toplevel-headings":"^4.0.0","@babel/plugin-proposal-export-default-from":"^7.24.1","@xunnamius/conventional-changelog-projector":"^1.2.1","babel-plugin-transform-default-named-imports":"^1.2.2","remark-lint-no-duplicate-headings-in-section":"^4.0.0"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_4.0.7_1713320277870_0.04538034699426308","host":"s3://npm-registry-packages"}},"4.0.8":{"name":"next-test-api-route-handler","version":"4.0.8","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@4.0.8","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"edfadc61961d7f5adc824afb83388302aa31c99d","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-4.0.8.tgz","fileCount":6,"integrity":"sha512-eCGT/axiz6w7JqkT+L2gfekrx1+I5Uq+TSoB2U3lLpdlNehDtF6bd4hiHwXX4/SvdUjBL8g38Wfaylm9FJ+h2w==","signatures":[{"sig":"MEQCIB4RG7oTaTFBkOeevLGyfdU8srs+SGpXBp3C0/j5qcaDAiBxplb7rqzGBJ/kqUSIl68X3u4HQV/VN+tMt836RTBjRQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112856},"type":"commonjs","types":"./dist/types/src/index.d.ts","config":{"plugin-build":{"docs":{"entry":"./src/index.ts"}}},"engines":{"node":"^18.18.2 || ^20.10.0 || >=21.2.0"},"exports":{".":{"node":"./dist/src/index.js","types":"./dist/types/src/index.d.ts","default":"./dist/src/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"466aeb7755a16e8cb73cf431770607fad5872e07","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json --no-error-on-unmatched-pattern packages src; Y=$?; MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && echo $MD_FILES | NODE_ENV=lint xargs remark --quiet --frail --no-stdout; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test:unit --","build":"npm run build:dist --","clean":"git ls-files --exclude-standard --ignored --others --directory | grep -vE '^((\\.(env|vscode|husky))|next-env\\.d\\.ts|node_modules)($|\\/)' | xargs -p rm -rf","format":"MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && (echo $MD_FILES | xargs remark --no-config --no-stdout --quiet --frail --use gfm --use lint-no-undefined-references || (echo -n '\u001b' && echo '[37;41;1m FAIL \u001b[0m cannot continue with undefined references present' && false)) && sort-package-json './package.json' './packages/*/package.json' && echo $MD_FILES | NODE_ENV=format xargs remark --output --frail && echo $MD_FILES | xargs doctoc --no-title --maxlevel 3 --update-only && prettier --write .","prepare":"node -e \"execa = require('execa'); if(process.env.CI === undefined && (process.env.NODE_ENV === undefined || process.env.NODE_ENV === 'development')) { execa.sync('npx', ['husky', 'install'], { stdout: 'inherit', stderr: 'inherit' }); } else { console.log('skipped installing husky git hooks'); }\"","lint:all":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.eslint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.eslint.json .; Y=$?; MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && echo $MD_FILES | NODE_ENV=lint xargs remark --quiet --frail --no-stdout; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test:all":"npx attw --pack . && echo && NODE_OPTIONS='--no-warnings' NODE_ENV=test jest --coverage","test:e2e":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'e2e.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:unit":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'unit-.*\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","build:dist":"echo '> Generating types...' && NODE_ENV=production tsc --project tsconfig.types.json --incremental false && tsconfig-replace-paths --project tsconfig.types.json && echo '> Building distributables...' && NODE_ENV=production-cjs babel src --extensions .ts --out-dir dist/src","build:docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --skipErrorChecking --cleanOutputDir --tsconfig tsconfig.docs.json --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'const entry = require(\"./package.json\").config?.[\"plugin-build\"]?.docs?.entry; if(!entry) throw new Error(\"\\\"config['\"'\"'plugin-build'\"'\"'].docs.entry\\\" field is not defined in package.json\"); console.log(entry)'` && echo 'Entry file:' $ENTRY && typedoc --plugin typedoc-plugin-markdown --skipErrorChecking --cleanOutputDir --tsconfig tsconfig.docs.json --out docs --readme none $ENTRY; fi","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))' && (npm run -ws list-tasks --if-present 2>/dev/null || true)","build:changelog":"conventional-changelog --outfile CHANGELOG.md --config ./conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\"!=='true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && NODE_ENV=format remark --output --frail CHANGELOG.md && prettier --write CHANGELOG.md","build:externals":"NODE_ENV=production-external babel external-scripts --extensions .ts --out-dir external-scripts/bin","test:repeat:all":"npm run __test:repeat:all --silent","test:integration":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:repeat:unit":"npm run __test:repeat:unit --silent","__test:repeat:all":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true NODE_ENV=test npx jest --reporters=jest-silent-reporter || exit; done) && echo \"All tests passed! Congrats!\"","__test:repeat:unit":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true NODE_ENV=test npx jest --reporters=jest-silent-reporter --testPathIgnorePatterns '/(integration|e2e).*?\\.test\\.tsx?' '/dist/' || exit; done) && echo \"All tests passed! Congrats!\"","test:integration:node":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-node.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:client":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-client.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:compile":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-compile.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:externals":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-external.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"9.9.2","description":"Confidently unit and integration test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"22.2.0","dependencies":{"cookie":"^0.6.0","core-js":"^3.37.1","@whatwg-node/server":"^0.9.34"},"publishConfig":{"access":"public"},"typesVersions":{"*":{"*":["./dist/types/src/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"del":"^7.1.0","msw":"2.3.1","glob":"^9.3.2","jest":"^29.7.0","debug":"^4.3.5","execa":"^5.1.1","husky":"^9.0.11","doctoc":"^2.2.1","dotenv":"^16.4.5","eslint":"^8.57.0","semver":"^7.6.2","mongodb":"^6.7.0","typedoc":"^0.25.13","prettier":"^3.3.1","type-fest":"^4.20.0","@babel/cli":"^7.24.7","babel-jest":"^29.7.0","remark-cli":"^12.0.1","remark-gfm":"^4.0.0","simple-git":"^3.25.0","strip-ansi":"^6.0.1","typescript":"^5.4.5","@babel/core":"^7.24.7","@types/glob":"^8.1.0","@types/jest":"^29.5.12","@types/node":"^20.14.2","jest-circus":"^29.7.0","lint-staged":"^15.2.5","remark-lint":"^10.0.0","@types/debug":"^4.1.12","babel-loader":"^9.1.3","spellchecker":"^3.7.1","@octokit/rest":"^20.1.1","@types/cookie":"^0.6.0","@types/semver":"^7.5.8","jest-extended":"^4.0.2","remark-ignore":"^2.0.0","@types/webpack":"^5.28.5","edit-json-file":"^1.8.0","glob-gitignore":"^1.0.14","@commitlint/cli":"^19.3.0","text-extensions":"^3.0.0","toss-expression":"^0.1.2","unique-filename":"^3.0.0","@xunnamius/types":"^1.3.0","lodash.mergewith":"^4.6.2","semantic-release":"https://xunn.at/semantic-release-atam@22.0.6","@babel/preset-env":"^7.24.7","@types/mime-types":"^2.1.4","find-package-json":"^1.2.0","sort-package-json":"https://xunn.at/sort-package-json@2.3.0","@types/test-listen":"^1.1.2","eslint-plugin-jest":"^28.6.0","remark-frontmatter":"^5.0.0","source-map-support":"^0.5.21","remark-lint-no-tabs":"^4.0.0","@babel/eslint-parser":"^7.24.7","all-contributors-cli":"^6.26.1","eslint-plugin-import":"^2.29.1","@arethetypeswrong/cli":"^0.15.3","@semantic-release/git":"^10.0.1","@types/edit-json-file":"^1.7.3","@types/lodash.ismatch":"^4.4.9","@xunnamius/jest-types":"^1.1.3","eslint-plugin-unicorn":"^53.0.0","remark-tight-comments":"^2.0.0","remark-validate-links":"^13.0.1","@semantic-release/exec":"^6.0.3","remark-reference-links":"^7.0.0","suppress-node-warnings":"^1.0.0","tsconfig-replace-paths":"^0.0.14","@types/lodash.mergewith":"^4.6.9","remark-sort-definitions":"^2.0.0","typedoc-plugin-markdown":"^4.0.3","@babel/preset-typescript":"^7.24.7","@types/find-package-json":"^1.2.6","remark-lint-no-empty-url":"^4.0.0","@typescript-eslint/parser":"^7.13.0","confusing-browser-globals":"^1.0.11","remark-lint-final-newline":"^3.0.0","conventional-changelog-cli":"^4.1.0","remark-capitalize-headings":"^2.0.1","remark-lint-file-extension":"^3.0.0","remark-renumber-references":"^2.0.0","@semantic-release/changelog":"^6.0.3","remark-lint-definition-case":"^4.0.0","remark-lint-list-item-style":"^2.0.0","remark-lint-no-literal-urls":"^4.0.0","babel-plugin-module-resolver":"^5.0.2","eslint-import-resolver-alias":"^1.1.2","remark-lint-fenced-code-flag":"^4.0.0","remark-lint-no-shell-dollars":"^4.0.0","eslint-plugin-module-resolver":"^1.5.0","remark-lint-hard-break-spaces":"^4.0.0","remark-lint-heading-increment":"^4.0.0","remark-lint-no-empty-sections":"^4.0.0","remark-lint-no-inline-padding":"^4.1.2","remark-lint-heading-whitespace":"^1.0.0","@commitlint/config-conventional":"^19.2.2","babel-plugin-source-map-support":"^2.2.0","remark-lint-first-heading-level":"^4.0.0","remark-lint-heading-word-length":"^2.0.0","@types/confusing-browser-globals":"^1.0.3","@typescript-eslint/eslint-plugin":"^7.13.0","remark-lint-strikethrough-marker":"^3.0.0","remark-remove-unused-definitions":"^2.0.0","remark-remove-url-trailing-slash":"^2.0.0","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^3.6.1","remark-lint-fenced-code-flag-case":"^2.0.0","remark-lint-no-reference-like-url":"^4.0.0","remark-lint-no-unused-definitions":"^4.0.0","remark-lint-no-heading-punctuation":"^4.0.0","eslint-import-resolver-babel-module":"^5.3.2","remark-lint-no-undefined-references":"^5.0.0","@babel/plugin-proposal-function-bind":"^7.24.7","remark-lint-no-duplicate-definitions":"^4.0.0","remark-lint-no-duplicate-defined-urls":"^3.0.0","remark-lint-no-heading-content-indent":"^5.0.0","remark-lint-no-heading-like-paragraph":"^4.0.0","remark-lint-ordered-list-marker-style":"^4.0.0","remark-lint-ordered-list-marker-value":"^4.0.0","babel-plugin-transform-rewrite-imports":"^1.2.0","remark-lint-no-shortcut-reference-link":"^4.0.0","remark-lint-no-shortcut-reference-image":"^4.0.0","remark-lint-unordered-list-marker-style":"^4.0.0","babel-plugin-explicit-exports-references":"^1.0.2","remark-lint-no-blockquote-without-marker":"^6.0.0","remark-lint-no-auto-link-without-protocol":"^3.1.2","remark-lint-no-multiple-toplevel-headings":"^4.0.0","@babel/plugin-proposal-export-default-from":"^7.24.7","@xunnamius/conventional-changelog-projector":"^1.2.1","babel-plugin-transform-default-named-imports":"^1.2.2","remark-lint-no-duplicate-headings-in-section":"^4.0.0"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_4.0.8_1718059647554_0.05540553737864795","host":"s3://npm-registry-packages"}},"4.0.9":{"name":"next-test-api-route-handler","version":"4.0.9","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@4.0.9","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"c5769f2ba97c14d190f96ec965f900c4ed91a36a","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-4.0.9.tgz","fileCount":6,"integrity":"sha512-OZz67OxttC9bM2anh+5i83aGVm7lzTy/HO9zrGJ0JA09m0ZPUC+KDQUnwRv622lQdkjQCyNuFsh2MDB7cabl1Q==","signatures":[{"sig":"MEYCIQD6QspisXl0A+ftxRV/e1JfQe1xhqbYlXQhBJ9O0ziuEAIhAKCp1DSejbyQONzWGDtIrgLGzdVUg2cSO+B+GdTeeXew","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":114150},"type":"commonjs","types":"./dist/types/src/index.d.ts","config":{"plugin-build":{"docs":{"entry":"./src/index.ts"}}},"engines":{"node":"^18.18.2 || ^20.10.0 || >=21.2.0"},"exports":{".":{"node":"./dist/src/index.js","types":"./dist/types/src/index.d.ts","default":"./dist/src/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"945857b92c4f6ce709fc990c8a27a5e8c09abcff","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json --no-error-on-unmatched-pattern packages src; Y=$?; MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && echo $MD_FILES | NODE_ENV=lint xargs remark --quiet --frail --no-stdout; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test:unit --","build":"npm run build:dist --","clean":"git ls-files --exclude-standard --ignored --others --directory | grep -vE '^((\\.(env|vscode|husky))|next-env\\.d\\.ts|node_modules)($|\\/)' | xargs -p rm -rf","format":"MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && (echo $MD_FILES | xargs remark --no-config --no-stdout --quiet --frail --use gfm --use lint-no-undefined-references || (echo -n '\u001b' && echo '[37;41;1m FAIL \u001b[0m cannot continue with undefined references present' && false)) && sort-package-json './package.json' './packages/*/package.json' && echo $MD_FILES | NODE_ENV=format xargs remark --output --frail && echo $MD_FILES | xargs doctoc --no-title --maxlevel 3 --update-only && prettier --write .","prepare":"node -e \"execa = require('execa'); if(process.env.CI === undefined && (process.env.NODE_ENV === undefined || process.env.NODE_ENV === 'development')) { execa.sync('npx', ['husky', 'install'], { stdout: 'inherit', stderr: 'inherit' }); } else { console.log('skipped installing husky git hooks'); }\"","lint:all":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.eslint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.eslint.json .; Y=$?; MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && echo $MD_FILES | NODE_ENV=lint xargs remark --quiet --frail --no-stdout; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test:all":"npx attw --pack . && echo && NODE_OPTIONS='--no-warnings' NODE_ENV=test jest --coverage","test:e2e":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'e2e.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:unit":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'unit-.*\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","build:dist":"echo '> Generating types...' && NODE_ENV=production tsc --project tsconfig.types.json --incremental false && tsconfig-replace-paths --project tsconfig.types.json && echo '> Building distributables...' && NODE_ENV=production-cjs babel src --extensions .ts --out-dir dist/src","build:docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --skipErrorChecking --cleanOutputDir --tsconfig tsconfig.docs.json --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'const entry = require(\"./package.json\").config?.[\"plugin-build\"]?.docs?.entry; if(!entry) throw new Error(\"\\\"config['\"'\"'plugin-build'\"'\"'].docs.entry\\\" field is not defined in package.json\"); console.log(entry)'` && echo 'Entry file:' $ENTRY && typedoc --plugin typedoc-plugin-markdown --skipErrorChecking --cleanOutputDir --tsconfig tsconfig.docs.json --out docs --readme none $ENTRY; fi","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))' && (npm run -ws list-tasks --if-present 2>/dev/null || true)","build:changelog":"conventional-changelog --outfile CHANGELOG.md --config ./conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\"!=='true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && NODE_ENV=format remark --output --frail CHANGELOG.md && prettier --write CHANGELOG.md","build:externals":"NODE_ENV=production-external babel external-scripts --extensions .ts --out-dir external-scripts/bin","test:repeat:all":"npm run __test:repeat:all --silent","test:integration":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:repeat:unit":"npm run __test:repeat:unit --silent","__test:repeat:all":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true NODE_ENV=test npx jest --reporters=jest-silent-reporter || exit; done) && echo \"All tests passed! Congrats!\"","__test:repeat:unit":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true NODE_ENV=test npx jest --reporters=jest-silent-reporter --testPathIgnorePatterns '/(integration|e2e).*?\\.test\\.tsx?' '/dist/' || exit; done) && echo \"All tests passed! Congrats!\"","test:integration:node":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-node.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:client":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-client.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:compile":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-compile.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:externals":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-external.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"9.9.3","description":"Confidently unit and integration test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"22.8.0","dependencies":{"cookie":"^0.6.0","core-js":"^3.38.1","@whatwg-node/server":"^0.9.49"},"publishConfig":{"access":"public"},"typesVersions":{"*":{"*":["./dist/types/src/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"del":"^7.1.0","msw":"2.4.5","glob":"^9.3.2","jest":"^29.7.0","debug":"^4.3.7","execa":"^5.1.1","husky":"^9.1.6","doctoc":"^2.2.1","dotenv":"^16.4.5","eslint":"^8.57.0","semver":"^7.6.3","mongodb":"^6.9.0","typedoc":"^0.26.7","prettier":"^3.3.3","type-fest":"^4.26.1","@babel/cli":"^7.25.6","babel-jest":"^29.7.0","remark-cli":"^12.0.1","remark-gfm":"^4.0.0","simple-git":"^3.26.0","strip-ansi":"^6.0.1","typescript":"^5.6.2","@babel/core":"^7.25.2","@types/glob":"^8.1.0","@types/jest":"^29.5.13","@types/node":"^22.5.4","jest-circus":"^29.7.0","lint-staged":"^15.2.10","remark-lint":"^10.0.0","@types/debug":"^4.1.12","babel-loader":"^9.1.3","spellchecker":"^3.7.1","@octokit/rest":"^20.1.1","@types/cookie":"^0.6.0","@types/semver":"^7.5.8","jest-extended":"^4.0.2","remark-ignore":"^2.0.0","@types/webpack":"^5.28.5","edit-json-file":"^1.8.0","glob-gitignore":"^1.0.14","@commitlint/cli":"^19.5.0","text-extensions":"^3.0.0","toss-expression":"^0.1.2","unique-filename":"^3.0.0","@xunnamius/types":"^1.3.0","lodash.mergewith":"^4.6.2","semantic-release":"https://xunn.at/semantic-release-atam@22.0.6","@babel/preset-env":"^7.25.4","@types/mime-types":"^2.1.4","find-package-json":"^1.2.0","sort-package-json":"^2.10.1","@types/test-listen":"^1.1.2","eslint-plugin-jest":"^28.8.3","remark-frontmatter":"^5.0.0","source-map-support":"^0.5.21","remark-lint-no-tabs":"^4.0.0","@babel/eslint-parser":"^7.25.1","all-contributors-cli":"^6.26.1","eslint-plugin-import":"^2.30.0","@arethetypeswrong/cli":"^0.16.2","@semantic-release/git":"^10.0.1","@types/edit-json-file":"^1.7.3","@types/lodash.ismatch":"^4.4.9","@xunnamius/jest-types":"^1.1.3","eslint-plugin-unicorn":"^55.0.0","remark-tight-comments":"^2.0.0","remark-validate-links":"^13.0.1","@semantic-release/exec":"^6.0.3","remark-reference-links":"^7.0.0","suppress-node-warnings":"^1.0.1","tsconfig-replace-paths":"^0.0.14","@types/lodash.mergewith":"^4.6.9","remark-sort-definitions":"^2.0.0","typedoc-plugin-markdown":"^4.2.7","@babel/preset-typescript":"^7.24.7","@types/find-package-json":"^1.2.6","remark-lint-no-empty-url":"^4.0.0","@typescript-eslint/parser":"^8.5.0","confusing-browser-globals":"^1.0.11","remark-lint-final-newline":"^3.0.0","conventional-changelog-cli":"^4.1.0","remark-capitalize-headings":"^2.0.1","remark-lint-file-extension":"^3.0.0","remark-renumber-references":"^2.0.0","@semantic-release/changelog":"^6.0.3","remark-lint-definition-case":"^4.0.0","remark-lint-list-item-style":"^2.0.0","remark-lint-no-literal-urls":"^4.0.0","babel-plugin-module-resolver":"^5.0.2","eslint-import-resolver-alias":"^1.1.2","remark-lint-fenced-code-flag":"^4.0.0","remark-lint-no-shell-dollars":"^4.0.0","eslint-plugin-module-resolver":"^1.5.0","remark-lint-hard-break-spaces":"^4.0.0","remark-lint-heading-increment":"^4.0.0","remark-lint-no-empty-sections":"^4.0.0","remark-lint-no-inline-padding":"^4.1.2","remark-lint-heading-whitespace":"^1.0.0","@commitlint/config-conventional":"^19.5.0","babel-plugin-source-map-support":"^2.2.0","remark-lint-first-heading-level":"^4.0.0","remark-lint-heading-word-length":"^2.0.0","@types/confusing-browser-globals":"^1.0.3","@typescript-eslint/eslint-plugin":"^8.5.0","remark-lint-strikethrough-marker":"^3.0.0","remark-remove-unused-definitions":"^2.0.0","remark-remove-url-trailing-slash":"^2.0.0","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^3.6.3","remark-lint-fenced-code-flag-case":"^2.0.0","remark-lint-no-reference-like-url":"^4.0.0","remark-lint-no-unused-definitions":"^4.0.0","remark-lint-no-heading-punctuation":"^4.0.0","eslint-import-resolver-babel-module":"^5.3.2","remark-lint-no-undefined-references":"^5.0.0","@babel/plugin-proposal-function-bind":"^7.24.7","remark-lint-no-duplicate-definitions":"^4.0.0","remark-lint-no-duplicate-defined-urls":"^3.0.0","remark-lint-no-heading-content-indent":"^5.0.0","remark-lint-no-heading-like-paragraph":"^4.0.0","remark-lint-ordered-list-marker-style":"^4.0.0","remark-lint-ordered-list-marker-value":"^4.0.0","babel-plugin-transform-rewrite-imports":"^1.2.0","remark-lint-no-shortcut-reference-link":"^4.0.0","remark-lint-no-shortcut-reference-image":"^4.0.0","remark-lint-unordered-list-marker-style":"^4.0.0","babel-plugin-explicit-exports-references":"^1.0.2","remark-lint-no-blockquote-without-marker":"^6.0.0","remark-lint-no-auto-link-without-protocol":"^3.1.2","remark-lint-no-multiple-toplevel-headings":"^4.0.0","@babel/plugin-proposal-export-default-from":"^7.24.7","@xunnamius/conventional-changelog-projector":"^1.2.2","babel-plugin-transform-default-named-imports":"^1.2.3","remark-lint-no-duplicate-headings-in-section":"^4.0.0"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_4.0.9_1726222415126_0.39084592079374536","host":"s3://npm-registry-packages"}},"4.0.10":{"name":"next-test-api-route-handler","version":"4.0.10","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@4.0.10","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"bf22c03242f750ad3bb112a3eac7b7e9f5447635","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-4.0.10.tgz","fileCount":6,"integrity":"sha512-JYeZQR+EiiYCOIc4sIi/mf7mI6uTM3LiQMHKVcvyPzXyaRc2Hi+ktI/Lv2A6PV3RuBaoCDgb6gy/MctWD0iYNw==","signatures":[{"sig":"MEYCIQD53SFp2tav0dsEezMdPy+nN8yZLxDgmeTulAStjDtXLQIhALbpDsqKeXiUAkzXAqc8tnfL98GP4FcTu7R58Ba+GKQs","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":114144},"type":"commonjs","types":"./dist/types/src/index.d.ts","config":{"plugin-build":{"docs":{"entry":"./src/index.ts"}}},"engines":{"node":"^18.18.2 || ^20.10.0 || >=21.2.0"},"exports":{".":{"node":"./dist/src/index.js","types":"./dist/types/src/index.d.ts","default":"./dist/src/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"a6dcd4c9c6a42f569349ba4e8f01d59fbc8a438c","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json --no-error-on-unmatched-pattern packages src; Y=$?; MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && echo $MD_FILES | NODE_ENV=lint xargs remark --quiet --frail --no-stdout; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test:unit --","build":"npm run build:dist --","clean":"git ls-files --exclude-standard --ignored --others --directory | grep -vE '^((\\.(env|vscode|husky))|next-env\\.d\\.ts|node_modules)($|\\/)' | xargs -p rm -rf","format":"MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && (echo $MD_FILES | xargs remark --no-config --no-stdout --quiet --frail --use gfm --use lint-no-undefined-references || (echo -n '\u001b' && echo '[37;41;1m FAIL \u001b[0m cannot continue with undefined references present' && false)) && sort-package-json './package.json' './packages/*/package.json' && echo $MD_FILES | NODE_ENV=format xargs remark --output --frail && echo $MD_FILES | xargs doctoc --no-title --maxlevel 3 --update-only && prettier --write .","prepare":"node -e \"execa = require('execa'); if(process.env.CI === undefined && (process.env.NODE_ENV === undefined || process.env.NODE_ENV === 'development')) { execa.sync('npx', ['husky', 'install'], { stdout: 'inherit', stderr: 'inherit' }); } else { console.log('skipped installing husky git hooks'); }\"","lint:all":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.eslint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.eslint.json .; Y=$?; MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && echo $MD_FILES | NODE_ENV=lint xargs remark --quiet --frail --no-stdout; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test:all":"npx attw --pack . && echo && NODE_OPTIONS='--no-warnings' NODE_ENV=test jest --coverage","test:e2e":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'e2e.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:unit":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'unit-.*\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","build:dist":"echo '> Generating types...' && NODE_ENV=production tsc --project tsconfig.types.json --incremental false && tsconfig-replace-paths --project tsconfig.types.json && echo '> Building distributables...' && NODE_ENV=production-cjs babel src --extensions .ts --out-dir dist/src","build:docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --skipErrorChecking --cleanOutputDir --tsconfig tsconfig.docs.json --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'const entry = require(\"./package.json\").config?.[\"plugin-build\"]?.docs?.entry; if(!entry) throw new Error(\"\\\"config['\"'\"'plugin-build'\"'\"'].docs.entry\\\" field is not defined in package.json\"); console.log(entry)'` && echo 'Entry file:' $ENTRY && typedoc --plugin typedoc-plugin-markdown --skipErrorChecking --cleanOutputDir --tsconfig tsconfig.docs.json --out docs --readme none $ENTRY; fi","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))' && (npm run -ws list-tasks --if-present 2>/dev/null || true)","build:changelog":"conventional-changelog --outfile CHANGELOG.md --config ./conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\"!=='true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && NODE_ENV=format remark --output --frail CHANGELOG.md && prettier --write CHANGELOG.md","build:externals":"NODE_ENV=production-external babel external-scripts --extensions .ts --out-dir external-scripts/bin","test:repeat:all":"npm run __test:repeat:all --silent","test:integration":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:repeat:unit":"npm run __test:repeat:unit --silent","__test:repeat:all":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true NODE_ENV=test npx jest --reporters=jest-silent-reporter || exit; done) && echo \"All tests passed! Congrats!\"","__test:repeat:unit":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true NODE_ENV=test npx jest --reporters=jest-silent-reporter --testPathIgnorePatterns '/(integration|e2e).*?\\.test\\.tsx?' '/dist/' || exit; done) && echo \"All tests passed! Congrats!\"","test:integration:node":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-node.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:client":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-client.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:compile":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-compile.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:externals":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-external.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"9.9.3","description":"Confidently unit and integration test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"22.8.0","dependencies":{"cookie":"^0.6.0","core-js":"^3.38.1","@whatwg-node/server":"^0.9.49"},"publishConfig":{"access":"public"},"typesVersions":{"*":{"*":["./dist/types/src/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"del":"^7.1.0","msw":"2.4.8","glob":"^9.3.2","jest":"^29.7.0","debug":"^4.3.7","execa":"^5.1.1","husky":"^9.1.6","doctoc":"^2.2.1","dotenv":"^16.4.5","eslint":"^8.57.0","semver":"^7.6.3","mongodb":"^6.9.0","typedoc":"^0.26.7","prettier":"^3.3.3","type-fest":"^4.26.1","@babel/cli":"^7.25.6","babel-jest":"^29.7.0","remark-cli":"^12.0.1","remark-gfm":"^4.0.0","simple-git":"^3.26.0","strip-ansi":"^6.0.1","typescript":"^5.6.2","@babel/core":"^7.25.2","@types/glob":"^8.1.0","@types/jest":"^29.5.13","@types/node":"^22.5.5","jest-circus":"^29.7.0","lint-staged":"^15.2.10","remark-lint":"^10.0.0","@types/debug":"^4.1.12","babel-loader":"^9.2.1","spellchecker":"^3.7.1","@octokit/rest":"^20.1.1","@types/cookie":"^0.6.0","@types/semver":"^7.5.8","jest-extended":"^4.0.2","remark-ignore":"^2.0.0","@types/webpack":"^5.28.5","edit-json-file":"^1.8.0","glob-gitignore":"^1.0.14","@commitlint/cli":"^19.5.0","text-extensions":"^3.0.0","toss-expression":"^0.1.2","unique-filename":"^3.0.0","@xunnamius/types":"^1.3.0","lodash.mergewith":"^4.6.2","semantic-release":"https://xunn.at/semantic-release-atam@22.0.6","@babel/preset-env":"^7.25.4","@types/mime-types":"^2.1.4","find-package-json":"^1.2.0","sort-package-json":"^2.10.1","@types/test-listen":"^1.1.2","eslint-plugin-jest":"^28.8.3","remark-frontmatter":"^5.0.0","source-map-support":"^0.5.21","remark-lint-no-tabs":"^4.0.0","@babel/eslint-parser":"^7.25.1","all-contributors-cli":"^6.26.1","eslint-plugin-import":"^2.30.0","@arethetypeswrong/cli":"^0.16.4","@semantic-release/git":"^10.0.1","@types/edit-json-file":"^1.7.3","@types/lodash.ismatch":"^4.4.9","@xunnamius/jest-types":"^1.1.3","eslint-plugin-unicorn":"^55.0.0","remark-tight-comments":"^2.0.0","remark-validate-links":"^13.0.1","@semantic-release/exec":"^6.0.3","remark-reference-links":"^7.0.0","suppress-node-warnings":"^1.0.1","tsconfig-replace-paths":"^0.0.14","@types/lodash.mergewith":"^4.6.9","remark-sort-definitions":"^2.0.0","typedoc-plugin-markdown":"^4.2.7","@babel/preset-typescript":"^7.24.7","@types/find-package-json":"^1.2.6","remark-lint-no-empty-url":"^4.0.0","@typescript-eslint/parser":"^8.6.0","confusing-browser-globals":"^1.0.11","remark-lint-final-newline":"^3.0.0","conventional-changelog-cli":"^4.1.0","remark-capitalize-headings":"^2.0.1","remark-lint-file-extension":"^3.0.0","remark-renumber-references":"^2.0.0","@semantic-release/changelog":"^6.0.3","remark-lint-definition-case":"^4.0.0","remark-lint-list-item-style":"^2.0.0","remark-lint-no-literal-urls":"^4.0.0","babel-plugin-module-resolver":"^5.0.2","eslint-import-resolver-alias":"^1.1.2","remark-lint-fenced-code-flag":"^4.0.0","remark-lint-no-shell-dollars":"^4.0.0","eslint-plugin-module-resolver":"^1.5.0","remark-lint-hard-break-spaces":"^4.0.0","remark-lint-heading-increment":"^4.0.0","remark-lint-no-empty-sections":"^4.0.0","remark-lint-no-inline-padding":"^4.1.2","remark-lint-heading-whitespace":"^1.0.0","@commitlint/config-conventional":"^19.5.0","babel-plugin-source-map-support":"^2.2.0","remark-lint-first-heading-level":"^4.0.0","remark-lint-heading-word-length":"^2.0.0","@types/confusing-browser-globals":"^1.0.3","@typescript-eslint/eslint-plugin":"^8.6.0","remark-lint-strikethrough-marker":"^3.0.0","remark-remove-unused-definitions":"^2.0.0","remark-remove-url-trailing-slash":"^2.0.0","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^3.6.3","remark-lint-fenced-code-flag-case":"^2.0.0","remark-lint-no-reference-like-url":"^4.0.0","remark-lint-no-unused-definitions":"^4.0.0","remark-lint-no-heading-punctuation":"^4.0.0","eslint-import-resolver-babel-module":"^5.3.2","remark-lint-no-undefined-references":"^5.0.0","@babel/plugin-proposal-function-bind":"^7.24.7","remark-lint-no-duplicate-definitions":"^4.0.0","remark-lint-no-duplicate-defined-urls":"^3.0.0","remark-lint-no-heading-content-indent":"^5.0.0","remark-lint-no-heading-like-paragraph":"^4.0.0","remark-lint-ordered-list-marker-style":"^4.0.0","remark-lint-ordered-list-marker-value":"^4.0.0","babel-plugin-transform-rewrite-imports":"^1.2.0","remark-lint-no-shortcut-reference-link":"^4.0.0","remark-lint-no-shortcut-reference-image":"^4.0.0","remark-lint-unordered-list-marker-style":"^4.0.0","babel-plugin-explicit-exports-references":"^1.0.2","remark-lint-no-blockquote-without-marker":"^6.0.0","remark-lint-no-auto-link-without-protocol":"^3.1.2","remark-lint-no-multiple-toplevel-headings":"^4.0.0","@babel/plugin-proposal-export-default-from":"^7.24.7","@xunnamius/conventional-changelog-projector":"^1.2.2","babel-plugin-transform-default-named-imports":"^1.2.3","remark-lint-no-duplicate-headings-in-section":"^4.0.0"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_4.0.10_1726668403893_0.16496915497739884","host":"s3://npm-registry-packages"}},"4.0.11":{"name":"next-test-api-route-handler","version":"4.0.11","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@4.0.11","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"fe7c6fe7636acbb3d81ff01039935f5571dbdda9","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-4.0.11.tgz","fileCount":6,"integrity":"sha512-21OkBdnYToqOELEfXlW0447ZmtBk8ZT9iC960OWhlBAWQJu6GIURdrfxNu5XiPtK1X++PBtlSqIVgx0HOP/JbQ==","signatures":[{"sig":"MEUCIQD/PmjxWGu9SAxHlrU8l9eA61dWLy0XgOPgjMYT9J1HSgIgQVyxFnEhai1ela7l6QIWwjPp1NI/0RLhbbUtTtB5gcY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115098},"type":"commonjs","types":"./dist/types/src/index.d.ts","config":{"plugin-build":{"docs":{"entry":"./src/index.ts"}}},"engines":{"node":"^18.18.2 || ^20.10.0 || >=21.2.0"},"exports":{".":{"node":"./dist/src/index.js","types":"./dist/types/src/index.d.ts","default":"./dist/src/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"c9432ad976541f983954662d302eed568407940a","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json --no-error-on-unmatched-pattern packages src; Y=$?; MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && echo $MD_FILES | NODE_ENV=lint xargs remark --quiet --frail --no-stdout; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test:unit --","build":"npm run build:dist --","clean":"git ls-files --exclude-standard --ignored --others --directory | grep -vE '^((\\.(env|vscode|husky))|next-env\\.d\\.ts|node_modules)($|\\/)' | xargs -p rm -rf","format":"MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && (echo $MD_FILES | xargs remark --no-config --no-stdout --quiet --frail --use gfm --use lint-no-undefined-references || (echo -n '\u001b' && echo '[37;41;1m FAIL \u001b[0m cannot continue with undefined references present' && false)) && sort-package-json './package.json' './packages/*/package.json' && echo $MD_FILES | NODE_ENV=format xargs remark --output --frail && echo $MD_FILES | xargs doctoc --no-title --maxlevel 3 --update-only && prettier --write .","prepare":"node -e \"execa = require('execa'); if(process.env.CI === undefined && (process.env.NODE_ENV === undefined || process.env.NODE_ENV === 'development')) { execa.sync('npx', ['husky', 'install'], { stdout: 'inherit', stderr: 'inherit' }); } else { console.log('skipped installing husky git hooks'); }\"","lint:all":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.eslint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.eslint.json .; Y=$?; MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && echo $MD_FILES | NODE_ENV=lint xargs remark --quiet --frail --no-stdout; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test:all":"npx attw --pack . && echo && NODE_OPTIONS='--no-warnings' NODE_ENV=test jest --coverage","test:e2e":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'e2e.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:unit":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'unit-.*\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","build:dist":"echo '> Generating types...' && NODE_ENV=production tsc --project tsconfig.types.json --incremental false && tsconfig-replace-paths --project tsconfig.types.json && echo '> Building distributables...' && NODE_ENV=production-cjs babel src --extensions .ts --out-dir dist/src","build:docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --skipErrorChecking --cleanOutputDir --tsconfig tsconfig.docs.json --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'const entry = require(\"./package.json\").config?.[\"plugin-build\"]?.docs?.entry; if(!entry) throw new Error(\"\\\"config['\"'\"'plugin-build'\"'\"'].docs.entry\\\" field is not defined in package.json\"); console.log(entry)'` && echo 'Entry file:' $ENTRY && typedoc --plugin typedoc-plugin-markdown --skipErrorChecking --cleanOutputDir --tsconfig tsconfig.docs.json --out docs --readme none $ENTRY; fi","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))' && (npm run -ws list-tasks --if-present 2>/dev/null || true)","build:changelog":"conventional-changelog --outfile CHANGELOG.md --config ./conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\"!=='true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && NODE_ENV=format remark --output --frail CHANGELOG.md && prettier --write CHANGELOG.md","build:externals":"NODE_ENV=production-external babel external-scripts --extensions .ts --out-dir external-scripts/bin","test:repeat:all":"npm run __test:repeat:all --silent","test:integration":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:repeat:unit":"npm run __test:repeat:unit --silent","__test:repeat:all":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true NODE_ENV=test npx jest --reporters=jest-silent-reporter || exit; done) && echo \"All tests passed! Congrats!\"","__test:repeat:unit":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true NODE_ENV=test npx jest --reporters=jest-silent-reporter --testPathIgnorePatterns '/(integration|e2e).*?\\.test\\.tsx?' '/dist/' || exit; done) && echo \"All tests passed! Congrats!\"","test:integration:node":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-node.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:client":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-client.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:compile":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-compile.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:externals":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-external.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"9.9.3","description":"Confidently unit and integration test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"22.8.0","dependencies":{"cookie":"^0.6.0","core-js":"^3.38.1","@whatwg-node/server":"^0.9.49"},"publishConfig":{"access":"public"},"typesVersions":{"*":{"*":["./dist/types/src/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"del":"^7.1.0","msw":"2.4.8","glob":"^9.3.2","jest":"^29.7.0","debug":"^4.3.7","execa":"^5.1.1","husky":"^9.1.6","doctoc":"^2.2.1","dotenv":"^16.4.5","eslint":"^8.57.0","semver":"^7.6.3","mongodb":"^6.9.0","typedoc":"^0.26.7","prettier":"^3.3.3","type-fest":"^4.26.1","@babel/cli":"^7.25.6","babel-jest":"^29.7.0","remark-cli":"^12.0.1","remark-gfm":"^4.0.0","simple-git":"^3.26.0","strip-ansi":"^6.0.1","typescript":"^5.6.2","@babel/core":"^7.25.2","@types/glob":"^8.1.0","@types/jest":"^29.5.13","@types/node":"^22.5.5","jest-circus":"^29.7.0","lint-staged":"^15.2.10","remark-lint":"^10.0.0","@types/debug":"^4.1.12","babel-loader":"^9.2.1","spellchecker":"^3.7.1","@octokit/rest":"^20.1.1","@types/cookie":"^0.6.0","@types/semver":"^7.5.8","jest-extended":"^4.0.2","remark-ignore":"^2.0.0","@types/webpack":"^5.28.5","edit-json-file":"^1.8.0","glob-gitignore":"^1.0.14","@commitlint/cli":"^19.5.0","text-extensions":"^3.0.0","toss-expression":"^0.1.2","unique-filename":"^3.0.0","@xunnamius/types":"^1.3.0","lodash.mergewith":"^4.6.2","semantic-release":"https://xunn.at/semantic-release-atam@22.0.6","@babel/preset-env":"^7.25.4","@types/mime-types":"^2.1.4","find-package-json":"^1.2.0","sort-package-json":"^2.10.1","@types/test-listen":"^1.1.2","eslint-plugin-jest":"^28.8.3","remark-frontmatter":"^5.0.0","source-map-support":"^0.5.21","remark-lint-no-tabs":"^4.0.0","@babel/eslint-parser":"^7.25.1","all-contributors-cli":"^6.26.1","eslint-plugin-import":"^2.30.0","@arethetypeswrong/cli":"^0.16.4","@semantic-release/git":"^10.0.1","@types/edit-json-file":"^1.7.3","@types/lodash.ismatch":"^4.4.9","@xunnamius/jest-types":"^1.1.3","eslint-plugin-unicorn":"^55.0.0","remark-tight-comments":"^2.0.0","remark-validate-links":"^13.0.1","@semantic-release/exec":"^6.0.3","remark-reference-links":"^7.0.0","suppress-node-warnings":"^1.0.1","tsconfig-replace-paths":"^0.0.14","@types/lodash.mergewith":"^4.6.9","remark-sort-definitions":"^2.0.0","typedoc-plugin-markdown":"^4.2.7","@babel/preset-typescript":"^7.24.7","@types/find-package-json":"^1.2.6","remark-lint-no-empty-url":"^4.0.0","@typescript-eslint/parser":"^8.6.0","confusing-browser-globals":"^1.0.11","remark-lint-final-newline":"^3.0.0","conventional-changelog-cli":"^4.1.0","remark-capitalize-headings":"^2.0.1","remark-lint-file-extension":"^3.0.0","remark-renumber-references":"^2.0.0","@semantic-release/changelog":"^6.0.3","remark-lint-definition-case":"^4.0.0","remark-lint-list-item-style":"^2.0.0","remark-lint-no-literal-urls":"^4.0.0","babel-plugin-module-resolver":"^5.0.2","eslint-import-resolver-alias":"^1.1.2","remark-lint-fenced-code-flag":"^4.0.0","remark-lint-no-shell-dollars":"^4.0.0","eslint-plugin-module-resolver":"^1.5.0","remark-lint-hard-break-spaces":"^4.0.0","remark-lint-heading-increment":"^4.0.0","remark-lint-no-empty-sections":"^4.0.0","remark-lint-no-inline-padding":"^4.1.2","remark-lint-heading-whitespace":"^1.0.0","@commitlint/config-conventional":"^19.5.0","babel-plugin-source-map-support":"^2.2.0","remark-lint-first-heading-level":"^4.0.0","remark-lint-heading-word-length":"^2.0.0","@types/confusing-browser-globals":"^1.0.3","@typescript-eslint/eslint-plugin":"^8.6.0","remark-lint-strikethrough-marker":"^3.0.0","remark-remove-unused-definitions":"^2.0.0","remark-remove-url-trailing-slash":"^2.0.0","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^3.6.3","remark-lint-fenced-code-flag-case":"^2.0.0","remark-lint-no-reference-like-url":"^4.0.0","remark-lint-no-unused-definitions":"^4.0.0","remark-lint-no-heading-punctuation":"^4.0.0","eslint-import-resolver-babel-module":"^5.3.2","remark-lint-no-undefined-references":"^5.0.0","@babel/plugin-proposal-function-bind":"^7.24.7","remark-lint-no-duplicate-definitions":"^4.0.0","remark-lint-no-duplicate-defined-urls":"^3.0.0","remark-lint-no-heading-content-indent":"^5.0.0","remark-lint-no-heading-like-paragraph":"^4.0.0","remark-lint-ordered-list-marker-style":"^4.0.0","remark-lint-ordered-list-marker-value":"^4.0.0","babel-plugin-transform-rewrite-imports":"^1.2.0","remark-lint-no-shortcut-reference-link":"^4.0.0","remark-lint-no-shortcut-reference-image":"^4.0.0","remark-lint-unordered-list-marker-style":"^4.0.0","babel-plugin-explicit-exports-references":"^1.0.2","remark-lint-no-blockquote-without-marker":"^6.0.0","remark-lint-no-auto-link-without-protocol":"^3.1.2","remark-lint-no-multiple-toplevel-headings":"^4.0.0","@babel/plugin-proposal-export-default-from":"^7.24.7","@xunnamius/conventional-changelog-projector":"^1.2.2","babel-plugin-transform-default-named-imports":"^1.2.3","remark-lint-no-duplicate-headings-in-section":"^4.0.0"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_4.0.11_1726677753391_0.9282120185678877","host":"s3://npm-registry-packages"}},"4.0.12":{"name":"next-test-api-route-handler","version":"4.0.12","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@4.0.12","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"92d14fd79a070e0fb5e4befd6f2bbc335f2573ee","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-4.0.12.tgz","fileCount":6,"integrity":"sha512-PW4Mn50j0jWoNeciIL2A8vpyz+jZETsapIrA1EQ3lXuZo1xM6AOEsnfEI/n/4aI87m5CvrjkvNnGg34lciyldQ==","signatures":[{"sig":"MEUCIQCFh1nehtElERhGYAYi/t2gnr8P6PvX+1yHKP+FSojZRAIgMSBd+mzk8gdwioKyxWylsK/I300jZhsVtIzusVFEFyc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116887},"type":"commonjs","types":"./dist/types/src/index.d.ts","config":{"plugin-build":{"docs":{"entry":"./src/index.ts"}}},"engines":{"node":"^18.18.2 || ^20.10.0 || >=21.2.0"},"exports":{".":{"node":"./dist/src/index.js","types":"./dist/types/src/index.d.ts","default":"./dist/src/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"06757ecd1568dd0f5bcb22eba4ec3e896362a727","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json --no-error-on-unmatched-pattern packages src; Y=$?; MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && echo $MD_FILES | NODE_ENV=lint xargs remark --quiet --frail --no-stdout; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test:unit --","build":"npm run build:dist --","clean":"git ls-files --exclude-standard --ignored --others --directory | grep -vE '^((\\.(env|vscode|husky))|next-env\\.d\\.ts|node_modules)($|\\/)' | xargs -p rm -rf","format":"MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && (echo $MD_FILES | xargs remark --no-config --no-stdout --quiet --frail --use gfm --use lint-no-undefined-references || (echo -n '\u001b' && echo '[37;41;1m FAIL \u001b[0m cannot continue with undefined references present' && false)) && sort-package-json './package.json' './packages/*/package.json' && echo $MD_FILES | NODE_ENV=format xargs remark --output --frail && echo $MD_FILES | xargs doctoc --no-title --maxlevel 3 --update-only && prettier --write .","prepare":"node -e \"execa = require('execa'); if(process.env.CI === undefined && (process.env.NODE_ENV === undefined || process.env.NODE_ENV === 'development')) { execa.sync('npx', ['husky', 'install'], { stdout: 'inherit', stderr: 'inherit' }); } else { console.log('skipped installing husky git hooks'); }\"","lint:all":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.eslint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.eslint.json .; Y=$?; MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && echo $MD_FILES | NODE_ENV=lint xargs remark --quiet --frail --no-stdout; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test:all":"npx attw --pack . && echo && NODE_OPTIONS='--no-warnings' NODE_ENV=test jest --coverage","test:e2e":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'e2e.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:unit":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'unit-.*\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","build:dist":"echo '> Generating types...' && NODE_ENV=production tsc --project tsconfig.types.json --incremental false && tsconfig-replace-paths --project tsconfig.types.json && echo '> Building distributables...' && NODE_ENV=production-cjs babel src --extensions .ts --out-dir dist/src","build:docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --skipErrorChecking --cleanOutputDir --tsconfig tsconfig.docs.json --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'const entry = require(\"./package.json\").config?.[\"plugin-build\"]?.docs?.entry; if(!entry) throw new Error(\"\\\"config['\"'\"'plugin-build'\"'\"'].docs.entry\\\" field is not defined in package.json\"); console.log(entry)'` && echo 'Entry file:' $ENTRY && typedoc --plugin typedoc-plugin-markdown --skipErrorChecking --cleanOutputDir --tsconfig tsconfig.docs.json --out docs --readme none $ENTRY; fi","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))' && (npm run -ws list-tasks --if-present 2>/dev/null || true)","build:changelog":"conventional-changelog --outfile CHANGELOG.md --config ./conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\"!=='true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && NODE_ENV=format remark --output --frail CHANGELOG.md && prettier --write CHANGELOG.md","build:externals":"NODE_ENV=production-external babel external-scripts --extensions .ts --out-dir external-scripts/bin","test:repeat:all":"npm run __test:repeat:all --silent","test:integration":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:repeat:unit":"npm run __test:repeat:unit --silent","__test:repeat:all":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true NODE_ENV=test npx jest --reporters=jest-silent-reporter || exit; done) && echo \"All tests passed! Congrats!\"","__test:repeat:unit":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true NODE_ENV=test npx jest --reporters=jest-silent-reporter --testPathIgnorePatterns '/(integration|e2e).*?\\.test\\.tsx?' '/dist/' || exit; done) && echo \"All tests passed! Congrats!\"","test:integration:node":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-node.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:client":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-client.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:compile":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-compile.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:externals":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-external.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"9.9.3","description":"Confidently unit and integration test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"22.9.0","dependencies":{"cookie":"^1.0.1","core-js":"^3.38.1","@whatwg-node/server":"^0.9.49"},"publishConfig":{"access":"public"},"typesVersions":{"*":{"*":["./dist/types/src/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"del":"^8.0.0","msw":"^2.4.11","glob":"^9.3.2","jest":"^29.7.0","debug":"^4.3.7","execa":"^5.1.1","husky":"^9.1.6","doctoc":"^2.2.1","dotenv":"^16.4.5","eslint":"^8.57.0","semver":"^7.6.3","mongodb":"^6.9.0","typedoc":"^0.26.10","prettier":"^3.3.3","type-fest":"^4.26.1","@babel/cli":"^7.25.7","babel-jest":"^29.7.0","remark-cli":"^12.0.1","remark-gfm":"^4.0.0","simple-git":"^3.27.0","strip-ansi":"^6.0.1","typescript":"^5.6.3","@babel/core":"^7.25.8","@types/glob":"^8.1.0","@types/jest":"^29.5.13","@types/node":"^22.7.6","jest-circus":"^29.7.0","lint-staged":"^15.2.10","remark-lint":"^10.0.0","@types/debug":"^4.1.12","babel-loader":"^9.2.1","spellchecker":"^3.7.1","@octokit/rest":"^20.1.1","@types/cookie":"^0.6.0","@types/semver":"^7.5.8","jest-extended":"^4.0.2","remark-ignore":"^2.0.0","@types/webpack":"^5.28.5","edit-json-file":"^1.8.0","glob-gitignore":"^1.0.15","@commitlint/cli":"^19.5.0","text-extensions":"^3.0.0","toss-expression":"^0.1.2","unique-filename":"^4.0.0","@xunnamius/types":"^1.3.0","lodash.mergewith":"^4.6.2","semantic-release":"https://xunn.at/semantic-release-atam@22.0.6","@babel/preset-env":"^7.25.8","@types/mime-types":"^2.1.4","find-package-json":"^1.2.0","sort-package-json":"^2.10.1","@types/test-listen":"^1.1.2","eslint-plugin-jest":"^28.8.3","remark-frontmatter":"^5.0.0","source-map-support":"^0.5.21","remark-lint-no-tabs":"^4.0.0","@babel/eslint-parser":"^7.25.8","all-contributors-cli":"^6.26.1","eslint-plugin-import":"^2.31.0","@arethetypeswrong/cli":"^0.16.4","@semantic-release/git":"^10.0.1","@types/edit-json-file":"^1.7.3","@types/lodash.ismatch":"^4.4.9","@xunnamius/jest-types":"^1.1.3","eslint-plugin-unicorn":"^56.0.0","remark-tight-comments":"^2.0.0","remark-validate-links":"^13.0.1","@semantic-release/exec":"^6.0.3","remark-reference-links":"^7.0.0","suppress-node-warnings":"^1.0.1","tsconfig-replace-paths":"^0.0.14","@types/lodash.mergewith":"^4.6.9","remark-sort-definitions":"^2.0.0","typedoc-plugin-markdown":"^4.2.9","@babel/preset-typescript":"^7.25.7","@types/find-package-json":"^1.2.6","remark-lint-no-empty-url":"^4.0.0","@typescript-eslint/parser":"^8.9.0","confusing-browser-globals":"^1.0.11","remark-lint-final-newline":"^3.0.0","conventional-changelog-cli":"^4.1.0","remark-capitalize-headings":"^2.0.1","remark-lint-file-extension":"^3.0.0","remark-renumber-references":"^2.0.0","@semantic-release/changelog":"^6.0.3","remark-lint-definition-case":"^4.0.0","remark-lint-list-item-style":"^2.0.0","remark-lint-no-literal-urls":"^4.0.0","babel-plugin-module-resolver":"^5.0.2","eslint-import-resolver-alias":"^1.1.2","remark-lint-fenced-code-flag":"^4.0.0","remark-lint-no-shell-dollars":"^4.0.0","eslint-plugin-module-resolver":"^1.5.0","remark-lint-hard-break-spaces":"^4.0.0","remark-lint-heading-increment":"^4.0.0","remark-lint-no-empty-sections":"^4.0.0","remark-lint-no-inline-padding":"^4.1.2","remark-lint-heading-whitespace":"^1.0.0","@commitlint/config-conventional":"^19.5.0","babel-plugin-source-map-support":"^2.2.0","remark-lint-first-heading-level":"^4.0.0","remark-lint-heading-word-length":"^2.0.0","@types/confusing-browser-globals":"^1.0.3","@typescript-eslint/eslint-plugin":"^8.9.0","remark-lint-strikethrough-marker":"^3.0.0","remark-remove-unused-definitions":"^2.0.0","remark-remove-url-trailing-slash":"^2.0.0","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^3.6.3","remark-lint-fenced-code-flag-case":"^2.0.0","remark-lint-no-reference-like-url":"^4.0.0","remark-lint-no-unused-definitions":"^4.0.0","remark-lint-no-heading-punctuation":"^4.0.0","eslint-import-resolver-babel-module":"^5.3.2","remark-lint-no-undefined-references":"^5.0.0","@babel/plugin-proposal-function-bind":"^7.25.8","remark-lint-no-duplicate-definitions":"^4.0.0","remark-lint-no-duplicate-defined-urls":"^3.0.0","remark-lint-no-heading-content-indent":"^5.0.0","remark-lint-no-heading-like-paragraph":"^4.0.0","remark-lint-ordered-list-marker-style":"^4.0.0","remark-lint-ordered-list-marker-value":"^4.0.0","babel-plugin-transform-rewrite-imports":"^1.2.0","remark-lint-no-shortcut-reference-link":"^4.0.0","remark-lint-no-shortcut-reference-image":"^4.0.0","remark-lint-unordered-list-marker-style":"^4.0.0","babel-plugin-explicit-exports-references":"^1.0.2","remark-lint-no-blockquote-without-marker":"^6.0.0","remark-lint-no-auto-link-without-protocol":"^4.0.0","remark-lint-no-multiple-toplevel-headings":"^4.0.0","@babel/plugin-proposal-export-default-from":"^7.25.8","@xunnamius/conventional-changelog-projector":"^1.2.2","babel-plugin-transform-default-named-imports":"^1.2.3","remark-lint-no-duplicate-headings-in-section":"^4.0.0"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_4.0.12_1729171274985_0.05092922235570008","host":"s3://npm-registry-packages"}},"4.0.13":{"name":"next-test-api-route-handler","version":"4.0.13","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@4.0.13","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"f859018a6f1ae29758dda087cf7c70ff9e257cea","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-4.0.13.tgz","fileCount":6,"integrity":"sha512-VHlMXUryZBgsF+/s606vsc5g5eQ0NFzJ5qNxOvdjRGgFB5utZJAC4Km5bjJMXZE4TuZBO8L3WVqkcZpVRMO8fg==","signatures":[{"sig":"MEYCIQDZqrgrScR65HcuZtAFKZAfPNl8OpXMIfwx99oL6LaOVAIhAPoTQ1JngyLYdd1kNX8V12LNuPcf9b6pmObDq0Vx9OfC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117140},"type":"commonjs","types":"./dist/types/src/index.d.ts","config":{"plugin-build":{"docs":{"entry":"./src/index.ts"}}},"engines":{"node":"^18.20.0 || ^20.15.0 || >=22.5.0"},"exports":{".":{"node":"./dist/src/index.js","types":"./dist/types/src/index.d.ts","default":"./dist/src/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"b632d27ce9af8b5a2ccdc9c5e85c69116c1f06f8","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json --no-error-on-unmatched-pattern packages src; Y=$?; MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && echo $MD_FILES | NODE_ENV=lint xargs remark --quiet --frail --no-stdout; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test:unit --","build":"npm run build:dist --","clean":"git ls-files --exclude-standard --ignored --others --directory | grep -vE '^((\\.(env|vscode|husky))|next-env\\.d\\.ts|node_modules)($|\\/)' | xargs -p rm -rf","format":"MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && (echo $MD_FILES | xargs remark --no-config --no-stdout --quiet --frail --use gfm --use lint-no-undefined-references || (echo -n '\u001b' && echo '[37;41;1m FAIL \u001b[0m cannot continue with undefined references present' && false)) && sort-package-json './package.json' './packages/*/package.json' && echo $MD_FILES | NODE_ENV=format xargs remark --output --frail && echo $MD_FILES | xargs doctoc --no-title --maxlevel 3 --update-only && prettier --write .","prepare":"node -e \"execa = require('execa'); if(process.env.CI === undefined && (process.env.NODE_ENV === undefined || process.env.NODE_ENV === 'development')) { execa.sync('npx', ['husky', 'install'], { stdout: 'inherit', stderr: 'inherit' }); } else { console.log('skipped installing husky git hooks'); }\"","lint:all":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.eslint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.eslint.json .; Y=$?; MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && echo $MD_FILES | NODE_ENV=lint xargs remark --quiet --frail --no-stdout; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test:all":"npx attw --pack . && echo && NODE_OPTIONS='--no-warnings' NODE_ENV=test jest --coverage","test:e2e":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'e2e.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:unit":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'unit-.*\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","build:dist":"echo '> Generating types...' && NODE_ENV=production tsc --project tsconfig.types.json --incremental false && tsconfig-replace-paths --project tsconfig.types.json && echo '> Building distributables...' && NODE_ENV=production-cjs babel src --extensions .ts --out-dir dist/src","build:docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --skipErrorChecking --cleanOutputDir --tsconfig tsconfig.docs.json --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'const entry = require(\"./package.json\").config?.[\"plugin-build\"]?.docs?.entry; if(!entry) throw new Error(\"\\\"config['\"'\"'plugin-build'\"'\"'].docs.entry\\\" field is not defined in package.json\"); console.log(entry)'` && echo 'Entry file:' $ENTRY && typedoc --plugin typedoc-plugin-markdown --skipErrorChecking --cleanOutputDir --tsconfig tsconfig.docs.json --out docs --readme none $ENTRY; fi","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))' && (npm run -ws list-tasks --if-present 2>/dev/null || true)","build:changelog":"conventional-changelog --outfile CHANGELOG.md --config ./conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\"!=='true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && NODE_ENV=format remark --output --frail CHANGELOG.md && prettier --write CHANGELOG.md","build:externals":"NODE_ENV=production-external babel external-scripts --extensions .ts --out-dir external-scripts/bin && NODE_ENV=production-external babel test/util.ts --extensions .ts --out-dir external-scripts/bin","test:repeat:all":"npm run __test:repeat:all --silent","test:integration":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:repeat:unit":"npm run __test:repeat:unit --silent","__test:repeat:all":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true NODE_ENV=test npx jest --reporters=jest-silent-reporter || exit; done) && echo \"All tests passed! Congrats!\"","__test:repeat:unit":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true NODE_ENV=test npx jest --reporters=jest-silent-reporter --testPathIgnorePatterns '/(integration|e2e).*?\\.test\\.tsx?' '/dist/' || exit; done) && echo \"All tests passed! Congrats!\"","test:integration:node":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-node.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:client":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-client.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:compile":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-compile.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:externals":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-external.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"9.9.3","description":"Confidently unit and integration test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"22.9.0","dependencies":{"cookie":"^1.0.1","core-js":"^3.38.1","@whatwg-node/server":"^0.9.50"},"publishConfig":{"access":"public"},"typesVersions":{"*":{"*":["./dist/types/src/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"del":"^8.0.0","msw":"^2.4.13","glob":"^9.3.2","jest":"^29.7.0","debug":"^4.3.7","execa":"^5.1.1","husky":"^9.1.6","doctoc":"^2.2.1","dotenv":"^16.4.5","eslint":"^8.57.0","semver":"^7.6.3","mongodb":"^6.10.0","typedoc":"^0.26.10","prettier":"^3.3.3","type-fest":"^4.26.1","@babel/cli":"^7.25.7","babel-jest":"^29.7.0","remark-cli":"^12.0.1","remark-gfm":"^4.0.0","simple-git":"^3.27.0","strip-ansi":"^6.0.1","typescript":"^5.6.3","@babel/core":"^7.25.8","@types/glob":"^8.1.0","@types/jest":"^29.5.13","@types/node":"^22.7.8","jest-circus":"^29.7.0","lint-staged":"^15.2.10","remark-lint":"^10.0.0","@types/debug":"^4.1.12","babel-loader":"^9.2.1","spellchecker":"^3.7.1","@octokit/rest":"^20.1.1","@types/cookie":"^0.6.0","@types/semver":"^7.5.8","jest-extended":"^4.0.2","remark-ignore":"^2.0.0","@types/webpack":"^5.28.5","edit-json-file":"^1.8.0","glob-gitignore":"^1.0.15","@commitlint/cli":"^19.5.0","text-extensions":"^3.0.0","unique-filename":"^4.0.0","@xunnamius/types":"^1.3.0","lodash.mergewith":"^4.6.2","semantic-release":"https://xunn.at/semantic-release-atam@22.0.6","@babel/preset-env":"^7.25.8","@types/mime-types":"^2.1.4","find-package-json":"^1.2.0","sort-package-json":"^2.10.1","@types/test-listen":"^1.1.2","eslint-plugin-jest":"^28.8.3","remark-frontmatter":"^5.0.0","source-map-support":"^0.5.21","remark-lint-no-tabs":"^4.0.0","@babel/eslint-parser":"^7.25.8","all-contributors-cli":"^6.26.1","eslint-plugin-import":"^2.31.0","@arethetypeswrong/cli":"^0.16.4","@semantic-release/git":"^10.0.1","@types/edit-json-file":"^1.7.3","@types/lodash.ismatch":"^4.4.9","@xunnamius/jest-types":"^1.1.3","eslint-plugin-unicorn":"^56.0.0","remark-tight-comments":"^2.0.0","remark-validate-links":"^13.0.1","@semantic-release/exec":"^6.0.3","remark-reference-links":"^7.0.0","suppress-node-warnings":"^1.0.1","tsconfig-replace-paths":"^0.0.14","@types/lodash.mergewith":"^4.6.9","remark-sort-definitions":"^2.0.0","typedoc-plugin-markdown":"^4.2.9","@babel/preset-typescript":"^7.25.7","@types/find-package-json":"^1.2.6","remark-lint-no-empty-url":"^4.0.0","@typescript-eslint/parser":"^8.11.0","confusing-browser-globals":"^1.0.11","remark-lint-final-newline":"^3.0.0","conventional-changelog-cli":"^4.1.0","remark-capitalize-headings":"^2.0.1","remark-lint-file-extension":"^3.0.0","remark-renumber-references":"^2.0.0","@semantic-release/changelog":"^6.0.3","remark-lint-definition-case":"^4.0.0","remark-lint-list-item-style":"^2.0.0","remark-lint-no-literal-urls":"^4.0.0","babel-plugin-module-resolver":"^5.0.2","eslint-import-resolver-alias":"^1.1.2","remark-lint-fenced-code-flag":"^4.0.0","remark-lint-no-shell-dollars":"^4.0.0","eslint-plugin-module-resolver":"^1.5.0","remark-lint-hard-break-spaces":"^4.0.0","remark-lint-heading-increment":"^4.0.0","remark-lint-no-empty-sections":"^4.0.0","remark-lint-no-inline-padding":"^4.1.2","remark-lint-heading-whitespace":"^1.0.0","@commitlint/config-conventional":"^19.5.0","babel-plugin-source-map-support":"^2.2.0","remark-lint-first-heading-level":"^4.0.0","remark-lint-heading-word-length":"^2.0.0","@types/confusing-browser-globals":"^1.0.3","@typescript-eslint/eslint-plugin":"^8.11.0","remark-lint-strikethrough-marker":"^3.0.0","remark-remove-unused-definitions":"^2.0.0","remark-remove-url-trailing-slash":"^2.0.0","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^3.6.3","remark-lint-fenced-code-flag-case":"^2.0.0","remark-lint-no-reference-like-url":"^4.0.0","remark-lint-no-unused-definitions":"^4.0.0","remark-lint-no-heading-punctuation":"^4.0.0","eslint-import-resolver-babel-module":"^5.3.2","remark-lint-no-undefined-references":"^5.0.0","@babel/plugin-proposal-function-bind":"^7.25.8","remark-lint-no-duplicate-definitions":"^4.0.0","remark-lint-no-duplicate-defined-urls":"^3.0.0","remark-lint-no-heading-content-indent":"^5.0.0","remark-lint-no-heading-like-paragraph":"^4.0.0","remark-lint-ordered-list-marker-style":"^4.0.0","remark-lint-ordered-list-marker-value":"^4.0.0","babel-plugin-transform-rewrite-imports":"^1.2.0","remark-lint-no-shortcut-reference-link":"^4.0.0","remark-lint-no-shortcut-reference-image":"^4.0.0","remark-lint-unordered-list-marker-style":"^4.0.0","babel-plugin-explicit-exports-references":"^1.0.2","remark-lint-no-blockquote-without-marker":"^6.0.0","remark-lint-no-auto-link-without-protocol":"^4.0.0","remark-lint-no-multiple-toplevel-headings":"^4.0.0","@babel/plugin-proposal-export-default-from":"^7.25.8","@xunnamius/conventional-changelog-projector":"^1.2.2","babel-plugin-transform-default-named-imports":"^1.2.3","remark-lint-no-duplicate-headings-in-section":"^4.0.0"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_4.0.13_1729581037743_0.06269361338727375","host":"s3://npm-registry-packages"}},"4.0.14":{"name":"next-test-api-route-handler","version":"4.0.14","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@4.0.14","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"b44e6216badcfe6d2d09399a65618c50cb666519","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-4.0.14.tgz","fileCount":6,"integrity":"sha512-2nYhLyzLXNFtuYWjkKIW90Z1htjDQKKCLXQBqa2pMsChwxUb/5P954dMBudpLjebQ7Uv7tj6G79Etr25eJYHLw==","signatures":[{"sig":"MEQCIDR9cn0uWQI9YoAcYK9cBIJfbjS3uPtn8ZKt00zUlTr0AiAV6PLAMPCXMbRECIsEDEBn1rYHpUsWHIow9sA1zzJtNw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":117605},"type":"commonjs","types":"./dist/types/src/index.d.ts","config":{"plugin-build":{"docs":{"entry":"./src/index.ts"}}},"engines":{"node":"^18.18.2 || ^20.10.0 || >=21.2.0"},"exports":{".":{"node":"./dist/src/index.js","types":"./dist/types/src/index.d.ts","default":"./dist/src/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"d36bf703de1a9889bf68e72e46bb13565a6d4721","scripts":{"lint":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.lint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.lint.json --no-error-on-unmatched-pattern packages src; Y=$?; MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && echo $MD_FILES | NODE_ENV=lint xargs remark --quiet --frail --no-stdout; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test":"npm run test:unit --","build":"npm run build:dist --","clean":"git ls-files --exclude-standard --ignored --others --directory | grep -vE '^((\\.(env|vscode|husky))|next-env\\.d\\.ts|node_modules)($|\\/)' | xargs -p rm -rf","format":"MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && (echo $MD_FILES | xargs remark --no-config --no-stdout --quiet --frail --use gfm --use lint-no-undefined-references || (echo -n '\u001b' && echo '[37;41;1m FAIL \u001b[0m cannot continue with undefined references present' && false)) && sort-package-json './package.json' './packages/*/package.json' && echo $MD_FILES | NODE_ENV=format xargs remark --output --frail && echo $MD_FILES | xargs doctoc --no-title --maxlevel 3 --update-only && prettier --write .","prepare":"node -e \"execa = require('execa'); if(process.env.CI === undefined && (process.env.NODE_ENV === undefined || process.env.NODE_ENV === 'development')) { execa.sync('npx', ['husky', 'install'], { stdout: 'inherit', stderr: 'inherit' }); } else { console.log('skipped installing husky git hooks'); }\"","lint:all":"stdbuf -i0 -o0 -e0 tsc --project tsconfig.eslint.json; X=$?; stdbuf -i0 -o0 -e0 eslint --parser-options=project:tsconfig.eslint.json .; Y=$?; MD_FILES=$(node -e 'console.log(require(`glob-gitignore`).sync(`**/*.md`, { ignore: require(`fs`).readFileSync(`.prettierignore`, `utf8`).split(`\n`).filter(Boolean), dot: true }).join(`\n`))') && echo $MD_FILES | NODE_ENV=lint xargs remark --quiet --frail --no-stdout; Z=$?; [ $X -eq 0 ] && [ $Y -eq 0 ] && [ $Z -eq 0 ]","test:all":"npx attw --pack . && echo && NODE_OPTIONS='--no-warnings' NODE_ENV=test jest --coverage","test:e2e":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'e2e.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:unit":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'unit-.*\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","build:dist":"echo '> Generating types...' && NODE_ENV=production tsc --project tsconfig.types.json --incremental false && tsconfig-replace-paths --project tsconfig.types.json && echo '> Building distributables...' && NODE_ENV=production-cjs babel src --extensions .ts --out-dir dist/src","build:docs":"if [ -r ./next.config.js ]; then typedoc --plugin typedoc-plugin-markdown --skipErrorChecking --cleanOutputDir --tsconfig tsconfig.docs.json --out docs --readme none lib src test types external-scripts --exclude '**/*.test.*' --exclude external-scripts/bin; else ENTRY=`node -e 'const entry = require(\"./package.json\").config?.[\"plugin-build\"]?.docs?.entry; if(!entry) throw new Error(\"\\\"config['\"'\"'plugin-build'\"'\"'].docs.entry\\\" field is not defined in package.json\"); console.log(entry)'` && echo 'Entry file:' $ENTRY && typedoc --plugin typedoc-plugin-markdown --skipErrorChecking --cleanOutputDir --tsconfig tsconfig.docs.json --out docs --readme none $ENTRY; fi","list-tasks":"node -e 'console.log(Object.keys(require(\"./package.json\").scripts).join(\"\\n\"))' && (npm run -ws list-tasks --if-present 2>/dev/null || true)","build:changelog":"conventional-changelog --outfile CHANGELOG.md --config ./conventional.config.js --release-count 0 --skip-unstable && (if [ \"$CHANGELOG_SKIP_TITLE\"!=='true' ]; then { node -e 'console.log(require(\"./conventional.config.js\").changelogTitle)'; cat CHANGELOG.md; } > CHANGELOG.md.ignore && mv CHANGELOG.md.ignore CHANGELOG.md; fi) && NODE_ENV=format remark --output --frail CHANGELOG.md && prettier --write CHANGELOG.md","build:externals":"NODE_ENV=production-external babel external-scripts --extensions .ts --out-dir external-scripts/bin && NODE_ENV=production-external babel test/util.ts --extensions .ts --out-dir external-scripts/bin","test:repeat:all":"npm run __test:repeat:all --silent","test:integration":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:repeat:unit":"npm run __test:repeat:unit --silent","__test:repeat:all":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true NODE_ENV=test npx jest --reporters=jest-silent-reporter || exit; done) && echo \"All tests passed! Congrats!\"","__test:repeat:unit":"echo 'Repeating test suite [initializing]...'; (i=0; while [ \"$((( i += 1 ) <= 100 ))\" -ne 0 ]; do sleep 0.1 && echo \"\\r\\033[1A\\033[0KRepeating test suite [run $i/100]...\" && JEST_SILENT_REPORTER_SHOW_WARNINGS=true NODE_ENV=test npx jest --reporters=jest-silent-reporter --testPathIgnorePatterns '/(integration|e2e).*?\\.test\\.tsx?' '/dist/' || exit; done) && echo \"All tests passed! Congrats!\"","test:integration:node":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-node.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:client":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-client.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:compile":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-compile.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'","test:integration:externals":"NODE_OPTIONS='--no-warnings' NODE_ENV=test jest 'integration-external.*?\\.test\\.tsx?' --testPathIgnorePatterns '/dist/'"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"9.9.3","description":"Confidently unit and integration test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"22.10.0","dependencies":{"cookie":"^1.0.1","core-js":"^3.38.1","@whatwg-node/server":"^0.9.50"},"publishConfig":{"access":"public"},"typesVersions":{"*":{"*":["./dist/types/src/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"del":"^8.0.0","msw":"^2.4.13","glob":"^9.3.2","jest":"^29.7.0","debug":"^4.3.7","execa":"^5.1.1","husky":"^9.1.6","doctoc":"^2.2.1","dotenv":"^16.4.5","eslint":"^8.57.0","semver":"^7.6.3","mongodb":"^6.10.0","typedoc":"^0.26.10","prettier":"^3.3.3","type-fest":"^4.26.1","@babel/cli":"^7.25.7","babel-jest":"^29.7.0","remark-cli":"^12.0.1","remark-gfm":"^4.0.0","simple-git":"^3.27.0","strip-ansi":"^6.0.1","typescript":"^5.6.3","@babel/core":"^7.25.8","@types/glob":"^8.1.0","@types/jest":"^29.5.13","@types/node":"^22.7.8","jest-circus":"^29.7.0","lint-staged":"^15.2.10","remark-lint":"^10.0.0","@types/debug":"^4.1.12","babel-loader":"^9.2.1","spellchecker":"^3.7.1","@octokit/rest":"^20.1.1","@types/cookie":"^0.6.0","@types/semver":"^7.5.8","jest-extended":"^4.0.2","remark-ignore":"^2.0.0","@types/webpack":"^5.28.5","edit-json-file":"^1.8.0","glob-gitignore":"^1.0.15","@commitlint/cli":"^19.5.0","text-extensions":"^3.0.0","unique-filename":"^4.0.0","@xunnamius/types":"^1.3.0","lodash.mergewith":"^4.6.2","semantic-release":"https://xunn.at/semantic-release-atam@22.0.6","@babel/preset-env":"^7.25.8","@types/mime-types":"^2.1.4","find-package-json":"^1.2.0","sort-package-json":"^2.10.1","@types/test-listen":"^1.1.2","eslint-plugin-jest":"^28.8.3","remark-frontmatter":"^5.0.0","source-map-support":"^0.5.21","remark-lint-no-tabs":"^4.0.0","@babel/eslint-parser":"^7.25.8","all-contributors-cli":"^6.26.1","eslint-plugin-import":"^2.31.0","@arethetypeswrong/cli":"^0.16.4","@semantic-release/git":"^10.0.1","@types/edit-json-file":"^1.7.3","@types/lodash.ismatch":"^4.4.9","@xunnamius/jest-types":"^1.1.3","eslint-plugin-unicorn":"^56.0.0","remark-tight-comments":"^2.0.0","remark-validate-links":"^13.0.1","@semantic-release/exec":"^6.0.3","remark-reference-links":"^7.0.0","suppress-node-warnings":"^1.0.1","tsconfig-replace-paths":"^0.0.14","@types/lodash.mergewith":"^4.6.9","remark-sort-definitions":"^2.0.0","typedoc-plugin-markdown":"^4.2.9","@babel/preset-typescript":"^7.25.7","@types/find-package-json":"^1.2.6","remark-lint-no-empty-url":"^4.0.0","@typescript-eslint/parser":"^8.11.0","confusing-browser-globals":"^1.0.11","remark-lint-final-newline":"^3.0.0","conventional-changelog-cli":"^4.1.0","remark-capitalize-headings":"^2.0.1","remark-lint-file-extension":"^3.0.0","remark-renumber-references":"^2.0.0","@semantic-release/changelog":"^6.0.3","remark-lint-definition-case":"^4.0.0","remark-lint-list-item-style":"^2.0.0","remark-lint-no-literal-urls":"^4.0.0","babel-plugin-module-resolver":"^5.0.2","eslint-import-resolver-alias":"^1.1.2","remark-lint-fenced-code-flag":"^4.0.0","remark-lint-no-shell-dollars":"^4.0.0","eslint-plugin-module-resolver":"^1.5.0","remark-lint-hard-break-spaces":"^4.0.0","remark-lint-heading-increment":"^4.0.0","remark-lint-no-empty-sections":"^4.0.0","remark-lint-no-inline-padding":"^4.1.2","remark-lint-heading-whitespace":"^1.0.0","@commitlint/config-conventional":"^19.5.0","babel-plugin-source-map-support":"^2.2.0","remark-lint-first-heading-level":"^4.0.0","remark-lint-heading-word-length":"^2.0.0","@types/confusing-browser-globals":"^1.0.3","@typescript-eslint/eslint-plugin":"^8.11.0","remark-lint-strikethrough-marker":"^3.0.0","remark-remove-unused-definitions":"^2.0.0","remark-remove-url-trailing-slash":"^2.0.0","babel-plugin-add-import-extension":"^1.6.0","eslint-import-resolver-typescript":"^3.6.3","remark-lint-fenced-code-flag-case":"^2.0.0","remark-lint-no-reference-like-url":"^4.0.0","remark-lint-no-unused-definitions":"^4.0.0","remark-lint-no-heading-punctuation":"^4.0.0","eslint-import-resolver-babel-module":"^5.3.2","remark-lint-no-undefined-references":"^5.0.0","@babel/plugin-proposal-function-bind":"^7.25.8","remark-lint-no-duplicate-definitions":"^4.0.0","remark-lint-no-duplicate-defined-urls":"^3.0.0","remark-lint-no-heading-content-indent":"^5.0.0","remark-lint-no-heading-like-paragraph":"^4.0.0","remark-lint-ordered-list-marker-style":"^4.0.0","remark-lint-ordered-list-marker-value":"^4.0.0","babel-plugin-transform-rewrite-imports":"^1.2.0","remark-lint-no-shortcut-reference-link":"^4.0.0","remark-lint-no-shortcut-reference-image":"^4.0.0","remark-lint-unordered-list-marker-style":"^4.0.0","babel-plugin-explicit-exports-references":"^1.0.2","remark-lint-no-blockquote-without-marker":"^6.0.0","remark-lint-no-auto-link-without-protocol":"^4.0.0","remark-lint-no-multiple-toplevel-headings":"^4.0.0","@babel/plugin-proposal-export-default-from":"^7.25.8","@xunnamius/conventional-changelog-projector":"^1.2.2","babel-plugin-transform-default-named-imports":"^1.2.3","remark-lint-no-duplicate-headings-in-section":"^4.0.0"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_4.0.14_1729602645649_0.15279423148595916","host":"s3://npm-registry-packages"}},"4.0.15":{"name":"next-test-api-route-handler","version":"4.0.15","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@4.0.15","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"84af840af24c81633dab7c0169dc345a07fe0fc5","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-4.0.15.tgz","fileCount":5,"integrity":"sha512-OoTqzO+DcXV7w4JqATcP98pmQG1pn83KAto8945xtmODR9e8iJnRoVyWsjtq3pLMXplXnVZC9GvDLJtaQqleTw==","signatures":[{"sig":"MEYCIQCG8NDV1aUmnpBN9YrjV3o5hgtUzD8svWUBEE+QOQoRswIhAMMz50bHGvd6tj1JSk4bkdaTRZUSrWapxX1OY224PbeM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":108168},"type":"commonjs","engines":{"node":"^18.18.2 || ^20.10.0 || >=21.2.0"},"exports":{".":{"types":"./dist/src/index.d.ts","default":"./dist/src/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"d4f6936187653b903581089c4c87331426654d7e","scripts":{"info":"symbiote project info --env NODE_NO_WARNINGS=1","lint":"npm run lint:package --","test":"npm run test:package:unit --","build":"npm run build:dist --","clean":"symbiote clean --env NODE_NO_WARNINGS=1","start":"symbiote start --env NODE_NO_WARNINGS=1 --","format":"symbiote format --env NODE_NO_WARNINGS=1 --hush","prepare":"symbiote project prepare --env NODE_NO_WARNINGS=1","release":"npm run build:externals && symbiote release --env NODE_NO_WARNINGS=1","renovate":"symbiote project renovate --env NODE_NO_WARNINGS=1 --github-reconfigure-repo --regenerate-assets --assets-preset lib","build:dist":"symbiote build distributables --env NODE_NO_WARNINGS=1 --not-multiversal","build:docs":"symbiote build docs --env NODE_NO_WARNINGS=1","list-tasks":"symbiote list-tasks --env NODE_NO_WARNINGS=1 --scope this-package","lint:package":"symbiote lint --env NODE_NO_WARNINGS=1 --hush","lint:project":"symbiote project lint --env NODE_NO_WARNINGS=1","lint:packages":"symbiote lint --env NODE_NO_WARNINGS=1 --hush --scope unlimited","build:changelog":"symbiote build changelog --env NODE_NO_WARNINGS=1","build:externals":"echo '\nWARNING: this script and the whole concept of so-called \"externals\" is going away soon (to be replaced by a hybridrepo)!\n\n'; EXTERNAL_DELETE_THIS=true NODE_ENV=production-cjs babel external-scripts --extensions .ts --out-dir external-scripts/bin && NODE_ENV=production-cjs babel test/util.ts --extensions .ts --out-dir external-scripts/bin","renovate:aliases":"symbiote project renovate --env NODE_NO_WARNINGS=1 --regenerate-assets --assets-preset lib --only-aliases","test:package:all":"symbiote test --env NODE_NO_WARNINGS=1 --tests all --coverage","test:package:e2e":"symbiote test --env NODE_NO_WARNINGS=1 --tests end-to-end","test:package:unit":"symbiote test --env NODE_NO_WARNINGS=1 --tests unit type","test:packages:all":"symbiote test --env NODE_NO_WARNINGS=1 --tests all --scope unlimited --coverage","test:packages:all:unit":"symbiote test --env NODE_NO_WARNINGS=1 --tests unit type --scope unlimited --coverage","test:package:integration":"symbiote test --env NODE_NO_WARNINGS=1 --tests integration"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"10.9.2","description":"Confidently unit and integration test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"cookie":"^1.0.2","core-js":"^3.40.0","@whatwg-node/server":"^0.9.70"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"typesVersions":{"*":{"index":["dist/src/index.d.ts"],"package":["package.json"]}},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.7.3","semver":"^7.7.1","mongodb":"^6.13.1","@-xun/fs":"^1.0.0","@-xun/run":"^1.0.3","rejoinder":"^1.2.5","strip-ansi~6":"npm:strip-ansi@^6.0.1","@octokit/rest":"^21.1.1","@types/semver":"^7.5.8","@-xun/symbiote":"^3.3.8","@-xun/project-fs":"^1.0.4","find-package-json":"^1.2.0","@types/find-package-json":"^1.2.6"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_4.0.15_1740652450461_0.7682359216277064","host":"s3://npm-registry-packages-npm-production"}},"4.0.16":{"name":"next-test-api-route-handler","version":"4.0.16","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@4.0.16","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"7ac09101fe831669eb2abc5d37c8f4ee64d44828","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-4.0.16.tgz","fileCount":5,"integrity":"sha512-13YKH1X52YzZKDU1fplR3DS6SRZUx+wsw6x6XZXGJnjUWEPL9HmVdyX9/i/8Rv4kC2UXisqLPuTGePTvWRAZGQ==","signatures":[{"sig":"MEUCIBdJd0rLxQxhCf0khcO+XdqEZV7XLXjyOAvMzrtYocUBAiEAibkoG3PwkgHQ2BerglIeXXJth9h4oeGVo1Kz25jLWlw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":108286},"type":"commonjs","engines":{"node":"^18.18.2 || ^20.10.0 || >=21.2.0"},"exports":{".":{"types":"./dist/src/index.d.ts","default":"./dist/src/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"7118389fef8b66e0c38bf7b938ea60065d5ca5ff","scripts":{"info":"symbiote project info --env NODE_NO_WARNINGS=1","lint":"npm run lint:package --","test":"npm run test:package:unit --","build":"npm run build:dist --","clean":"symbiote clean --env NODE_NO_WARNINGS=1","start":"symbiote start --env NODE_NO_WARNINGS=1 --","format":"symbiote format --env NODE_NO_WARNINGS=1 --hush","prepare":"symbiote project prepare --env NODE_NO_WARNINGS=1","release":"npm run build:externals && symbiote release --env NODE_NO_WARNINGS=1","renovate":"symbiote project renovate --env NODE_NO_WARNINGS=1 --github-reconfigure-repo --regenerate-assets --assets-preset lib","build:dist":"symbiote build distributables --env NODE_NO_WARNINGS=1 --not-multiversal","build:docs":"symbiote build docs --env NODE_NO_WARNINGS=1","list-tasks":"symbiote list-tasks --env NODE_NO_WARNINGS=1 --scope this-package","lint:package":"symbiote lint --env NODE_NO_WARNINGS=1 --hush","lint:project":"symbiote project lint --env NODE_NO_WARNINGS=1","lint:packages":"symbiote lint --env NODE_NO_WARNINGS=1 --hush --scope unlimited","build:changelog":"symbiote build changelog --env NODE_NO_WARNINGS=1","build:externals":"echo '\nWARNING: this script and the whole concept of so-called \"externals\" is going away soon (to be replaced by a hybridrepo)!\n\n'; EXTERNAL_DELETE_THIS=true NODE_ENV=production-cjs babel external-scripts --extensions .ts --out-dir external-scripts/bin && NODE_ENV=production-cjs babel test/util.ts --extensions .ts --out-dir external-scripts/bin","renovate:aliases":"symbiote project renovate --env NODE_NO_WARNINGS=1 --regenerate-assets --assets-preset lib --only-aliases","test:package:all":"symbiote test --env NODE_NO_WARNINGS=1 --tests all --coverage","test:package:e2e":"symbiote test --env NODE_NO_WARNINGS=1 --tests e2e-local","test:package:unit":"symbiote test --env NODE_NO_WARNINGS=1 --tests unit type","test:packages:all":"symbiote test --env NODE_NO_WARNINGS=1 --tests all --scope unlimited --coverage","test:packages:all:unit":"symbiote test --env NODE_NO_WARNINGS=1 --tests unit type --scope unlimited --coverage","test:package:integration":"symbiote test --env NODE_NO_WARNINGS=1 --tests integration"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"10.9.2","description":"Confidently unit and integration test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"cookie":"^1.0.2","core-js":"^3.41.0","@whatwg-node/server":"^0.10.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"typesVersions":{"*":{"index":["dist/src/index.d.ts"],"package":["package.json"]}},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.7.3","semver":"^7.7.1","mongodb":"^6.15.0","@-xun/fs":"^1.0.0","@-xun/run":"^1.1.0","rejoinder":"^1.2.5","@octokit/rest":"^21.1.1","@types/semver":"^7.7.0","@-xun/symbiote":"^3.6.0","@-xun/project-fs":"^1.2.0","find-package-json":"^1.2.0","@types/find-package-json":"^1.2.6"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_4.0.16_1743070344611_0.1513105257011782","host":"s3://npm-registry-packages-npm-production"}},"5.0.0":{"name":"next-test-api-route-handler","version":"5.0.0","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@5.0.0","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"0aa389cbaf9ceec077bf53b2bcaebc008ef9ce28","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-5.0.0.tgz","fileCount":5,"integrity":"sha512-Xhyo2rYn43cgIOuxkJk6xKrZoogxQcsLVfct55m1MMSYztxJnTofEpa3LexhxN41IlmId7ru0lpiC4wGy0S4qw==","signatures":[{"sig":"MEUCIQCyjEbcc6aOAM84oR1aLjRQQQbFdQemekc5EJIl9E2NXgIgOMrH6L8o04huk2ZxC1XwFw4kZs2RHdorPSGYtJptGmQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":109033},"type":"commonjs","engines":{"node":"^20.18.0 || >=22.12.0"},"exports":{".":{"types":"./dist/src/index.d.ts","default":"./dist/src/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"9fe9876f778b610a9ef06b651666ab4fcdcbcccd","scripts":{"info":"symbiote project info --env NODE_NO_WARNINGS=1","lint":"npm run lint:package --","test":"npm run test:package:unit --","build":"npm run build:dist --","clean":"symbiote clean --env NODE_NO_WARNINGS=1","start":"symbiote start --env NODE_NO_WARNINGS=1 --","format":"symbiote format --env NODE_NO_WARNINGS=1 --hush","prepare":"symbiote project prepare --env NODE_NO_WARNINGS=1","release":"npm run build:externals && symbiote release --env NODE_NO_WARNINGS=1","renovate":"symbiote project renovate --env NODE_NO_WARNINGS=1 --github-reconfigure-repo --regenerate-assets --assets-preset lib","build:dist":"symbiote build distributables --env NODE_NO_WARNINGS=1 --not-multiversal","build:docs":"symbiote build docs --env NODE_NO_WARNINGS=1","list-tasks":"symbiote list-tasks --env NODE_NO_WARNINGS=1 --scope this-package","lint:package":"symbiote lint --env NODE_NO_WARNINGS=1 --hush","lint:project":"symbiote project lint --env NODE_NO_WARNINGS=1","lint:packages":"symbiote lint --env NODE_NO_WARNINGS=1 --hush --scope unlimited","build:changelog":"symbiote build changelog --env NODE_NO_WARNINGS=1","build:externals":"echo '\nWARNING: this script and the whole concept of so-called \"externals\" is going away soon (to be replaced by a hybridrepo)!\n\n'; EXTERNAL_DELETE_THIS=true NODE_ENV=production-cjs babel external-scripts --extensions .ts --out-dir external-scripts/bin && NODE_ENV=production-cjs babel test/util.ts --extensions .ts --out-dir external-scripts/bin","renovate:aliases":"symbiote project renovate --env NODE_NO_WARNINGS=1 --regenerate-assets --assets-preset lib --only-aliases","test:package:all":"symbiote test --env NODE_NO_WARNINGS=1 --tests all-local --coverage","test:package:e2e":"symbiote test --env NODE_NO_WARNINGS=1 --tests e2e-local","test:package:unit":"symbiote test --env NODE_NO_WARNINGS=1 --tests unit type","test:packages:all":"symbiote test --env NODE_NO_WARNINGS=1 --tests all-local --scope unlimited --coverage","test:packages:all:unit":"symbiote test --env NODE_NO_WARNINGS=1 --tests unit type --scope unlimited --coverage","test:package:integration":"symbiote test --env NODE_NO_WARNINGS=1 --tests integration"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"10.9.2","description":"Confidently unit and integration test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"22.17.1","dependencies":{"cookie":"^1.0.2","core-js":"^3.44.0","@whatwg-node/server":"^0.10.10"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"typesVersions":{"*":{"index":["dist/src/index.d.ts"],"package":["package.json"]}},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.10.4","semver":"^7.7.2","mongodb":"^6.17.0","@-xun/fs":"^2.0.0","@-xun/run":"^1.1.0","rejoinder":"^2.0.2","@octokit/rest":"^22.0.0","@types/semver":"^7.7.0","@-xun/symbiote":"^4.11.4","@-xun/project-fs":"^2.0.5","find-package-json":"^1.2.0","@types/find-package-json":"^1.2.6"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_5.0.0_1752928445930_0.7420593899030161","host":"s3://npm-registry-packages-npm-production"}},"5.0.1":{"name":"next-test-api-route-handler","version":"5.0.1","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@5.0.1","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"16981bbb02eab189d922d81c8a91eae7eff26261","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-5.0.1.tgz","fileCount":5,"integrity":"sha512-mVMRDaLLhn7x5jpZ9Ubf2s0KQeDr4INVm8n50YncZ8EdXY2aWisdivc96X3DNPIQ9MrWvTADEYfgrxYYU1MQAA==","signatures":[{"sig":"MEUCIQCRZHv92uk4xQ8HbhQyVnwSfGoFALkxBcVXGORcNaBCqQIgO2sCgcM+EZAoGPsTpb7hRaI9hojtZoIX1bQCjvBPPgU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":109001},"type":"commonjs","engines":{"node":"^20.18.0 || >=22.12.0"},"exports":{".":{"types":"./dist/src/index.d.ts","default":"./dist/src/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"4300a11d0d71224741716f535f923c4cde5a1b93","scripts":{"info":"symbiote project info --env NODE_NO_WARNINGS=1","lint":"npm run lint:package --","test":"npm run test:package:unit --","build":"npm run build:dist --","clean":"symbiote clean --env NODE_NO_WARNINGS=1","start":"symbiote start --env NODE_NO_WARNINGS=1 --","format":"symbiote format --env NODE_NO_WARNINGS=1 --hush","prepare":"symbiote project prepare --env NODE_NO_WARNINGS=1","release":"npm run build:externals && symbiote release --env NODE_NO_WARNINGS=1","renovate":"symbiote project renovate --env NODE_NO_WARNINGS=1 --github-reconfigure-repo --regenerate-assets --assets-preset lib","build:dist":"symbiote build distributables --env NODE_NO_WARNINGS=1 --not-multiversal","build:docs":"symbiote build docs --env NODE_NO_WARNINGS=1","list-tasks":"symbiote list-tasks --env NODE_NO_WARNINGS=1 --scope this-package","lint:package":"symbiote lint --env NODE_NO_WARNINGS=1 --hush","lint:project":"symbiote project lint --env NODE_NO_WARNINGS=1","lint:packages":"symbiote lint --env NODE_NO_WARNINGS=1 --hush --scope unlimited","build:changelog":"symbiote build changelog --env NODE_NO_WARNINGS=1","build:externals":"echo '\nWARNING: this script and the whole concept of so-called \"externals\" is going away soon (to be replaced by a hybridrepo)!\n\n'; EXTERNAL_DELETE_THIS=true NODE_ENV=production-cjs babel external-scripts --extensions .ts --out-dir external-scripts/bin && NODE_ENV=production-cjs babel test/util.ts --extensions .ts --out-dir external-scripts/bin","renovate:aliases":"symbiote project renovate --env NODE_NO_WARNINGS=1 --regenerate-assets --assets-preset lib --only-aliases","test:package:all":"symbiote test --env NODE_NO_WARNINGS=1 --tests all-local --coverage","test:package:e2e":"symbiote test --env NODE_NO_WARNINGS=1 --tests e2e-local","test:package:unit":"symbiote test --env NODE_NO_WARNINGS=1 --tests unit type","test:packages:all":"symbiote test --env NODE_NO_WARNINGS=1 --tests all-local --scope unlimited --coverage","test:packages:all:unit":"symbiote test --env NODE_NO_WARNINGS=1 --tests unit type --scope unlimited --coverage","test:package:integration":"symbiote test --env NODE_NO_WARNINGS=1 --tests integration"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"10.9.3","description":"Confidently unit and integration test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"24.5.0","dependencies":{"cookie":"^1.0.2","core-js":"^3.45.1","@whatwg-node/server":"^0.10.12"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"typesVersions":{"*":{"index":["dist/src/index.d.ts"],"package":["package.json"]}},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.10.5","semver":"^7.7.2","mongodb":"^6.18.0","@-xun/fs":"^2.0.0","@-xun/run":"^1.1.0","rejoinder":"^2.0.2","@octokit/rest":"^22.0.0","@types/semver":"^7.7.0","@-xun/symbiote":"^4.11.5","@-xun/project-fs":"^2.0.5","find-package-json":"^1.2.0","@types/find-package-json":"^1.2.6"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_5.0.1_1755816859611_0.36922207813435093","host":"s3://npm-registry-packages-npm-production"}},"5.0.2":{"name":"next-test-api-route-handler","version":"5.0.2","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@5.0.2","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"cb15e3d03c15d2e7b02a6062be7fd21829e32b12","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-5.0.2.tgz","fileCount":5,"integrity":"sha512-g7Iz4MLBpMhWIDNPGAhPYECf5UsvA1GNPJu6FNFmdqD+FvUvBeAMCgwEBf/ZLulo2Xb/8j9yaaeHDNVAim8cAg==","signatures":[{"sig":"MEUCIFWFbxcNi/pGFV3Si9jCmT6IjSiv313hv442bjiBSDbLAiEArM3An98RUlR2HwnsVSv1V8bk23nCl+VtadEMhX+dsMg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":109905},"type":"commonjs","engines":{"node":"^20.18.0 || >=22.12.0"},"exports":{".":{"types":"./dist/src/index.d.ts","default":"./dist/src/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"f2154b73c22c4195cfa44322752d4b246657054f","scripts":{"info":"symbiote project info --env NODE_NO_WARNINGS=1","lint":"npm run lint:package --","test":"npm run test:package:unit --","build":"npm run build:dist --","clean":"symbiote clean --env NODE_NO_WARNINGS=1","start":"symbiote start --env NODE_NO_WARNINGS=1 --","format":"symbiote format --env NODE_NO_WARNINGS=1 --hush","prepare":"symbiote project prepare --env NODE_NO_WARNINGS=1","release":"npm run build:externals && symbiote release --env NODE_NO_WARNINGS=1","renovate":"symbiote project renovate --env NODE_NO_WARNINGS=1 --github-reconfigure-repo --regenerate-assets --assets-preset lib","build:dist":"symbiote build distributables --env NODE_NO_WARNINGS=1 --not-multiversal","build:docs":"symbiote build docs --env NODE_NO_WARNINGS=1","list-tasks":"symbiote list-tasks --env NODE_NO_WARNINGS=1 --scope this-package","lint:package":"symbiote lint --env NODE_NO_WARNINGS=1 --hush","lint:project":"symbiote project lint --env NODE_NO_WARNINGS=1","lint:packages":"symbiote lint --env NODE_NO_WARNINGS=1 --hush --scope unlimited","build:changelog":"symbiote build changelog --env NODE_NO_WARNINGS=1","build:externals":"echo '\nWARNING: this script and the whole concept of so-called \"externals\" is going away soon (to be replaced by a hybridrepo)!\n\n'; EXTERNAL_DELETE_THIS=true NODE_ENV=production-cjs babel external-scripts --extensions .ts --out-dir external-scripts/bin && NODE_ENV=production-cjs babel test/util.ts --extensions .ts --out-dir external-scripts/bin","renovate:aliases":"symbiote project renovate --env NODE_NO_WARNINGS=1 --regenerate-assets --assets-preset lib --only-aliases","test:package:all":"symbiote test --env NODE_NO_WARNINGS=1 --tests all-local --coverage","test:package:e2e":"symbiote test --env NODE_NO_WARNINGS=1 --tests e2e-local","test:package:unit":"symbiote test --env NODE_NO_WARNINGS=1 --tests unit type","test:packages:all":"symbiote test --env NODE_NO_WARNINGS=1 --tests all-local --scope unlimited --coverage","test:packages:all:unit":"symbiote test --env NODE_NO_WARNINGS=1 --tests unit type --scope unlimited --coverage","test:package:integration":"symbiote test --env NODE_NO_WARNINGS=1 --tests integration"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"_npmVersion":"10.9.3","description":"Confidently unit and integration test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"24.5.0","dependencies":{"cookie":"^1.0.2","core-js":"^3.45.1","@whatwg-node/server":"^0.10.12"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"typesVersions":{"*":{"index":["dist/src/index.d.ts"],"package":["package.json"]}},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.10.5","semver":"^7.7.2","mongodb":"^6.18.0","@-xun/fs":"^2.0.0","@-xun/run":"^1.1.0","rejoinder":"^2.0.2","@octokit/rest":"^22.0.0","@types/semver":"^7.7.0","@-xun/symbiote":"^4.11.5","@-xun/project-fs":"^2.0.5","find-package-json":"^1.2.0","@types/find-package-json":"^1.2.6"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_5.0.2_1755831425285_0.5710087140414757","host":"s3://npm-registry-packages-npm-production"}},"5.0.3":{"name":"next-test-api-route-handler","version":"5.0.3","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@5.0.3","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"f05261088ad6cc350734f6dc35cf0136aa291692","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-5.0.3.tgz","fileCount":5,"integrity":"sha512-cAg3J2ZboQnzSWGo6EH54BQwlrXbcJ3eDF70dy2T4tfXui0Cb+ryBr+5R6n5gqB5e1i6mbsfsqXq1LI6eMm3GQ==","signatures":[{"sig":"MEUCIDPQJ/jM6S+e88E883Ie41o+6CjCWPOoZeu/PULOKtqyAiEAmIOSBjZKVp9sjzDU1hHTDe1lllgmZgfiAp2Euds/+m0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":110038},"type":"commonjs","engines":{"node":"^20.18.0 || >=22.12.0"},"exports":{".":{"types":"./dist/src/index.d.ts","default":"./dist/src/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"dff9c33196c63202187f48c6a773149c559af7de","scripts":{"info":"symbiote project info --env NODE_NO_WARNINGS=1","lint":"npm run lint:package --","test":"npm run test:package:unit --","build":"npm run build:dist --","clean":"symbiote clean --env NODE_NO_WARNINGS=1","start":"symbiote start --env NODE_NO_WARNINGS=1 --","format":"symbiote format --env NODE_NO_WARNINGS=1 --hush","prepare":"symbiote project prepare --env NODE_NO_WARNINGS=1","release":"symbiote release --env NODE_NO_WARNINGS=1","renovate":"symbiote project renovate --env NODE_NO_WARNINGS=1 --github-reconfigure-repo --regenerate-assets --assets-preset lib","build:dist":"symbiote build distributables --env NODE_NO_WARNINGS=1 --multiversal","build:docs":"symbiote build docs --env NODE_NO_WARNINGS=1","list-tasks":"symbiote list-tasks --env NODE_NO_WARNINGS=1 --scope this-package","lint:package":"symbiote lint --env NODE_NO_WARNINGS=1 --hush","lint:project":"symbiote project lint --env NODE_NO_WARNINGS=1","lint:packages":"symbiote lint --env NODE_NO_WARNINGS=1 --hush --scope unlimited","build:changelog":"symbiote build changelog --env NODE_NO_WARNINGS=1","lint:topological":"symbiote project topology --run lint --env NODE_NO_WARNINGS=1","renovate:aliases":"symbiote project renovate --env NODE_NO_WARNINGS=1 --regenerate-assets --assets-preset lib --only-aliases","test:package:all":"symbiote test --env NODE_NO_WARNINGS=1 --tests all-local --coverage","test:package:e2e":"symbiote test --env NODE_NO_WARNINGS=1 --tests e2e-local","test:topological":"symbiote project topology --run test --env NODE_NO_WARNINGS=1","build:topological":"symbiote project topology --run build --env NODE_NO_WARNINGS=1","test:package:unit":"symbiote test --env NODE_NO_WARNINGS=1 --tests unit type","test:packages:all":"symbiote test --env NODE_NO_WARNINGS=1 --tests all-local --scope unlimited --coverage","release:topological":"symbiote project topology --run release --env NODE_NO_WARNINGS=1","test:packages:all:unit":"symbiote test --env NODE_NO_WARNINGS=1 --tests unit type --scope unlimited --coverage","test:package:integration":"symbiote test --env NODE_NO_WARNINGS=1 --tests integration"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"overrides":{"jest-resolve":"$jest-resolve"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"workspaces":["packages/*","!packages/*.ignore*","!packages/ignore.*"],"_npmVersion":"10.9.3","description":"Confidently unit and integration test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"24.7.0","dependencies":{"cookie":"^1.0.2","core-js":"^3.45.1","@whatwg-node/server":"^0.10.12"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"typesVersions":{"*":{"index":["dist/src/index.d.ts"],"package":["package.json"]}},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.11.1","@-xun/fs":"^2.0.0","rejoinder":"^2.1.0","jest-resolve":"npm:jest-resolve-no-esm@31","@-xun/symbiote":"^4.15.3","@-xun/project-fs":"^2.0.6"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_5.0.3_1756968941790_0.6100354148604696","host":"s3://npm-registry-packages-npm-production"}},"5.0.4":{"name":"next-test-api-route-handler","version":"5.0.4","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@5.0.4","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"6d34a9dbf247997b16dc5b485f6853f9bc69c35b","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-5.0.4.tgz","fileCount":5,"integrity":"sha512-bvLRJAfK6NHVLVwJm+HRCxrU3UQbXLuuj1qcLg1sJK40lRzHmGtVGHLxFWj3LnEoH8UZFTwV0Be0jTg4zHckkw==","signatures":[{"sig":"MEQCICCx5vyckyotN8GjoQTaktYYYVbxBZ9K8Mf+E9I2/FxaAiAAuGMS7EkO7szFynaRgbf+2USYEVpjnp3t+PrrvydgfA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":110860},"type":"commonjs","engines":{"node":"^20.18.0 || >=22.12.0"},"exports":{".":{"types":"./dist/src/index.d.ts","default":"./dist/src/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"d92f1aaa8e2f6f627953eb0aae8a719f7992d231","scripts":{"info":"symbiote project info --env NODE_NO_WARNINGS=1","lint":"npm run lint:package --","test":"npm run test:package:unit --","build":"npm run build:dist --","clean":"symbiote clean --env NODE_NO_WARNINGS=1","start":"symbiote start --env NODE_NO_WARNINGS=1 --","format":"symbiote format --env NODE_NO_WARNINGS=1 --hush","prepare":"symbiote project prepare --env NODE_NO_WARNINGS=1","release":"symbiote release --env NODE_NO_WARNINGS=1","renovate":"symbiote project renovate --env NODE_NO_WARNINGS=1 --github-reconfigure-repo --regenerate-assets --assets-preset lib","build:dist":"symbiote build distributables --env NODE_NO_WARNINGS=1 --multiversal","build:docs":"symbiote build docs --env NODE_NO_WARNINGS=1","list-tasks":"symbiote list-tasks --env NODE_NO_WARNINGS=1 --scope this-package","lint:package":"symbiote lint --env NODE_NO_WARNINGS=1 --hush","lint:project":"symbiote project lint --env NODE_NO_WARNINGS=1","lint:packages":"symbiote lint --env NODE_NO_WARNINGS=1 --hush --scope unlimited","build:changelog":"symbiote build changelog --env NODE_NO_WARNINGS=1","lint:topological":"symbiote project topology --run lint --env NODE_NO_WARNINGS=1","renovate:aliases":"symbiote project renovate --env NODE_NO_WARNINGS=1 --regenerate-assets --assets-preset lib --only-aliases","test:package:all":"symbiote test --env NODE_NO_WARNINGS=1 --tests all-local --coverage","test:package:e2e":"symbiote test --env NODE_NO_WARNINGS=1 --tests e2e-local","test:topological":"symbiote project topology --run test --env NODE_NO_WARNINGS=1","build:topological":"symbiote project topology --run build --env NODE_NO_WARNINGS=1","test:package:unit":"symbiote test --env NODE_NO_WARNINGS=1 --tests unit type","test:packages:all":"symbiote test --env NODE_NO_WARNINGS=1 --tests all-local --scope unlimited --coverage","release:topological":"symbiote project topology --run release --env NODE_NO_WARNINGS=1","test:packages:all:unit":"symbiote test --env NODE_NO_WARNINGS=1 --tests unit type --scope unlimited --coverage","test:package:integration":"symbiote test --env NODE_NO_WARNINGS=1 --tests integration"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"overrides":{"jest-resolve":"$jest-resolve"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"workspaces":["packages/*","!packages/*.ignore*","!packages/ignore.*"],"_npmVersion":"10.9.7","description":"Confidently unit and integration test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"25.8.1","dependencies":{"cookie":"^1.1.1","core-js":"^3.49.0","@whatwg-node/server":"^0.10.18"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"typesVersions":{"*":{"index":["dist/src/index.d.ts"],"package":["package.json"]}},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.12.14","@-xun/fs":"^2.0.0","@-xun/run":"^2.0.1","rejoinder":"^2.1.0","jest-resolve":"npm:jest-resolve-no-esm@31","@-xun/symbiote":"^4.15.6","@-xun/project-fs":"^2.0.6","baseline-browser-mapping":"^2.10.10"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_5.0.4_1774215413647_0.31893032909812025","host":"s3://npm-registry-packages-npm-production"}},"5.0.5":{"name":"next-test-api-route-handler","version":"5.0.5","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@5.0.5","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"7a5361cf409fda94c92252b1287ecfb2bc77919a","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-5.0.5.tgz","fileCount":5,"integrity":"sha512-ku6YBjF8s4kbDMO7t9vM8dOAj7jJ1tTCHNY6hnBRgx5TvUYqrppZ7RWQIywMyVSntX9UaFGDH5/KFNDEr9zRvw==","signatures":[{"sig":"MEUCIQCcTEB/WZrKFfFPt6jBxZkOSN6Qkj+m+vHJUx2mk9ntfgIgf0M+jASYtACJVl1JHES2T09+81jqUxrJX+dk1hTNYsI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":110664},"type":"commonjs","engines":{"node":"^20.18.0 || >=22.12.0"},"exports":{".":{"types":"./dist/src/index.d.ts","default":"./dist/src/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"aad3d649fb32124a854b5da090d45354adaeef5c","scripts":{"info":"symbiote project info --env NODE_NO_WARNINGS=1","lint":"npm run lint:package --","test":"npm run test:package:unit --","build":"npm run build:dist --","clean":"symbiote clean --env NODE_NO_WARNINGS=1","start":"symbiote start --env NODE_NO_WARNINGS=1 --","format":"symbiote format --env NODE_NO_WARNINGS=1 --hush","prepare":"symbiote project prepare --env NODE_NO_WARNINGS=1","release":"symbiote release --env NODE_NO_WARNINGS=1","renovate":"symbiote project renovate --env NODE_NO_WARNINGS=1 --github-reconfigure-repo --regenerate-assets --assets-preset lib","build:dist":"symbiote build distributables --env NODE_NO_WARNINGS=1 --multiversal","build:docs":"symbiote build docs --env NODE_NO_WARNINGS=1","list-tasks":"symbiote list-tasks --env NODE_NO_WARNINGS=1 --scope this-package","lint:package":"symbiote lint --env NODE_NO_WARNINGS=1 --hush","lint:project":"symbiote project lint --env NODE_NO_WARNINGS=1","lint:packages":"symbiote lint --env NODE_NO_WARNINGS=1 --hush --scope unlimited","build:changelog":"symbiote build changelog --env NODE_NO_WARNINGS=1","lint:topological":"symbiote project topology --run lint --env NODE_NO_WARNINGS=1","renovate:aliases":"symbiote project renovate --env NODE_NO_WARNINGS=1 --regenerate-assets --assets-preset lib --only-aliases","test:package:all":"symbiote test --env NODE_NO_WARNINGS=1 --tests all-local --coverage","test:package:e2e":"symbiote test --env NODE_NO_WARNINGS=1 --tests e2e-local","test:topological":"symbiote project topology --run test --env NODE_NO_WARNINGS=1","build:topological":"symbiote project topology --run build --env NODE_NO_WARNINGS=1","test:package:unit":"symbiote test --env NODE_NO_WARNINGS=1 --tests unit type","test:packages:all":"symbiote test --env NODE_NO_WARNINGS=1 --tests all-local --scope unlimited --coverage","release:topological":"symbiote project topology --run release --env NODE_NO_WARNINGS=1","test:packages:all:unit":"symbiote test --env NODE_NO_WARNINGS=1 --tests unit type --scope unlimited --coverage","test:package:integration":"symbiote test --env NODE_NO_WARNINGS=1 --tests integration"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"overrides":{"jest-resolve":"$jest-resolve"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"workspaces":["packages/*","!packages/*.ignore*","!packages/ignore.*"],"_npmVersion":"10.9.8","description":"Confidently unit and integration test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"cookie":"^1.1.1","core-js":"^3.49.0","@whatwg-node/server":"^0.10.18"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"typesVersions":{"*":{"index":["dist/src/index.d.ts"],"package":["package.json"]}},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.14.2","semver":"^7.7.4","@-xun/fs":"^2.0.0","rejoinder":"^2.1.0","jest-resolve":"npm:jest-resolve-no-esm@31","@-xun/symbiote":"^4.15.10","@-xun/project-fs":"^2.0.7"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_5.0.5_1777792483396_0.39896790609084776","host":"s3://npm-registry-packages-npm-production"}},"5.0.6":{"name":"next-test-api-route-handler","version":"5.0.6","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"author":{"name":"Xunnamius"},"license":"MIT","_id":"next-test-api-route-handler@5.0.6","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"dist":{"shasum":"e9b6b522372b315d5d88f89a3212a3f678f574ae","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-5.0.6.tgz","fileCount":5,"integrity":"sha512-KdkIhwmxBijRQxezej15a8ZjmyW7Rb1ZaT9MshvOJeHoDlLa+ToTBXKsrSywQTIqS8HvgkBQKLenJANUWkQmUA==","signatures":[{"sig":"MEUCIQC0HwCA8YpZYasQn/lcn1gwOIzJt+c4zECAl0+R0s3eigIgDQmu/Py3HqWQHHofgOSIRhzeAo4gwaJEpD4P7JYc9MM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":110672},"type":"commonjs","engines":{"node":"^20.18.0 || >=22.12.0"},"exports":{".":{"types":"./dist/src/index.d.ts","default":"./dist/src/index.js"},"./package":"./package.json","./package.json":"./package.json"},"gitHead":"c336136eb16936f10329ae968eb25811114e18b1","scripts":{"info":"symbiote project info --env NODE_NO_WARNINGS=1","lint":"npm run lint:package --","test":"npm run test:package:unit --","build":"npm run build:dist --","clean":"symbiote clean --env NODE_NO_WARNINGS=1","start":"symbiote start --env NODE_NO_WARNINGS=1 --","format":"symbiote format --env NODE_NO_WARNINGS=1 --hush","prepare":"symbiote project prepare --env NODE_NO_WARNINGS=1","release":"symbiote release --env NODE_NO_WARNINGS=1","renovate":"symbiote project renovate --env NODE_NO_WARNINGS=1 --github-reconfigure-repo --regenerate-assets --assets-preset lib","build:dist":"symbiote build distributables --env NODE_NO_WARNINGS=1 --multiversal","build:docs":"symbiote build docs --env NODE_NO_WARNINGS=1","list-tasks":"symbiote list-tasks --env NODE_NO_WARNINGS=1 --scope this-package","lint:package":"symbiote lint --env NODE_NO_WARNINGS=1 --hush","lint:project":"symbiote project lint --env NODE_NO_WARNINGS=1","lint:packages":"symbiote lint --env NODE_NO_WARNINGS=1 --hush --scope unlimited","build:changelog":"symbiote build changelog --env NODE_NO_WARNINGS=1","lint:topological":"symbiote project topology --run lint --env NODE_NO_WARNINGS=1","renovate:aliases":"symbiote project renovate --env NODE_NO_WARNINGS=1 --regenerate-assets --assets-preset lib --only-aliases","test:package:all":"symbiote test --env NODE_NO_WARNINGS=1 --tests all-local --coverage","test:package:e2e":"symbiote test --env NODE_NO_WARNINGS=1 --tests e2e-local","test:topological":"symbiote project topology --run test --env NODE_NO_WARNINGS=1","build:topological":"symbiote project topology --run build --env NODE_NO_WARNINGS=1","test:package:unit":"symbiote test --env NODE_NO_WARNINGS=1 --tests unit type","test:packages:all":"symbiote test --env NODE_NO_WARNINGS=1 --tests all-local --scope unlimited --coverage","release:topological":"symbiote project topology --run release --env NODE_NO_WARNINGS=1","test:packages:all:unit":"symbiote test --env NODE_NO_WARNINGS=1 --tests unit type --scope unlimited --coverage","test:package:integration":"symbiote test --env NODE_NO_WARNINGS=1 --tests integration"},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"repository":{"url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git","type":"git"},"workspaces":["packages/*","!packages/*.ignore*","!packages/ignore.*"],"_npmVersion":"10.9.9","description":"Confidently unit and integration test your Next.js API routes/handlers in an isolated Next.js-like environment","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"cookie":"^2.0.1","core-js":"^3.50.0","@whatwg-node/server":"^0.11.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"typesVersions":{"*":{"index":["dist/src/index.d.ts"],"package":["package.json"]}},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.15.0","semver":"^7.8.5","@-xun/fs":"^2.0.0","rejoinder":"^2.1.0","@jest/globals":"^30.4.1","@-xun/symbiote":"^4.15.10","@-xun/project-fs":"^2.0.7"},"peerDependencies":{"next":">=9"},"_npmOperationalInternal":{"tmp":"tmp/next-test-api-route-handler_5.0.6_1786426537535_0.4876596787739327","host":"s3://npm-registry-packages-npm-production"}},"5.0.7":{"name":"next-test-api-route-handler","version":"5.0.7","description":"Confidently unit and integration test your Next.js API routes/handlers in an isolated Next.js-like environment","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"repository":{"type":"git","url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git"},"license":"MIT","author":{"name":"Xunnamius"},"sideEffects":false,"type":"commonjs","exports":{".":{"types":"./dist/src/index.d.ts","default":"./dist/src/index.js"},"./package":"./package.json","./package.json":"./package.json"},"typesVersions":{"*":{"index":["dist/src/index.d.ts"],"package":["package.json"]}},"workspaces":["packages/*","!packages/*.ignore*","!packages/ignore.*"],"scripts":{"build":"npm run build:dist --","build:changelog":"symbiote build changelog --env NODE_NO_WARNINGS=1","build:dist":"symbiote build distributables --env NODE_NO_WARNINGS=1 --multiversal","build:docs":"symbiote build docs --env NODE_NO_WARNINGS=1","build:topological":"symbiote project topology --run build --env NODE_NO_WARNINGS=1","clean":"symbiote clean --env NODE_NO_WARNINGS=1","format":"symbiote format --env NODE_NO_WARNINGS=1 --hush","info":"symbiote project info --env NODE_NO_WARNINGS=1","lint":"npm run lint:package --","lint:package":"symbiote lint --env NODE_NO_WARNINGS=1 --hush","lint:packages":"symbiote lint --env NODE_NO_WARNINGS=1 --hush --scope unlimited","lint:project":"symbiote project lint --env NODE_NO_WARNINGS=1","lint:topological":"symbiote project topology --run lint --env NODE_NO_WARNINGS=1","list-tasks":"symbiote list-tasks --env NODE_NO_WARNINGS=1 --scope this-package","prepare":"symbiote project prepare --env NODE_NO_WARNINGS=1","release":"symbiote release --env NODE_NO_WARNINGS=1","release:topological":"symbiote project topology --run release --env NODE_NO_WARNINGS=1","renovate":"symbiote project renovate --env NODE_NO_WARNINGS=1 --github-reconfigure-repo --regenerate-assets --assets-preset lib","renovate:aliases":"symbiote project renovate --env NODE_NO_WARNINGS=1 --regenerate-assets --assets-preset lib --only-aliases","start":"symbiote start --env NODE_NO_WARNINGS=1 --","test":"npm run test:package:unit --","test:package:all":"symbiote test --env NODE_NO_WARNINGS=1 --tests all-local --coverage","test:package:e2e":"symbiote test --env NODE_NO_WARNINGS=1 --tests e2e-local","test:package:integration":"symbiote test --env NODE_NO_WARNINGS=1 --tests integration","test:package:unit":"symbiote test --env NODE_NO_WARNINGS=1 --tests unit type","test:packages:all":"symbiote test --env NODE_NO_WARNINGS=1 --tests all-local --scope unlimited --coverage","test:packages:all:unit":"symbiote test --env NODE_NO_WARNINGS=1 --tests unit type --scope unlimited --coverage","test:topological":"symbiote project topology --run test --env NODE_NO_WARNINGS=1"},"dependencies":{"@whatwg-node/server":"^0.11.0","cookie~1":"npm:cookie@^1.1.1","core-js":"^3.50.0"},"devDependencies":{"@-xun/fs":"^2.0.0","@-xun/project-fs":"^2.0.7","@-xun/symbiote":"^4.15.10","@jest/globals":"^30.4.1","msw":"^2.15.0","rejoinder":"^2.1.0","semver":"^7.8.5"},"peerDependencies":{"next":">=9"},"engines":{"node":"^20.18.0 || >=22.12.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_id":"next-test-api-route-handler@5.0.7","gitHead":"cd74d8063621d67741f7d7b2d37f091f91895d02","_nodeVersion":"25.9.0","_npmVersion":"10.9.9","dist":{"integrity":"sha512-HVh4UakC5q98U0/j3CWW2JTxHBeqDmvHjg4wqpwwaQP+O6f60preyed5FYJ7Z8oHFKIeRVBCy8E6gUhUb4UHpw==","shasum":"e84d994befd4f4509ed49009805654a83e8fdd10","tarball":"https://registry.npmjs.org/next-test-api-route-handler/-/next-test-api-route-handler-5.0.7.tgz","fileCount":5,"unpackedSize":110696,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBXEj+BH/NCK51iffu0/7lfhu72yTg3qAUBp2uzJ28k+AiEAqbBe8j2z0dLNXJW6OFXXDiVdOzsiLcKikV2RF23KnTQ="}]},"_npmUser":{"name":"xunnamius","email":"git@bernarddickens.dev"},"directories":{},"maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/next-test-api-route-handler_5.0.7_1786839241687_0.7550097258454695"},"_hasShrinkwrap":false}},"time":{"created":"2020-10-07T15:15:26.609Z","modified":"2026-08-16T00:14:01.997Z","1.0.0":"2020-10-07T15:15:26.767Z","1.0.1":"2020-10-07T15:34:30.751Z","1.0.2":"2020-10-07T15:58:47.284Z","1.0.3":"2020-10-12T02:21:25.709Z","1.0.4":"2020-10-12T02:34:23.406Z","1.0.5":"2020-10-13T02:19:18.041Z","1.0.6":"2020-10-17T23:20:55.146Z","1.0.7":"2020-10-19T08:00:35.849Z","1.0.8":"2020-10-20T04:24:00.332Z","1.0.9":"2020-10-23T05:37:20.173Z","1.0.10":"2020-10-24T07:15:04.422Z","1.1.0":"2020-11-25T20:54:14.058Z","1.1.1":"2020-11-26T17:18:38.864Z","1.1.2":"2020-11-26T17:57:41.460Z","1.1.3":"2020-12-06T00:46:08.340Z","1.2.0":"2021-01-05T16:30:40.445Z","1.2.1":"2021-01-05T16:54:19.103Z","1.2.2":"2021-01-05T17:08:05.955Z","1.2.3":"2021-01-05T17:36:33.467Z","1.2.4":"2021-01-06T03:41:04.233Z","1.2.5":"2021-01-06T12:02:14.268Z","1.2.6":"2021-01-06T14:33:55.808Z","1.2.7":"2021-01-12T23:52:17.107Z","1.2.8":"2021-01-13T15:32:26.348Z","1.2.9":"2021-01-21T08:10:02.339Z","1.2.10":"2021-01-22T18:53:27.210Z","1.2.11":"2021-01-23T07:40:56.203Z","1.2.12":"2021-01-23T22:04:08.407Z","1.2.13":"2021-02-05T09:02:11.939Z","1.2.14":"2021-02-08T00:24:17.550Z","1.2.15":"2021-02-08T02:09:54.101Z","1.2.16":"2021-02-10T18:10:43.567Z","1.2.17":"2021-02-10T19:35:31.431Z","1.2.18":"2021-02-11T18:03:09.184Z","1.2.19":"2021-02-22T06:06:36.741Z","1.2.20":"2021-02-22T07:21:57.120Z","1.2.21":"2021-03-12T02:30:38.134Z","1.2.22":"2021-03-12T04:04:49.044Z","1.2.23":"2021-03-14T09:37:45.636Z","1.2.24":"2021-04-30T19:22:59.672Z","2.0.0":"2021-06-27T07:32:19.797Z","2.0.1":"2021-06-27T08:49:25.837Z","2.0.2":"2021-07-29T18:40:47.928Z","2.1.0":"2021-08-13T10:05:02.676Z","2.1.1":"2021-08-13T11:12:59.615Z","2.1.2":"2021-08-14T09:13:09.255Z","2.1.3":"2021-08-22T17:57:49.498Z","2.2.0":"2021-08-22T19:46:41.650Z","2.2.1":"2021-08-29T01:49:29.518Z","2.3.0":"2021-11-05T23:32:55.977Z","2.3.1":"2021-11-06T00:31:57.541Z","2.3.2":"2021-11-07T01:57:52.523Z","2.3.3":"2021-11-10T08:42:46.225Z","2.3.4":"2021-11-16T08:10:11.105Z","3.0.0":"2021-12-17T14:34:52.880Z","3.0.1":"2021-12-27T19:41:47.961Z","3.0.2":"2022-01-03T21:25:51.693Z","3.0.3":"2022-02-05T03:00:46.672Z","3.1.0":"2022-02-11T09:31:24.543Z","3.1.1":"2022-02-18T04:15:21.408Z","4.0.0-canary.1":"2022-02-18T17:36:30.586Z","3.1.2":"2022-03-23T00:33:05.802Z","3.1.3":"2022-05-21T00:59:58.869Z","3.1.4":"2022-06-26T16:50:35.213Z","3.1.5":"2022-06-26T18:15:47.309Z","3.1.6":"2022-06-30T12:52:49.364Z","3.1.7":"2022-07-27T10:28:13.331Z","3.1.8":"2023-01-03T23:39:57.170Z","3.1.9":"2023-10-03T11:31:19.812Z","4.0.0-canary.2":"2023-11-04T17:55:34.400Z","3.1.10":"2023-11-04T19:16:49.414Z","3.2.0":"2024-01-04T09:20:36.203Z","4.0.0":"2024-01-15T07:02:48.591Z","4.0.1":"2024-01-16T03:29:38.138Z","4.0.2":"2024-01-16T09:06:20.427Z","4.0.3":"2024-01-18T12:17:26.568Z","4.0.4":"2024-03-02T08:18:06.613Z","4.0.5":"2024-03-03T00:33:48.303Z","4.0.6":"2024-04-12T22:38:22.319Z","4.0.7":"2024-04-17T02:17:58.055Z","4.0.8":"2024-06-10T22:47:27.705Z","4.0.9":"2024-09-13T10:13:35.352Z","4.0.10":"2024-09-18T14:06:44.097Z","4.0.11":"2024-09-18T16:42:33.669Z","4.0.12":"2024-10-17T13:21:15.204Z","4.0.13":"2024-10-22T07:10:37.949Z","4.0.14":"2024-10-22T13:10:45.887Z","4.0.15":"2025-02-27T10:34:10.645Z","4.0.16":"2025-03-27T10:12:24.795Z","5.0.0":"2025-07-19T12:34:06.148Z","5.0.1":"2025-08-21T22:54:19.866Z","5.0.2":"2025-08-22T02:57:05.466Z","5.0.3":"2025-09-04T06:55:41.964Z","5.0.4":"2026-03-22T21:36:53.790Z","5.0.5":"2026-05-03T07:14:43.559Z","5.0.6":"2026-08-11T05:35:37.711Z","5.0.7":"2026-08-16T00:14:01.836Z"},"bugs":{"url":"https://github.com/Xunnamius/next-test-api-route-handler/issues"},"author":{"name":"Xunnamius"},"license":"MIT","homepage":"https://github.com/Xunnamius/next-test-api-route-handler#readme","keywords":["api","route","next","unit","test","endpoint","testing","nextjs","next.js","handler","request","response","jest"],"repository":{"type":"git","url":"git+https://github.com/Xunnamius/next-test-api-route-handler.git"},"description":"Confidently unit and integration test your Next.js API routes/handlers in an isolated Next.js-like environment","maintainers":[{"name":"xunnamius","email":"git@bernarddickens.dev"}],"readme":"<!-- symbiote-template-region-start 1 -->\n\n<p align=\"center\" width=\"100%\">\n  <img width=\"300\" src=\"https://raw.githubusercontent.com/Xunnamius/next-test-api-route-handler/refs/heads/main/logo.png\">\n</p>\n\n<p align=\"center\" width=\"100%\">\n<!-- symbiote-template-region-end -->\nConfidently test your Next.js API routes in an isolated Next-like environment\n<!-- symbiote-template-region-start 2 -->\n</p>\n\n<hr />\n\n<div align=\"center\">\n\n[![Black Lives Matter!][x-badge-blm-image]][x-badge-blm-link]\n[![Last commit timestamp][x-badge-lastcommit-image]][x-badge-repo-link]\n[![Codecov][x-badge-codecov-image]][x-badge-codecov-link]\n[![Source license][x-badge-license-image]][x-badge-license-link]\n[![Uses Semantic Release!][x-badge-semanticrelease-image]][x-badge-semanticrelease-link]\n\n[![NPM version][x-badge-npm-image]][x-badge-npm-link]\n[![Monthly Downloads][x-badge-downloads-image]][x-badge-downloads-link]\n\n</div>\n\n<br />\n\n# next-test-api-route-handler\n\n<!-- symbiote-template-region-end -->\n\n**Trying to unit test your Next.js API routes?** Tired of hacking something\ntogether with express or node-mocks-http or writing a bunch of boring dummy\ninfra just to get some passing tests? And what does a \"passing test\" mean anyway\nwhen your handlers aren't receiving _actual_ [`NextRequest`][1] objects and\naren't being run by Next.js itself?\n\n> Next.js patches the global `fetch` function, for instance. If your tests\n> aren't doing the same, you're making space for bugs!\n\nIs it vexing that everything explodes when your [App Router][2] handlers call\n`headers()` or `cookies()` or any of the other route-specific [helper\nfunctions][3]? Or maybe you want your [Pages Router][4] handlers to receive\n_actual_ [`NextApiRequest`][5] and [`NextApiResponse`][5] objects?\n\nSound interesting? Then want no longer! 🤩\n\n[`next-test-api-route-handler`][x-badge-repo-link] (NTARH) uses Next.js's\ninternal resolvers to precisely emulate route handling. To guarantee stability,\nthis package is [automatically tested][6] against [each release of Next.js][7]\nand Node.js. Go forth and test confidently!\n\n<br />\n\n<div align=\"center\">\n\n✨ <a href=\"https://github.com/vercel/next.js\"><img\nsrc=\"https://xunn.at/ntarh-compat\" /></a> ✨\n\n<sub>Note that App Router support begins with `next@14.0.4` ([why?][8])</sub>\n\n</div>\n\n<br />\n\n<!-- symbiote-template-region-start 3 -->\n\n---\n\n<!-- remark-ignore-start -->\n<!-- symbiote-template-region-end -->\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n- [Install](#install)\n- [Usage](#usage)\n  - [Quick Start: App Router](#quick-start-app-router)\n  - [Quick Start: Edge Runtime](#quick-start-edge-runtime)\n  - [Quick Start: Pages Router](#quick-start-pages-router)\n- [API](#api)\n  - [`appHandler`](#apphandler)\n  - [`pagesHandler`](#pageshandler)\n  - [`test`](#test)\n  - [`rejectOnHandlerError`](#rejectonhandlererror)\n  - [`requestPatcher` (`url`)](#requestpatcher-url)\n  - [`responsePatcher`](#responsepatcher)\n  - [`paramsPatcher` (`params`)](#paramspatcher-params)\n- [Examples](#examples)\n  - [Using the App Router](#using-the-app-router)\n  - [Using the Pages Router](#using-the-pages-router)\n- [Appendix](#appendix)\n  - [Limitations with App Router and Edge Runtime Emulation](#limitations-with-app-router-and-edge-runtime-emulation)\n  - [Legacy Runtime Support](#legacy-runtime-support)\n  - [Jsdom Support](#jsdom-support)\n  - [Inspiration](#inspiration)\n  - [Published Package Details](#published-package-details)\n  - [License](#license)\n- [Contributing and Support](#contributing-and-support)\n  - [Contributors](#contributors)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n<!-- symbiote-template-region-start 4 -->\n<!-- remark-ignore-end -->\n\n<br />\n\n## Install\n\n<!-- symbiote-template-region-end -->\n\nTo install:\n\n```shell\nnpm install --save-dev next-test-api-route-handler\n```\n\n> See [the appendix][9] for legacy Next.js support options.\n\n> Also see [the appendix][10] if you're using `jest` (or `vitest`) with\n> `jest-environment-jsdom` / `jsdom` / `jest-fixed-jsdom`. Note that **you\n> should not be using a dom-like environment to test your API handlers.**\n\n<br />\n\n## Usage\n\n> [!IMPORTANT]\n>\n> **NTARH must always be the first import in your test file.** This is due to\n> the way Next.js is written and distributed. See [the appendix][11] for\n> technical details.\n\n```typescript\n// ESM\nimport { testApiHandler } from 'next-test-api-route-handler'; // ◄ Must be first\n\n... all other imports ...\n```\n\n```javascript\n// CJS\nconst { testApiHandler } = require('next-test-api-route-handler'); // ◄ Must be first\n\n... all other imports ...\n```\n\nIf you're using fancy import sorting like [eslint-plugin-import's \"order\"\nrule][102], import NTARH as a [side-effect][x-pkg-side-effects-key] first, then\nperform the real import later:\n\n```javascript\nimport 'next-test-api-route-handler';\n\n... all other imports ordered before NTARH ...\nimport { testApiHandler } from 'next-test-api-route-handler';\n... all other imports ordered after NTARH ...\n```\n\nOr, you can configure eslint-plugin-import to put the NTARH import above the\nothers ([example][106]).\n\n### Quick Start: App Router\n\n```typescript\n/* File: test/unit.test.ts */\n\nimport { testApiHandler } from 'next-test-api-route-handler'; // ◄ Must be first import\n// Import the handler under test from the app directory\nimport * as appHandler from '../app/your-endpoint/route';\n\nit('does what I want', async () => {\n  await testApiHandler({\n    appHandler,\n    // requestPatcher is optional\n    requestPatcher(request) {\n      request.headers.set('key', process.env.SPECIAL_TOKEN);\n    },\n    // responsePatcher is optional\n    async responsePatcher(response) {\n      const json = await response.json();\n      return Response.json(\n        json.apiSuccess ? { hello: 'world!' } : { goodbye: 'cruel world' }\n      );\n    },\n    async test({ fetch }) {\n      const res = await fetch({ method: 'POST', body: 'dummy-data' });\n      await expect(res.json()).resolves.toStrictEqual({ hello: 'world!' }); // ◄ Passes!\n    }\n  });\n});\n```\n\n### Quick Start: Edge Runtime\n\n```typescript\n/* File: test/unit.test.ts */\n\nimport { testApiHandler } from 'next-test-api-route-handler'; // ◄ Must be first import\n// Import the handler under test from the app directory\nimport * as edgeHandler from '../app/your-edge-endpoint/route';\n\nit('does what I want', async function () {\n  // NTARH supports optionally typed response data via TypeScript generics:\n  await testApiHandler<{ success: boolean }>({\n    // Only appHandler supports edge functions. The pagesHandler prop does not!\n    appHandler: edgeHandler,\n    // requestPatcher is optional\n    requestPatcher(request) {\n      return new Request(request, {\n        body: dummyReadableStream,\n        duplex: 'half'\n      });\n    },\n    async test({ fetch }) {\n      // The next line would cause TypeScript to complain:\n      // const { luck: success } = await (await fetch()).json();\n      await expect((await fetch()).json()).resolves.toStrictEqual({\n        success: true // ◄ Passes!\n      });\n    }\n  });\n});\n```\n\n### Quick Start: Pages Router\n\n```typescript\n/* File: test/unit.test.ts */\n\nimport { testApiHandler } from 'next-test-api-route-handler'; // ◄ Must be first import\n// Import the handler under test and its config from the pages/api directory\nimport * as pagesHandler from '../pages/api/your-endpoint';\n\nit('does what I want', async () => {\n  // NTARH supports optionally typed response data via TypeScript generics:\n  await testApiHandler<{ hello: string }>({\n    pagesHandler,\n    requestPatcher: (req) => {\n      req.headers = { key: process.env.SPECIAL_TOKEN };\n    },\n    test: async ({ fetch }) => {\n      const res = await fetch({ method: 'POST', body: 'data' });\n      // The next line would cause TypeScript to complain:\n      // const { goodbye: hello } = await res.json();\n      const { hello } = await res.json();\n      expect(hello).toBe('world'); // ◄ Passes!\n    }\n  });\n});\n```\n\n<br />\n\n## API\n\nNTARH exports a single function, `testApiHandler(options)`, that accepts an\n`options` object as its only parameter.\n\nAt minimum, `options` must contain the following properties:\n\n- At least one of the `appHandler` or `pagesHandler` options, but not both.\n- The `test` option.\n\nFor example:\n\n> [!CAUTION]\n>\n> Ensuring `testApiHandler` is imported [_before_][12] any Next.js package (like\n> `'next/headers'` below) is crucial to the proper function of NTARH. Doing\n> otherwise will result in undefined behavior.\n\n```typescript\nimport { testApiHandler } from 'next-test-api-route-handler';\nimport { headers } from 'next/headers';\n\nawait testApiHandler({\n  appHandler: {\n    dynamic: 'force-dynamic',\n    async GET(_request) {\n      return Response.json(\n        {\n          // Yep, those fancy helper functions work too!\n          hello: (await headers()).get('x-hello')\n        },\n        { status: 200 }\n      );\n    }\n  },\n  async test({ fetch }) {\n    await expect(\n      (await fetch({ headers: { 'x-hello': 'world' } })).json()\n    ).resolves.toStrictEqual({\n      hello: 'world'\n    });\n  }\n});\n```\n\n<br />\n\n### `appHandler`\n\n> ⪢ API reference: [`appHandler`][13]\n\nThe actual route handler under test (usually imported from `app/*`). It should\nbe an object and/or exported module containing one or more [valid uppercase HTTP\nmethod names][14] as keys, each with an [async handling function][15] that\naccepts a [`NextRequest`][1] and [\"segment data\"][16] (i.e. `{ params }`) as its\ntwo parameters. The object or module can also export [other configuration\nsettings recognized by Next.js][17].\n\n```typescript\nawait testApiHandler({\n  params: { id: 5 },\n  appHandler: {\n    async POST(request, { params: { id } }) {\n      return Response.json(\n        { special: request.headers.get('x-special-header'), id },\n        { status: 200 }\n      );\n    }\n  },\n  async test({ fetch }) {\n    expect((await fetch({ method: 'POST' })).status).toBe(200);\n\n    const result2 = await fetch({\n      method: 'POST',\n      headers: { 'x-special-header': 'x' }\n    });\n\n    expect(result2.json()).toStrictEqual({ special: 'x', id: 5 });\n  }\n});\n```\n\nSee also: [`rejectOnHandlerError`][18] and the section [Working Around Next.js\n`fetch` Patching][19].\n\n<br />\n\n### `pagesHandler`\n\n> ⪢ API reference: [`pagesHandler`][20]\n\nThe actual route handler under test (usually imported from `pages/api/*`). It\nshould be an async function that accepts [`NextApiRequest`][5] and\n[`NextApiResponse`][5] objects as its two parameters.\n\n```typescript\nawait testApiHandler({\n  params: { id: 5 },\n  pagesHandler: (req, res) => res.status(200).send({ id: req.query.id }),\n  test: async ({ fetch }) =>\n    expect((await fetch({ method: 'POST' })).json()).resolves.toStrictEqual({\n      id: 5\n    })\n});\n```\n\nSee also: [`rejectOnHandlerError`][18].\n\n<br />\n\n### `test`\n\n> ⪢ API reference: [`test`][21]\n\nAn async or promise-returning function wherein test assertions can be run. This\nfunction receives one destructured parameter: `fetch`, which is a wrapper around\nNode's [global fetch][22] function. Use this to send HTTP requests to the\nhandler under test.\n\n> [!CAUTION]\n>\n> Note that `fetch`'s `resource` parameter, _i.e. [the first parameter in\n> `fetch(...)`][23]_, is omitted.\n\n#### ⚙ Handling Redirections\n\nStarting with version `4.0.4`, NTARH sets the [`fetch(...)` `options`][24]\nparameter's [`redirect` property to `'manual'`][25] by default. This prevents\nthe WHATWG/undici `fetch` function from throwing a\n`fetch failed`/`redirect count exceeded` error.\n\nIf you want to change this value, call `fetch` with your own custom `options`\nparameter, e.g. `fetch({ redirect: 'error' })`.\n\n#### ⚙ Compatibility with Mock Service Worker\n\nStarting with version `4.0.0`, NTARH ships with [Mock Service Worker (msw)][26]\nsupport by adding the [`x-msw-intention: \"bypass\"`][27] and\n`x-msw-bypass: \"true\"` headers to all requests.\n\nIf necessary, you can override this behavior by setting the appropriate headers\nto some other value (e.g. `\"none\"`) via `fetch`'s `customInit` parameter (not\n`requestPatcher`). This comes in handy when testing functionality like\n[arbitrary response redirection][28] (or via the [Pages Router][29]).\n\nFor example:\n\n```typescript\nimport { testApiHandler } from 'next-test-api-route-handler';\nimport { http, passthrough, HttpResponse } from 'msw';\nimport { setupServer } from 'msw/node';\n\nconst server = setupServer(/* ... */);\n\nbeforeAll(() => server.listen({ onUnhandledRequest: 'error' }));\n\nafterEach(() => {\n  server.resetHandlers();\n});\n\nafterAll(() => server.close());\n\nit('redirects a shortened URL to the real URL', async () => {\n  expect.hasAssertions();\n\n  // e.g. https://xunn.at/gg => https://www.google.com/search?q=next-test-api-route-handler\n  // shortId would be \"gg\"\n  // realLink would be https://www.google.com/search?q=next-test-api-route-handler\n\n  const { shortId, realLink } = getUriEntry();\n  const realUrl = new URL(realLink);\n\n  await testApiHandler({\n    appHandler,\n    params: { shortId },\n    test: async ({ fetch }) => {\n      server.use(\n        http.get('*', async ({ request }) => {\n          return request.url === realUrl.href\n            ? HttpResponse.json({ it: 'worked' }, { status: 200 })\n            : passthrough();\n        })\n      );\n\n      const res = await fetch({\n        headers: { 'x-msw-intention': 'none' } // <==\n      });\n\n      await expect(res.json()).resolves.toMatchObject({ it: 'worked' });\n      expect(res.status).toBe(200);\n    }\n  });\n});\n```\n\n#### ⚙ `response.cookies`\n\nAs of version `2.3.0`, the response object returned by `fetch()` includes a\nnon-standard _cookies_ field containing an array of objects representing\n[`set-cookie` response header(s)][30] parsed by [the `cookie` package][31]. Use\nthe _cookies_ field to easily access a response's cookie data in your tests.\n\nHere's an example taken straight from the [unit tests][32]:\n\n```typescript\nimport { testApiHandler } from 'next-test-api-route-handler';\n\nit('handles multiple set-cookie headers', async () => {\n  expect.hasAssertions();\n\n  await testApiHandler({\n    pagesHandler: (_, res) => {\n      // Multiple calls to setHeader('Set-Cookie', ...) overwrite previous, so\n      // we have to set the Set-Cookie header properly\n      res\n        .setHeader('Set-Cookie', [\n          serializeCookieHeader('access_token', '1234', {\n            expires: new Date()\n          }),\n          serializeCookieHeader('REFRESH_TOKEN', '5678')\n        ])\n        .status(200)\n        .send({});\n    },\n    test: async ({ fetch }) => {\n      expect((await fetch()).status).toBe(200);\n      await expect((await fetch()).json()).resolves.toStrictEqual({});\n      expect((await fetch()).cookies).toStrictEqual([\n        {\n          access_token: '1234',\n          // Lowercased cookie property keys are available\n          expires: expect.any(String),\n          // Raw cookie property keys are also available\n          Expires: expect.any(String)\n        },\n        { refresh_token: '5678', REFRESH_TOKEN: '5678' }\n      ]);\n    }\n  });\n});\n```\n\n<br />\n\n### `rejectOnHandlerError`\n\n> ⪢ API reference: [`rejectOnHandlerError`][33]\n\nAs of version `2.3.0`, unhandled errors in the `pagesHandler`/`appHandler`\nfunction are kicked up to Next.js to handle.\n\n> [!IMPORTANT]\n>\n> **This means `testApiHandler` will NOT reject or throw if an unhandled error\n> occurs in `pagesHandler`/`appHandler`, which typically includes failing\n> `expect()` assertions.**\n\nInstead, the response returned by `fetch()` in your `test` function will have a\n`HTTP 500` status [thanks to how Next.js deals with unhandled errors in\nproduction][34]. Prior to `2.3.0`, NTARH's behavior on unhandled errors and\nelsewhere was inconsistent. Version `3.0.0` further improved error handling,\nensuring no errors slip by uncaught.\n\nTo guard against false negatives, you can do either of the following:\n\n1. Make sure the status of the `fetch()` response is what you're expecting:\n\n```typescript\nconst res = await fetch();\n...\n// For this test, a 403 status is what we wanted\nexpect(res.status).toBe(403);\n...\nconst res2 = await fetch();\n...\n// Later, we expect an \"unhandled\" error\nexpect(res2.status).toBe(500);\n```\n\n2. If you're using version `>=3.0.0`, you can use `rejectOnHandlerError` to tell\n   NTARH to intercept unhandled handler errors and reject the promise returned\n   by `testApiHandler` _instead_ of relying on Next.js to respond with\n   `HTTP 500`. This is especially useful if you have `expect()` assertions\n   _inside_ your handler function:\n\n```typescript\nawait expect(\n  testApiHandler({\n    rejectOnHandlerError: true, // <==\n    pagesHandler: (_req, res) => {\n      res.status(200);\n      throw new Error('bad bad not good');\n    },\n    test: async ({ fetch }) => {\n      const res = await fetch();\n      // By default, res.status would be 500...\n      //expect(res.status).toBe(500);\n    }\n  })\n  // ...but since we used rejectOnHandlerError, the whole promise rejects\n  // instead\n).rejects.toThrow('bad not good');\n\nawait testApiHandler({\n  rejectOnHandlerError: true, // <==\n  appHandler: {\n    async GET(request) {\n      // Suppose this expectation fails\n      await expect(backend.getSomeStuff(request)).resolves.toStrictEqual(\n        someStuff\n      );\n\n      return new Response(null, { status: 200 });\n    }\n  },\n  test: async ({ fetch }) => {\n    await fetch();\n    // By default, res.status would be 500 due to the failing expect(). If we\n    // don't also expect() a non-500 response status here, the failing\n    // expectation in the handler will be swallowed and the test will pass\n    // (a false negative).\n  }\n});\n// ...but since we used rejectOnHandlerError, the whole promise rejects\n// and it is reported that the test failed, which is probably what you wanted.\n```\n\n<br />\n\n### `requestPatcher` (`url`)\n\n> [!TIP]\n>\n> Manually setting the request url is usually unnecessary. Only set the url if\n> [your handler expects it][35] or [you want to rely on query string parsing\n> instead of `params`/`paramsPatcher`][36].\n\n#### 💎 Using `appHandler`\n\n> ⪢ API reference: [`requestPatcher`][37], [`url`][38]\n\n`requestPatcher` is a function that receives a [`NextRequest`][1] object and\nreturns a [`Request`][39] instance. Use this function to edit the request\n_before_ it's injected into the handler.\n\n> [!CAUTION]\n>\n> Be wary returning a brand new request from `requestPatcher` (i.e.\n> `new NextRequest(newUrl)` instead of `new NextRequest(newUrl, oldRequest)`),\n> especially one that is missing standard headers added by `fetch(...)`. If\n> you're getting strange JSON-related errors or hanging tests, ensure this is\n> not the cause.\n\nThe returned [`Request`][39] instance will be wrapped with [`NextRequest`][1] if\nit is not already an instance of [`NextRequest`][1], i.e.:\n\n```typescript\nconst returnedRequest = (await requestPatcher?.(request)) || request;\nconst nextRequest = new NextRequest(returnedRequest, { ... });\n```\n\nIf you're only setting the request url, use the `url` shorthand instead:\n\n```typescript\nawait testApiHandler({\n  // requestPatcher: (request) => new Request('ntarh:///my-url?some=query', request),\n  url: '/my-url?some=query'\n});\n```\n\n> [!NOTE]\n>\n> Unlike the Pages Router's `NextApiRequest` type, the App Router's\n> `NextRequest` class [does not support relative URLs][40]. Therefore, whenever\n> you pass a relative url string via the `url` shorthand (e.g.\n> `{ url: '/my-url?some=query' }`), NTARH will wrap that url like so:\n> `new URL(url, 'ntarh://')`. In this case, your requests will have urls like\n> `ntarh:///my-url?some=query`.\n\n##### URL Normalization\n\nBy default, when initializing the `NextRequest` object passed to your handler,\nif a URL with an empty `pathname` is encountered, NTARH sets said URL's\n`pathname` to `\"/\"` on your behalf. Additionally, if said URL is missing `host`\nand/or `protocol`, NTARH sets `host` to `\"\"` and `protocol` to `\"ntarh:\"`.\n\nIf you want your handler to receive the URL string and resulting\n`NextRequest::nextUrl` object exactly as you've typed it, use `requestPatcher`,\nwhich is executed after NTARH does URL normalization.\n\n#### 🔷 Using `pagesHandler`\n\n> ⪢ API reference: [`requestPatcher`][41], [`url`][42]\n\n`requestPatcher` is a function that receives an [`IncomingMessage`][43]. Use\nthis function to modify the request _before_ it's injected into Next.js's\nresolver.\n\nIf you're only setting the request url, use the `url` shorthand instead:\n\n```typescript\nawait testApiHandler({\n  // requestPatcher: (req) => { req.url = '/my-url?some=query'; }\n  url: '/my-url?some=query'\n});\n```\n\nNote that, unlike with [the `URL` class][44], the `url` string can be relative.\n\n<br />\n\n### `responsePatcher`\n\n#### 💎 Using `appHandler`\n\n> ⪢ API reference: [`responsePatcher`][45]\n\n`responsePatcher` is a function that receives the [`Response`][46] object\nreturned from `appHandler` and returns a [`Response`][46] instance. Use this\nfunction to edit the response _after_ your handler runs but _before_ it's\nprocessed by the server.\n\n#### 🔷 Using `pagesHandler`\n\n> ⪢ API reference: [`responsePatcher`][47]\n\n`responsePatcher` is a function that receives a [`ServerResponse`][48] object.\nUse this function to edit the response _before_ it's injected into the handler.\n\n<br />\n\n### `paramsPatcher` (`params`)\n\n`paramsPatcher` is a function that receives an object representing \"processed\"\n[dynamic segments][49] (aka: routes, slugs).\n\nFor example, to test a handler normally accessible from `/api/user/:id` requires\npassing that handler a value for the \"id\" dynamic segment:\n\n```typescript\nawait testApiHandler({\n  paramsPatcher(params) {\n    params.id = 'test-id';\n  }\n});\n```\n\nOr:\n\n```typescript\nawait testApiHandler({\n  paramsPatcher: (params) => ({ id: 'test-id' })\n});\n```\n\nParameters can also be passed using the `params` shorthand:\n\n```typescript\nawait testApiHandler({\n  params: {\n    id: 'test-id'\n  }\n});\n```\n\n> [!TIP]\n>\n> Due to its simplicity, favor the `params` shorthand over `paramsPatcher`.\n\n#### 💎 Using `appHandler`\n\n> ⪢ API reference: [`paramsPatcher`][50], [`params`][51]\n\n> [!IMPORTANT]\n>\n> Note that, starting with `next@15`, the `params` object passed to handlers via\n> the context parameter [is now a (Frankensteinian) promise][52]. This means\n> tests like `expect(params).toStrictEqual(...)` will no longer work unless\n> `params` is first `await`-ed. More information [here][53].\n\nIf both `paramsPatcher` and the `params` shorthand are used, `paramsPatcher`\nwill receive `params` as its first argument.\n\n> Route parameters should not be confused with [query string parameters][54],\n> which are automatically parsed out from the url and made available via the\n> [`NextRequest`][1] argument passed to your handler.\n\n#### 🔷 Using `pagesHandler`\n\n> ⪢ API reference: [`paramsPatcher`][55], [`params`][56]\n\nIf both `paramsPatcher` and the `params` shorthand are used, `paramsPatcher`\nwill receive an object like `{ ...queryStringURLParams, ...params }` as its\nfirst argument.\n\n> Route parameters should not be confused with [query string parameters][54],\n> which are automatically parsed out from the url and added to the `params`\n> object before `paramsPatcher` is evaluated.\n\n<br />\n\n## Examples\n\nWhat follows are several examples that demonstrate using NTARH with the [App\nRouter][57] and the [Pages Router][58].\n\nCheck out [the tests][59] for even more examples.\n\n<br />\n\n### Using the App Router\n\nThese examples use Next.js's [App Router][60] API.\n\n#### Testing Apollo's Official Next.js Integration @ `app/api/graphql`\n\nThis example is based on [the official Apollo Next.js App Router\nintegration][61]. You can run it yourself by copying and pasting the following\ncommands into your terminal.\n\n> The following should be run in a nix-like environment. On Windows, that's\n> [WSL][62]. Requires `curl`, `node`, and `git`.\n\n```bash\nmkdir -p /tmp/ntarh-test/test\ncd /tmp/ntarh-test\nnpm install --force next @apollo/server @as-integrations/next graphql-tag next-test-api-route-handler jest babel-jest @babel/core @babel/preset-env\necho 'module.exports={presets:[\"@babel/preset-env\"]};' > babel.config.js\nmkdir -p app/api/graphql\ncurl -o app/api/graphql/route.js https://raw.githubusercontent.com/Xunnamius/next-test-api-route-handler/main/apollo_test_raw_app_route\ncurl -o test/integration.test.js https://raw.githubusercontent.com/Xunnamius/next-test-api-route-handler/main/apollo_test_raw_app_test\nnpx jest\n```\n\nThis script creates a new temporary directory, installs NTARH and configures\ndependencies, downloads the [app route][63] and [jest test][64] files shown\nbelow, and runs the test using [jest][65].\n\nThe following is our new app route:\n\n```typescript\n/* File: app/api/graphql/route.js */\n\nimport { ApolloServer } from '@apollo/server';\nimport { startServerAndCreateNextHandler } from '@as-integrations/next';\nimport { gql } from 'graphql-tag';\n\nconst resolvers = {\n  Query: {\n    hello: () => 'world'\n  }\n};\n\nconst typeDefs = gql`\n  type Query {\n    hello: String\n  }\n`;\n\nconst server = new ApolloServer({\n  resolvers,\n  typeDefs\n});\n\nconst handler = startServerAndCreateNextHandler(server);\n\nexport { handler as GET, handler as POST };\n```\n\nAnd with the following jest test, we ensure our route integrates with Apollo\ncorrectly:\n\n```typescript\n/* File: tests/integration.test.js */\n\nimport { testApiHandler } from 'next-test-api-route-handler';\n// Import the handler under test from the app/api directory\nimport * as appHandler from '../app/api/graphql/route';\n\ndescribe('my-test (app router)', () => {\n  it('does what I want 1', async () => {\n    expect.hasAssertions();\n\n    await testApiHandler({\n      appHandler,\n      test: async ({ fetch }) => {\n        const query = `query { hello }`;\n\n        const res = await fetch({\n          method: 'POST',\n          headers: {\n            'content-type': 'application/json' // Must use correct content type\n          },\n          body: JSON.stringify({ query })\n        });\n\n        await expect(res.json()).resolves.toStrictEqual({\n          data: { hello: 'world' }\n        });\n      }\n    });\n  });\n\n  it('does what I want 2', async () => {\n    // Exactly the same as the above...\n  });\n\n  it('does what I want 3', async () => {\n    // Exactly the same as the above...\n  });\n});\n```\n\n#### Testing Clerk's Official Next.js Integration @ `app/api/authed`\n\nSuppose we created a new _authenticated_ API endpoint at `app/api/authed` by\n[cloning the Clerk App Router demo repo][66] and following [Clerk's quick-start\nguide for Next.js][67]:\n\n```typescript\n/* File: app/api/authed/route.ts */\n\nimport { auth } from '@clerk/nextjs';\n\nexport async function GET() {\n  const { userId } = auth();\n  return Response.json({ isAuthed: !!userId, userId });\n}\n```\n\nHow might we test that this endpoint functions as we expect?\n\n```typescript\n/* File: test/unit.test.ts */\n\nimport { testApiHandler } from 'next-test-api-route-handler';\nimport * as appHandler from '../app/api/authed/route';\n\nimport type { auth } from '@clerk/nextjs';\n\nlet mockedClerkAuthReturnValue: Partial<ReturnType<typeof auth>> | undefined =\n  undefined;\n\njest.mock('@clerk/nextjs', () => {\n  return {\n    auth() {\n      return mockedClerkAuthReturnValue;\n    }\n  };\n});\n\nafterEach(() => {\n  mockedClerkAuthReturnValue = undefined;\n});\n\nit('returns isAuthed: true and a userId when authenticated', async () => {\n  expect.hasAssertions();\n\n  mockedClerkAuthReturnValue = { userId: 'winning' };\n\n  await testApiHandler({\n    appHandler,\n    test: async ({ fetch }) => {\n      await expect((await fetch()).json()).resolves.toStrictEqual({\n        isAuthed: true,\n        userId: 'winning'\n      });\n    }\n  });\n});\n\nit('returns isAuthed: false and nothing else when unauthenticated', async () => {\n  expect.hasAssertions();\n\n  mockedClerkAuthReturnValue = { userId: null };\n\n  await testApiHandler({\n    appHandler,\n    test: async ({ fetch }) => {\n      await expect((await fetch()).json()).resolves.toStrictEqual({\n        isAuthed: false,\n        userId: null\n      });\n    }\n  });\n});\n```\n\nIf you're feeling more adventurous, you can transform this unit test into an\n_integration_ test (like the Apollo example above) by calling Clerk's\n[`authMiddleware`][68] function in `appHandler` instead of mocking\n`@clerk/nextjs`:\n\n```typescript\n// This integration test also requires your Clerk dashboard is setup in test\n// mode and your Clerk secret key information is available in process.env. Said\n// information must be available BEFORE any Clerk packages are imported! You\n// will also have to setup authMiddleware properly in ../middleware.ts\n\n/* ... same imports as before ... */\n// Also import our Next.js middleware\nimport { default as middleware } from '../middleware';\n// And we want to keep our types as tight as we can too\nimport type { NextRequest } from 'next/server';\n\nconst DUMMY_CLERK_USER_ID = 'user_2aqlGWnjdTRRbbBk9OdBHHbniyK';\n\nit('returns isAuthed: true and a userId when authenticated', async () => {\n  expect.hasAssertions();\n\n  await testApiHandler({\n    rejectOnHandlerError: true,\n    // You may want to alter the default URL pathname like below if your Clerk\n    // middleware is using path-based filtering. By default, the pathname\n    // will always be '/' because 'ntarh://testApiHandler/' is the default url\n    url: 'ntarh://app/api/authed',\n    appHandler: {\n      get GET() {\n        return async function (...args: Parameters<typeof appHandler.GET>) {\n          const request = args.at(0) as unknown as NextRequest;\n          const middlewareResponse = await middleware(request, {/* ... */});\n\n          // Make sure we're not being redirected to the sign in page since\n          // this is a publicly available endpoint\n          expect(middlewareResponse.headers.get('location')).toBeNull();\n          expect(middlewareResponse.ok).toBe(true);\n\n          const handlerResponse = await appHandler.GET(...args);\n\n          // You could run some expectations here (since rejectOnHandlerError is\n          // true), or you can run your remaining expectations in the test\n          // function below. Either way is fine.\n\n          return handlerResponse;\n        };\n      }\n    },\n    test: async ({ fetch }) => {\n      await expect((await fetch()).json()).resolves.toStrictEqual({\n        isAuthed: true,\n        userId: DUMMY_CLERK_USER_ID\n      });\n    }\n  });\n});\n\n/* ... */\n```\n\nYou can also try calling [`authMiddleware`][68] in `requestPatcher`; however,\nClerk's middleware does its magic by importing the `headers` helper function\nfrom `'next/headers'`, and **only functions invoked within `appHandler` have\naccess to the storage context that allows Next.js's helper functions to work**.\nFor insight into what you'd need to do to make [`authMiddleware`][68] callable\nin `requestPatcher`, check out [Clerk's own tests][69].\n\n#### Testing an Unreliable Handler on the Edge @ `app/api/unreliable`\n\nSuppose we have an API endpoint we use to test our application's error handling.\nThe endpoint responds with status code `HTTP 200` for every request except the\n10th, where status code `HTTP 555` is returned instead.\n\nHow might we test that this endpoint responds with `HTTP 555` once for every\nnine `HTTP 200` responses?\n\n```typescript\n/* File: test/unit.test.ts */\n\nimport { testApiHandler } from 'next-test-api-route-handler';\n// Import the handler under test from the app/api directory\nimport * as edgeHandler from '../app/api/unreliable';\n\nconst expectedReqPerError = 10;\n\nit('injects contrived errors at the required rate', async () => {\n  expect.hasAssertions();\n\n  // Signal to the edge endpoint (which is configurable) that there should be 1\n  // error among every 10 requests\n  process.env.REQUESTS_PER_CONTRIVED_ERROR = expectedReqPerError.toString();\n\n  await testApiHandler({\n    appHandler: edgeHandler,\n    requestPatcher(request) {\n      // Our edge handler expects Next.js to provide geo and ip data with the\n      // request, so let's add some. This is also where you'd mock/emulate the\n      // effects of any Next.js middleware\n      //\n      // IMPORTANT: starting with next@15, geo/ip have been removed from\n      // NextRequest and were functionally replaced by @vercel/function\n      // https://github.com/vercel/next.js/pull/68379\n      // https://nextjs.org/docs/app/building-your-application/upgrading/version-15#nextrequest-geolocation\n      return new NextRequest(request, {\n        geo: { city: 'Chicago', country: 'United States' },\n        ip: '110.10.77.7'\n      });\n    },\n    test: async ({ fetch }) => {\n      // Run 20 requests with REQUESTS_PER_CONTRIVED_ERROR = '10' and\n      // record the results\n      const results1 = await Promise.all(\n        [\n          ...Array.from({ length: expectedReqPerError - 1 }).map(() =>\n            fetch({ method: 'GET' })\n          ),\n          fetch({ method: 'POST' }),\n          ...Array.from({ length: expectedReqPerError - 1 }).map(() =>\n            fetch({ method: 'PUT' })\n          ),\n          fetch({ method: 'DELETE' })\n        ].map((p) => p.then((r) => r.status))\n      );\n\n      process.env.REQUESTS_PER_CONTRIVED_ERROR = '0';\n\n      // Run 10 requests with REQUESTS_PER_CONTRIVED_ERROR = '0' and record the\n      // results\n      const results2 = await Promise.all(\n        Array.from({ length: expectedReqPerError }).map(() =>\n          fetch().then((r) => r.status)\n        )\n      );\n\n      // We expect results1 to be an array with eighteen `200`s and two\n      // `555`s in any order\n      //\n      // https://github.com/jest-community/jest-extended#toincludesamemembersmembers\n      // because responses could be received out of order\n      expect(results1).toIncludeSameMembers([\n        ...Array.from({ length: expectedReqPerError - 1 }).map(() => 200),\n        555,\n        ...Array.from({ length: expectedReqPerError - 1 }).map(() => 200),\n        555\n      ]);\n\n      // We expect results2 to be an array with ten `200`s\n      expect(results2).toStrictEqual([\n        ...Array.from({ length: expectedReqPerError }).map(() => 200)\n      ]);\n    }\n  });\n});\n```\n\n<br />\n\n### Using the Pages Router\n\nThese examples use Next.js's [Pages Router][70] API.\n\n#### Testing Next.js's Official Apollo Example @ `pages/api/graphql`\n\nThis example uses the [official Next.js Apollo demo][71]. You can easily run it\nyourself by copying and pasting the following commands into your terminal.\n\n> The following should be run in a nix-like environment. On Windows, that's\n> [WSL][62]. Requires `curl`, `node`, and `git`.\n\n```bash\ngit clone --depth=1 https://github.com/vercel/next.js /tmp/ntarh-test\ncd /tmp/ntarh-test/examples/api-routes-apollo-server-and-client\nnpm install --force\nnpm install --force next-test-api-route-handler jest babel-jest @babel/core @babel/preset-env\n# You could test with an older version of Next.js if you want, e.g.:\n# npm install --force next@9.0.6\n# Or even older:\n# npm install --force next@9.0.0 next-server\necho 'module.exports={presets:[\"@babel/preset-env\"]};' > babel.config.js\nmkdir test\ncurl -o test/integration.test.js https://raw.githubusercontent.com/Xunnamius/next-test-api-route-handler/main/apollo_test_raw\nnpx jest\n```\n\nThis script clones [the Next.js repository][72], installs NTARH and configures\ndependencies, downloads the [jest test][73] file shown below, and runs it using\n[jest][65] to ensure our route integrates with Apollo correctly.\n\n> [!IMPORTANT]\n>\n> Note that passing the [route configuration object][74] (imported below as\n> `config`) through to NTARH and setting `request.url` to the proper value [may\n> be necessary][75] when testing Apollo endpoints using the Pages Router.\n\n```typescript\n/* File: examples/api-routes-apollo-server-and-client/tests/integration.test.js */\n\nimport { testApiHandler } from 'next-test-api-route-handler';\n// Import the handler under test from the pages/api directory\nimport * as pagesHandler from '../pages/api/graphql';\n\ndescribe('my-test (pages router)', () => {\n  it('does what I want 1', async () => {\n    expect.hasAssertions();\n\n    await testApiHandler({\n      pagesHandler,\n      url: '/api/graphql', // Set the request url to the path graphql expects\n      test: async ({ fetch }) => {\n        const query = `query ViewerQuery {\n          viewer {\n            id\n            name\n            status\n          }\n        }`;\n\n        const res = await fetch({\n          method: 'POST',\n          headers: {\n            'content-type': 'application/json' // Must use correct content type\n          },\n          body: JSON.stringify({ query })\n        });\n\n        await expect(res.json()).resolves.toStrictEqual({\n          data: { viewer: { id: '1', name: 'John Smith', status: 'cached' } }\n        });\n      }\n    });\n  });\n\n  it('does what I want 2', async () => {\n    // Exactly the same as the above...\n  });\n\n  it('does what I want 3', async () => {\n    // Exactly the same as the above...\n  });\n});\n```\n\n#### Testing an Authenticated Flight Search Handler @ `pages/api/v3/flights/search`\n\nSuppose we have an _authenticated_ API endpoint our application uses to search\nfor flights. The endpoint responds with an array of flights satisfying the\nquery.\n\nHow might we test that this endpoint returns flights in our database as\nexpected?\n\n```typescript\n/* File: test/unit.test.ts */\n\nimport { testApiHandler } from 'next-test-api-route-handler';\nimport { DUMMY_API_KEY as KEY, getFlightData, RESULT_SIZE } from '../backend';\nimport * as pagesHandler from '../pages/api/v3/flights/search';\n\nimport type { PageConfig } from 'next';\n\nit('returns expected public flights with respect to match', async () => {\n  expect.hasAssertions();\n\n  // Get the flight data currently in the test database\n  const expectedFlights = getFlightData();\n\n  // Take any JSON object and stringify it into a URL-ready string\n  const encode = (o: Record<string, unknown>) =>\n    encodeURIComponent(JSON.stringify(o));\n\n  // This function will return in order the URIs we're interested in testing\n  // against our handler. Query strings are parsed by NTARH automatically.\n  //\n  // NOTE: setting the request url manually using encode(), while valid, is\n  // unnecessary here; we could have used `params` or `paramsPatcher` to do this\n  // more easily without explicitly setting a dummy request url.\n  //\n  // Example URI for `https://site.io/path?param=yes` would be `/path?param=yes`\n  const genUrl = (function* () {\n    // For example, the first should match all the flights from Spirit airlines!\n    yield `/?match=${encode({ airline: 'Spirit' })}`;\n    yield `/?match=${encode({ type: 'departure' })}`;\n    yield `/?match=${encode({ landingAt: 'F1A' })}`;\n    yield `/?match=${encode({ seatPrice: 500 })}`;\n    yield `/?match=${encode({ seatPrice: { $gt: 500 } })}`;\n    yield `/?match=${encode({ seatPrice: { $gte: 500 } })}`;\n    yield `/?match=${encode({ seatPrice: { $lt: 500 } })}`;\n    yield `/?match=${encode({ seatPrice: { $lte: 500 } })}`;\n  })();\n\n  await testApiHandler({\n    // Patch the request object to include our dummy URI\n    requestPatcher: (req) => {\n      req.url = genUrl.next().value || undefined;\n      // Could have done this instead of `fetch({ headers: { KEY }})` below:\n      // req.headers = { KEY };\n    },\n\n    pagesHandler,\n\n    test: async ({ fetch }) => {\n      // 8 URLs from genUrl means 8 calls to fetch:\n      const responses = await Promise.all(\n        Array.from({ length: 8 }).map(() =>\n          fetch({ headers: { KEY } }).then(async (r) => [\n            r.status,\n            await r.json()\n          ])\n        )\n      );\n\n      // We expect all of the responses to be 200\n      expect(responses.some(([status]) => status !== 200)).toBe(false);\n\n      // We expect the array of flights returned to match our\n      // expectations given we already know what dummy data will be\n      // returned:\n\n      // https://github.com/jest-community/jest-extended#toincludesamemembersmembers\n      // because responses could be received out of order\n      expect(responses.map(([, r]) => r.flights)).toIncludeSameMembers([\n        expectedFlights\n          .filter((f) => f.airline === 'Spirit')\n          .slice(0, RESULT_SIZE),\n        expectedFlights\n          .filter((f) => f.type === 'departure')\n          .slice(0, RESULT_SIZE),\n        expectedFlights\n          .filter((f) => f.landingAt === 'F1A')\n          .slice(0, RESULT_SIZE),\n        expectedFlights\n          .filter((f) => f.seatPrice === 500)\n          .slice(0, RESULT_SIZE),\n        expectedFlights.filter((f) => f.seatPrice > 500).slice(0, RESULT_SIZE),\n        expectedFlights.filter((f) => f.seatPrice >= 500).slice(0, RESULT_SIZE),\n        expectedFlights.filter((f) => f.seatPrice < 500).slice(0, RESULT_SIZE),\n        expectedFlights.filter((f) => f.seatPrice <= 500).slice(0, RESULT_SIZE)\n      ]);\n    }\n  });\n\n  // We expect these two to fail with 400 errors\n\n  await testApiHandler({\n    pagesHandler,\n    url: `/?match=${encode({ ffms: { $eq: 500 } })}`,\n    test: async ({ fetch }) =>\n      expect((await fetch({ headers: { KEY } })).status).toBe(400)\n  });\n\n  await testApiHandler({\n    pagesHandler,\n    url: `/?match=${encode({ bad: 500 })}`,\n    test: async ({ fetch }) =>\n      expect((await fetch({ headers: { KEY } })).status).toBe(400)\n  });\n});\n```\n\n#### Testing an Unreliable Handler @ `pages/api/unreliable`\n\nSuppose we have an API endpoint we use to test our application's error handling.\nThe endpoint responds with status code `HTTP 200` for every request except the\n10th, where status code `HTTP 555` is returned instead.\n\nHow might we test that this endpoint responds with `HTTP 555` once for every\nnine `HTTP 200` responses?\n\n```typescript\n/* File: test/unit.test.ts */\n\nimport { testApiHandler } from 'next-test-api-route-handler';\n// Import the handler under test from the pages/api directory\nimport * as pagesHandler from '../pages/api/unreliable';\n\nconst expectedReqPerError = 10;\n\nit('injects contrived errors at the required rate', async () => {\n  expect.hasAssertions();\n\n  // Signal to the endpoint (which is configurable) that there should be 1\n  // error among every 10 requests\n  process.env.REQUESTS_PER_CONTRIVED_ERROR = expectedReqPerError.toString();\n\n  await testApiHandler({\n    pagesHandler,\n    test: async ({ fetch }) => {\n      // Run 20 requests with REQUESTS_PER_CONTRIVED_ERROR = '10' and\n      // record the results\n      const results1 = await Promise.all(\n        [\n          ...Array.from({ length: expectedReqPerError - 1 }).map(() =>\n            fetch({ method: 'GET' })\n          ),\n          fetch({ method: 'POST' }),\n          ...Array.from({ length: expectedReqPerError - 1 }).map(() =>\n            fetch({ method: 'PUT' })\n          ),\n          fetch({ method: 'DELETE' })\n        ].map((p) => p.then((r) => r.status))\n      );\n\n      process.env.REQUESTS_PER_CONTRIVED_ERROR = '0';\n\n      // Run 10 requests with REQUESTS_PER_CONTRIVED_ERROR = '0' and record the\n      // results\n      const results2 = await Promise.all(\n        Array.from({ length: expectedReqPerError }).map(() =>\n          fetch().then((r) => r.status)\n        )\n      );\n\n      // We expect results1 to be an array with eighteen `200`s and two\n      // `555`s in any order\n      //\n      // https://github.com/jest-community/jest-extended#toincludesamemembersmembers\n      // because responses could be received out of order\n      expect(results1).toIncludeSameMembers([\n        ...Array.from({ length: expectedReqPerError - 1 }).map(() => 200),\n        555,\n        ...Array.from({ length: expectedReqPerError - 1 }).map(() => 200),\n        555\n      ]);\n\n      // We expect results2 to be an array with ten `200`s\n      expect(results2).toStrictEqual([\n        ...Array.from({ length: expectedReqPerError }).map(() => 200)\n      ]);\n    }\n  });\n});\n```\n\n<br />\n\n<!-- symbiote-template-region-start 5 -->\n\n## Appendix\n\n<!-- symbiote-template-region-end -->\n\nFurther documentation can be found under [`docs/`][x-repo-docs].\n\n### Limitations with App Router and Edge Runtime Emulation\n\nSince NTARH is meant for unit testing API routes rather than faithfully\nrecreating Next.js functionality, NTARH's feature set comes with some caveats.\nNamely: no Next.js features will be available that are external to processing\nAPI routes and executing their handlers. This includes [middleware][76] and\n`NextResponse.next` (see [`requestPatcher`][77] if you need to mutate the\n`Request` before it gets to the handler under test), [metadata][78], [static\nassets][79], [OpenTelemetry][80] and [instrumentation][81], [caching][82],\n[styling][83], [server actions and mutations][84], [helper functions][3]\n(except: `cookies`, `fetch` (global), `headers`, `NextRequest`, `NextResponse`,\n`notFound`, `permanentRedirect`, `redirect`, and `userAgent`), and anything\nrelated to React or [components][85].\n\nNTARH is for testing your API route handlers only.\n\nFurther, any support NTARH appears to have for any \"[edge runtime][86]\" (or any\nother runtime) beyond what is provided by [`AppRouteRouteModule`][87] is merely\ncosmetic. **Your tests will always run in Node.js** (or your runner of choice)\nand never in a different runtime, realm, or VM. This means unit testing like\nwith NTARH must be done in addition to, and not in lieu of, more holistic\ntesting practices (e.g. [end-to-end][88]).\n\nIf you're having trouble with your App Router and/or Edge Runtime routes,\nconsider [opening a new issue][x-repo-choose-new-issue]!\n\n> Also note that Next.js's middleware **only supports the Edge runtime**, even\n> if the Next.js application is being run entirely by Node.js. This is an\n> artificial constraint imposed by Next.js; when running the middleware locally\n> (via `npm run dev` or something similar), the middleware will still run on\n> Node.js.\n>\n> Next.js's middleware limitation is discussed at length [here][89].\n\n#### Working around the App Router Patching the Global `fetch` Function\n\nNext.js's current App Router implementation mutates the global `fetch` function,\nredefining it entirely. This can cause [problems][90] in testing environments\nwhere the global `fetch` is to be mocked by something else.\n\nInternally, NTARH sidesteps this issue entirely by caching the value of\n`globalThis.fetch` upon import. This also means NTARH completely sidesteps other\ntools that rely on interception through rewriting the global `fetch` function,\nsuch as [Mock Service Worker (MSW)][91]. We still include the MSW bypass headers\nwith NTARH requests since we cannot guarantee that NTARH will not be imported\n_after_ MSW has finished patching global `fetch`.\n\nSimilarly, it is impossible for NTARH to meaningfully track mutations to the\nglobal `fetch` function; NTARH cannot tell the difference between Next.js\noverwriting `fetch` and, say, a Jest spy overwriting `fetch`. Therefore, **NTARH\ndoes not restore the cached `fetch` after the function returns.**\n\nIf Next.js's patching of `fetch` is causing trouble for you, you can do what\nNTARH does: capture the current global `fetch` (perhaps after setting up MSW)\nand then restore it after each test:\n\n```typescript\nconst originalGlobalFetch = fetch;\n\nafterEach(function () {\n  // Undo what Next.js does to the global fetch function\n  globalThis.fetch = originalGlobalFetch;\n});\n```\n\n#### Working around Global `AsyncLocalStorage` Availability\n\n`AppRouteRouteModule` and its dependents want `AsyncLocalStorage` to be\navailable globally and _immediately_. Unfortunately, Node.js does not place\n`AsyncLocalStorage` in `globalThis` natively.\n\nNTARH handles this by ensuring `AsyncLocalStorage` is added to `globalThis`\nbefore Next.js needs it. This is why [NTARH should always be the very first\nimport in any test file][12].\n\n<br />\n\n### Legacy Runtime Support\n\nAs of version `4.0.0`, NTARH supports both the App Router (for `next@>=14.0.4`)\nand the \"legacy\" Pages Router Next.js APIs. However, due to the code churn with\n`next@13`, NTARH's support for the App Router begins at `next@14.0.4`. See\n[here][8] and [here][92] for more information.\n\nAdditionally, as of version `2.1.0`, NTARH's Pages Router support is fully\nbackwards compatible with Next.js going _allll_ the way back to `next@9.0.0`\n[when API routes were first introduced][93]!\n\n> [!NOTE]\n>\n> Due to an import failure in Next.js's vendored dependencies, `node@>=25` is\n> incompatible with `next@^12`.\n\nIf you're working with the Pages Router and `next@<9.0.6` (so: [before\n`next-server` was merged into `next`][94]), you might need to install\n`next-server` manually:\n\n```shell\nnpm install --save-dev next-server\n```\n\nSimilarly, if you are using `npm@<7` or `node@<15`, you must install Next.js\n_and its peer dependencies_ manually. This is because [`npm@<7` does not install\npeer dependencies by default][95].\n\n```shell\nnpm install --save-dev next@latest react\n```\n\n> If you're also using an older version of Next.js, ensure you install the [peer\n> dependencies (like `react`) that your specific Next.js version requires][96]!\n\n<br />\n\n### Jsdom Support\n\nNote that [jsdom does not support global fetch natively][97]. This should not be\nan issue, however, since neither your API code nor your API test code should be\nexecuted in a browser-like environment.\n\nFor projects configured to use jsdom by default, you can use an annotation to\nswitch environments only in the files housing your API tests:\n\n```typescript\n/**\n * @jest-environment node\n */\n// ⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆\n\nimport { testApiHandler } from 'next-test-api-route-handler';\n\ntest('use the node test environment for all tests in this file', () => {\n  //...\n});\n```\n\nIf you're seeing strange behavior or weird errors like\n`TypeError: RequestInit: Expected signal (\"CustomAbortControllerSignal [EventTarget]\") to be an instance of AbortSignal`,\nthis is because you're using jsdom or something else that messes with node's\nglobals. The fix is to [not][103] [use][104] [jsdom][105] to test your API\nroutes since they'll never\\* run in a DOM-ready environment anyway.\n\n> [!NOTE]\n>\n> If you're dead set on using jsdom with NTARH instead of a node or node-like\n> testing environment, see [here][98] and [here][99] for workarounds.\n\n<br />\n\n### Inspiration\n\nI'm constantly creating things with Next.js. Most of these applications have a\nmajor API component. Unfortunately, Next.js doesn't make unit testing your APIs\nvery easy. After a while, I noticed some conventions forming around how I liked\nto test my APIs and NTARH was born 🙂\n\nOf course, this all was back before the app router or edge routes existed. NTARH\ngot app router and edge route support in version 4.\n\nMy hope is that NTARH gets obsoleted because Vercel provided developers with\nsome officially supported tooling/hooks for _lightweight_ route execution where\nhandlers are passed fully initialized instances of\n`NextRequest`/`NextResponse`/`NextApiRequest`/`NextApiResponse` without\nballooning the execution time of the tests. That is: no spinning up the entire\nNext.js runtime just to run a single test in isolation.\n\nIt doesn't seem like it'd be such a lift to surface a wrapped version of the\nPages Router's [`apiResolver`][100] function and a pared-down subclass of the\nApp Router's [`AppRouteRouteModule`][87], both accessible with something like\n`import { ... } from 'next/test'`. This is essentially what NTARH does.\n\n<br />\n\n#### History: The Very _Very_ First Version of Ntarh\n\nWas looking over some ancient Next.js projects and found some of the very first\nversions of what would eventually become NTARH. My inner code hoarder requires I\nnote this code's existence somewhere.\n\nOh how far we've come 🙂\n\n![alt text][101]\n\n<br />\n\n<!-- symbiote-template-region-start 6 -->\n\n### Published Package Details\n\nThis is a [CJS2 package][x-pkg-cjs-mojito] with statically-analyzable exports\nbuilt by Babel for use in Node.js versions that are not end-of-life. For\nTypeScript users, this package supports both `\"Node10\"` and `\"Node16\"` module\nresolution strategies.\n\n<!-- symbiote-template-region-end -->\n<!-- symbiote-template-region-start 7 -->\n\n<details><summary>Expand details</summary>\n\nThat means both CJS2 (via `require(...)`) and ESM (via `import { ... } from ...`\nor `await import(...)`) source will load this package from the same entry points\nwhen using Node. This has several benefits, the foremost being: less code\nshipped/smaller package size, avoiding [dual package\nhazard][x-pkg-dual-package-hazard] entirely, distributables are not\npacked/bundled/uglified, a drastically less complex build process, and CJS\nconsumers aren't shafted.\n\nEach entry point (i.e. `ENTRY`) in [`package.json`'s\n`exports[ENTRY]`][x-repo-package-json] object includes one or more [export\nconditions][x-pkg-exports-conditions]. These entries may or may not include: an\n[`exports[ENTRY].types`][x-pkg-exports-types-key] condition pointing to a type\ndeclaration file for TypeScript and IDEs, a\n[`exports[ENTRY].module`][x-pkg-exports-module-key] condition pointing to\n(usually ESM) source for Webpack/Rollup, a `exports[ENTRY].node` and/or\n`exports[ENTRY].default` condition pointing to (usually CJS2) source for Node.js\n`require`/`import` and for browsers and other environments, and [other\nconditions][x-pkg-exports-conditions] not enumerated here. Check the\n[package.json][x-repo-package-json] file to see which export conditions are\nsupported.\n\nNote that, regardless of the [`{ \"type\": \"...\" }`][x-pkg-type] specified in\n[`package.json`][x-repo-package-json], any JavaScript files written in ESM\nsyntax (including distributables) will always have the `.mjs` extension. Note\nalso that [`package.json`][x-repo-package-json] may include the\n[`sideEffects`][x-pkg-side-effects-key] key, which is almost always `false` for\noptimal [tree shaking][x-pkg-tree-shaking] where appropriate.\n\n<!-- symbiote-template-region-end -->\n<!-- symbiote-template-region-start 8 -->\n\n</details>\n\n### License\n\n<!-- symbiote-template-region-end -->\n\nSee [LICENSE][x-repo-license].\n\n<!-- symbiote-template-region-start 9 -->\n\n## Contributing and Support\n\n**[New issues][x-repo-choose-new-issue] and [pull requests][x-repo-pr-compare]\nare always welcome and greatly appreciated! 🤩** Just as well, you can [star 🌟\nthis project][x-badge-repo-link] to let me know you found it useful! ✊🏿 Or [buy\nme a beer][x-repo-sponsor], I'd appreciate it. Thank you!\n\nSee [CONTRIBUTING.md][x-repo-contributing] and [SUPPORT.md][x-repo-support] for\nmore information.\n\n<!-- symbiote-template-region-end -->\n<!-- symbiote-template-region-start 10 -->\n\n### Contributors\n\n<!-- symbiote-template-region-end -->\n<!-- symbiote-template-region-start root-package-only -->\n<!-- remark-ignore-start -->\n<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->\n\n[![All Contributors](https://img.shields.io/badge/all_contributors-42-orange.svg?style=flat-square)](#contributors-)\n\n<!-- ALL-CONTRIBUTORS-BADGE:END -->\n<!-- remark-ignore-end -->\n\nThanks goes to these wonderful people ([emoji\nkey][x-repo-all-contributors-emojis]):\n\n<!-- remark-ignore-start -->\n<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->\n<!-- prettier-ignore-start -->\n<!-- markdownlint-disable -->\n\n<table>\n  <tbody>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://xunn.io/\"><img src=\"https://avatars.githubusercontent.com/u/656017?v=4?s=100\" width=\"100px;\" alt=\"Bernard\"/><br /><sub><b>Bernard</b></sub></a><br /><a href=\"#infra-Xunnamius\" title=\"Infrastructure (Hosting, Build-Tools, etc)\">🚇</a> <a href=\"https://github.com/Xunnamius/next-test-api-route-handler/commits?author=Xunnamius\" title=\"Code\">💻</a> <a href=\"https://github.com/Xunnamius/next-test-api-route-handler/commits?author=Xunnamius\" title=\"Documentation\">📖</a> <a href=\"#maintenance-Xunnamius\" title=\"Maintenance\">🚧</a> <a href=\"https://github.com/Xunnamius/next-test-api-route-handler/commits?author=Xunnamius\" title=\"Tests\">⚠️</a> <a href=\"https://github.com/Xunnamius/next-test-api-route-handler/pulls?q=is%3Apr+reviewed-by%3AXunnamius\" title=\"Reviewed Pull Requests\">👀</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://www.linkedin.com/in/kevinjennison/\"><img src=\"https://avatars.githubusercontent.com/u/5924325?v=4?s=100\" width=\"100px;\" alt=\"Kevin Jennison\"/><br /><sub><b>Kevin Jennison</b></sub></a><br /><a href=\"https://github.com/Xunnamius/next-test-api-route-handler/commits?author=kmjennison\" title=\"Documentation\">📖</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/jonkers3\"><img src=\"https://avatars.githubusercontent.com/u/100176328?v=4?s=100\" width=\"100px;\" alt=\"jonkers3\"/><br /><sub><b>jonkers3</b></sub></a><br /><a href=\"https://github.com/Xunnamius/next-test-api-route-handler/commits?author=jonkers3\" title=\"Documentation\">📖</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://valentin-hervieu.fr/\"><img src=\"https://avatars.githubusercontent.com/u/2678610?v=4?s=100\" width=\"100px;\" alt=\"Valentin Hervieu\"/><br /><sub><b>Valentin Hervieu</b></sub></a><br /><a href=\"https://github.com/Xunnamius/next-test-api-route-handler/commits?author=ValentinH\" title=\"Code\">💻</a> <a href=\"#ideas-ValentinH\" title=\"Ideas, Planning, & Feedback\">🤔</a> <a href=\"#research-ValentinH\" title=\"Research\">🔬</a> <a href=\"https://github.com/Xunnamius/next-test-api-route-handler/commits?author=ValentinH\" title=\"Tests\">⚠️</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://danawoodman.com/\"><img src=\"https://avatars.githubusercontent.com/u/157695?v=4?s=100\" width=\"100px;\" alt=\"Dana Woodman\"/><br /><sub><b>Dana Woodman</b></sub></a><br /><a href=\"#infra-danawoodman\" title=\"Infrastructure (Hosting, Build-Tools, etc)\">🚇</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/rhys-e\"><img src=\"https://avatars.githubusercontent.com/u/1895732?v=4?s=100\" width=\"100px;\" alt=\"Rhys\"/><br /><sub><b>Rhys</b></sub></a><br /><a href=\"#ideas-rhys-e\" title=\"Ideas, Planning, & Feedback\">🤔</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://prakharshukla.dev/\"><img src=\"https://avatars.githubusercontent.com/u/39938009?v=4?s=100\" width=\"100px;\" alt=\"Prakhar Shukla\"/><br /><sub><b>Prakhar Shukla</b></sub></a><br /><a href=\"https://github.com/Xunnamius/next-test-api-route-handler/issues?q=author%3Aimprakharshukla\" title=\"Bug reports\">🐛</a></td>\n    </tr>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/jakejones2\"><img src=\"https://avatars.githubusercontent.com/u/126596149?v=4?s=100\" width=\"100px;\" alt=\"Jake Jones\"/><br /><sub><b>Jake Jones</b></sub></a><br /><a href=\"https://github.com/Xunnamius/next-test-api-route-handler/issues?q=author%3Ajakejones2\" title=\"Bug reports\">🐛</a> <a href=\"#ideas-jakejones2\" title=\"Ideas, Planning, & Feedback\">🤔</a> <a href=\"#research-jakejones2\" title=\"Research\">🔬</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/desclapez\"><img src=\"https://avatars.githubusercontent.com/u/562849?v=4?s=100\" width=\"100px;\" alt=\"Diego Esclapez\"/><br /><sub><b>Diego Esclapez</b></sub></a><br /><a href=\"https://github.com/Xunnamius/next-test-api-route-handler/issues?q=author%3Adesclapez\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/k2xl\"><img src=\"https://avatars.githubusercontent.com/u/965260?v=4?s=100\" width=\"100px;\" alt=\"k2xl\"/><br /><sub><b>k2xl</b></sub></a><br /><a href=\"#research-k2xl\" title=\"Research\">🔬</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/machineghost\"><img src=\"https://avatars.githubusercontent.com/u/448908?v=4?s=100\" width=\"100px;\" alt=\"Jeremy Walker\"/><br /><sub><b>Jeremy Walker</b></sub></a><br /><a href=\"#example-machineghost\" title=\"Examples\">💡</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/adrian-kriegel\"><img src=\"https://avatars.githubusercontent.com/u/23387365?v=4?s=100\" width=\"100px;\" alt=\"Adrian Kriegel\"/><br /><sub><b>Adrian Kriegel</b></sub></a><br /><a href=\"#example-adrian-kriegel\" title=\"Examples\">💡</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"http://hems.io/\"><img src=\"https://avatars.githubusercontent.com/u/27327?v=4?s=100\" width=\"100px;\" alt=\"hems.io\"/><br /><sub><b>hems.io</b></sub></a><br /><a href=\"https://github.com/Xunnamius/next-test-api-route-handler/issues?q=author%3Ahems\" title=\"Bug reports\">🐛</a> <a href=\"#research-hems\" title=\"Research\">🔬</a> <a href=\"#ideas-hems\" title=\"Ideas, Planning, & Feedback\">🤔</a> <a href=\"#example-hems\" title=\"Examples\">💡</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/steve-taylor\"><img src=\"https://avatars.githubusercontent.com/u/1135589?v=4?s=100\" width=\"100px;\" alt=\"Steve Taylor\"/><br /><sub><b>Steve Taylor</b></sub></a><br /><a href=\"#ideas-steve-taylor\" title=\"Ideas, Planning, & Feedback\">🤔</a></td>\n    </tr>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/willnix86\"><img src=\"https://avatars.githubusercontent.com/u/33470216?v=4?s=100\" width=\"100px;\" alt=\"Will Nixon\"/><br /><sub><b>Will Nixon</b></sub></a><br /><a href=\"https://github.com/Xunnamius/next-test-api-route-handler/issues?q=author%3Awillnix86\" title=\"Bug reports\">🐛</a> <a href=\"#research-willnix86\" title=\"Research\">🔬</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/sebpowell\"><img src=\"https://avatars.githubusercontent.com/u/1786366?v=4?s=100\" width=\"100px;\" alt=\"Sebastien Powell\"/><br /><sub><b>Sebastien Powell</b></sub></a><br /><a href=\"#example-sebpowell\" title=\"Examples\">💡</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/zero734kr\"><img src=\"https://avatars.githubusercontent.com/u/51540538?v=4?s=100\" width=\"100px;\" alt=\"Hajin Lim\"/><br /><sub><b>Hajin Lim</b></sub></a><br /><a href=\"#ideas-zero734kr\" title=\"Ideas, Planning, & Feedback\">🤔</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://meetjane.dev/\"><img src=\"https://avatars.githubusercontent.com/u/47473728?v=4?s=100\" width=\"100px;\" alt=\"Jane\"/><br /><sub><b>Jane</b></sub></a><br /><a href=\"#example-sustainjane98\" title=\"Examples\">💡</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://janhesters.com/\"><img src=\"https://avatars.githubusercontent.com/u/31096420?v=4?s=100\" width=\"100px;\" alt=\"Jan Hesters\"/><br /><sub><b>Jan Hesters</b></sub></a><br /><a href=\"https://github.com/Xunnamius/next-test-api-route-handler/issues?q=author%3Ajanhesters\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://bencesomogyi.com/\"><img src=\"https://avatars.githubusercontent.com/u/10220181?v=4?s=100\" width=\"100px;\" alt=\"Bence Somogyi\"/><br /><sub><b>Bence Somogyi</b></sub></a><br /><a href=\"https://github.com/Xunnamius/next-test-api-route-handler/issues?q=author%3Asomogyibence\" title=\"Bug reports\">🐛</a> <a href=\"https://github.com/Xunnamius/next-test-api-route-handler/commits?author=somogyibence\" title=\"Code\">💻</a> <a href=\"#research-somogyibence\" title=\"Research\">🔬</a> <a href=\"https://github.com/Xunnamius/next-test-api-route-handler/commits?author=somogyibence\" title=\"Tests\">⚠️</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/tolivturnstile\"><img src=\"https://avatars.githubusercontent.com/u/121887214?v=4?s=100\" width=\"100px;\" alt=\"Tony\"/><br /><sub><b>Tony</b></sub></a><br /><a href=\"#research-tolivturnstile\" title=\"Research\">🔬</a></td>\n    </tr>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/Jokinen\"><img src=\"https://avatars.githubusercontent.com/u/9090689?v=4?s=100\" width=\"100px;\" alt=\"Jaakko Jokinen\"/><br /><sub><b>Jaakko Jokinen</b></sub></a><br /><a href=\"https://github.com/Xunnamius/next-test-api-route-handler/issues?q=author%3AJokinen\" title=\"Bug reports\">🐛</a> <a href=\"#research-Jokinen\" title=\"Research\">🔬</a> <a href=\"#ideas-Jokinen\" title=\"Ideas, Planning, & Feedback\">🤔</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://arun.blog/\"><img src=\"https://avatars.githubusercontent.com/u/18581859?v=4?s=100\" width=\"100px;\" alt=\"Arun Sathiya\"/><br /><sub><b>Arun Sathiya</b></sub></a><br /><a href=\"#research-arunsathiya\" title=\"Research\">🔬</a> <a href=\"https://github.com/Xunnamius/next-test-api-route-handler/commits?author=arunsathiya\" title=\"Code\">💻</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/scottsymm\"><img src=\"https://avatars.githubusercontent.com/u/274599?v=4?s=100\" width=\"100px;\" alt=\"Scott Symmank\"/><br /><sub><b>Scott Symmank</b></sub></a><br /><a href=\"#research-scottsymm\" title=\"Research\">🔬</a> <a href=\"https://github.com/Xunnamius/next-test-api-route-handler/issues?q=author%3Ascottsymm\" title=\"Bug reports\">🐛</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/matiasdecarli\"><img src=\"https://avatars.githubusercontent.com/u/2442390?v=4?s=100\" width=\"100px;\" alt=\"Matias De Carli\"/><br /><sub><b>Matias De Carli</b></sub></a><br /><a href=\"https://github.com/Xunnamius/next-test-api-route-handler/commits?author=matiasdecarli\" title=\"Documentation\">📖</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/kingstarfly\"><img src=\"https://avatars.githubusercontent.com/u/38955962?v=4?s=100\" width=\"100px;\" alt=\"Xing Xiang\"/><br /><sub><b>Xing Xiang</b></sub></a><br /><a href=\"https://github.com/Xunnamius/next-test-api-route-handler/commits?auth","readmeFilename":"README.md"}