{"_id":"@remix-run/session-middleware","_rev":"20-000b4311bf1b4e005cfaea0dd6049e45","name":"@remix-run/session-middleware","dist-tags":{"latest":"1.0.0"},"versions":{"0.0.0":{"name":"@remix-run/session-middleware","version":"0.0.0","keywords":["fetch","router","middleware","session","cookie","session-management"],"author":{"name":"Michael Jackson","email":"mjijackson@gmail.com"},"license":"MIT","_id":"@remix-run/session-middleware@0.0.0","maintainers":[{"name":"mjackson","email":"mjijackson+npm@gmail.com"},{"name":"ryanflorence","email":"rpflorence@gmail.com"}],"homepage":"https://github.com/remix-run/remix/tree/main/packages/session-middleware#readme","bugs":{"url":"https://github.com/remix-run/remix/issues"},"dist":{"shasum":"36a5e0fbc31bf778a5baec1591b89c84db0cbb70","tarball":"https://registry.npmjs.org/@remix-run/session-middleware/-/session-middleware-0.0.0.tgz","fileCount":11,"integrity":"sha512-hIES5gTmFCgh2SFD6qbLxRh9NJhZmZ6NPa2tcj/ZbJ27JACIqqLFSJ+6rQuLpbiycTkb7SU4Snck1PWS19R2Qw==","signatures":[{"sig":"MEQCIC0E48dj2rJ9WWPiX0XKd7zxuW+qfSmTTXgzD/yiHmz/AiAfE7q74iALX5Y5H8fAZpVh10folI3hl0Ss1HV08i55eg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8867},"type":"module","_from":"file:remix-run-session-middleware-0.0.0.tgz","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"test":"node --disable-warning=ExperimentalWarning --test './src/**/*.test.ts'","build":"tsc -p tsconfig.build.json","clean":"git clean -fdX","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mjackson","email":"mjijackson+npm@gmail.com"},"_resolved":"/private/var/folders/n5/1lxhnzk56hg6b7vnl558364m0000gn/T/94e93fba922233290c8480e20994c1a1/remix-run-session-middleware-0.0.0.tgz","_integrity":"sha512-hIES5gTmFCgh2SFD6qbLxRh9NJhZmZ6NPa2tcj/ZbJ27JACIqqLFSJ+6rQuLpbiycTkb7SU4Snck1PWS19R2Qw==","repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/session-middleware"},"_npmVersion":"11.3.0","description":"Middleware for managing sessions with cookie-based storage","directories":{},"_nodeVersion":"24.2.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^24.6.0","@remix-run/cookie":"0.4.1","@remix-run/headers":"0.17.0","@remix-run/session":"0.2.1","@remix-run/fetch-router":"0.9.0"},"peerDependencies":{"@remix-run/cookie":"^0.4.1","@remix-run/session":"^0.2.1","@remix-run/fetch-router":"^0.9.0"},"_npmOperationalInternal":{"tmp":"tmp/session-middleware_0.0.0_1763569187631_0.8437329523872443","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@remix-run/session-middleware","version":"0.1.0","keywords":["fetch","router","middleware","session","cookie","session-management"],"author":{"name":"Michael Jackson","email":"mjijackson@gmail.com"},"license":"MIT","_id":"@remix-run/session-middleware@0.1.0","maintainers":[{"name":"mjackson","email":"mjijackson+npm@gmail.com"},{"name":"ryanflorence","email":"rpflorence@gmail.com"}],"homepage":"https://github.com/remix-run/remix/tree/main/packages/session-middleware#readme","bugs":{"url":"https://github.com/remix-run/remix/issues"},"dist":{"shasum":"de8bb757ac7ad372e16cfdcee856b35d4b9ebad3","tarball":"https://registry.npmjs.org/@remix-run/session-middleware/-/session-middleware-0.1.0.tgz","fileCount":11,"integrity":"sha512-Awv09xE9a/uij0yoybJ40HAXW1d7CatxNaDJY7QY9QIIjfiihQePnGPpcAK1X7rUm+RjQL5kKXAqGYjLxQ1EoQ==","signatures":[{"sig":"MEUCIEN1E70CsWRwcSvIwzFJx3akutIUwHy68lBCWP+769bQAiEA6CICQNFLOysJkfcArJ1zUC70JKW7ydgcjCOAQkxl9O0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@remix-run%2fsession-middleware@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8867},"type":"module","_from":"file:remix-run-session-middleware-0.1.0.tgz","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"test":"node --disable-warning=ExperimentalWarning --test './src/**/*.test.ts'","build":"tsc -p tsconfig.build.json","clean":"git clean -fdX","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:21e078fe-8c11-4ec5-8e9d-f7d768ffc62c"}},"_resolved":"/tmp/26d161223fe70c9ae37b6cbf95f06ae1/remix-run-session-middleware-0.1.0.tgz","_integrity":"sha512-Awv09xE9a/uij0yoybJ40HAXW1d7CatxNaDJY7QY9QIIjfiihQePnGPpcAK1X7rUm+RjQL5kKXAqGYjLxQ1EoQ==","repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/session-middleware"},"_npmVersion":"11.6.2","description":"Middleware for managing sessions with cookie-based storage","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^24.6.0","@remix-run/cookie":"0.4.1","@remix-run/headers":"0.17.0","@remix-run/session":"0.2.1","@remix-run/fetch-router":"0.9.0"},"peerDependencies":{"@remix-run/cookie":"^0.4.1","@remix-run/session":"^0.2.1","@remix-run/fetch-router":"^0.9.0"},"_npmOperationalInternal":{"tmp":"tmp/session-middleware_0.1.0_1763582686016_0.20686312234839077","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@remix-run/session-middleware","version":"0.1.1","keywords":["fetch","router","middleware","session","cookie","session-management"],"author":{"name":"Michael Jackson","email":"mjijackson@gmail.com"},"license":"MIT","_id":"@remix-run/session-middleware@0.1.1","maintainers":[{"name":"mjackson","email":"mjijackson+npm@gmail.com"},{"name":"ryanflorence","email":"rpflorence@gmail.com"}],"homepage":"https://github.com/remix-run/remix/tree/main/packages/session-middleware#readme","bugs":{"url":"https://github.com/remix-run/remix/issues"},"dist":{"shasum":"ef136b191b808ebc8e1e475728a07834136b24e5","tarball":"https://registry.npmjs.org/@remix-run/session-middleware/-/session-middleware-0.1.1.tgz","fileCount":11,"integrity":"sha512-W+OD5md/UUgZbnJ2NdtD7io3exBAXcAXfM5UnSILQ6d7+kT9G/ehW/kTqqeR/mgAoNzytBlY34F8y93QIU5CXw==","signatures":[{"sig":"MEQCIE6DUs3AqNXpnM6wBD/nh2pViQjyhvBO3YOzluU6zVWBAiB28N7jp8SujBXkPl+6RJIp2jpoU7xBMp549WE0NO7IVA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@remix-run%2fsession-middleware@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9075},"type":"module","_from":"file:remix-run-session-middleware-0.1.1.tgz","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"test":"node --disable-warning=ExperimentalWarning --test","build":"tsgo -p tsconfig.build.json","clean":"git clean -fdX","typecheck":"tsgo --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:21e078fe-8c11-4ec5-8e9d-f7d768ffc62c"}},"_resolved":"/tmp/d803db51d223e12a50675f91e931ea1d/remix-run-session-middleware-0.1.1.tgz","_integrity":"sha512-W+OD5md/UUgZbnJ2NdtD7io3exBAXcAXfM5UnSILQ6d7+kT9G/ehW/kTqqeR/mgAoNzytBlY34F8y93QIU5CXw==","repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/session-middleware"},"_npmVersion":"11.6.2","description":"Middleware for managing sessions with cookie-based storage","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^24.6.0","@remix-run/cookie":"0.5.0","@remix-run/headers":"0.18.0","@remix-run/session":"0.4.1","@remix-run/fetch-router":"0.13.0","@typescript/native-preview":"7.0.0-dev.20251125.1"},"peerDependencies":{"@remix-run/cookie":"^0.5.0","@remix-run/session":"^0.4.1","@remix-run/fetch-router":"^0.13.0"},"_npmOperationalInternal":{"tmp":"tmp/session-middleware_0.1.1_1765053429313_0.33101678932900547","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@remix-run/session-middleware","version":"0.1.2","keywords":["fetch","router","middleware","session","cookie","session-management"],"author":{"name":"Michael Jackson","email":"mjijackson@gmail.com"},"license":"MIT","_id":"@remix-run/session-middleware@0.1.2","maintainers":[{"name":"mjackson","email":"mjijackson+npm@gmail.com"},{"name":"ryanflorence","email":"rpflorence@gmail.com"}],"homepage":"https://github.com/remix-run/remix/tree/main/packages/session-middleware#readme","bugs":{"url":"https://github.com/remix-run/remix/issues"},"dist":{"shasum":"532990dc0765287ccf9139b95042c30f1109e2fe","tarball":"https://registry.npmjs.org/@remix-run/session-middleware/-/session-middleware-0.1.2.tgz","fileCount":11,"integrity":"sha512-Opk+1VGeRGVbawnlWrPin0btPrbalk6DrtShAifVPQSDnC9fI8x3FX/crTkzA07vN+eoUlDBgED2GkUKKoWk+Q==","signatures":[{"sig":"MEUCIQCJ8OyDEc3eQvXeGwXRSz1+WWEMwgUKMHTZsiwWuxFdPwIgOj2LZb/SAchx8kvwxW5zy+owpJYKckIeXXjLRa9VmjU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@remix-run%2fsession-middleware@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9046},"type":"module","_from":"file:remix-run-session-middleware-0.1.2.tgz","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"test":"node --disable-warning=ExperimentalWarning --test","build":"tsgo -p tsconfig.build.json","clean":"git clean -fdX","typecheck":"tsgo --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:21e078fe-8c11-4ec5-8e9d-f7d768ffc62c"}},"_resolved":"/tmp/e5762aef6b19561798983c3ca430fff1/remix-run-session-middleware-0.1.2.tgz","_integrity":"sha512-Opk+1VGeRGVbawnlWrPin0btPrbalk6DrtShAifVPQSDnC9fI8x3FX/crTkzA07vN+eoUlDBgED2GkUKKoWk+Q==","repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/session-middleware"},"_npmVersion":"11.6.2","description":"Middleware for managing sessions with cookie-based storage","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@remix-run/cookie":"^0.5.1","@remix-run/session":"^0.4.1","@remix-run/fetch-router":"^0.15.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^24.6.0","@remix-run/cookie":"0.5.1","@remix-run/headers":"0.19.0","@remix-run/session":"0.4.1","@remix-run/fetch-router":"0.15.1","@typescript/native-preview":"7.0.0-dev.20251125.1"},"_npmOperationalInternal":{"tmp":"tmp/session-middleware_0.1.2_1769471915790_0.2386995789542674","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@remix-run/session-middleware","version":"0.1.3","keywords":["fetch","router","middleware","session","cookie","session-management"],"author":{"name":"Michael Jackson","email":"mjijackson@gmail.com"},"license":"MIT","_id":"@remix-run/session-middleware@0.1.3","maintainers":[{"name":"mjackson","email":"mjijackson+npm@gmail.com"},{"name":"ryanflorence","email":"rpflorence@gmail.com"}],"homepage":"https://github.com/remix-run/remix/tree/main/packages/session-middleware#readme","bugs":{"url":"https://github.com/remix-run/remix/issues"},"dist":{"shasum":"4701efdc502f2edeacabc1a05f1e9cd33cd24f4e","tarball":"https://registry.npmjs.org/@remix-run/session-middleware/-/session-middleware-0.1.3.tgz","fileCount":11,"integrity":"sha512-eWIeC4IKvLQPjRro/aStF6nME1Cs7vZN4xHi/Mh9WIaLWdO/EC+v1Z/hdHJU6OlLqjTcuhKzATSmCFUY40VyiA==","signatures":[{"sig":"MEQCIAEpdVvfsEc0yFN8idPw+MxjiA5aGyrYk/rp7BU+tSQ+AiARxN1vW88AzBwyuS3Ch81rQyAHc3pYXnr2+M58jbT5QQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@remix-run%2fsession-middleware@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9046},"type":"module","_from":"file:remix-run-session-middleware-0.1.3.tgz","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"test":"node --disable-warning=ExperimentalWarning --test","build":"tsgo -p tsconfig.build.json","clean":"git clean -fdX","typecheck":"tsgo --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:21e078fe-8c11-4ec5-8e9d-f7d768ffc62c"}},"_resolved":"/tmp/9fd3a72317dda8faf53b21c928d0f9c6/remix-run-session-middleware-0.1.3.tgz","_integrity":"sha512-eWIeC4IKvLQPjRro/aStF6nME1Cs7vZN4xHi/Mh9WIaLWdO/EC+v1Z/hdHJU6OlLqjTcuhKzATSmCFUY40VyiA==","repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/session-middleware"},"_npmVersion":"11.6.2","description":"Middleware for managing sessions with cookie-based storage","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@remix-run/cookie":"^0.5.1","@remix-run/session":"^0.4.1","@remix-run/fetch-router":"^0.16.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^24.6.0","@remix-run/cookie":"0.5.1","@remix-run/headers":"0.19.0","@remix-run/session":"0.4.1","@remix-run/fetch-router":"0.16.0","@typescript/native-preview":"7.0.0-dev.20251125.1"},"_npmOperationalInternal":{"tmp":"tmp/session-middleware_0.1.3_1769566410011_0.4417560081769314","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@remix-run/session-middleware","version":"0.1.4","keywords":["fetch","router","middleware","session","cookie","session-management"],"author":{"name":"Michael Jackson","email":"mjijackson@gmail.com"},"license":"MIT","_id":"@remix-run/session-middleware@0.1.4","maintainers":[{"name":"mjackson","email":"mjijackson+npm@gmail.com"}],"homepage":"https://github.com/remix-run/remix/tree/main/packages/session-middleware#readme","bugs":{"url":"https://github.com/remix-run/remix/issues"},"dist":{"shasum":"98378bd14d1393d34f9238be5ba2531c2766f07c","tarball":"https://registry.npmjs.org/@remix-run/session-middleware/-/session-middleware-0.1.4.tgz","fileCount":11,"integrity":"sha512-qqLmf7mG88h+Ge8pWiJMO8+t9nfQMuO/Zx2W68IwB7Cpt+b6PDpB++i3dd/KLlsjJ43XPMoT2ydmo+eQMgBX3g==","signatures":[{"sig":"MEUCICrC55sfxTXFV9FYsaMw+EK9n49WLvc6/x+IcZQePGSyAiEAkSc8ztqp11GRISOxL4SCVusenkZRUf5v2TEml09/MOs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@remix-run%2fsession-middleware@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9438},"type":"module","_from":"file:remix-run-session-middleware-0.1.4.tgz","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"test":"node --disable-warning=ExperimentalWarning --test","build":"tsgo -p tsconfig.build.json","clean":"git clean -fdX","typecheck":"tsgo --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:21e078fe-8c11-4ec5-8e9d-f7d768ffc62c"}},"_resolved":"/tmp/7d695c63f46b373a47ed3e1e307cec2e/remix-run-session-middleware-0.1.4.tgz","_integrity":"sha512-qqLmf7mG88h+Ge8pWiJMO8+t9nfQMuO/Zx2W68IwB7Cpt+b6PDpB++i3dd/KLlsjJ43XPMoT2ydmo+eQMgBX3g==","repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/session-middleware"},"_npmVersion":"11.10.1","description":"Middleware for managing sessions with cookie-based storage","directories":{},"_nodeVersion":"25.7.0","dependencies":{"@remix-run/cookie":"^0.5.1","@remix-run/session":"^0.4.1","@remix-run/fetch-router":"^0.17.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^24.6.0","@remix-run/cookie":"0.5.1","@remix-run/headers":"0.19.0","@remix-run/session":"0.4.1","@remix-run/fetch-router":"0.17.0","@typescript/native-preview":"7.0.0-dev.20251125.1"},"_npmOperationalInternal":{"tmp":"tmp/session-middleware_0.1.4_1772241731147_0.08347318262922232","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@remix-run/session-middleware","version":"0.2.0","keywords":["fetch","router","middleware","session","cookie","session-management"],"author":{"name":"Michael Jackson","email":"mjijackson@gmail.com"},"license":"MIT","_id":"@remix-run/session-middleware@0.2.0","maintainers":[{"name":"mjackson","email":"mjijackson+npm@gmail.com"}],"homepage":"https://github.com/remix-run/remix/tree/main/packages/session-middleware#readme","bugs":{"url":"https://github.com/remix-run/remix/issues"},"dist":{"shasum":"f6999ee9c378e3d918ef187e1bfb216320da05ef","tarball":"https://registry.npmjs.org/@remix-run/session-middleware/-/session-middleware-0.2.0.tgz","fileCount":11,"integrity":"sha512-kRAr0inELyXeOnUhlaM/eKIe9x1RZsOGbglb7Keb1+Lf6KxWxNMwv1ymmHBfae2ossjQTN/QUaABwQgX/uk3DQ==","signatures":[{"sig":"MEQCICmBdfUoJ5R9M1vAtLks48xfIclrmYJyFViPIcH1fa9lAiBqtHpfkVMJdsTZ1mOe53NUBzD2CwWHCJdpPVT4nffDiA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@remix-run%2fsession-middleware@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10054},"type":"module","_from":"file:remix-run-session-middleware-0.2.0.tgz","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"test":"node --test","build":"tsgo -p tsconfig.build.json","clean":"git clean -fdX","typecheck":"tsgo --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:21e078fe-8c11-4ec5-8e9d-f7d768ffc62c"}},"_resolved":"/tmp/3277c515b3052ffe6287779f7a5a5a50/remix-run-session-middleware-0.2.0.tgz","_integrity":"sha512-kRAr0inELyXeOnUhlaM/eKIe9x1RZsOGbglb7Keb1+Lf6KxWxNMwv1ymmHBfae2ossjQTN/QUaABwQgX/uk3DQ==","repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/session-middleware"},"_npmVersion":"11.9.0","description":"Middleware for managing sessions with cookie-based storage","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@remix-run/cookie":"^0.5.1","@remix-run/session":"^0.4.1","@remix-run/fetch-router":"^0.18.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^24.6.0","@remix-run/cookie":"0.5.1","@remix-run/headers":"0.19.0","@remix-run/session":"0.4.1","@remix-run/fetch-router":"0.18.0","@typescript/native-preview":"7.0.0-dev.20251125.1"},"_npmOperationalInternal":{"tmp":"tmp/session-middleware_0.2.0_1774479852434_0.7499600665254245","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@remix-run/session-middleware","version":"0.2.1","keywords":["fetch","router","middleware","session","cookie","session-management"],"author":{"name":"Michael Jackson","email":"mjijackson@gmail.com"},"license":"MIT","_id":"@remix-run/session-middleware@0.2.1","maintainers":[{"name":"mjackson","email":"mjijackson+npm@gmail.com"}],"homepage":"https://github.com/remix-run/remix/tree/main/packages/session-middleware#readme","bugs":{"url":"https://github.com/remix-run/remix/issues"},"dist":{"shasum":"88dfe3c435a1da04077cc12be0222c498f8e2383","tarball":"https://registry.npmjs.org/@remix-run/session-middleware/-/session-middleware-0.2.1.tgz","fileCount":11,"integrity":"sha512-07Ir+shU5ytCwE5sUHlb7ICFIMZqAVR1Hk3oVd8BZegia6M2/emwPSQEdtPioD7Vvw1fVuL6Vc52jNmEdzVNsg==","signatures":[{"sig":"MEUCIEvFWW/dsotrLgYgY4lN5E4NUldJDj+Fc+foUqs74xBFAiEA/xYfAkueQFifKX2Ejj49QfZNLDHBZ/u/LTZIt8g1rwM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@remix-run%2fsession-middleware@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10119},"type":"module","_from":"file:remix-run-session-middleware-0.2.1.tgz","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"test":"remix-test","build":"tsgo -p tsconfig.build.json","clean":"git clean -fdX","typecheck":"tsgo --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:21e078fe-8c11-4ec5-8e9d-f7d768ffc62c"}},"_resolved":"/tmp/8b79202db58eff87aaa8e8ca74f7dad4/remix-run-session-middleware-0.2.1.tgz","_integrity":"sha512-07Ir+shU5ytCwE5sUHlb7ICFIMZqAVR1Hk3oVd8BZegia6M2/emwPSQEdtPioD7Vvw1fVuL6Vc52jNmEdzVNsg==","repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/session-middleware"},"_npmVersion":"11.12.1","description":"Middleware for managing sessions with cookie-based storage","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@remix-run/cookie":"^0.5.1","@remix-run/session":"^0.4.1","@remix-run/fetch-router":"^0.18.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^24.6.0","@remix-run/test":"0.1.0","@remix-run/assert":"0.1.0","@remix-run/cookie":"0.5.1","@remix-run/headers":"0.19.0","@remix-run/session":"0.4.1","@remix-run/fetch-router":"0.18.1","@typescript/native-preview":"7.0.0-dev.20251125.1"},"_npmOperationalInternal":{"tmp":"tmp/session-middleware_0.2.1_1776904672899_0.024017946696463843","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@remix-run/session-middleware","version":"0.2.2","keywords":["fetch","router","middleware","session","cookie","session-management"],"author":{"name":"Michael Jackson","email":"mjijackson@gmail.com"},"license":"MIT","_id":"@remix-run/session-middleware@0.2.2","maintainers":[{"name":"mjackson","email":"mjijackson+npm@gmail.com"}],"homepage":"https://github.com/remix-run/remix/tree/main/packages/session-middleware#readme","bugs":{"url":"https://github.com/remix-run/remix/issues"},"dist":{"shasum":"11f4425a0e38e32c0ca0a27540204503e36e09d6","tarball":"https://registry.npmjs.org/@remix-run/session-middleware/-/session-middleware-0.2.2.tgz","fileCount":11,"integrity":"sha512-JZVUoE2Ow/wOP4lOPdJIgXhgMEV2AZrYTv7+cEVDp4qzf2hZApVnAp2N4AcrNekSF24IRqz1Xm2gccHuHfIK8Q==","signatures":[{"sig":"MEYCIQCrxPB7DWocqj2sKJxsWWLft4cRitFutmemZgqPXA12owIhAP6JEiADt/PuwdcN0kR1ziZLvTsUG+hrJIGAOy4mVOmi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@remix-run%2fsession-middleware@0.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10161},"type":"module","_from":"file:remix-run-session-middleware-0.2.2.tgz","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"test":"remix-test","build":"tsgo -p tsconfig.build.json","clean":"git clean -fdX","test:bun":"bun x --bun remix-test","typecheck":"tsgo --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:21e078fe-8c11-4ec5-8e9d-f7d768ffc62c"}},"_resolved":"/tmp/f40b2a0f276420d14e12d93204bfbd77/remix-run-session-middleware-0.2.2.tgz","_integrity":"sha512-JZVUoE2Ow/wOP4lOPdJIgXhgMEV2AZrYTv7+cEVDp4qzf2hZApVnAp2N4AcrNekSF24IRqz1Xm2gccHuHfIK8Q==","repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/session-middleware"},"_npmVersion":"11.11.0","description":"Middleware for managing sessions with cookie-based storage","directories":{},"_nodeVersion":"24.14.1","dependencies":{"@remix-run/cookie":"^0.5.1","@remix-run/session":"^0.4.1","@remix-run/fetch-router":"^0.18.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^24.6.0","@remix-run/test":"0.3.0","@remix-run/assert":"0.2.0","@remix-run/cookie":"0.5.1","@remix-run/headers":"0.19.0","@remix-run/session":"0.4.1","@remix-run/fetch-router":"0.18.2","@typescript/native-preview":"7.0.0-dev.20251125.1"},"_npmOperationalInternal":{"tmp":"tmp/session-middleware_0.2.2_1777576301918_0.7065828920882966","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@remix-run/session-middleware","version":"0.3.0","keywords":["fetch","router","middleware","session","cookie","session-management"],"author":{"name":"Michael Jackson","email":"mjijackson@gmail.com"},"license":"MIT","_id":"@remix-run/session-middleware@0.3.0","maintainers":[{"name":"mjackson","email":"mjijackson+npm@gmail.com"}],"homepage":"https://github.com/remix-run/remix/tree/main/packages/session-middleware#readme","bugs":{"url":"https://github.com/remix-run/remix/issues"},"dist":{"shasum":"24f44adb9b3d5cfce57655b2ddd53e5720a41e40","tarball":"https://registry.npmjs.org/@remix-run/session-middleware/-/session-middleware-0.3.0.tgz","fileCount":11,"integrity":"sha512-15rvApMKaRtAfSO7tVEb/kdAKuech4ULc/teQgHRo/g9cik3TnSghgNSr0bCf/vaTvjh9YJSbpSAqIGbTKRe4w==","signatures":[{"sig":"MEYCIQCUvOMk2j7QzsiValzRyO3NTB5ErrZbyWqnIX2b+D32fQIhANOPQuTq26/EPoTrNsg237lhIOZY4tFMQ4hQUwTOAR93","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@remix-run%2fsession-middleware@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10035},"type":"module","_from":"file:remix-run-session-middleware-0.3.0.tgz","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"test":"remix-test","build":"tsgo -p tsconfig.build.json","clean":"git clean -fdX","test:bun":"bun x --bun remix-test","typecheck":"tsgo --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:21e078fe-8c11-4ec5-8e9d-f7d768ffc62c"}},"_resolved":"/tmp/8fe73d3ba0278cba324c13c240992633/remix-run-session-middleware-0.3.0.tgz","_integrity":"sha512-15rvApMKaRtAfSO7tVEb/kdAKuech4ULc/teQgHRo/g9cik3TnSghgNSr0bCf/vaTvjh9YJSbpSAqIGbTKRe4w==","repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/session-middleware"},"_npmVersion":"11.12.1","description":"Middleware for managing sessions with cookie-based storage","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@remix-run/cookie":"^0.5.2","@remix-run/session":"^0.4.1","@remix-run/fetch-router":"^0.19.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^24.6.0","@remix-run/test":"0.4.0","@remix-run/assert":"0.2.0","@remix-run/cookie":"0.5.2","@remix-run/headers":"0.20.0","@remix-run/session":"0.4.1","@remix-run/fetch-router":"0.19.0","@typescript/native-preview":"7.0.0-dev.20251125.1"},"_npmOperationalInternal":{"tmp":"tmp/session-middleware_0.3.0_1779247328593_0.34050692831503837","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@remix-run/session-middleware","version":"0.3.1","keywords":["fetch","router","middleware","session","cookie","session-management"],"author":{"name":"Michael Jackson","email":"mjijackson@gmail.com"},"license":"MIT","_id":"@remix-run/session-middleware@0.3.1","maintainers":[{"name":"mjackson","email":"mjijackson+npm@gmail.com"}],"homepage":"https://github.com/remix-run/remix/tree/main/packages/session-middleware#readme","bugs":{"url":"https://github.com/remix-run/remix/issues"},"dist":{"shasum":"0de4413d1bb0dc3afd9f42e567be02b9cbf85783","tarball":"https://registry.npmjs.org/@remix-run/session-middleware/-/session-middleware-0.3.1.tgz","fileCount":11,"integrity":"sha512-IgOMdeOT2/Xt1g3E1YMvwmqhckVjvr6c5Jz59T/pEwM4Vqoq9xMzQ8xrgzngtBiqkaFQ4Hh/OcD6pRjpRWBaXA==","signatures":[{"sig":"MEQCIDNCJLNL9THUeEYFIOCW1Bwn9e0UqKnp4ZsVK+QaagKxAiAOJiV2qMiVM9rPepQSx3bbQ2l2Y1M/0l2rvWEf8Um6aA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@remix-run%2fsession-middleware@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10035},"type":"module","_from":"file:remix-run-session-middleware-0.3.1.tgz","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"test":"remix-test","build":"tsgo -p tsconfig.build.json","clean":"git clean -fdX","test:bun":"bun x --bun remix-test","typecheck":"tsgo --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:21e078fe-8c11-4ec5-8e9d-f7d768ffc62c"}},"_resolved":"/tmp/fb1949a8c12092135ee88025d3c639a4/remix-run-session-middleware-0.3.1.tgz","_integrity":"sha512-IgOMdeOT2/Xt1g3E1YMvwmqhckVjvr6c5Jz59T/pEwM4Vqoq9xMzQ8xrgzngtBiqkaFQ4Hh/OcD6pRjpRWBaXA==","repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/session-middleware"},"_npmVersion":"11.12.1","description":"Middleware for managing sessions with cookie-based storage","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@remix-run/cookie":"^0.5.3","@remix-run/session":"^0.4.2","@remix-run/fetch-router":"^0.19.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^24.6.0","@remix-run/test":"0.4.1","@remix-run/assert":"0.2.1","@remix-run/cookie":"0.5.3","@remix-run/headers":"0.21.0","@remix-run/session":"0.4.2","@remix-run/fetch-router":"0.19.1","@typescript/native-preview":"7.0.0-dev.20251125.1"},"_npmOperationalInternal":{"tmp":"tmp/session-middleware_0.3.1_1779308301667_0.8210607076005025","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@remix-run/session-middleware","version":"0.3.2","keywords":["fetch","router","middleware","session","cookie","session-management"],"author":{"name":"Michael Jackson","email":"mjijackson@gmail.com"},"license":"MIT","_id":"@remix-run/session-middleware@0.3.2","maintainers":[{"name":"mjackson","email":"mjijackson+npm@gmail.com"}],"homepage":"https://github.com/remix-run/remix/tree/main/packages/session-middleware#readme","bugs":{"url":"https://github.com/remix-run/remix/issues"},"dist":{"shasum":"df8308372512088b8ceb27f8a32d8526fc0b2630","tarball":"https://registry.npmjs.org/@remix-run/session-middleware/-/session-middleware-0.3.2.tgz","fileCount":11,"integrity":"sha512-a6TmQTZgwKoxV777JVgbJ3wBAkA2I29a1Lbb+W187NJZwI1QLJxiZ9SflvCvMeiJ5jU9C1j+0KltBWLrnfqr2w==","signatures":[{"sig":"MEUCIGxjR4wUSx/+pLoZK0eOu/PLVnX5Baen5NKGy8B8QK67AiEAg/xkeBAnphBuFo+NG9i0f6/RMICoqpMyL/lqktvKr10=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@remix-run%2fsession-middleware@0.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10035},"type":"module","_from":"file:remix-run-session-middleware-0.3.2.tgz","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"test":"remix-test","build":"tsgo -p tsconfig.build.json","clean":"git clean -fdX","test:bun":"bun x --bun remix-test","typecheck":"tsgo --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:21e078fe-8c11-4ec5-8e9d-f7d768ffc62c"}},"_resolved":"/tmp/8cd7244ce2d7cdffc864c1994d5a3d1e/remix-run-session-middleware-0.3.2.tgz","_integrity":"sha512-a6TmQTZgwKoxV777JVgbJ3wBAkA2I29a1Lbb+W187NJZwI1QLJxiZ9SflvCvMeiJ5jU9C1j+0KltBWLrnfqr2w==","repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/session-middleware"},"_npmVersion":"11.13.0","description":"Middleware for managing sessions with cookie-based storage","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@remix-run/cookie":"^0.5.4","@remix-run/session":"^0.4.2","@remix-run/fetch-router":"^0.19.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^24.6.0","@remix-run/test":"0.4.2","@remix-run/assert":"0.2.1","@remix-run/cookie":"0.5.4","@remix-run/headers":"0.21.1","@remix-run/session":"0.4.2","@remix-run/fetch-router":"0.19.2","@typescript/native-preview":"7.0.0-dev.20251125.1"},"_npmOperationalInternal":{"tmp":"tmp/session-middleware_0.3.2_1780078651694_0.5390165333588983","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@remix-run/session-middleware","version":"0.3.3","keywords":["fetch","router","middleware","session","cookie","session-management"],"author":{"name":"Michael Jackson","email":"mjijackson@gmail.com"},"license":"MIT","_id":"@remix-run/session-middleware@0.3.3","maintainers":[{"name":"mjackson","email":"mjijackson+npm@gmail.com"}],"homepage":"https://github.com/remix-run/remix/tree/main/packages/session-middleware#readme","bugs":{"url":"https://github.com/remix-run/remix/issues"},"dist":{"shasum":"1a6ad5053b875f37aca8e6e4bf2534084ffb65e7","tarball":"https://registry.npmjs.org/@remix-run/session-middleware/-/session-middleware-0.3.3.tgz","fileCount":11,"integrity":"sha512-mMY3DJNpRAdEu6TMAVV0N6kGr3UCvucfunHHOzvWwMy7QVXqIgYFfJFIzWuHiKKGVUdNyBhDAADA3e9eLNtXRA==","signatures":[{"sig":"MEUCIQCtKV1kYnvGB2FR8seBjCdtfeoS7TU0Qxi7PXbhOQqJHQIgSoqvQi/kVQzG/hC0RXdAH+IjUjAc8DapU/aHeI2oGMA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@remix-run%2fsession-middleware@0.3.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10035},"type":"module","_from":"file:remix-run-session-middleware-0.3.3.tgz","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"test":"remix-test","build":"tsgo -p tsconfig.build.json","clean":"git clean -fdX","test:bun":"bun x --bun remix-test","typecheck":"tsgo --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:21e078fe-8c11-4ec5-8e9d-f7d768ffc62c"}},"_resolved":"/tmp/394ff7733fac43cdf8e9ae15ef37621a/remix-run-session-middleware-0.3.3.tgz","_integrity":"sha512-mMY3DJNpRAdEu6TMAVV0N6kGr3UCvucfunHHOzvWwMy7QVXqIgYFfJFIzWuHiKKGVUdNyBhDAADA3e9eLNtXRA==","repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/session-middleware"},"_npmVersion":"11.13.0","description":"Middleware for managing sessions with cookie-based storage","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@remix-run/cookie":"^0.5.4","@remix-run/session":"^0.4.2","@remix-run/fetch-router":"^0.20.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^24.6.0","@remix-run/test":"0.5.0","@remix-run/assert":"0.3.0","@remix-run/cookie":"0.5.4","@remix-run/headers":"0.21.1","@remix-run/session":"0.4.2","@remix-run/fetch-router":"0.20.0","@typescript/native-preview":"7.0.0-dev.20251125.1"},"_npmOperationalInternal":{"tmp":"tmp/session-middleware_0.3.3_1780683949738_0.32942880472569525","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@remix-run/session-middleware","version":"0.3.4","keywords":["fetch","router","middleware","session","cookie","session-management"],"author":{"name":"Michael Jackson","email":"mjijackson@gmail.com"},"license":"MIT","_id":"@remix-run/session-middleware@0.3.4","maintainers":[{"name":"mjackson","email":"mjijackson+npm@gmail.com"}],"homepage":"https://github.com/remix-run/remix/tree/main/packages/session-middleware#readme","bugs":{"url":"https://github.com/remix-run/remix/issues"},"dist":{"shasum":"924907e101c53c7bf171bc0b1d3dca835382df92","tarball":"https://registry.npmjs.org/@remix-run/session-middleware/-/session-middleware-0.3.4.tgz","fileCount":11,"integrity":"sha512-vFZ70F75Zj1o+UhJ9IJrPlaiFoItwGPrNTY4k5bVKpe4KdwNEat/z3HtfNG2NuBeUys8XhCE3yCT13SM50NkiQ==","signatures":[{"sig":"MEQCIDVtI1WJklR6ZkvQGi3cH9yinjbsTbxy/YVJp7sEPVaBAiBasjnawZJfy81qYr7VedRUZ4/HH8JDUC6GMWJJGzNA3Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@remix-run%2fsession-middleware@0.3.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10035},"type":"module","_from":"file:remix-run-session-middleware-0.3.4.tgz","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"test":"remix-test","build":"tsgo -p tsconfig.build.json","clean":"git clean -fdX","test:bun":"bun x --bun remix-test","typecheck":"tsgo --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:21e078fe-8c11-4ec5-8e9d-f7d768ffc62c"}},"_resolved":"/tmp/b1beb24545eeb15daa8b86028ed09108/remix-run-session-middleware-0.3.4.tgz","_integrity":"sha512-vFZ70F75Zj1o+UhJ9IJrPlaiFoItwGPrNTY4k5bVKpe4KdwNEat/z3HtfNG2NuBeUys8XhCE3yCT13SM50NkiQ==","repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/session-middleware"},"_npmVersion":"11.13.0","description":"Middleware for managing sessions with cookie-based storage","directories":{},"_nodeVersion":"24.17.0","dependencies":{"@remix-run/cookie":"^0.5.4","@remix-run/session":"^0.4.2","@remix-run/fetch-router":"^0.20.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^24.6.0","@remix-run/test":"0.5.0","@remix-run/assert":"0.3.0","@remix-run/cookie":"0.5.4","@remix-run/headers":"0.21.1","@remix-run/session":"0.4.2","@remix-run/fetch-router":"0.20.1","@typescript/native-preview":"7.0.0-dev.20251125.1"},"_npmOperationalInternal":{"tmp":"tmp/session-middleware_0.3.4_1782932575490_0.6698220810216446","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@remix-run/session-middleware","version":"0.4.0","keywords":["fetch","router","middleware","session","cookie","session-management"],"author":{"name":"Michael Jackson","email":"mjijackson@gmail.com"},"license":"MIT","_id":"@remix-run/session-middleware@0.4.0","maintainers":[{"name":"mjackson","email":"mjijackson+npm@gmail.com"}],"homepage":"https://github.com/remix-run/remix/tree/main/packages/session-middleware#readme","bugs":{"url":"https://github.com/remix-run/remix/issues"},"dist":{"shasum":"9625b46c262cee18c33f4cee6b5f11f5ea62b021","tarball":"https://registry.npmjs.org/@remix-run/session-middleware/-/session-middleware-0.4.0.tgz","fileCount":11,"integrity":"sha512-v563WyWG8GABVF0T1tX+xPDEmHswbbEqMh54GfxwcfLMWr+wJl16kEzZb+q0dPmvjZjwDHBtUIj8b1rOFglFHQ==","signatures":[{"sig":"MEUCIQD7nI3HDXDQupY4mkUFIP2kWqV8JPS5/5jBxEJ3olDiowIgAMoLsQ/53NtecaZH2SacNoA5gNnTLNrnFWm08gXsnPU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@remix-run%2fsession-middleware@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10699},"type":"module","_from":"file:remix-run-session-middleware-0.4.0.tgz","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"test":"remix test","build":"tsc -p tsconfig.build.json","clean":"git clean -fdX","test:bun":"bun x --bun remix test","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:21e078fe-8c11-4ec5-8e9d-f7d768ffc62c"}},"_resolved":"/tmp/98d2d77327e4ca7cc83756b365b9095a/remix-run-session-middleware-0.4.0.tgz","_integrity":"sha512-v563WyWG8GABVF0T1tX+xPDEmHswbbEqMh54GfxwcfLMWr+wJl16kEzZb+q0dPmvjZjwDHBtUIj8b1rOFglFHQ==","repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/session-middleware"},"_npmVersion":"11.16.0","description":"Middleware for managing sessions with cookie-based storage","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@remix-run/cookie":"^0.6.0","@remix-run/session":"^0.4.2","@remix-run/fetch-router":"^0.21.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"^24.6.0","@remix-run/test":"0.6.0","@remix-run/assert":"0.3.0","@remix-run/cookie":"0.6.0","@remix-run/headers":"0.21.1","@remix-run/session":"0.4.2","@remix-run/fetch-router":"0.21.0"},"_npmOperationalInternal":{"tmp":"tmp/session-middleware_0.4.0_1786666443521_0.9726672173315101","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@remix-run/session-middleware","version":"0.4.1","keywords":["fetch","router","middleware","session","cookie","session-management"],"author":{"name":"Michael Jackson","email":"mjijackson@gmail.com"},"license":"MIT","_id":"@remix-run/session-middleware@0.4.1","maintainers":[{"name":"mjackson","email":"mjijackson+npm@gmail.com"}],"homepage":"https://github.com/remix-run/remix/tree/main/packages/session-middleware#readme","bugs":{"url":"https://github.com/remix-run/remix/issues"},"dist":{"shasum":"e6642e742e57047ea8fe241b3f4fad676dad1f59","tarball":"https://registry.npmjs.org/@remix-run/session-middleware/-/session-middleware-0.4.1.tgz","fileCount":11,"integrity":"sha512-OumS9+8PA34phExNzAqQ9VkuEldlK7AZ6Isv2mVxPfrEeUTf3EZWWGvgNQBfmdwU66FKxZg2Hw2y6cZMYRMs+A==","signatures":[{"sig":"MEQCIBjeW/pr82jJ7vC98Kiiq/Rxj1cVSI21WrtE5CNXvkAEAiA9vjB3GS9LCtSKxGZJlQxa8Sj74/IMTP+ckVmlB9Al7A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGLmlzRUi7RVDuyxmE1RZ4k4bIBUlOnXpLpBRMnmHXZmAiEA35PK4nm+cU7Jym2J4kbyieuDNQAE6lo6W2HJ3le3+bs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@remix-run%2fsession-middleware@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10699},"type":"module","_from":"file:/tmp/remix-publish-session-middleware-j4mPBZ/remix-run-session-middleware-0.4.1.tgz","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"test":"remix test","build":"tsc -p tsconfig.build.json","clean":"git clean -fdX","test:bun":"bun x --bun remix test","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:21e078fe-8c11-4ec5-8e9d-f7d768ffc62c"}},"_resolved":"/tmp/remix-publish-session-middleware-j4mPBZ/remix-run-session-middleware-0.4.1.tgz","_integrity":"sha512-OumS9+8PA34phExNzAqQ9VkuEldlK7AZ6Isv2mVxPfrEeUTf3EZWWGvgNQBfmdwU66FKxZg2Hw2y6cZMYRMs+A==","repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/session-middleware"},"_npmVersion":"11.19.0","description":"Middleware for managing sessions with cookie-based storage","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@remix-run/cookie":"^0.6.0","@remix-run/session":"^0.4.2","@remix-run/fetch-router":"^0.22.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"^24.6.0","@remix-run/test":"0.6.0","@remix-run/assert":"0.3.0","@remix-run/cookie":"0.6.0","@remix-run/headers":"0.21.1","@remix-run/session":"0.4.2","@remix-run/fetch-router":"0.22.0"},"_npmOperationalInternal":{"tmp":"tmp/session-middleware_0.4.1_1788908735562_0.7125128134311014","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@remix-run/session-middleware","version":"0.5.0","keywords":["fetch","router","middleware","session","cookie","session-management"],"author":{"name":"Michael Jackson","email":"mjijackson@gmail.com"},"license":"MIT","_id":"@remix-run/session-middleware@0.5.0","maintainers":[{"name":"mjackson","email":"mjijackson+npm@gmail.com"}],"homepage":"https://github.com/remix-run/remix/tree/main/packages/session-middleware#readme","bugs":{"url":"https://github.com/remix-run/remix/issues"},"dist":{"shasum":"ed2e01d4a9b5ec09dd177a2915421ae4c5fb5c8f","tarball":"https://registry.npmjs.org/@remix-run/session-middleware/-/session-middleware-0.5.0.tgz","fileCount":11,"integrity":"sha512-FT32iX1U0G1OcPkCn02ElvZfSZWbPK4NiA4LgXVGrjOA3BmRLOgwUgkqEKWrFMlpFGDWsPF22Bymc/l0/vMprQ==","signatures":[{"sig":"MEUCIQDxZsIwBwxcEZ3NquBC4siv5OyCxvHAc7bvXr18weLMYgIgRMgE8ZlVFdNtz8fhg5n+F4v45ZhZcwvxCG/yn7cCSHQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCZ1u3B7gPjeDhJmR312jeEU9I1fcfnKPRNtMuaig3eZQIgWXTGORg3vjl4ww+ho9o4hbj1aTsLY7JLB5VmchxaPRQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@remix-run%2fsession-middleware@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15227},"type":"module","_from":"file:/tmp/remix-publish-session-middleware-5if9GC/remix-run-session-middleware-0.5.0.tgz","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"test":"remix test","build":"tsc -p tsconfig.build.json","clean":"git clean -fdX","test:bun":"bun x --bun remix test","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:21e078fe-8c11-4ec5-8e9d-f7d768ffc62c"}},"_resolved":"/tmp/remix-publish-session-middleware-5if9GC/remix-run-session-middleware-0.5.0.tgz","_integrity":"sha512-FT32iX1U0G1OcPkCn02ElvZfSZWbPK4NiA4LgXVGrjOA3BmRLOgwUgkqEKWrFMlpFGDWsPF22Bymc/l0/vMprQ==","repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/session-middleware"},"_npmVersion":"11.19.0","description":"Middleware for managing sessions with cookie-based storage","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@remix-run/cookie":"^0.7.0","@remix-run/session":"^0.4.2","@remix-run/fetch-router":"^0.22.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"^24.6.0","@remix-run/test":"0.6.1","@remix-run/assert":"0.3.0","@remix-run/cookie":"0.7.0","@remix-run/headers":"0.21.2","@remix-run/session":"0.4.2","@remix-run/fetch-router":"0.22.1"},"_npmOperationalInternal":{"tmp":"tmp/session-middleware_0.5.0_1789770954200_0.09795962039525752","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@remix-run/session-middleware","version":"0.5.1","keywords":["fetch","router","middleware","session","cookie","session-management"],"author":{"name":"Michael Jackson","email":"mjijackson@gmail.com"},"license":"MIT","_id":"@remix-run/session-middleware@0.5.1","maintainers":[{"name":"mjackson","email":"mjijackson+npm@gmail.com"}],"homepage":"https://github.com/remix-run/remix/tree/main/packages/session-middleware#readme","bugs":{"url":"https://github.com/remix-run/remix/issues"},"dist":{"shasum":"733d654b87c043dc63eb07e4f56f32500b3a8300","tarball":"https://registry.npmjs.org/@remix-run/session-middleware/-/session-middleware-0.5.1.tgz","fileCount":11,"integrity":"sha512-z7yWsuWCzS3uoNv/4vmoZnhV7yqY/iWuM5zVG6pJmWpy073eJp7rGElqRL+xoofS6XeVC+DQeSEEpHzPUMR/vg==","signatures":[{"sig":"MEYCIQCxcZxlt4Rmfn4l87mXLR3191SIbMiNRlxHpvZ/LJjN0gIhAIjVojFGuRCKLEHXhDU6KB5b5TC+Qsz3eklWBzXmGT7+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDDcmjoeP6kPEbDuf/HCLkQE03es4wAF5xKLjjtOQER+gIgHmU/X1r+eIRQpiKlJ0dWoihNnaumA7pei2nXTw2P3fo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@remix-run%2fsession-middleware@0.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15251},"type":"module","_from":"file:/tmp/remix-publish-session-middleware-RtA4BM/remix-run-session-middleware-0.5.1.tgz","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"test":"remix test","build":"tsc -p tsconfig.build.json","clean":"git clean -fdX","test:bun":"bun x --bun remix test","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"21e078fe-8c11-4ec5-8e9d-f7d768ffc62c"}},"_resolved":"/tmp/remix-publish-session-middleware-RtA4BM/remix-run-session-middleware-0.5.1.tgz","_integrity":"sha512-z7yWsuWCzS3uoNv/4vmoZnhV7yqY/iWuM5zVG6pJmWpy073eJp7rGElqRL+xoofS6XeVC+DQeSEEpHzPUMR/vg==","repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/session-middleware"},"_npmVersion":"11.19.0","description":"Middleware for managing sessions with cookie-based storage","directories":{},"sideEffects":false,"_nodeVersion":"24.21.0","dependencies":{"@remix-run/cookie":"^0.7.1","@remix-run/session":"^0.4.3","@remix-run/fetch-router":"^0.22.2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"^24.6.0","@remix-run/test":"0.6.2","@remix-run/assert":"0.3.1","@remix-run/cookie":"0.7.1","@remix-run/headers":"0.21.3","@remix-run/session":"0.4.3","@remix-run/fetch-router":"0.22.2"},"_npmOperationalInternal":{"tmp":"tmp/session-middleware_0.5.1_1790631741436_0.8059723871880309","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"_id":"@remix-run/session-middleware@1.0.0","bugs":{"url":"https://github.com/remix-run/remix/issues"},"dist":{"shasum":"877a3caa785eeed0aa32d1099c7f773dfb6687b1","tarball":"https://registry.npmjs.org/@remix-run/session-middleware/-/session-middleware-1.0.0.tgz","fileCount":11,"integrity":"sha512-pbmNHSvqwL48fNiIP6SxVPkQ/UpgYQ1xp92Cr/v5TI10O9n8Tpr02mdFKGUREV3HawryGxvLyEJVWKzjuAnb/A==","signatures":[{"sig":"MEUCIQC0XC3r00ufMKtoP+Rk0258EYUlgmrNICjG7LKJ4nmhjgIgWEsZFCyl8ZNQNF/amzLTu0DvYm2djijLHCNgViK/K24=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCprCxvrV+XkUKoCyKkpi3tjPBUvvECEAye6DFvtEk29wIhAO9iSWdxRk5L9dIUm9ws6/tvu7TPgsfTPbd8pXupClf5"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@remix-run%2fsession-middleware@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15248},"name":"@remix-run/session-middleware","type":"module","_from":"file:/tmp/remix-publish-session-middleware-T1lDsa/remix-run-session-middleware-1.0.0.tgz","author":{"name":"Michael Jackson","email":"mjijackson@gmail.com"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./package.json":"./package.json"},"license":"MIT","scripts":{"test":"remix test","build":"tsc -p tsconfig.build.json","clean":"git clean -fdX","test:bun":"bun x --bun remix test","typecheck":"tsc --noEmit"},"version":"1.0.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"21e078fe-8c11-4ec5-8e9d-f7d768ffc62c"}},"homepage":"https://github.com/remix-run/remix/tree/main/packages/session-middleware#readme","keywords":["fetch","router","middleware","session","cookie","session-management"],"_resolved":"/tmp/remix-publish-session-middleware-T1lDsa/remix-run-session-middleware-1.0.0.tgz","_integrity":"sha512-pbmNHSvqwL48fNiIP6SxVPkQ/UpgYQ1xp92Cr/v5TI10O9n8Tpr02mdFKGUREV3HawryGxvLyEJVWKzjuAnb/A==","repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/session-middleware"},"_npmVersion":"11.19.0","description":"Middleware for managing sessions with cookie-based storage","directories":{},"maintainers":[{"name":"mjackson","email":"mjijackson+npm@gmail.com"}],"sideEffects":false,"_nodeVersion":"24.21.0","dependencies":{"@remix-run/cookie":"^1.0.0","@remix-run/session":"^1.0.0","@remix-run/fetch-router":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"^24.6.0","@remix-run/test":"1.0.0","@remix-run/assert":"1.0.0","@remix-run/cookie":"1.0.0","@remix-run/headers":"1.0.0","@remix-run/session":"1.0.0","@remix-run/fetch-router":"1.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/session-middleware_1.0.0_1790895440289_0.05928000254702459"}}},"time":{"created":"2025-11-19T16:19:47.561Z","modified":"2026-10-01T22:57:20.685Z","0.0.0":"2025-11-19T16:19:47.814Z","0.1.0":"2025-11-19T20:04:46.225Z","0.1.1":"2025-12-06T20:37:09.460Z","0.1.2":"2026-01-26T23:58:35.918Z","0.1.3":"2026-01-28T02:13:30.166Z","0.1.4":"2026-02-28T01:22:11.310Z","0.2.0":"2026-03-25T23:04:12.602Z","0.2.1":"2026-04-23T00:37:53.064Z","0.2.2":"2026-04-30T19:11:42.062Z","0.3.0":"2026-05-20T03:22:08.738Z","0.3.1":"2026-05-20T20:18:21.818Z","0.3.2":"2026-05-29T18:17:31.849Z","0.3.3":"2026-06-05T18:25:49.875Z","0.3.4":"2026-07-01T19:02:55.624Z","0.4.0":"2026-08-14T00:14:03.670Z","0.4.1":"2026-09-08T23:05:35.675Z","0.5.0":"2026-09-18T22:35:54.284Z","0.5.1":"2026-09-28T21:42:21.505Z","1.0.0":"2026-10-01T22:57:20.378Z"},"bugs":{"url":"https://github.com/remix-run/remix/issues"},"author":{"name":"Michael Jackson","email":"mjijackson@gmail.com"},"license":"MIT","homepage":"https://github.com/remix-run/remix/tree/main/packages/session-middleware#readme","keywords":["fetch","router","middleware","session","cookie","session-management"],"repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/session-middleware"},"description":"Middleware for managing sessions with cookie-based storage","maintainers":[{"name":"mjackson","email":"mjijackson+npm@gmail.com"}],"readme":"# session-middleware\n\nSession middleware for Remix using signed cookies. It loads session state from incoming requests, exposes it as `context.session` (or `context.get(Session)`), and persists updates automatically.\n\n## Features\n\n- **Session Lifecycle Handling** - Reads and saves session state per request\n- **Context Integration** - Exposes `context.session` (or `context.get(Session)`)\n- **Secure Cookie Support** - Designed for signed session cookies\n\n## Installation\n\n```sh\nnpm i remix\n```\n\n## Usage\n\n```ts\nimport { createRouter } from 'remix/router'\nimport { createCookie } from 'remix/cookie'\nimport { createCookieSessionStorage } from 'remix/session-storage/cookie'\nimport { session } from 'remix/middleware/session'\n\nlet sessionCookie = createCookie('__session', {\n  secrets: ['s3cr3t'], // session cookies must be signed!\n  secure: true,\n  sameSite: 'lax',\n})\n\nlet sessionStorage = createCookieSessionStorage()\n\nlet router = createRouter({\n  middleware: [session(sessionCookie, sessionStorage)],\n})\n\nrouter.get('/', (context) => {\n  context.session.set('count', Number(context.session.get('count') ?? 0) + 1)\n  return new Response(`Count: ${context.session.get('count')}`)\n})\n```\n\nThe middleware:\n\n- Reads the session from the cookie on incoming requests\n- Makes it available as `context.session` (or `context.get(Session)`)\n- Automatically saves session changes and sets the cookie on responses\n\nUse `context.session` (or `context.get(Session)`) for normal session reads and writes.\n\nNote: The session cookie must be signed for security. This prevents tampering with the session data on the client.\nSession cookies are HTTP-only by default. When `secure` is not configured, the middleware adds `Secure` for HTTPS request URLs and omits it for HTTP, including local development. Explicit `secure: true` and `secure: false` take precedence. If a proxy terminates HTTPS, configure the server to expose the original HTTPS request URL or set `secure: true` explicitly.\n\n### Session Lifetime\n\nConfigure `maxAge` (seconds) or `expires` (a `Date`) on the session cookie to limit how long the middleware accepts it. The middleware stores the expiration alongside the storage value inside the signed cookie and checks it before loading session data. This applies to cookie, memory, filesystem, Redis, Memcache, and custom storage backends.\n\n`maxAge` takes precedence over `expires` and starts again whenever a session update emits a new cookie. Reads alone do not renew it. `expires` is a fixed deadline. Without either option, the middleware adds no lifetime limit; configured backend TTLs still apply independently.\n\nCookies issued by older versions do not contain expiration metadata. When a lifetime is configured, those cookies start a new session after upgrading. Keep the middleware responsible for reading and writing these cookies; the storage backend continues to receive its original opaque value. This check does not remove abandoned backend records. Configure a backend TTL or your own cleanup policy when records also need to be removed from storage.\n\n### Login/Logout Flow\n\nA basic login/logout flow could look like this:\n\n```ts\nimport { html } from 'remix/html-template'\nimport { createHtmlResponse } from 'remix/response/html'\nimport { redirect } from 'remix/response/redirect'\n\nrouter.get('/login', ({ session }) => {\n  let error = session.get('error')\n  return createHtmlResponse(html`\n    <html>\n      <body>\n        <h1>Login</h1>\n        ${typeof error === 'string' ? html`<div class=\"error\">${error}</div>` : null}\n        <form method=\"POST\" action=\"/login\">\n          <input type=\"text\" name=\"username\" placeholder=\"Username\" />\n          <input type=\"password\" name=\"password\" placeholder=\"Password\" />\n          <button type=\"submit\">Login</button>\n        </form>\n      </body>\n    </html>\n  `)\n})\n\nrouter.post('/login', ({ get, session }) => {\n  let formData = get(FormData)\n  let username = formData.get('username')\n  let password = formData.get('password')\n\n  let user = authenticateUser(username, password)\n  if (!user) {\n    session.flash('error', 'Invalid username or password')\n    return redirect('/login')\n  }\n\n  session.regenerateId()\n  session.set('userId', user.id)\n\n  return redirect('/dashboard')\n})\n\nrouter.post('/logout', ({ session }) => {\n  session.destroy()\n  return redirect('/')\n})\n```\n\n## Related Packages\n\n- [`fetch-router`](https://github.com/remix-run/remix/tree/main/packages/fetch-router) - Router for the web Fetch API\n- [`session`](https://github.com/remix-run/remix/tree/main/packages/session) - Session management and storage\n- [`cookie`](https://github.com/remix-run/remix/tree/main/packages/cookie) - Cookie parsing and serialization\n\n## License\n\nSee [LICENSE](https://github.com/remix-run/remix/blob/main/LICENSE)\n","readmeFilename":"README.md"}