{"_id":"inboxtap","_rev":"21-059be02bf9c4ce51bf66a2cc76b8395e","name":"inboxtap","dist-tags":{"latest":"1.4.1"},"versions":{"0.2.2":{"name":"inboxtap","version":"0.2.2","license":"MIT","_id":"inboxtap@0.2.2","maintainers":[{"name":"yolaine","email":"tracy.ngot@gmail.com"}],"homepage":"https://github.com/TracyNgot/inboxtap.dev#readme","bugs":{"url":"https://github.com/TracyNgot/inboxtap.dev/issues"},"bin":{"inboxtap":"dist/cli.js"},"dist":{"shasum":"c83800590266dd4ce71469109a03005ba7dbab43","tarball":"https://registry.npmjs.org/inboxtap/-/inboxtap-0.2.2.tgz","fileCount":25,"integrity":"sha512-qTdq1/ql1xRuTU5IniyIWJ5vHMlSnDM0OYaVjkjjWReTwOu2+XAhyFX3ylAanU9/xIOdUDQg5H85Y04Hefnp2w==","signatures":[{"sig":"MEQCIALaHBdgJ2q3V/uGHnlNjbr/8rdCI36j0yb9iF6O1j+5AiAE33pvcPqhnMyj6fZCe5w0k/+Mv9uLbCnhkdluC1yriA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":204140},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"}},"gitHead":"23f861008bd7bef4b75a98670c8a3232f7fcca08","scripts":{"dev":"bun --watch src/cli.ts","lint":"biome lint .","test":"bun test","build":"tsup","check":"bun run format:check && bun run lint && bun run typecheck && bun run test","start":"bun src/cli.ts","format":"biome format --write .","verify":"bun run verify:package && bun run --cwd web verify","prepare":"lefthook install","typecheck":"tsc --noEmit","format:check":"biome format .","release:pack":"bun run release:check && bun pm pack","test:package":"bun scripts/test-package.ts","release:check":"bun run verify && bun pm pack --dry-run","release:major":"bun scripts/prepare-release.ts major","release:minor":"bun scripts/prepare-release.ts minor","release:patch":"bun scripts/prepare-release.ts patch","prepublishOnly":"bun run verify","verify:package":"bun run check && bun run build && bun run test:package","release:publish":"bun scripts/publish-release.ts"},"_npmUser":{"name":"yolaine","email":"tracy.ngot@gmail.com"},"repository":{"url":"git+https://github.com/TracyNgot/inboxtap.dev.git","type":"git"},"workspaces":["web"],"_npmVersion":"11.16.0","description":"A local SMTP inbox for deterministic email-flow tests.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"mailparser":"^3.9.14","smtp-server":"^3.19.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","lefthook":"^2.1.10","@types/bun":"^1.3.14","typescript":"5.7.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.4","@types/mailparser":"^3.4.6","@types/smtp-server":"^3.5.13"},"_npmOperationalInternal":{"tmp":"tmp/inboxtap_0.2.2_1784599773043_0.942699832621755","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"inboxtap","version":"0.2.3","license":"MIT","_id":"inboxtap@0.2.3","maintainers":[{"name":"yolaine","email":"tracy.ngot@gmail.com"}],"homepage":"https://inboxtap.dev","bugs":{"url":"https://github.com/TracyNgot/inboxtap.dev/issues"},"bin":{"inboxtap":"dist/cli.js"},"dist":{"shasum":"aaa160d21880a939752bff8fc0b33f40ec8c0656","tarball":"https://registry.npmjs.org/inboxtap/-/inboxtap-0.2.3.tgz","fileCount":25,"integrity":"sha512-4wsNh35yPAnhA/LT+3IO7aIMyHo6WH4iOcNpchF/LUaNMTl7G6IbTEX+AHbQlUoT+ELfeu9ashdN7gl/G76aZA==","signatures":[{"sig":"MEUCIQDPywAhSxhASM90yxs0gnHbOA/JHB9x5b/KwoMx9aPOwQIgG41Gqupko0f25WjyM5FsLvPnYGY58vFb8/Fv8XZm8oo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":204178},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"}},"gitHead":"566dc5b12b22b80a7031b433f2825a1030beffa7","scripts":{"dev":"bun --watch src/cli.ts","lint":"biome lint .","test":"bun test","build":"tsup","check":"bun run format:check && bun run lint && bun run typecheck && bun run test","start":"bun src/cli.ts","format":"biome format --write .","verify":"bun run verify:package && bun run --cwd web verify","prepare":"lefthook install","typecheck":"tsc --noEmit","format:check":"biome format .","release:pack":"bun run release:check && bun pm pack","test:package":"bun scripts/test-package.ts","release:check":"bun run verify && bun pm pack --dry-run","release:major":"bun scripts/prepare-release.ts major","release:minor":"bun scripts/prepare-release.ts minor","release:patch":"bun scripts/prepare-release.ts patch","prepublishOnly":"bun run verify","verify:package":"bun run check && bun run build && bun run test:package","release:publish":"bun scripts/publish-release.ts"},"_npmUser":{"name":"yolaine","email":"tracy.ngot@gmail.com"},"repository":{"url":"git+https://github.com/TracyNgot/inboxtap.dev.git","type":"git"},"workspaces":["web"],"_npmVersion":"11.16.0","description":"A local SMTP inbox for deterministic email-flow tests.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"mailparser":"^3.9.14","smtp-server":"^3.19.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","lefthook":"^2.1.10","@types/bun":"^1.3.14","typescript":"5.7.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.4","@types/mailparser":"^3.4.6","@types/smtp-server":"^3.5.13"},"_npmOperationalInternal":{"tmp":"tmp/inboxtap_0.2.3_1784600319703_0.9482137238066994","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"inboxtap","version":"0.2.4","keywords":["smtp","smtp-server","fake-smtp","email","email-testing","mail","inbox","mailbox","capture","testing","e2e","development"],"license":"MIT","_id":"inboxtap@0.2.4","maintainers":[{"name":"yolaine","email":"tracy.ngot@gmail.com"}],"homepage":"https://inboxtap.dev","bugs":{"url":"https://github.com/TracyNgot/inboxtap.dev/issues"},"bin":{"inboxtap":"dist/cli.js"},"dist":{"shasum":"d3d24b145e8ec3b2d25308769fec595e62f5c60f","tarball":"https://registry.npmjs.org/inboxtap/-/inboxtap-0.2.4.tgz","fileCount":25,"integrity":"sha512-gOt2arORsyUnDHDJ0flD1aw3nWOj209ZBq/xacvqxMVz4keMuBBYPnOnAZEEOPr7uFEz0TXW0kqthHr4LQPa3A==","signatures":[{"sig":"MEQCID5W2G0jkD9c1V7I/nY7Px2+WhHY8YQD9i2rmxCM34HfAiBori6wI1/lTfA2ZOsblymzCJ/B8hHqZBhLYRgPPibyEg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":204380},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"}},"gitHead":"79c6d293e5108fe756e13cece4c28eac365ee3d8","scripts":{"dev":"bun --watch src/cli.ts","lint":"biome lint .","test":"bun test","build":"tsup","check":"bun run format:check && bun run lint && bun run typecheck && bun run test","start":"bun src/cli.ts","format":"biome format --write .","verify":"bun run verify:package && bun run --cwd web verify","prepare":"lefthook install","typecheck":"tsc --noEmit","format:check":"biome format .","release:pack":"bun run release:check && bun pm pack","test:package":"bun scripts/test-package.ts","release:check":"bun run verify && bun pm pack --dry-run","release:major":"bun scripts/prepare-release.ts major","release:minor":"bun scripts/prepare-release.ts minor","release:patch":"bun scripts/prepare-release.ts patch","prepublishOnly":"bun run verify","verify:package":"bun run check && bun run build && bun run test:package","release:publish":"bun scripts/publish-release.ts"},"_npmUser":{"name":"yolaine","email":"tracy.ngot@gmail.com"},"repository":{"url":"git+https://github.com/TracyNgot/inboxtap.dev.git","type":"git"},"workspaces":["web"],"_npmVersion":"11.16.0","description":"A local SMTP inbox for deterministic email-flow tests.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"mailparser":"^3.9.14","smtp-server":"^3.19.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","lefthook":"^2.1.10","@types/bun":"^1.3.14","typescript":"5.7.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.4","@types/mailparser":"^3.4.6","@types/smtp-server":"^3.5.13"},"_npmOperationalInternal":{"tmp":"tmp/inboxtap_0.2.4_1784600696329_0.9501571426480828","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"inboxtap","version":"0.2.5","keywords":["smtp","smtp-server","fake-smtp","email","email-testing","mail","inbox","mailbox","capture","testing","e2e","development"],"license":"MIT","_id":"inboxtap@0.2.5","maintainers":[{"name":"yolaine","email":"tracy.ngot@gmail.com"}],"homepage":"https://inboxtap.dev","bugs":{"url":"https://github.com/TracyNgot/inboxtap.dev/issues"},"bin":{"inboxtap":"dist/cli.js"},"dist":{"shasum":"f83a2b4be5b6371f679782546ee64ee501a871d1","tarball":"https://registry.npmjs.org/inboxtap/-/inboxtap-0.2.5.tgz","fileCount":25,"integrity":"sha512-SIOGo7tAPAQn37F25AbNPZF/77/SqQSxATeGLrzol4BYGKmKXKFSkF6MjDq7UcKMh7v7QSN6CUcRNQzgmHH5Pg==","signatures":[{"sig":"MEYCIQC3MBDMa5VZDpQV7FYmhr65S4cMmcxJ3QNr3xcbaOTTDQIhANUYZKKAX/sKLigh9Rzdtrgupnd8rCOAVSY6E3KVVYUk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":204380},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"}},"gitHead":"6698c466693b441df0ab5f61e555565d13ea4f04","scripts":{"dev":"bun --watch src/cli.ts","lint":"biome lint .","test":"bun test","build":"tsup","check":"bun run format:check && bun run lint && bun run typecheck && bun run test","start":"bun src/cli.ts","format":"biome format --write .","verify":"bun run verify:package && bun run --cwd web verify","prepare":"lefthook install","typecheck":"tsc --noEmit","format:check":"biome format .","release:pack":"bun run release:check && bun pm pack","test:package":"bun scripts/test-package.ts","release:check":"bun run verify && bun pm pack --dry-run","release:major":"bun scripts/prepare-release.ts major","release:minor":"bun scripts/prepare-release.ts minor","release:patch":"bun scripts/prepare-release.ts patch","prepublishOnly":"bun run verify","verify:package":"bun run check && bun run build && bun run test:package","release:publish":"bun scripts/publish-release.ts"},"_npmUser":{"name":"yolaine","email":"tracy.ngot@gmail.com"},"repository":{"url":"git+https://github.com/TracyNgot/inboxtap.dev.git","type":"git"},"workspaces":["web"],"_npmVersion":"11.16.0","description":"A local SMTP inbox for deterministic email-flow tests.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"mailparser":"^3.9.14","smtp-server":"^3.19.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","lefthook":"^2.1.10","@types/bun":"^1.3.14","typescript":"5.7.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.4","@types/mailparser":"^3.4.6","@types/smtp-server":"^3.5.13"},"_npmOperationalInternal":{"tmp":"tmp/inboxtap_0.2.5_1784623035281_0.7613356069608339","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"inboxtap","version":"0.2.6","keywords":["smtp","smtp-server","fake-smtp","email","email-testing","mail","inbox","mailbox","capture","testing","e2e","development"],"license":"MIT","_id":"inboxtap@0.2.6","maintainers":[{"name":"yolaine","email":"tracy.ngot@gmail.com"}],"homepage":"https://inboxtap.dev","bugs":{"url":"https://github.com/TracyNgot/inboxtap.dev/issues"},"bin":{"inboxtap":"dist/cli.js"},"dist":{"shasum":"365744d13470c9e03bc891d11cce53d747a676f9","tarball":"https://registry.npmjs.org/inboxtap/-/inboxtap-0.2.6.tgz","fileCount":25,"integrity":"sha512-/dI/lqD9FJVdNrk8/zUTfQkmXMeYj9aIXEu5OFi6YwIKpq2BCHV3TRS3JBNiCSpcipLjV27P2EffiFfokNEarA==","signatures":[{"sig":"MEQCIDWGGGXNugHtkUfnuQDLeYFlkTu5mZdFeXs1qSz6+nF8AiAuKr49AOZhhOzfzOkK/A9KKY6Za03H0LjErmX/OcJNQQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":204890},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"}},"gitHead":"8d2b1ed37d7956c331230dcd0c1866dd186bb41a","scripts":{"dev":"bun --watch src/cli.ts","lint":"biome lint .","test":"bun test","build":"tsup","check":"bun run format:check && bun run lint && bun run typecheck && bun run test","start":"bun src/cli.ts","format":"biome format --write .","verify":"bun run verify:package && bun run --cwd web verify","prepare":"lefthook install","typecheck":"tsc --noEmit","format:check":"biome format .","release:pack":"bun run release:check && bun pm pack","test:package":"bun scripts/test-package.ts","release:check":"bun run verify && bun pm pack --dry-run","release:major":"bun scripts/prepare-release.ts major","release:minor":"bun scripts/prepare-release.ts minor","release:patch":"bun scripts/prepare-release.ts patch","prepublishOnly":"bun run verify","verify:package":"bun run check && bun run build && bun run test:package","release:publish":"bun scripts/publish-release.ts"},"_npmUser":{"name":"yolaine","email":"tracy.ngot@gmail.com"},"repository":{"url":"git+https://github.com/TracyNgot/inboxtap.dev.git","type":"git"},"workspaces":["web"],"_npmVersion":"11.16.0","description":"A local SMTP inbox for deterministic email-flow tests.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"mailparser":"^3.9.14","smtp-server":"^3.19.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","lefthook":"^2.1.10","@types/bun":"^1.3.14","typescript":"5.7.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.4","@types/mailparser":"^3.4.6","@types/smtp-server":"^3.5.13"},"_npmOperationalInternal":{"tmp":"tmp/inboxtap_0.2.6_1784627293575_0.33628674491211985","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"inboxtap","version":"0.2.7","keywords":["smtp","smtp-server","fake-smtp","email","email-testing","mail","inbox","mailbox","capture","testing","e2e","development"],"license":"MIT","_id":"inboxtap@0.2.7","maintainers":[{"name":"yolaine","email":"tracy.ngot@gmail.com"}],"homepage":"https://inboxtap.dev","bugs":{"url":"https://github.com/TracyNgot/inboxtap.dev/issues"},"bin":{"inboxtap":"dist/cli.js"},"dist":{"shasum":"4ab8784ab8f63f1817d412ba219e5446365fad85","tarball":"https://registry.npmjs.org/inboxtap/-/inboxtap-0.2.7.tgz","fileCount":26,"integrity":"sha512-W1H68PqwwUHISxrsGrji2sRv9B6Xi3UccnjW2p0dhGWQlwHgBfKhI1aKQqVz3AerpZBEpTmDmRZZ8A5MLfxlUA==","signatures":[{"sig":"MEUCIF7PZJAmUCfABkn9ikStxS/pxlhWQnNinJOu3k7wdvvSAiEAqPD91PEfDPUp3xLwjZXOZZnv4ai3Jiqwj0k1PessnAQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":208428},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"}},"gitHead":"ce7ce031598d2d237d24abd629dd3fc0c7c02dc3","scripts":{"dev":"bun --watch src/cli.ts","lint":"biome lint .","test":"bun test","build":"tsup","check":"bun run format:check && bun run lint && bun run typecheck && bun run test","start":"bun src/cli.ts","format":"biome format --write .","verify":"bun run verify:package && bun run --cwd web verify","prepare":"lefthook install","typecheck":"tsc --noEmit","format:check":"biome format .","release:pack":"bun run release:check && bun pm pack","test:package":"bun scripts/test-package.ts","release:check":"bun run verify && bun pm pack --dry-run","release:major":"bun scripts/prepare-release.ts major","release:minor":"bun scripts/prepare-release.ts minor","release:patch":"bun scripts/prepare-release.ts patch","prepublishOnly":"bun run verify","verify:package":"bun run check && bun run build && bun run test:package","release:publish":"bun scripts/publish-release.ts"},"_npmUser":{"name":"yolaine","email":"tracy.ngot@gmail.com"},"repository":{"url":"git+https://github.com/TracyNgot/inboxtap.dev.git","type":"git"},"workspaces":["web"],"_npmVersion":"11.16.0","description":"A local SMTP inbox for deterministic email-flow tests.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"mailparser":"^3.9.14","smtp-server":"^3.19.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","lefthook":"^2.1.10","@types/bun":"^1.3.14","typescript":"5.7.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.4","@types/mailparser":"^3.4.6","@types/smtp-server":"^3.5.13"},"_npmOperationalInternal":{"tmp":"tmp/inboxtap_0.2.7_1784630982353_0.9844213677486553","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"inboxtap","version":"0.3.0","keywords":["smtp","smtp-server","fake-smtp","email","email-testing","mail","inbox","mailbox","capture","testing","e2e","development"],"license":"MIT","_id":"inboxtap@0.3.0","maintainers":[{"name":"yolaine","email":"tracy.ngot@gmail.com"}],"homepage":"https://inboxtap.dev","bugs":{"url":"https://github.com/TracyNgot/inboxtap.dev/issues"},"bin":{"inboxtap":"dist/cli.js"},"dist":{"shasum":"0821b57babb9fedd3360dbfb934dd94d5adb7b06","tarball":"https://registry.npmjs.org/inboxtap/-/inboxtap-0.3.0.tgz","fileCount":26,"integrity":"sha512-Dq5OJnXx+BoZNDgn645saQmEHSqhcrtnEUypH6vrwNt3CoGPpl6pSE5Xc50NPJPAp/a1Yrl5iDEgeOWpy6Jxyg==","signatures":[{"sig":"MEQCIGUlDAU0iuFxiYGQMgND/h8+/0pZuMlQtnUdpDhmjcCmAiAmLsy6h7uiaiXMnzaKak1mpiWPi6W4MKA1whivxrU0aw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":213705},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"}},"gitHead":"c93b6ff49cb1d282e197d93563679162d6d2931a","scripts":{"dev":"bun --watch src/cli.ts","lint":"biome lint .","test":"bun test","build":"tsup","check":"bun run format:check && bun run lint && bun run typecheck && bun run test","start":"bun src/cli.ts","format":"biome format --write .","verify":"bun run verify:package && bun run --cwd web verify","prepare":"lefthook install","typecheck":"tsc --noEmit","format:check":"biome format .","release:pack":"bun run release:check && bun pm pack","test:package":"bun scripts/test-package.ts","release:check":"bun run verify && bun pm pack --dry-run","release:major":"bun scripts/prepare-release.ts major","release:minor":"bun scripts/prepare-release.ts minor","release:patch":"bun scripts/prepare-release.ts patch","prepublishOnly":"bun run verify","verify:package":"bun run check && bun run build && bun run test:package","release:publish":"bun scripts/publish-release.ts"},"_npmUser":{"name":"yolaine","email":"tracy.ngot@gmail.com"},"repository":{"url":"git+https://github.com/TracyNgot/inboxtap.dev.git","type":"git"},"workspaces":["web"],"_npmVersion":"11.16.0","description":"A local SMTP inbox for deterministic email-flow tests.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"mailparser":"^3.9.14","smtp-server":"^3.19.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","lefthook":"^2.1.10","@types/bun":"^1.3.14","typescript":"5.7.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.4","@types/mailparser":"^3.4.6","@types/smtp-server":"^3.5.13"},"_npmOperationalInternal":{"tmp":"tmp/inboxtap_0.3.0_1784651517762_0.5328404739071269","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"inboxtap","version":"0.3.1","keywords":["smtp","smtp-server","fake-smtp","email","email-testing","mail","inbox","mailbox","capture","testing","e2e","development"],"license":"MIT","_id":"inboxtap@0.3.1","maintainers":[{"name":"yolaine","email":"tracy.ngot@gmail.com"}],"homepage":"https://inboxtap.dev","bugs":{"url":"https://github.com/TracyNgot/inboxtap.dev/issues"},"bin":{"inboxtap":"dist/cli.js"},"dist":{"shasum":"86660b37c2854b1621b46e8295f2eed288b0872f","tarball":"https://registry.npmjs.org/inboxtap/-/inboxtap-0.3.1.tgz","fileCount":26,"integrity":"sha512-lqYvsCZRig6GPuzMyro0+0BWaHPf50CZgcR38b9YsateMziS+9rGYita4OwwMf56268Y6hOaHGfDwZAvfczDlg==","signatures":[{"sig":"MEYCIQD74PGktONvmLTWw8kmLTyt3uimWtiJW43cJzLrwP0ImgIhAJVVidZnhaff1b9gaOi2i1OWh8hboLHFcJl1euuvqfSG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":214045},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"}},"gitHead":"02966f132e2ebfae02ad7cfb570a4678b7a869c9","scripts":{"dev":"bun --watch src/cli.ts","lint":"biome lint .","test":"bun test","build":"tsup","check":"bun run format:check && bun run lint && bun run typecheck && bun run test","start":"bun src/cli.ts","format":"biome format --write .","verify":"bun run verify:package && bun run --cwd web verify","prepare":"lefthook install","typecheck":"tsc --noEmit","format:check":"biome format .","release:pack":"bun run release:check && bun pm pack","test:package":"bun scripts/test-package.ts","release:check":"bun run verify && bun pm pack --dry-run","release:major":"bun scripts/prepare-release.ts major","release:minor":"bun scripts/prepare-release.ts minor","release:patch":"bun scripts/prepare-release.ts patch","prepublishOnly":"bun run verify","verify:package":"bun run check && bun run build && bun run test:package","release:publish":"bun scripts/publish-release.ts"},"_npmUser":{"name":"yolaine","email":"tracy.ngot@gmail.com"},"overrides":{"esbuild":"^0.28.1","postcss":"^8.5.10"},"repository":{"url":"git+https://github.com/TracyNgot/inboxtap.dev.git","type":"git"},"workspaces":["web"],"_npmVersion":"11.16.0","description":"A local SMTP inbox for deterministic email-flow tests.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"mailparser":"^3.9.14","smtp-server":"^3.19.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","lefthook":"^2.1.10","@types/bun":"^1.3.14","typescript":"5.7.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.4","@types/mailparser":"^3.4.6","@types/smtp-server":"^3.5.13"},"_npmOperationalInternal":{"tmp":"tmp/inboxtap_0.3.1_1784661171623_0.9941418330231739","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"inboxtap","version":"0.3.2","keywords":["smtp","smtp-server","fake-smtp","email","email-testing","mail","inbox","mailbox","capture","testing","e2e","development"],"license":"MIT","_id":"inboxtap@0.3.2","maintainers":[{"name":"yolaine","email":"tracy.ngot@gmail.com"}],"homepage":"https://inboxtap.dev","bugs":{"url":"https://github.com/TracyNgot/inboxtap.dev/issues"},"bin":{"inboxtap":"dist/cli.js"},"dist":{"shasum":"228c18a09fdbdb36e0ac44508afc44dff9eaf362","tarball":"https://registry.npmjs.org/inboxtap/-/inboxtap-0.3.2.tgz","fileCount":26,"integrity":"sha512-/LswVSGNFc5zmO5gKb5Nim0Zfw/QDh3xZ9sg4UckoIdla8g293Ef4RuNH4/bFyOY5rCxgN9U/y8i3UNYTtIhjA==","signatures":[{"sig":"MEQCIGgse+NxQmzfE1bn45xiQWUp5EvWFUkdVNB9K/fQq8hFAiAoKTFrCJ1ItWgOlAmaYU/Hh4w9SqmaoEMdGxn2bQaB/g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":214302},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"}},"gitHead":"d5b508a0e9a1451471bf32a5d05e6f5b539e18e3","scripts":{"dev":"bun --watch src/cli.ts","lint":"biome lint .","test":"bun test","build":"tsup","check":"bun run format:check && bun run lint && bun run typecheck && bun run test","start":"bun src/cli.ts","format":"biome format --write .","verify":"bun run verify:package && bun run --cwd web verify","prepare":"lefthook install","typecheck":"tsc --noEmit","format:check":"biome format .","release:pack":"bun run release:check && bun pm pack","test:package":"bun scripts/test-package.ts","release:check":"bun run verify && bun pm pack --dry-run","release:major":"bun scripts/prepare-release.ts major","release:minor":"bun scripts/prepare-release.ts minor","release:patch":"bun scripts/prepare-release.ts patch","prepublishOnly":"bun run verify","verify:package":"bun run check && bun run build && bun run test:package","release:publish":"bun scripts/publish-release.ts"},"_npmUser":{"name":"yolaine","email":"tracy.ngot@gmail.com"},"overrides":{"esbuild":"^0.28.1","postcss":"^8.5.10"},"repository":{"url":"git+https://github.com/TracyNgot/inboxtap.dev.git","type":"git"},"workspaces":["web"],"_npmVersion":"11.16.0","description":"A local SMTP inbox for deterministic email-flow tests.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"mailparser":"^3.9.14","smtp-server":"^3.19.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","lefthook":"^2.1.10","@types/bun":"^1.3.14","typescript":"5.7.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.4","@types/mailparser":"^3.4.6","@types/smtp-server":"^3.5.13"},"_npmOperationalInternal":{"tmp":"tmp/inboxtap_0.3.2_1784663409340_0.494540841071224","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"inboxtap","version":"1.0.0","keywords":["smtp","smtp-server","fake-smtp","email","email-testing","mail","inbox","mailbox","capture","testing","e2e","development"],"license":"MIT","_id":"inboxtap@1.0.0","maintainers":[{"name":"yolaine","email":"tracy.ngot@gmail.com"}],"homepage":"https://inboxtap.dev","bugs":{"url":"https://github.com/TracyNgot/inboxtap.dev/issues"},"bin":{"inboxtap":"dist/cli.js"},"dist":{"shasum":"4c459237fa99403b1f1e760dc0bd2d50d2bec15f","tarball":"https://registry.npmjs.org/inboxtap/-/inboxtap-1.0.0.tgz","fileCount":26,"integrity":"sha512-sMCQXQ/6mcAiW+MqrbIkupgadtQ+3OBM87lcfMa1V7Yswzi/fZoMtfGu44yisFy5fDmY7hyfFYX+detPypAiew==","signatures":[{"sig":"MEQCIG5XALJIYJEpn2FUZuU/SC3FUJ9jEO0VRi2NWmcHT7FsAiBon/JCyJDDfWYuDw0fM8lhRtsHIgIbrFyVyQdyod5NEw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":214455},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"}},"gitHead":"76f7803e0638c81de38d4438c4fceaae463d1892","scripts":{"dev":"bun --watch src/cli.ts","lint":"biome lint .","test":"bun test","build":"tsup","check":"bun run format:check && bun run lint && bun run typecheck && bun run test","start":"bun src/cli.ts","format":"biome format --write .","verify":"bun run verify:package && bun run --cwd web verify","prepare":"lefthook install","typecheck":"tsc --noEmit","format:check":"biome format .","release:pack":"bun run release:check && bun pm pack","test:package":"bun scripts/test-package.ts","release:check":"bun run verify && bun pm pack --dry-run","release:major":"bun scripts/prepare-release.ts major","release:minor":"bun scripts/prepare-release.ts minor","release:patch":"bun scripts/prepare-release.ts patch","prepublishOnly":"bun run verify","verify:package":"bun run check && bun run build && bun run test:package","release:publish":"bun scripts/publish-release.ts"},"_npmUser":{"name":"yolaine","email":"tracy.ngot@gmail.com"},"overrides":{"esbuild":"^0.28.1","postcss":"^8.5.10"},"repository":{"url":"git+https://github.com/TracyNgot/inboxtap.dev.git","type":"git"},"workspaces":["web"],"_npmVersion":"11.16.0","description":"A local SMTP inbox for deterministic email-flow tests.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"mailparser":"^3.9.14","smtp-server":"^3.19.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","lefthook":"^2.1.10","@types/bun":"^1.3.14","typescript":"5.7.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.4","@types/mailparser":"^3.4.6","@types/smtp-server":"^3.5.13"},"_npmOperationalInternal":{"tmp":"tmp/inboxtap_1.0.0_1784664746509_0.19399591487094558","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"inboxtap","version":"1.0.1","keywords":["smtp","smtp-server","fake-smtp","email","email-testing","mail","inbox","mailbox","capture","testing","e2e","development"],"license":"MIT","_id":"inboxtap@1.0.1","maintainers":[{"name":"yolaine","email":"tracy.ngot@gmail.com"}],"homepage":"https://inboxtap.dev","bugs":{"url":"https://github.com/TracyNgot/inboxtap.dev/issues"},"bin":{"inboxtap":"dist/cli.js"},"dist":{"shasum":"c1d1abde40586b72093a7c7c7bd0355b627cfadc","tarball":"https://registry.npmjs.org/inboxtap/-/inboxtap-1.0.1.tgz","fileCount":26,"integrity":"sha512-1upORJUnJoqLhwg7fLAj9l0P4/PMo9zvbfdR5ZEt86HHbWz1qyAIycqlftrbFg6B8E/88xiucb2Hb7PvHTr6wA==","signatures":[{"sig":"MEYCIQDUoV48eHKy/VTu/Bl+0taVO4V0PlypUZpLdSxQ0qslAwIhAOTVDrn1btWRTmEOZeyNWEXQ6YHNOLFgc7qHNxSicbB6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":214701},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"}},"gitHead":"803f2384e2d05a1ec117e40e109ab1d2b6770807","scripts":{"dev":"bun --watch src/cli.ts","lint":"biome lint .","test":"bun test","build":"tsup","check":"bun run format:check && bun run lint && bun run typecheck && bun run test","start":"bun src/cli.ts","format":"biome format --write .","verify":"bun run verify:package && bun run --cwd web verify","prepare":"lefthook install","typecheck":"tsc --noEmit","format:check":"biome format .","release:pack":"bun run release:check && bun pm pack","test:package":"bun scripts/test-package.ts","release:check":"bun run verify && bun pm pack --dry-run","release:major":"bun scripts/prepare-release.ts major","release:minor":"bun scripts/prepare-release.ts minor","release:patch":"bun scripts/prepare-release.ts patch","prepublishOnly":"bun run verify","verify:package":"bun run check && bun run build && bun run test:package","release:publish":"bun scripts/publish-release.ts"},"_npmUser":{"name":"yolaine","email":"tracy.ngot@gmail.com"},"overrides":{"esbuild":"^0.28.1","postcss":"^8.5.10"},"repository":{"url":"git+https://github.com/TracyNgot/inboxtap.dev.git","type":"git"},"workspaces":["web"],"_npmVersion":"11.16.0","description":"A local SMTP inbox for deterministic email-flow tests.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"mailparser":"^3.9.14","smtp-server":"^3.19.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","lefthook":"^2.1.10","@types/bun":"^1.3.14","typescript":"5.7.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.4","@types/mailparser":"^3.4.6","@types/smtp-server":"^3.5.13"},"_npmOperationalInternal":{"tmp":"tmp/inboxtap_1.0.1_1784668339547_0.11953179806461756","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"inboxtap","version":"1.0.2","keywords":["smtp","smtp-server","fake-smtp","email","email-testing","mail","inbox","mailbox","capture","testing","e2e","development"],"license":"MIT","_id":"inboxtap@1.0.2","maintainers":[{"name":"yolaine","email":"tracy.ngot@gmail.com"}],"homepage":"https://inboxtap.dev","bugs":{"url":"https://github.com/TracyNgot/inboxtap.dev/issues"},"bin":{"inboxtap":"dist/cli.js"},"dist":{"shasum":"ae78735b7db3a9b0e403a4cfc149b9324408bc10","tarball":"https://registry.npmjs.org/inboxtap/-/inboxtap-1.0.2.tgz","fileCount":26,"integrity":"sha512-GZlmgMX2riYXjt0ONt1F2E1UYej28UYKSyGyz1P/ly4fY9NoIUtITCesTd1HhAOJsdvBhc4JEg8bQyWfEYmHNg==","signatures":[{"sig":"MEYCIQC6Qgh1jNGcYhTtImEUqfxz6ymLNjCZaA7OmRT+c718YQIhAJpdQ6tLAEJxQ7ov7W5AXL6PBg+spmVQcXfVaO3RN/uj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":214957},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"}},"gitHead":"d82f26b71d73628fd545d7344147adc5399a48b7","scripts":{"dev":"bun --watch src/cli.ts","lint":"biome lint .","test":"bun test","build":"tsup","check":"bun run format:check && bun run lint && bun run typecheck && bun run test","start":"bun src/cli.ts","format":"biome format --write .","verify":"bun run verify:package && bun run --cwd web verify","prepare":"lefthook install","typecheck":"tsc --noEmit","format:check":"biome format .","release:pack":"bun run release:check && bun pm pack","test:package":"bun scripts/test-package.ts","release:check":"bun run verify && bun pm pack --dry-run","release:major":"bun scripts/prepare-release.ts major","release:minor":"bun scripts/prepare-release.ts minor","release:patch":"bun scripts/prepare-release.ts patch","prepublishOnly":"bun run verify","verify:package":"bun run check && bun run build && bun run test:package","release:publish":"bun scripts/publish-release.ts"},"_npmUser":{"name":"yolaine","email":"tracy.ngot@gmail.com"},"overrides":{"esbuild":"^0.28.1","postcss":"^8.5.10"},"repository":{"url":"git+https://github.com/TracyNgot/inboxtap.dev.git","type":"git"},"workspaces":["web"],"_npmVersion":"11.16.0","description":"A local SMTP inbox for deterministic email-flow tests.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"mailparser":"^3.9.14","smtp-server":"^3.19.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","lefthook":"^2.1.10","@types/bun":"^1.3.14","typescript":"5.7.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.4","@types/mailparser":"^3.4.6","@types/smtp-server":"^3.5.13"},"_npmOperationalInternal":{"tmp":"tmp/inboxtap_1.0.2_1784668561049_0.5260755088746527","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"inboxtap","version":"1.0.3","keywords":["smtp","smtp-server","fake-smtp","email","email-testing","mail","inbox","mailbox","capture","testing","e2e","development"],"license":"MIT","_id":"inboxtap@1.0.3","maintainers":[{"name":"yolaine","email":"tracy.ngot@gmail.com"}],"homepage":"https://inboxtap.dev","bugs":{"url":"https://github.com/TracyNgot/inboxtap.dev/issues"},"bin":{"inboxtap":"dist/cli.js"},"dist":{"shasum":"582eb1b62796464f8f1127566441c573f1711536","tarball":"https://registry.npmjs.org/inboxtap/-/inboxtap-1.0.3.tgz","fileCount":26,"integrity":"sha512-UsddPxphixD6buSZTLBVyNk90NICr3IZgWuTScNWu+dWe5bWB9fuzYJdgov3b+IqZidkm0M41bhNYglRBy3DJQ==","signatures":[{"sig":"MEUCIQCQ0ttKvLOO9uOnNbN7JEkZGqilvA80BAWHy6jJGNkxVQIgLXRsuVZ9uWnd0piGm9qB4Pmqs3CiALa1YQWtB5cbMYc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":215203},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"}},"gitHead":"bde62b0d102b389e74c9217de87a76d9657119da","scripts":{"dev":"bun --watch src/cli.ts","lint":"biome lint .","test":"bun test","build":"tsup","check":"bun run format:check && bun run lint && bun run typecheck && bun run test","start":"bun src/cli.ts","format":"biome format --write .","verify":"bun run verify:package && bun run --cwd web verify","prepare":"lefthook install","typecheck":"tsc --noEmit","format:check":"biome format .","release:pack":"bun run release:check && bun pm pack","test:package":"bun scripts/test-package.ts","release:check":"bun run verify && bun pm pack --dry-run","release:major":"bun scripts/prepare-release.ts major","release:minor":"bun scripts/prepare-release.ts minor","release:patch":"bun scripts/prepare-release.ts patch","prepublishOnly":"bun run verify","verify:package":"bun run check && bun run build && bun run test:package","release:publish":"bun scripts/publish-release.ts"},"_npmUser":{"name":"yolaine","email":"tracy.ngot@gmail.com"},"overrides":{"esbuild":"^0.28.1","postcss":"^8.5.10"},"repository":{"url":"git+https://github.com/TracyNgot/inboxtap.dev.git","type":"git"},"workspaces":["web"],"_npmVersion":"11.16.0","description":"A local SMTP inbox for deterministic email-flow tests.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"mailparser":"^3.9.14","smtp-server":"^3.19.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","lefthook":"^2.1.10","@types/bun":"^1.3.14","typescript":"5.7.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.4","@types/mailparser":"^3.4.6","@types/smtp-server":"^3.5.13"},"_npmOperationalInternal":{"tmp":"tmp/inboxtap_1.0.3_1784668890434_0.33460242820925656","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"inboxtap","version":"1.0.4","keywords":["smtp","smtp-server","fake-smtp","email","email-testing","mail","inbox","mailbox","capture","testing","e2e","development"],"license":"MIT","_id":"inboxtap@1.0.4","maintainers":[{"name":"yolaine","email":"tracy.ngot@gmail.com"}],"homepage":"https://inboxtap.dev","bugs":{"url":"https://github.com/TracyNgot/inboxtap.dev/issues"},"bin":{"inboxtap":"dist/cli.js"},"dist":{"shasum":"1158a0c9dd0a784d7a5b3a0da2b19dc0a2d88739","tarball":"https://registry.npmjs.org/inboxtap/-/inboxtap-1.0.4.tgz","fileCount":26,"integrity":"sha512-QufpdsuD6t+IAhDeoG9kkxGDuwjbyKVvMcQzEEQMRUEpKz/YLzf2q9kMM462NC2dA17U96VCj5P4VdZ9kz9WMg==","signatures":[{"sig":"MEQCIHkzksrltBKieXqg9c3pznNAOJWrgOTXTKQWuro4HEylAiB1Mo4SICjXpzB/P3m4I/Pxc9GttZUh0g9DQDAtHAbnWw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":215450},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"}},"gitHead":"da99538367d2f1c1cb812fa8df23ccd6c98abc37","scripts":{"dev":"bun --watch src/cli.ts","lint":"biome lint .","test":"bun test","build":"tsup","check":"bun run format:check && bun run lint && bun run typecheck && bun run test","start":"bun src/cli.ts","format":"biome format --write .","verify":"bun run verify:package && bun run --cwd web verify","prepare":"lefthook install","typecheck":"tsc --noEmit","format:check":"biome format .","release:pack":"bun run release:check && bun pm pack","test:package":"bun scripts/test-package.ts","release:check":"bun run verify && bun pm pack --dry-run","release:major":"bun scripts/prepare-release.ts major","release:minor":"bun scripts/prepare-release.ts minor","release:patch":"bun scripts/prepare-release.ts patch","prepublishOnly":"bun run verify","verify:package":"bun run check && bun run build && bun run test:package","release:publish":"bun scripts/publish-release.ts"},"_npmUser":{"name":"yolaine","email":"tracy.ngot@gmail.com"},"overrides":{"esbuild":"^0.28.1","postcss":"^8.5.10"},"repository":{"url":"git+https://github.com/TracyNgot/inboxtap.dev.git","type":"git"},"workspaces":["web"],"_npmVersion":"11.16.0","description":"A local SMTP inbox for deterministic email-flow tests.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"mailparser":"^3.9.14","smtp-server":"^3.19.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","lefthook":"^2.1.10","@types/bun":"^1.3.14","typescript":"5.7.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.4","@types/mailparser":"^3.4.6","@types/smtp-server":"^3.5.13"},"_npmOperationalInternal":{"tmp":"tmp/inboxtap_1.0.4_1784669832141_0.15603015204305337","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"inboxtap","version":"1.0.5","keywords":["smtp","smtp-server","fake-smtp","email","email-testing","mail","inbox","mailbox","capture","testing","e2e","development"],"license":"MIT","_id":"inboxtap@1.0.5","maintainers":[{"name":"yolaine","email":"tracy.ngot@gmail.com"}],"homepage":"https://inboxtap.dev","bugs":{"url":"https://github.com/TracyNgot/inboxtap.dev/issues"},"bin":{"inboxtap":"dist/cli.js"},"dist":{"shasum":"67bec7c036a6f4b786bdcaceb3e53926b10f84bc","tarball":"https://registry.npmjs.org/inboxtap/-/inboxtap-1.0.5.tgz","fileCount":26,"integrity":"sha512-fIOi1x6YD2VBM0Y4Q/IUTJvnfCDxSyHbHk7ydjJjhwdtpMQ1OHg+77+WNdvQvYGjPatWhxot5GNFauq8qc4Hww==","signatures":[{"sig":"MEQCIG62GthFqUe9ChlxVv9D0m9H5wD58OC22zU33RepVKJeAiADOmkT85F+AeMHPkix5Pwv9LiCBGWYgHEo47gAdy1dag==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":215707},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"}},"gitHead":"852ebbe42952401c5429913b3329524db4bc3b9b","scripts":{"dev":"bun --watch src/cli.ts","lint":"biome lint .","test":"bun test","build":"tsup","check":"bun run format:check && bun run lint && bun run typecheck && bun run test","start":"bun src/cli.ts","format":"biome format --write .","verify":"bun run verify:package && bun run --cwd web verify","prepare":"lefthook install","typecheck":"tsc --noEmit","format:check":"biome format .","release:pack":"bun run release:check && bun pm pack","test:package":"bun scripts/test-package.ts","release:check":"bun run verify && bun pm pack --dry-run","release:major":"bun scripts/prepare-release.ts major","release:minor":"bun scripts/prepare-release.ts minor","release:patch":"bun scripts/prepare-release.ts patch","prepublishOnly":"bun run verify","verify:package":"bun run check && bun run build && bun run test:package","release:publish":"bun scripts/publish-release.ts"},"_npmUser":{"name":"yolaine","email":"tracy.ngot@gmail.com"},"overrides":{"esbuild":"^0.28.1","postcss":"^8.5.10"},"repository":{"url":"git+https://github.com/TracyNgot/inboxtap.dev.git","type":"git"},"workspaces":["web"],"_npmVersion":"11.16.0","description":"A local SMTP inbox for deterministic email-flow tests.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"mailparser":"^3.9.14","smtp-server":"^3.19.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","lefthook":"^2.1.10","@types/bun":"^1.3.14","typescript":"5.7.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.4","@types/mailparser":"^3.4.6","@types/smtp-server":"^3.5.13"},"_npmOperationalInternal":{"tmp":"tmp/inboxtap_1.0.5_1784675352508_0.3839746120185461","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"inboxtap","version":"1.0.6","keywords":["smtp","smtp-server","fake-smtp","email","email-testing","mail","inbox","mailbox","capture","testing","e2e","development"],"license":"MIT","_id":"inboxtap@1.0.6","maintainers":[{"name":"yolaine","email":"tracy.ngot@gmail.com"}],"homepage":"https://inboxtap.dev","bugs":{"url":"https://github.com/TracyNgot/inboxtap.dev/issues"},"bin":{"inboxtap":"dist/cli.js"},"dist":{"shasum":"047828bd4410cf07c6fa2fd58e50c749be9e9933","tarball":"https://registry.npmjs.org/inboxtap/-/inboxtap-1.0.6.tgz","fileCount":26,"integrity":"sha512-r//QQJyctAKZ3jQPYS23aonEXrz3gw8dN/D12bkd0TV/zB2eMN1fc6OydMehpvFMOw4vl85krEmMclhuZC2PAA==","signatures":[{"sig":"MEUCIQDPDlDuarDx5kmtJKx0dWV14EM43nqSyzjvRC+tn5pxnwIgbqXKTm4ON7K/bHRSN/JTKHuTKKdVZc0BaCje1YVPK5A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":215948},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./client":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.cjs"}},"gitHead":"1547128b889773dd1d142b58a237d505b402c00a","scripts":{"dev":"bun --watch src/cli.ts","lint":"biome lint .","test":"bun test","build":"tsup","check":"bun run format:check && bun run lint && bun run typecheck && bun run test","start":"bun src/cli.ts","format":"biome format --write .","verify":"bun run verify:package && bun run --cwd web verify","prepare":"lefthook install","typecheck":"tsc --noEmit","format:check":"biome format .","release:pack":"bun run release:check && bun pm pack","test:package":"bun scripts/test-package.ts","release:check":"bun run verify && bun pm pack --dry-run","release:major":"bun scripts/prepare-release.ts major","release:minor":"bun scripts/prepare-release.ts minor","release:patch":"bun scripts/prepare-release.ts patch","prepublishOnly":"bun run verify","verify:package":"bun run check && bun run build && bun run test:package","release:publish":"bun scripts/publish-release.ts"},"_npmUser":{"name":"yolaine","email":"tracy.ngot@gmail.com"},"overrides":{"esbuild":"^0.28.1","postcss":"^8.5.10"},"repository":{"url":"git+https://github.com/TracyNgot/inboxtap.dev.git","type":"git"},"workspaces":["web"],"_npmVersion":"11.16.0","description":"A local SMTP inbox for deterministic email-flow tests.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"mailparser":"^3.9.14","smtp-server":"^3.19.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","lefthook":"^2.1.10","@types/bun":"^1.3.14","typescript":"5.7.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.4","@types/mailparser":"^3.4.6","@types/smtp-server":"^3.5.13"},"_npmOperationalInternal":{"tmp":"tmp/inboxtap_1.0.6_1784751556348_0.9922829658052625","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"inboxtap","version":"1.1.0","keywords":["smtp","smtp-server","fake-smtp","email","email-testing","mail","inbox","mailbox","capture","testing","e2e","development","typescript","playwright","cypress","vitest","jest","otp","magic-link","password-reset","no-docker"],"license":"MIT","_id":"inboxtap@1.1.0","maintainers":[{"name":"yolaine","email":"tracy.ngot@gmail.com"}],"homepage":"https://inboxtap.dev","bugs":{"url":"https://github.com/TracyNgot/inboxtap.dev/issues"},"bin":{"inboxtap":"dist/cli.js"},"dist":{"shasum":"357da54e4c1c04ecc2ad288ee96a6631ff41d6ef","tarball":"https://registry.npmjs.org/inboxtap/-/inboxtap-1.1.0.tgz","fileCount":54,"integrity":"sha512-CgV7CTOVxG/VWcUyFNAGFGlGd+arFFRI/oYuWFRISe3wLwRXMRKWESjJ6EQMxRDexegD5LbXsNdhrtOBaerGug==","signatures":[{"sig":"MEUCIQDpzHHDf+imy8Nx8/pwXFlFDYtim4ti5f+WRWRUCu2RhwIgaP4Qgmi+3A3FT/alqqtf1E44fWK6I6PaTZJiy3BhQ6Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":517254},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./client":{"import":{"types":"./dist/client.d.ts","default":"./dist/client.js"},"require":{"types":"./dist/client.d.cts","default":"./dist/client.cjs"}},"./fixtures":{"import":{"types":"./dist/fixtures/index.d.ts","default":"./dist/fixtures/index.js"},"require":{"types":"./dist/fixtures/index.d.cts","default":"./dist/fixtures/index.cjs"}},"./fixtures/bun":{"import":{"types":"./dist/fixtures/bun.d.ts","default":"./dist/fixtures/bun.js"},"require":{"types":"./dist/fixtures/bun.d.cts","default":"./dist/fixtures/bun.cjs"}},"./fixtures/vitest":{"import":{"types":"./dist/fixtures/vitest.d.ts","default":"./dist/fixtures/vitest.js"},"require":{"types":"./dist/fixtures/vitest.d.cts","default":"./dist/fixtures/vitest.cjs"}},"./fixtures/playwright":{"import":{"types":"./dist/fixtures/playwright.d.ts","default":"./dist/fixtures/playwright.js"},"require":{"types":"./dist/fixtures/playwright.d.cts","default":"./dist/fixtures/playwright.cjs"}}},"gitHead":"9f3a554e29afc8ef47cfb7564e529ed71cd28d32","scripts":{"dev":"bun --watch src/cli.ts","lint":"biome lint .","test":"bun test","build":"tsup && bun scripts/fix-declarations.ts","check":"bun run format:check && bun run lint && bun run typecheck && bun run test","start":"bun src/cli.ts","format":"biome format --write .","verify":"bun run verify:package && bun run --cwd web verify","prepare":"lefthook install","typecheck":"tsc --noEmit","format:check":"biome format .","release:pack":"bun run release:check && bun pm pack","test:package":"bun scripts/test-package.ts","release:check":"bun run verify && bun pm pack --dry-run","release:major":"bun scripts/prepare-release.ts major","release:minor":"bun scripts/prepare-release.ts minor","release:patch":"bun scripts/prepare-release.ts patch","prepublishOnly":"bun run verify","verify:package":"bun run check && bun run build && bun run test:package","release:publish":"bun scripts/publish-release.ts"},"_npmUser":{"name":"yolaine","email":"tracy.ngot@gmail.com"},"overrides":{"sharp":"0.35.3","esbuild":"^0.28.1","postcss":"^8.5.10"},"repository":{"url":"git+https://github.com/TracyNgot/inboxtap.dev.git","type":"git"},"workspaces":["web"],"_npmVersion":"11.16.0","description":"A local email capture server and TypeScript SDK for testing verification links, magic links, OTPs, invitations, and password-reset emails.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"mailparser":"^3.9.14","smtp-server":"^3.19.2","@types/nodemailer":"^8.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.0","lefthook":"^2.1.10","@types/bun":"^1.3.14","nodemailer":"^9.0.0","typescript":"5.7.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.5","@playwright/test":"^1.61.0","@types/mailparser":"^3.4.6","@types/smtp-server":"^3.5.13"},"peerDependencies":{"vitest":">=4.1.0 <5","nodemailer":">=9.0.0 <10","@playwright/test":">=1.61.0 <2"},"peerDependenciesMeta":{"vitest":{"optional":true},"nodemailer":{"optional":true},"@playwright/test":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inboxtap_1.1.0_1784830948311_0.9727871684580134","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"inboxtap","version":"1.2.0","keywords":["smtp","smtp-server","fake-smtp","email","email-testing","mail","inbox","mailbox","capture","testing","e2e","development","typescript","playwright","cypress","vitest","jest","otp","magic-link","password-reset","no-docker"],"license":"MIT","_id":"inboxtap@1.2.0","maintainers":[{"name":"yolaine","email":"tracy.ngot@gmail.com"}],"homepage":"https://inboxtap.dev","bugs":{"url":"https://github.com/TracyNgot/inboxtap.dev/issues"},"bin":{"inboxtap":"dist/cli.js"},"dist":{"shasum":"56cd5c815eba2c1c51e5e10b99816696dd6bf2d9","tarball":"https://registry.npmjs.org/inboxtap/-/inboxtap-1.2.0.tgz","fileCount":54,"integrity":"sha512-MR0bV7OvITYkDFV2Xibf3WaeQ3i8Fn8WV1zofRh5vQnFsysu0jQVzKNUgZiV0op+RW7/ngAx1nIi56N4EMR00A==","signatures":[{"sig":"MEQCIEIqd9PcZP+KCU+tAiON1USA/rLPaPfL0NKUqjpK7VhQAiA0sWaqeqzmv7G+v60GAKV/wenR4MboU0zoezyrruwfmQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":889500},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./client":{"import":{"types":"./dist/client.d.ts","default":"./dist/client.js"},"require":{"types":"./dist/client.d.cts","default":"./dist/client.cjs"}},"./fixtures":{"import":{"types":"./dist/fixtures/index.d.ts","default":"./dist/fixtures/index.js"},"require":{"types":"./dist/fixtures/index.d.cts","default":"./dist/fixtures/index.cjs"}},"./fixtures/bun":{"import":{"types":"./dist/fixtures/bun.d.ts","default":"./dist/fixtures/bun.js"},"require":{"types":"./dist/fixtures/bun.d.cts","default":"./dist/fixtures/bun.cjs"}},"./fixtures/vitest":{"import":{"types":"./dist/fixtures/vitest.d.ts","default":"./dist/fixtures/vitest.js"},"require":{"types":"./dist/fixtures/vitest.d.cts","default":"./dist/fixtures/vitest.cjs"}},"./fixtures/playwright":{"import":{"types":"./dist/fixtures/playwright.d.ts","default":"./dist/fixtures/playwright.js"},"require":{"types":"./dist/fixtures/playwright.d.cts","default":"./dist/fixtures/playwright.cjs"}}},"gitHead":"af84f850dce2282e277d45290f3afa01fd312b06","scripts":{"dev":"bun --watch src/cli.ts","lint":"biome lint .","test":"bun test","build":"tsup && bun scripts/fix-declarations.ts","check":"bun run format:check && bun run lint && bun run typecheck && bun run test","start":"bun src/cli.ts","format":"biome format --write .","verify":"bun run verify:package && bun run --cwd web verify","prepare":"lefthook install","typecheck":"tsc --noEmit","format:check":"biome format .","release:pack":"bun run release:check && bun pm pack","test:package":"bun scripts/test-package.ts","release:check":"bun run verify && bun pm pack --dry-run","release:major":"bun scripts/prepare-release.ts major","release:minor":"bun scripts/prepare-release.ts minor","release:patch":"bun scripts/prepare-release.ts patch","prepublishOnly":"bun run verify","verify:package":"bun run check && bun run build && bun run test:package","release:publish":"bun scripts/publish-release.ts"},"_npmUser":{"name":"yolaine","email":"tracy.ngot@gmail.com"},"overrides":{"sharp":"0.35.3","esbuild":"^0.28.1","postcss":"^8.5.10"},"repository":{"url":"git+https://github.com/TracyNgot/inboxtap.dev.git","type":"git"},"workspaces":["web"],"_npmVersion":"11.16.0","description":"A local email capture server and TypeScript SDK for testing verification links, magic links, OTPs, invitations, and password-reset emails.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"mailparser":"^3.9.14","smtp-server":"^3.19.2","@types/nodemailer":"^8.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.0","lefthook":"^2.1.10","@types/bun":"^1.3.14","nodemailer":"^9.0.0","typescript":"5.7.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.5","@playwright/test":"^1.61.0","@types/mailparser":"^3.4.6","@types/smtp-server":"^3.5.13"},"peerDependencies":{"vitest":">=4.1.0 <5","nodemailer":">=9.0.0 <10","@playwright/test":">=1.61.0 <2"},"peerDependenciesMeta":{"vitest":{"optional":true},"nodemailer":{"optional":true},"@playwright/test":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inboxtap_1.2.0_1784833166533_0.25998087342512854","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"inboxtap","version":"1.3.0","keywords":["smtp","smtp-server","fake-smtp","email","email-testing","mail","inbox","mailbox","capture","testing","e2e","development","typescript","playwright","cypress","vitest","jest","otp","magic-link","password-reset","no-docker"],"license":"MIT","_id":"inboxtap@1.3.0","maintainers":[{"name":"yolaine","email":"tracy.ngot@gmail.com"}],"homepage":"https://inboxtap.dev","bugs":{"url":"https://github.com/TracyNgot/inboxtap.dev/issues"},"bin":{"inboxtap":"dist/cli.js"},"dist":{"shasum":"332de9b13da042978c9ec90d2fb23f8d21877747","tarball":"https://registry.npmjs.org/inboxtap/-/inboxtap-1.3.0.tgz","fileCount":82,"integrity":"sha512-nXOvviAC4v+VTJhESA5gWtHHA2Z2w5OVCLfa4FU6hm7ndac1u5djve64OU5wY1PivmhSaSbz9JhGcq6ad2ZOuQ==","signatures":[{"sig":"MEUCIQDh0rIZAwPLoq1MWasJ02p2nvCruiRQ2jk57xdeoSspzwIgD+Xcr9JAKuPLOWOLr8nvqJszseXrjSSe8ac8Jgdr1zQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1097943},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./client":{"import":{"types":"./dist/client.d.ts","default":"./dist/client.js"},"require":{"types":"./dist/client.d.cts","default":"./dist/client.cjs"}},"./fixtures":{"import":{"types":"./dist/fixtures/index.d.ts","default":"./dist/fixtures/index.js"},"require":{"types":"./dist/fixtures/index.d.cts","default":"./dist/fixtures/index.cjs"}},"./matchers":{"import":{"types":"./dist/matchers/index.d.ts","default":"./dist/matchers/index.js"},"require":{"types":"./dist/matchers/index.d.cts","default":"./dist/matchers/index.cjs"}},"./fixtures/bun":{"import":{"types":"./dist/fixtures/bun.d.ts","default":"./dist/fixtures/bun.js"},"require":{"types":"./dist/fixtures/bun.d.cts","default":"./dist/fixtures/bun.cjs"}},"./matchers/bun":{"import":{"types":"./dist/matchers/bun.d.ts","default":"./dist/matchers/bun.js"},"require":{"types":"./dist/matchers/bun.d.cts","default":"./dist/matchers/bun.cjs"}},"./fixtures/vitest":{"import":{"types":"./dist/fixtures/vitest.d.ts","default":"./dist/fixtures/vitest.js"},"require":{"types":"./dist/fixtures/vitest.d.cts","default":"./dist/fixtures/vitest.cjs"}},"./matchers/vitest":{"import":{"types":"./dist/matchers/vitest.d.ts","default":"./dist/matchers/vitest.js"},"require":{"types":"./dist/matchers/vitest.d.cts","default":"./dist/matchers/vitest.cjs"}},"./fixtures/playwright":{"import":{"types":"./dist/fixtures/playwright.d.ts","default":"./dist/fixtures/playwright.js"},"require":{"types":"./dist/fixtures/playwright.d.cts","default":"./dist/fixtures/playwright.cjs"}},"./matchers/playwright":{"import":{"types":"./dist/matchers/playwright.d.ts","default":"./dist/matchers/playwright.js"},"require":{"types":"./dist/matchers/playwright.d.cts","default":"./dist/matchers/playwright.cjs"}}},"gitHead":"896ad38b0875203a60c329718130068c21ec7e9f","scripts":{"dev":"bun --watch src/cli.ts","lint":"biome lint .","test":"bun test","build":"tsup && bun scripts/fix-declarations.ts","check":"bun run format:check && bun run lint && bun run typecheck && bun run test","start":"bun src/cli.ts","format":"biome format --write .","verify":"bun run verify:package && bun run --cwd web verify","prepare":"lefthook install","typecheck":"tsc --noEmit","format:check":"biome format .","release:pack":"bun run release:check && bun pm pack","test:package":"bun scripts/test-package.ts","release:check":"bun run verify && bun pm pack --dry-run","release:major":"bun scripts/prepare-release.ts major","release:minor":"bun scripts/prepare-release.ts minor","release:patch":"bun scripts/prepare-release.ts patch","prepublishOnly":"bun run verify","verify:package":"bun run check && bun run build && bun run test:package","release:publish":"bun scripts/publish-release.ts"},"_npmUser":{"name":"yolaine","email":"tracy.ngot@gmail.com"},"overrides":{"sharp":"0.35.3","esbuild":"^0.28.1","postcss":"^8.5.10"},"repository":{"url":"git+https://github.com/TracyNgot/inboxtap.dev.git","type":"git"},"workspaces":["web"],"_npmVersion":"11.16.0","description":"A local email capture server and TypeScript SDK for testing verification links, magic links, OTPs, invitations, and password-reset emails.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"mailparser":"^3.9.14","smtp-server":"^3.19.2","@types/nodemailer":"^8.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.0","lefthook":"^2.1.10","@types/bun":"^1.3.14","nodemailer":"^9.0.0","typescript":"5.7.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.5","@playwright/test":"^1.61.0","@types/mailparser":"^3.4.6","@types/smtp-server":"^3.5.13"},"peerDependencies":{"vitest":">=4.1.0 <5","nodemailer":">=9.0.0 <10","@playwright/test":">=1.61.0 <2"},"peerDependenciesMeta":{"vitest":{"optional":true},"nodemailer":{"optional":true},"@playwright/test":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inboxtap_1.3.0_1784835361857_0.5434775156241685","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"inboxtap","version":"1.4.0","keywords":["smtp","smtp-server","fake-smtp","email","email-testing","mail","inbox","mailbox","capture","testing","e2e","development","typescript","playwright","cypress","vitest","jest","otp","magic-link","password-reset","no-docker"],"license":"MIT","_id":"inboxtap@1.4.0","maintainers":[{"name":"yolaine","email":"tracy.ngot@gmail.com"}],"homepage":"https://inboxtap.dev","bugs":{"url":"https://github.com/TracyNgot/inboxtap.dev/issues"},"bin":{"inboxtap":"dist/cli.js"},"dist":{"shasum":"e81a9a1ee630b9ad0c17ba39449dac1b706767b2","tarball":"https://registry.npmjs.org/inboxtap/-/inboxtap-1.4.0.tgz","fileCount":88,"integrity":"sha512-rhrCZ9XjwIHMD4m3YFdYw5ajMUOflgi61v/arnk9K6AAeDqbvjJEzlDvkcLhLlYMFO60j8Q1ocoj/2zBH4Jeyg==","signatures":[{"sig":"MEUCIHtQ8FeWvdcDMIsYvSiLl/Sau1mOAICeUS0FoYkoXayFAiEA5j8CXHJ/TaooWvIGVo1goLiG3LJDEZUb8nJ5w67M+rM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1404938},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./client":{"import":{"types":"./dist/client.d.ts","default":"./dist/client.js"},"require":{"types":"./dist/client.d.cts","default":"./dist/client.cjs"}},"./reports":{"import":{"types":"./dist/reports/index.d.ts","default":"./dist/reports/index.js"},"require":{"types":"./dist/reports/index.d.cts","default":"./dist/reports/index.cjs"}},"./fixtures":{"import":{"types":"./dist/fixtures/index.d.ts","default":"./dist/fixtures/index.js"},"require":{"types":"./dist/fixtures/index.d.cts","default":"./dist/fixtures/index.cjs"}},"./matchers":{"import":{"types":"./dist/matchers/index.d.ts","default":"./dist/matchers/index.js"},"require":{"types":"./dist/matchers/index.d.cts","default":"./dist/matchers/index.cjs"}},"./fixtures/bun":{"import":{"types":"./dist/fixtures/bun.d.ts","default":"./dist/fixtures/bun.js"},"require":{"types":"./dist/fixtures/bun.d.cts","default":"./dist/fixtures/bun.cjs"}},"./matchers/bun":{"import":{"types":"./dist/matchers/bun.d.ts","default":"./dist/matchers/bun.js"},"require":{"types":"./dist/matchers/bun.d.cts","default":"./dist/matchers/bun.cjs"}},"./fixtures/vitest":{"import":{"types":"./dist/fixtures/vitest.d.ts","default":"./dist/fixtures/vitest.js"},"require":{"types":"./dist/fixtures/vitest.d.cts","default":"./dist/fixtures/vitest.cjs"}},"./matchers/vitest":{"import":{"types":"./dist/matchers/vitest.d.ts","default":"./dist/matchers/vitest.js"},"require":{"types":"./dist/matchers/vitest.d.cts","default":"./dist/matchers/vitest.cjs"}},"./fixtures/playwright":{"import":{"types":"./dist/fixtures/playwright.d.ts","default":"./dist/fixtures/playwright.js"},"require":{"types":"./dist/fixtures/playwright.d.cts","default":"./dist/fixtures/playwright.cjs"}},"./matchers/playwright":{"import":{"types":"./dist/matchers/playwright.d.ts","default":"./dist/matchers/playwright.js"},"require":{"types":"./dist/matchers/playwright.d.cts","default":"./dist/matchers/playwright.cjs"}}},"gitHead":"cce95f4e09151760d3e1c2d130f749d275e42caa","scripts":{"dev":"bun --watch src/cli.ts","lint":"biome lint .","test":"bun test","build":"tsup && bun scripts/fix-declarations.ts","check":"bun run format:check && bun run lint && bun run typecheck && bun run test","start":"bun src/cli.ts","format":"biome format --write .","verify":"bun run verify:package && bun run --cwd web verify","prepare":"lefthook install","typecheck":"tsc --noEmit","format:check":"biome format .","release:pack":"bun run release:check && bun pm pack","test:package":"bun scripts/test-package.ts","release:check":"bun run verify && bun pm pack --dry-run","release:major":"bun scripts/prepare-release.ts major","release:minor":"bun scripts/prepare-release.ts minor","release:patch":"bun scripts/prepare-release.ts patch","prepublishOnly":"bun run verify","verify:package":"bun run check && bun run build && bun run test:package","release:publish":"bun scripts/publish-release.ts"},"_npmUser":{"name":"yolaine","email":"tracy.ngot@gmail.com"},"overrides":{"sharp":"0.35.3","esbuild":"^0.28.1","postcss":"^8.5.10"},"repository":{"url":"git+https://github.com/TracyNgot/inboxtap.dev.git","type":"git"},"workspaces":["web"],"_npmVersion":"11.16.0","description":"A local email capture server and TypeScript SDK for testing verification links, magic links, OTPs, invitations, and password-reset emails.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"mailparser":"^3.9.14","smtp-server":"^3.19.2","@types/nodemailer":"^8.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.0","lefthook":"^2.1.10","@types/bun":"^1.3.14","nodemailer":"^9.0.0","typescript":"5.7.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.5","@playwright/test":"^1.61.0","@types/mailparser":"^3.4.6","@types/smtp-server":"^3.5.13"},"peerDependencies":{"vitest":">=4.1.0 <5","nodemailer":">=9.0.0 <10","@playwright/test":">=1.61.0 <2"},"peerDependenciesMeta":{"vitest":{"optional":true},"nodemailer":{"optional":true},"@playwright/test":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inboxtap_1.4.0_1784840409815_0.48897480695408113","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"inboxtap","version":"1.4.1","workspaces":["web"],"description":"A local email capture server and TypeScript SDK for testing verification links, magic links, OTPs, invitations, and password-reset emails.","keywords":["smtp","smtp-server","fake-smtp","email","email-testing","mail","inbox","mailbox","capture","testing","e2e","development","typescript","playwright","cypress","vitest","jest","otp","magic-link","password-reset","no-docker"],"license":"MIT","homepage":"https://inboxtap.dev","repository":{"type":"git","url":"git+https://github.com/TracyNgot/inboxtap.dev.git"},"type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","bin":{"inboxtap":"dist/cli.js"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./client":{"import":{"types":"./dist/client.d.ts","default":"./dist/client.js"},"require":{"types":"./dist/client.d.cts","default":"./dist/client.cjs"}},"./fixtures":{"import":{"types":"./dist/fixtures/index.d.ts","default":"./dist/fixtures/index.js"},"require":{"types":"./dist/fixtures/index.d.cts","default":"./dist/fixtures/index.cjs"}},"./fixtures/bun":{"import":{"types":"./dist/fixtures/bun.d.ts","default":"./dist/fixtures/bun.js"},"require":{"types":"./dist/fixtures/bun.d.cts","default":"./dist/fixtures/bun.cjs"}},"./fixtures/playwright":{"import":{"types":"./dist/fixtures/playwright.d.ts","default":"./dist/fixtures/playwright.js"},"require":{"types":"./dist/fixtures/playwright.d.cts","default":"./dist/fixtures/playwright.cjs"}},"./fixtures/vitest":{"import":{"types":"./dist/fixtures/vitest.d.ts","default":"./dist/fixtures/vitest.js"},"require":{"types":"./dist/fixtures/vitest.d.cts","default":"./dist/fixtures/vitest.cjs"}},"./matchers":{"import":{"types":"./dist/matchers/index.d.ts","default":"./dist/matchers/index.js"},"require":{"types":"./dist/matchers/index.d.cts","default":"./dist/matchers/index.cjs"}},"./matchers/bun":{"import":{"types":"./dist/matchers/bun.d.ts","default":"./dist/matchers/bun.js"},"require":{"types":"./dist/matchers/bun.d.cts","default":"./dist/matchers/bun.cjs"}},"./matchers/playwright":{"import":{"types":"./dist/matchers/playwright.d.ts","default":"./dist/matchers/playwright.js"},"require":{"types":"./dist/matchers/playwright.d.cts","default":"./dist/matchers/playwright.cjs"}},"./matchers/vitest":{"import":{"types":"./dist/matchers/vitest.d.ts","default":"./dist/matchers/vitest.js"},"require":{"types":"./dist/matchers/vitest.d.cts","default":"./dist/matchers/vitest.cjs"}},"./reports":{"import":{"types":"./dist/reports/index.d.ts","default":"./dist/reports/index.js"},"require":{"types":"./dist/reports/index.d.cts","default":"./dist/reports/index.cjs"}}},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"scripts":{"build":"tsup && bun scripts/fix-declarations.ts","dev":"bun --watch src/cli.ts","start":"bun src/cli.ts","test":"bun test","typecheck":"tsc --noEmit","format":"biome format --write .","format:check":"biome format .","lint":"biome lint .","check":"bun run format:check && bun run lint && bun run typecheck && bun run test","test:package":"bun scripts/test-package.ts","verify:package":"bun run check && bun run build && bun run test:package","verify":"bun run verify:package && bun run --cwd web verify","release:check":"bun run verify && bun pm pack --dry-run","release:pack":"bun run release:check && bun pm pack","release:patch":"bun scripts/prepare-release.ts patch","release:minor":"bun scripts/prepare-release.ts minor","release:major":"bun scripts/prepare-release.ts major","release:publish":"bun scripts/publish-release.ts","prepare":"lefthook install","prepublishOnly":"bun run verify"},"engines":{"node":">=20"},"overrides":{"postcss":"^8.5.10","esbuild":"^0.28.1","sharp":"0.35.3"},"dependencies":{"@types/nodemailer":"^8.0.1","mailparser":"^3.9.14","smtp-server":"^3.19.2"},"peerDependencies":{"@playwright/test":">=1.61.0 <2","nodemailer":">=9.0.0 <10","vitest":">=4.1.0 <5"},"peerDependenciesMeta":{"@playwright/test":{"optional":true},"nodemailer":{"optional":true},"vitest":{"optional":true}},"devDependencies":{"@biomejs/biome":"^2.5.5","@playwright/test":"^1.61.0","@types/bun":"^1.3.14","@types/mailparser":"^3.4.6","@types/node":"^26.1.1","@types/smtp-server":"^3.5.13","lefthook":"^2.1.10","nodemailer":"^9.0.0","tsup":"^8.5.1","typescript":"5.7.3","vitest":"^4.1.0"},"gitHead":"c742fa75ce589a8a09bb94a8e19ca20ffb488130","_id":"inboxtap@1.4.1","bugs":{"url":"https://github.com/TracyNgot/inboxtap.dev/issues"},"_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-osGZC8Tq0B+oLCZSWnoKVM7HnbGp84JFWvZIDkLzlNJknLLFHxxe7B9xF1LBLmr3GHOQpwGSnamz7XWXSZ2Afw==","shasum":"3605757b71915971b9575dcaa97ed3eb4a37945b","tarball":"https://registry.npmjs.org/inboxtap/-/inboxtap-1.4.1.tgz","fileCount":88,"unpackedSize":1429044,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIF2wUk5xKz7gCsfBxtREmCsuCStq44n0d3M52O1CEHGuAiB7+z/pazBHBNCpeQoFnLVC6JJ+Tzw7nd281hPG5b/jEg=="}]},"_npmUser":{"name":"yolaine","email":"tracy.ngot@gmail.com"},"directories":{},"maintainers":[{"name":"yolaine","email":"tracy.ngot@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/inboxtap_1.4.1_1784842692724_0.5943007540171243"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-21T02:09:32.923Z","modified":"2026-07-23T21:38:13.009Z","0.2.2":"2026-07-21T02:09:33.175Z","0.2.3":"2026-07-21T02:18:39.843Z","0.2.4":"2026-07-21T02:24:56.466Z","0.2.5":"2026-07-21T08:37:15.425Z","0.2.6":"2026-07-21T09:48:13.711Z","0.2.7":"2026-07-21T10:49:42.513Z","0.3.0":"2026-07-21T16:31:57.918Z","0.3.1":"2026-07-21T19:12:51.773Z","0.3.2":"2026-07-21T19:50:09.557Z","1.0.0":"2026-07-21T20:12:26.640Z","1.0.1":"2026-07-21T21:12:19.709Z","1.0.2":"2026-07-21T21:16:01.196Z","1.0.3":"2026-07-21T21:21:30.587Z","1.0.4":"2026-07-21T21:37:12.286Z","1.0.5":"2026-07-21T23:09:12.725Z","1.0.6":"2026-07-22T20:19:16.503Z","1.1.0":"2026-07-23T18:22:28.465Z","1.2.0":"2026-07-23T18:59:26.709Z","1.3.0":"2026-07-23T19:36:02.015Z","1.4.0":"2026-07-23T21:00:10.010Z","1.4.1":"2026-07-23T21:38:12.881Z"},"bugs":{"url":"https://github.com/TracyNgot/inboxtap.dev/issues"},"license":"MIT","homepage":"https://inboxtap.dev","keywords":["smtp","smtp-server","fake-smtp","email","email-testing","mail","inbox","mailbox","capture","testing","e2e","development","typescript","playwright","cypress","vitest","jest","otp","magic-link","password-reset","no-docker"],"repository":{"type":"git","url":"git+https://github.com/TracyNgot/inboxtap.dev.git"},"description":"A local email capture server and TypeScript SDK for testing verification links, magic links, OTPs, invitations, and password-reset emails.","maintainers":[{"name":"yolaine","email":"tracy.ngot@gmail.com"}],"readme":"# InboxTap\n\nInboxTap is a local email capture server and TypeScript SDK for testing verification links, magic links, OTPs, invitations, and password-reset emails. Point your application at its local SMTP address, then await the link, code, or custom match directly from your automated test—without Docker or an external mail service.\n\n```bash\nbunx inboxtap\n```\n\nThe published CLI also runs with Node 20 or later:\n\n```bash\nnpx inboxtap\n```\n\nIt captures all local SMTP recipients in a bounded in-memory store. No message is delivered externally.\n\nRead the complete guides and API reference at [inboxtap.dev/docs](https://inboxtap.dev/docs).\n\n## Quick start\n\nStart the server:\n\n```bash\nbunx inboxtap\n```\n\nDuring local development of this repository, use:\n\n```bash\nbun install\nbun run start\n```\n\nThe defaults are:\n\n```text\nSMTP: localhost:1025\nAPI:  http://localhost:8025\n```\n\nConfigure the application under test:\n\n```env\nSMTP_HOST=localhost\nSMTP_PORT=1025\nSMTP_SECURE=false\n```\n\nOptions let you run multiple projects side by side:\n\n```bash\ninboxtap --smtp-port 2025 --api-port 9025 --domain mail.local.test\n```\n\n## Test-suite SDK\n\nInstall the package in a Bun or Node 20+ test project, then import the client subpath:\n\n```ts\nimport { InboxTapClient } from \"inboxtap/client\";\n\nconst inboxTap = new InboxTapClient();\nconst inbox = await inboxTap.createInbox({ alias: \"signup\" });\n\nawait page.getByLabel(\"Email\").fill(inbox.address);\nawait page.getByRole(\"button\", { name: \"Create account\" }).click();\n\nconst verificationUrl = await inbox.waitForLink({\n  subject: /verify your email/i,\n  contains: \"/verify\",\n});\nawait page.goto(verificationUrl);\n```\n\nThe inbox address is generated in the client, so parallel tests can safely isolate their messages without pre-registering recipients on the server.\n\n```ts\nconst code = await inbox.waitForCode({ subject: /security code/i });\nconst key = await inbox.waitForMatch({ pattern: /api_key=([A-Za-z0-9_-]+)/ });\nconst messages = await inbox.messages();\nawait inbox.clear();\n```\n\n`waitForLink`, `waitForCode`, and `waitForMatch` resolve to the extracted string. `waitForMessage` resolves to the complete captured email.\n\n### Runner-native fixtures\n\nInboxTap provides isolated fixture subpaths for Bun test, Vitest, and\nPlaywright. The shared fixture starts both listeners on dynamic ports by\ndefault, creates and verifies a plain Nodemailer transport, cleans up partial\nstartup failures, and exposes an idempotent `close()`.\n\nInstall Nodemailer 9 with InboxTap, plus the runner adapter your project uses:\n\n```bash\nbun add --dev inboxtap nodemailer vitest\n```\n\nExtend a Vitest base test to share one InboxTap server per file while creating\na fresh inbox for every test:\n\n```ts\nimport { expect, test as base } from \"vitest\";\nimport { extendInboxTap } from \"inboxtap/fixtures/vitest\";\n\nconst test = extendInboxTap(base);\n\ntest(\"captures an account email\", async ({ inboxTap, inbox }) => {\n  await inboxTap.transport.sendMail({\n    from: \"app@local.test\",\n    to: inbox.address,\n    subject: \"Verify your account\",\n    text: \"Open https://app.local.test/verify?id=example\",\n  });\n\n  const message = await inbox.waitForMessage({ subject: /verify your account/i });\n  expect(message.envelope.to).toContain(inbox.address);\n});\n```\n\nUse `startInboxTapFixture()` from `inboxtap/fixtures` for an explicit lifecycle,\n`setupInboxTap()` from `inboxtap/fixtures/bun`, or `extendInboxTap()` from\n`inboxtap/fixtures/playwright`. Playwright applications that need the\ndynamically selected SMTP port must start as a dependent worker fixture; an\nalready-running `webServer` cannot consume a port selected later by a test\nfixture.\n\n### Assertion matchers\n\nMatcher implementations and runner adapters use isolated subpaths. Inject the\nrunner's `expect` into its adapter; Bun and Vitest extend that object in place,\nwhile Playwright returns a new typed `expect`:\n\n```ts\nimport { expect, test as base } from \"vitest\";\nimport { extendInboxTap } from \"inboxtap/fixtures/vitest\";\nimport { extendInboxTapExpect } from \"inboxtap/matchers/vitest\";\n\nextendInboxTapExpect(expect);\nconst test = extendInboxTap(base);\n\ntest(\"delivers one verification email\", async ({ inboxTap, inbox }) => {\n  await inboxTap.transport.sendMail({\n    from: \"app@local.test\",\n    to: inbox.address,\n    subject: \"Verify your account\",\n    text: \"Open https://app.local.test/verify?id=example\",\n  });\n\n  await expect(inbox).toHaveDeliveredOnce({\n    subject: /verify your account/i,\n    quietMs: 100,\n  });\n\n  const email = await inbox.waitForMessage({ subject: /verify your account/i });\n  expect(email).toHaveRecipient(inbox.address);\n  expect(email).toContainLink(\"/verify\");\n});\n```\n\n`toHaveDeliveredOnce()` checks the messages that already exist; it does not\nwait for the first delivery. An optional `quietMs` observes only the interval\nafter a valid one-message snapshot and cannot prove that no later retry will\narrive. Recipient matching uses the SMTP envelope, link strings are\nsubstrings, and regular expressions are tested without changing their\n`lastIndex`.\n\n`toHaveUnsubscribeHeader({ oneClick: true })` reads the raw, unfolded RFC\nheaders and requires an HTTPS `List-Unsubscribe` target plus\n`List-Unsubscribe-Post: List-Unsubscribe=One-Click`. It checks header shape,\nnot DKIM validity or the remote endpoint.\n\nUse `inboxTapMatchers` or\n`createInboxTapMatchers({ recorder })` from the peer-free\n`inboxtap/matchers` subpath when integrating another compatible `expect`\nimplementation. Matcher diagnostics report only safe counts and states; they\ndo not echo message bodies, recipient values, links, tokens, or raw headers.\nThe recorder receives the same content-safe, structured observations for\nlater report collection. Importing `inboxtap`, `inboxtap/client`, or\n`inboxtap/matchers` does not load Nodemailer, Vitest, or Playwright.\n\n### Redacted test reports\n\nBuild shareable CI evidence with the client-side `inboxtap/reports` subpath.\n`InboxTapReport` accepts matcher observations, captured messages, and explicit\napplication assertions, then produces deterministic, versioned JSON or a\nself-contained static HTML report:\n\n```ts\nimport { test as base } from \"vitest\";\nimport { extendInboxTap } from \"inboxtap/fixtures/vitest\";\nimport { extendInboxTapExpect } from \"inboxtap/matchers/vitest\";\nimport { InboxTapReport } from \"inboxtap/reports\";\n\nconst test = extendInboxTap(base);\n\ntest(\"writes redacted evidence\", async ({ expect, inboxTap, inbox }) => {\n  const report = new InboxTapReport({ title: \"Signup email\" });\n  extendInboxTapExpect(expect, { recorder: report });\n\n  try {\n    await inboxTap.transport.sendMail({\n      from: \"app@local.test\",\n      to: inbox.address,\n      subject: \"Verify your account\",\n      text: \"Open https://app.local.test/verify/id-example?next=private\",\n    });\n    await expect(inbox).toHaveDeliveredOnce({ subject: /verify/i });\n    const email = await inbox.waitForMessage({ subject: /verify/i });\n\n    report.addAssertion({\n      name: \"verification email exposes one link\",\n      passed: email.links.length === 1,\n      messageId: email.id,\n    });\n  } finally {\n    for (const email of await inbox.messages()) report.addMessage(email);\n    await report.write(\"artifacts/signup-email.json\");\n    await report.write(\"artifacts/signup-email.html\");\n  }\n});\n```\n\nWriting from `finally` preserves the latest evidence when a matcher or\napplication assertion fails.\n\n`write()` infers JSON or HTML from the file extension unless `format` is\nprovided, and creates missing parent directories. By default, reports exclude\nraw RFC source, consistently pseudonymize email addresses, and redact URL\ncredentials, every query value, fragments, secret-like path values, common\nauthentication and cookie headers, and token-like values in text and HTML. Add\nproject-specific `redaction.patterns` or `redaction.additionalSensitiveHeaders`\nwhen needed. If a custom pattern overlaps a URL, InboxTap replaces the whole\nURL so regex-driven mutation cannot expose adjacent query or fragment values.\n\nRecorder scope follows the extended `expect`. The example uses Vitest's\ntest-bound instance for per-test observations. Do not attach different\ncollectors to one shared Bun or Vitest `expect` while tests run concurrently;\nrecord messages and application assertions explicitly instead, or intentionally\nbuild one suite-level report.\n\nReports accept at most 100 messages and 1,000 assertions, and each rendered\nartifact is capped at 10 MiB; bounded output includes explicit truncation\nmarkers. JSON exposes `utf8BytesOmittedExact`; when bounded accounting cannot\ninspect an entire omitted value, the byte count is a measured lower bound and\nHTML labels it as `at least`. HTML output escapes captured markup and does not\nexecute captured scripts or load captured or remote images, styles, or tracking\npixels.\n\nRedaction is best-effort, not a guarantee that arbitrary personal or secret\ndata will be detected. Review artifacts before sharing them. Setting\n`includeRaw: true` retains a best-effort-redacted copy of the raw RFC source\nand carries materially higher disclosure risk.\n\n### SMTP fault injection\n\nEvery programmatic server exposes `server.faults` for deterministic\ndelivery-level failure tests; no enable flag is required. Register a rule\nbefore triggering the application: the next matching SMTP transaction to\nreach `DATA` consumes it.\n\n```ts\ninboxTap.server.faults.failNext({\n  code: 451,\n  message: \"Temporary local failure\",\n  to: inbox.address,\n});\n\nawait expect(triggerEmail(inbox.address)).rejects.toThrow();\nexpect(await inbox.messages()).toHaveLength(0);\n```\n\nUse `delayNext({ durationMs, to?, times? })`,\n`disconnectNext({ afterBytes, to?, times? })`, or\n`pauseNext({ to?, timeoutMs? })` to exercise timeouts, interrupted sends, and\nconcurrency. A pause gate exposes `state`, `waitUntilPaused()`, and an\nidempotent `release()`:\n\n```ts\nconst gate = inboxTap.server.faults.pauseNext({ to: inbox.address });\nconst delivery = triggerEmail(inbox.address);\n\nawait gate.waitUntilPaused();\ngate.release();\nawait delivery;\n```\n\nRecipient filters match the SMTP envelope case-insensitively; any matching\nrecipient faults the whole transaction. Only one rule applies to a\ntransaction. Failed and disconnected deliveries are not captured, and\npaused or delayed deliveries appear only after successful completion. Fault\ncontrols are programmatic only—there are no HTTP routes or CLI flags.\n\n## HTTP API\n\nAll endpoints return JSON. Query values are URL encoded.\n\n| Method | Path | Description |\n| --- | --- | --- |\n| `GET` | `/health` | Service status, SMTP/API ports, and recipient domain |\n| `GET` | `/api/emails` | List messages; accepts `to`, `subject`, `afterId`, and `limit` |\n| `GET` | `/api/emails/latest` | Newest matching message |\n| `GET` | `/api/emails/wait` | Long-poll for a message; accepts filters plus `timeoutMs` up to 60,000 |\n| `GET` | `/api/emails/:id` | Retrieve one captured message |\n| `DELETE` | `/api/emails` | Clear all messages, or only a recipient with `?to=…` |\n\nFor example:\n\n```bash\ncurl \"http://localhost:8025/api/emails/latest?to=signup%40local.test\"\n```\n\nCaptured emails include the SMTP envelope, headers, decoded text/HTML, discovered HTTP(S) links, 4–8 digit codes, and raw RFC 822 source.\n\n## Examples\n\nRunnable end-to-end projects live in [`examples/`](examples/):\n\n- [`examples/better-auth-nextjs`](examples/better-auth-nextjs) — Next.js + Better Auth email verification, magic links, and OTP, tested with Playwright.\n- [`examples/express-nodemailer`](examples/express-nodemailer) — Express + Nodemailer transactional email, tested with Vitest.\n- [`examples/fault-injection-vitest`](examples/fault-injection-vitest) — SMTP retries, pauses, latency, recipient targeting, and disconnect recovery with Vitest.\n- [`examples/test-fixture-bun`](examples/test-fixture-bun) — Bun lifecycle hooks with an explicit fresh inbox per test.\n- [`examples/test-fixture-vitest`](examples/test-fixture-vitest) — File-scoped Vitest setup with concurrent, isolated inboxes.\n- [`examples/test-fixture-playwright`](examples/test-fixture-playwright) — Playwright worker-fixture composition using a dynamic SMTP port.\n\nEach example is standalone: install and test it from its own directory. Guided walkthroughs are on [inboxtap.dev/docs](https://inboxtap.dev/docs).\n\n## Safety and scope\n\nInboxTap binds only the loopback addresses (`127.0.0.1` and `::1`, so `localhost` works out of the box) by default and intentionally disables SMTP authentication and STARTTLS. Keep it local; it is not an outbound relay or production mail server.\n\nInboxTap 1.x is in-memory only. It does not include persistence, a dashboard, attachments, webhooks, Docker, or configurable extraction files.\n\n## Support\n\nInboxTap is free and open source. If it saves you time, you can [support its ongoing maintenance](https://buymeacoffee.com/yolaine). Your support helps fund documentation, bug fixes, and new releases.\n\n## Contributing\n\n```bash\nbun install\nbun run verify\n```\n\nLefthook installs pre-commit checks for formatting, linting, type checking, and Bun tests. Pre-push runs the complete verification suite, including the tsup build and Node distribution smoke test.\n\nRead [docs/OVERVIEW.md](docs/OVERVIEW.md) for the project goals and design invariants, then [CONTRIBUTING.md](CONTRIBUTING.md) and [STYLE_GUIDE.md](STYLE_GUIDE.md) for coding and commit conventions. Maintainers can use [RELEASING.md](RELEASING.md) for the verified npm release flow.\n\n## License\n\n[MIT](LICENSE)\n","readmeFilename":"README.md"}