{"_id":"@remix-run/form-data-middleware","_rev":"21-40c4571cfcecb30445d973fb05d3ca5d","name":"@remix-run/form-data-middleware","dist-tags":{"latest":"1.0.0"},"versions":{"0.0.0":{"name":"@remix-run/form-data-middleware","version":"0.0.0","keywords":["fetch","router","middleware","form-data","multipart","file-upload"],"author":{"name":"Michael Jackson","email":"mjijackson@gmail.com"},"license":"MIT","_id":"@remix-run/form-data-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/form-data-middleware#readme","bugs":{"url":"https://github.com/remix-run/remix/issues"},"dist":{"shasum":"e374db7a078a2574c127825925ae932d546036d8","tarball":"https://registry.npmjs.org/@remix-run/form-data-middleware/-/form-data-middleware-0.0.0.tgz","fileCount":11,"integrity":"sha512-pcAAKAJYFqq44sqIfAVGsDUGVU8QuEWFMF+GUTbdGR1xL4S1evfJh2IKg2zf2ldIm/zqxhhWc8AyHPxkXZmZtA==","signatures":[{"sig":"MEYCIQDU16rKt2o2J0FTardW4/l2mqnfFa6z4kXugq5YBZTt7QIhAMBBmW8AVBvckVvkVmYR5rc8AWdqmkQBwQ+9Ta+T+j/4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9963},"type":"module","_from":"file:remix-run-form-data-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/5ad0fda095c8732fa376be7ba0eb2f27/remix-run-form-data-middleware-0.0.0.tgz","_integrity":"sha512-pcAAKAJYFqq44sqIfAVGsDUGVU8QuEWFMF+GUTbdGR1xL4S1evfJh2IKg2zf2ldIm/zqxhhWc8AyHPxkXZmZtA==","repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/form-data-middleware"},"_npmVersion":"11.3.0","description":"Middleware for parsing FormData from request bodies","directories":{},"_nodeVersion":"24.2.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^24.6.0","@remix-run/fetch-router":"0.9.0","@remix-run/form-data-parser":"0.14.0"},"peerDependencies":{"@remix-run/fetch-router":"^0.9.0","@remix-run/form-data-parser":"^0.14.0"},"_npmOperationalInternal":{"tmp":"tmp/form-data-middleware_0.0.0_1763566982707_0.521477154115233","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@remix-run/form-data-middleware","version":"0.1.0","keywords":["fetch","router","middleware","form-data","multipart","file-upload"],"author":{"name":"Michael Jackson","email":"mjijackson@gmail.com"},"license":"MIT","_id":"@remix-run/form-data-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/form-data-middleware#readme","bugs":{"url":"https://github.com/remix-run/remix/issues"},"dist":{"shasum":"1c5f105d3671e69e527ee6d7472bab590bfe972a","tarball":"https://registry.npmjs.org/@remix-run/form-data-middleware/-/form-data-middleware-0.1.0.tgz","fileCount":11,"integrity":"sha512-Nu0RvaFYWTLU3nmzMLbxNZPZV/A54bv6sW7SOTNIvqNwKSKCOLvnLxvMvbxyzo4Wt7VFyojoM4yO7dbF3iX2iQ==","signatures":[{"sig":"MEUCIQDMpA++RJPaysBhwu0KJmNr1YACgzVAzVN5BQVPc3YuBwIgF9tqAeRKqx1SGCbEB8NOeLK5WvbJiOSpRFalyGizU8g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@remix-run%2fform-data-middleware@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9963},"type":"module","_from":"file:remix-run-form-data-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:c6c305bd-5e21-4fd6-9740-dfa5e0533927"}},"_resolved":"/tmp/42be0b3d68a49920e3a9e917eaef4ed4/remix-run-form-data-middleware-0.1.0.tgz","_integrity":"sha512-Nu0RvaFYWTLU3nmzMLbxNZPZV/A54bv6sW7SOTNIvqNwKSKCOLvnLxvMvbxyzo4Wt7VFyojoM4yO7dbF3iX2iQ==","repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/form-data-middleware"},"_npmVersion":"11.6.2","description":"Middleware for parsing FormData from request bodies","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^24.6.0","@remix-run/fetch-router":"0.9.0","@remix-run/form-data-parser":"0.14.0"},"peerDependencies":{"@remix-run/fetch-router":"^0.9.0","@remix-run/form-data-parser":"^0.14.0"},"_npmOperationalInternal":{"tmp":"tmp/form-data-middleware_0.1.0_1763582642873_0.5569302610958302","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@remix-run/form-data-middleware","version":"0.1.1","keywords":["fetch","router","middleware","form-data","multipart","file-upload"],"author":{"name":"Michael Jackson","email":"mjijackson@gmail.com"},"license":"MIT","_id":"@remix-run/form-data-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/form-data-middleware#readme","bugs":{"url":"https://github.com/remix-run/remix/issues"},"dist":{"shasum":"cf040e2b8dd6f6b047d0a1b3e7bd8ccc31eae155","tarball":"https://registry.npmjs.org/@remix-run/form-data-middleware/-/form-data-middleware-0.1.1.tgz","fileCount":11,"integrity":"sha512-d0jjpRo00ryrOeNmxFga1ljxoWdrH3apSmvYDShHevm5Go+BOGsNFg/O4nBWs2/jd67GcUEGlHuSKnG9S4Suyw==","signatures":[{"sig":"MEUCIF5L5tYeRy1jFMwKwlRYu5ljXmVvYKkLsQrwAP8E/TPBAiEA3nOfRiI+BuEhUJqAfXIzZGryiSCDTL6c39+MMtaqXok=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@remix-run%2fform-data-middleware@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10081},"type":"module","_from":"file:remix-run-form-data-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:c6c305bd-5e21-4fd6-9740-dfa5e0533927"}},"_resolved":"/tmp/36e81288cb650e0020d1bde6e5e66763/remix-run-form-data-middleware-0.1.1.tgz","_integrity":"sha512-d0jjpRo00ryrOeNmxFga1ljxoWdrH3apSmvYDShHevm5Go+BOGsNFg/O4nBWs2/jd67GcUEGlHuSKnG9S4Suyw==","repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/form-data-middleware"},"_npmVersion":"11.6.2","description":"Middleware for parsing FormData from request bodies","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^24.6.0","@remix-run/fetch-router":"0.13.0","@typescript/native-preview":"7.0.0-dev.20251125.1","@remix-run/form-data-parser":"0.14.0"},"peerDependencies":{"@remix-run/fetch-router":"^0.13.0","@remix-run/form-data-parser":"^0.14.0"},"_npmOperationalInternal":{"tmp":"tmp/form-data-middleware_0.1.1_1765053387281_0.5698621455812998","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@remix-run/form-data-middleware","version":"0.1.2","keywords":["fetch","router","middleware","form-data","multipart","file-upload"],"author":{"name":"Michael Jackson","email":"mjijackson@gmail.com"},"license":"MIT","_id":"@remix-run/form-data-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/form-data-middleware#readme","bugs":{"url":"https://github.com/remix-run/remix/issues"},"dist":{"shasum":"2d422d38d8d016805475a0a434ae34e2fc0463c1","tarball":"https://registry.npmjs.org/@remix-run/form-data-middleware/-/form-data-middleware-0.1.2.tgz","fileCount":11,"integrity":"sha512-0O/WJMyApXKLk8lv9CJyijtxmMqWEexm71XHThXi0o/P6E+r/UZeNYtLuu8JQZXAaFOlPsa2DTIrIMf/5xREVg==","signatures":[{"sig":"MEUCIQDKMFcTCDW7KZi4Bkm7CIsBLd9b2IouULEzET9Qg/lLwQIgDGh3KrxwGtHf6IRUKPcZl8TjiZFMQUcFWOxEDP7mylg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@remix-run%2fform-data-middleware@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10052},"type":"module","_from":"file:remix-run-form-data-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:c6c305bd-5e21-4fd6-9740-dfa5e0533927"}},"_resolved":"/tmp/19ada106da189d8ed0b3bc3b5b7bcab1/remix-run-form-data-middleware-0.1.2.tgz","_integrity":"sha512-0O/WJMyApXKLk8lv9CJyijtxmMqWEexm71XHThXi0o/P6E+r/UZeNYtLuu8JQZXAaFOlPsa2DTIrIMf/5xREVg==","repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/form-data-middleware"},"_npmVersion":"11.6.2","description":"Middleware for parsing FormData from request bodies","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@remix-run/fetch-router":"^0.15.1","@remix-run/form-data-parser":"^0.14.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^24.6.0","@remix-run/fetch-router":"0.15.1","@typescript/native-preview":"7.0.0-dev.20251125.1","@remix-run/form-data-parser":"0.14.0"},"_npmOperationalInternal":{"tmp":"tmp/form-data-middleware_0.1.2_1769471928374_0.49235141207575106","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@remix-run/form-data-middleware","version":"0.1.3","keywords":["fetch","router","middleware","form-data","multipart","file-upload"],"author":{"name":"Michael Jackson","email":"mjijackson@gmail.com"},"license":"MIT","_id":"@remix-run/form-data-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/form-data-middleware#readme","bugs":{"url":"https://github.com/remix-run/remix/issues"},"dist":{"shasum":"450b1a1f4ba0ae8c9c1915ebdc97dd7479540cd0","tarball":"https://registry.npmjs.org/@remix-run/form-data-middleware/-/form-data-middleware-0.1.3.tgz","fileCount":11,"integrity":"sha512-lurRXQuvMglZagg3n7gdzUL7QKoBgMt1ToklX1HMbiYeqBoikv5LlleLgfU/aMPhQDPcCWvcnBKAZPRA7x0c3A==","signatures":[{"sig":"MEYCIQCAabYy/p0RiNQWVbqNGcHlw42DFY88XsjDrnMA5RYTbQIhANYS3q8IWWIy1q1BPy0kwAabKca8+/12RbpOH5CoubRP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@remix-run%2fform-data-middleware@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10052},"type":"module","_from":"file:remix-run-form-data-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:c6c305bd-5e21-4fd6-9740-dfa5e0533927"}},"_resolved":"/tmp/c2a5a3025aec137f622bb7ce9fda674e/remix-run-form-data-middleware-0.1.3.tgz","_integrity":"sha512-lurRXQuvMglZagg3n7gdzUL7QKoBgMt1ToklX1HMbiYeqBoikv5LlleLgfU/aMPhQDPcCWvcnBKAZPRA7x0c3A==","repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/form-data-middleware"},"_npmVersion":"11.6.2","description":"Middleware for parsing FormData from request bodies","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@remix-run/fetch-router":"^0.16.0","@remix-run/form-data-parser":"^0.15.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^24.6.0","@remix-run/fetch-router":"0.16.0","@typescript/native-preview":"7.0.0-dev.20251125.1","@remix-run/form-data-parser":"0.15.0"},"_npmOperationalInternal":{"tmp":"tmp/form-data-middleware_0.1.3_1769566418380_0.5452816128052977","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@remix-run/form-data-middleware","version":"0.1.4","keywords":["fetch","router","middleware","form-data","multipart","file-upload"],"author":{"name":"Michael Jackson","email":"mjijackson@gmail.com"},"license":"MIT","_id":"@remix-run/form-data-middleware@0.1.4","maintainers":[{"name":"mjackson","email":"mjijackson+npm@gmail.com"}],"homepage":"https://github.com/remix-run/remix/tree/main/packages/form-data-middleware#readme","bugs":{"url":"https://github.com/remix-run/remix/issues"},"dist":{"shasum":"380c6fd282ad9e67be2b76cf075d74f7bd3d16ad","tarball":"https://registry.npmjs.org/@remix-run/form-data-middleware/-/form-data-middleware-0.1.4.tgz","fileCount":11,"integrity":"sha512-WZfP1U6lDoipkfjcd0V39HJeTPMTX2WyaPcOBTbBHS0kapIZiHYm6RpGLhE8U58652i3TBh/zzvAczJIbFV2AA==","signatures":[{"sig":"MEYCIQD/3tU04k2aBdsr7i7oIHpy9TIsIaq4ADqKsDZjvWtMiAIhAONQlGkeT5CxXVMcKDXWn68Mj+mNaG2qTw5XAw82G9ve","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@remix-run%2fform-data-middleware@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10277},"type":"module","_from":"file:remix-run-form-data-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:c6c305bd-5e21-4fd6-9740-dfa5e0533927"}},"_resolved":"/tmp/b2d0214aaf9eddd796247f81ec6dc07f/remix-run-form-data-middleware-0.1.4.tgz","_integrity":"sha512-WZfP1U6lDoipkfjcd0V39HJeTPMTX2WyaPcOBTbBHS0kapIZiHYm6RpGLhE8U58652i3TBh/zzvAczJIbFV2AA==","repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/form-data-middleware"},"_npmVersion":"11.10.1","description":"Middleware for parsing FormData from request bodies","directories":{},"_nodeVersion":"25.7.0","dependencies":{"@remix-run/fetch-router":"^0.17.0","@remix-run/form-data-parser":"^0.15.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^24.6.0","@remix-run/fetch-router":"0.17.0","@typescript/native-preview":"7.0.0-dev.20251125.1","@remix-run/form-data-parser":"0.15.0"},"_npmOperationalInternal":{"tmp":"tmp/form-data-middleware_0.1.4_1772241743386_0.8257606449950274","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@remix-run/form-data-middleware","version":"0.2.0","keywords":["fetch","router","middleware","form-data","multipart","file-upload"],"author":{"name":"Michael Jackson","email":"mjijackson@gmail.com"},"license":"MIT","_id":"@remix-run/form-data-middleware@0.2.0","maintainers":[{"name":"mjackson","email":"mjijackson+npm@gmail.com"}],"homepage":"https://github.com/remix-run/remix/tree/main/packages/form-data-middleware#readme","bugs":{"url":"https://github.com/remix-run/remix/issues"},"dist":{"shasum":"3bea74cf5cc88c41490084257eab8f2fee4cd5af","tarball":"https://registry.npmjs.org/@remix-run/form-data-middleware/-/form-data-middleware-0.2.0.tgz","fileCount":11,"integrity":"sha512-oaBcYvyP/U2GrDdFyQUh2pNCshvKwPFBoUup1Bz3NHnMzym4OkZJgaBi4o7HIJC33QudnqI7Mp7TW1pRg0CvIA==","signatures":[{"sig":"MEQCIFmncBehHmX7mvja7850cDkeX6VyMxaZHMJ5h+2LFPMiAiATqjwYPo53QENnCotUpoUnmLQvwFFUi4+U0TGAQ+yk0A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@remix-run%2fform-data-middleware@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12457},"type":"module","_from":"file:remix-run-form-data-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:c6c305bd-5e21-4fd6-9740-dfa5e0533927"}},"_resolved":"/tmp/2d5ed826090ea8c0d96b12e0d0853b4a/remix-run-form-data-middleware-0.2.0.tgz","_integrity":"sha512-oaBcYvyP/U2GrDdFyQUh2pNCshvKwPFBoUup1Bz3NHnMzym4OkZJgaBi4o7HIJC33QudnqI7Mp7TW1pRg0CvIA==","repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/form-data-middleware"},"_npmVersion":"11.9.0","description":"Middleware for parsing FormData from request bodies","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@remix-run/fetch-router":"^0.18.0","@remix-run/form-data-parser":"^0.16.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^24.6.0","@remix-run/fetch-router":"0.18.0","@typescript/native-preview":"7.0.0-dev.20251125.1","@remix-run/form-data-parser":"0.16.0"},"_npmOperationalInternal":{"tmp":"tmp/form-data-middleware_0.2.0_1774479865924_0.12998861139774842","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@remix-run/form-data-middleware","version":"0.2.1","keywords":["fetch","router","middleware","form-data","multipart","file-upload"],"author":{"name":"Michael Jackson","email":"mjijackson@gmail.com"},"license":"MIT","_id":"@remix-run/form-data-middleware@0.2.1","maintainers":[{"name":"mjackson","email":"mjijackson+npm@gmail.com"}],"homepage":"https://github.com/remix-run/remix/tree/main/packages/form-data-middleware#readme","bugs":{"url":"https://github.com/remix-run/remix/issues"},"dist":{"shasum":"d80afc7934e7331af379449ebcdb1096461d901d","tarball":"https://registry.npmjs.org/@remix-run/form-data-middleware/-/form-data-middleware-0.2.1.tgz","fileCount":11,"integrity":"sha512-W+srsZcGNpCD8CwJbqtGD9BTPEQsodR/H3bU1V8PHwV0UjLA7CD4FaTwOdWZflOkC095Hz2MIjpi+71c686fbg==","signatures":[{"sig":"MEYCIQC6KKylNMQ6+yqW5yIpo81QbpFILC7ePg9THk9IOqgWtwIhAITn/nAbsYYqGNz+yAgl8x42f8Qne+gewb5cJR/Zp+LF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@remix-run%2fform-data-middleware@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12522},"type":"module","_from":"file:remix-run-form-data-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:c6c305bd-5e21-4fd6-9740-dfa5e0533927"}},"_resolved":"/tmp/72129003aedad209df506c48f33a11d8/remix-run-form-data-middleware-0.2.1.tgz","_integrity":"sha512-W+srsZcGNpCD8CwJbqtGD9BTPEQsodR/H3bU1V8PHwV0UjLA7CD4FaTwOdWZflOkC095Hz2MIjpi+71c686fbg==","repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/form-data-middleware"},"_npmVersion":"11.12.1","description":"Middleware for parsing FormData from request bodies","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@remix-run/fetch-router":"^0.18.1","@remix-run/form-data-parser":"^0.16.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^24.6.0","@remix-run/test":"0.1.0","@remix-run/assert":"0.1.0","@remix-run/fetch-router":"0.18.1","@typescript/native-preview":"7.0.0-dev.20251125.1","@remix-run/form-data-parser":"0.16.0"},"_npmOperationalInternal":{"tmp":"tmp/form-data-middleware_0.2.1_1776904684498_0.9340850588179697","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@remix-run/form-data-middleware","version":"0.2.2","keywords":["fetch","router","middleware","form-data","multipart","file-upload"],"author":{"name":"Michael Jackson","email":"mjijackson@gmail.com"},"license":"MIT","_id":"@remix-run/form-data-middleware@0.2.2","maintainers":[{"name":"mjackson","email":"mjijackson+npm@gmail.com"}],"homepage":"https://github.com/remix-run/remix/tree/main/packages/form-data-middleware#readme","bugs":{"url":"https://github.com/remix-run/remix/issues"},"dist":{"shasum":"45e479c7826c268cb8b7efc00c01634fefff8db3","tarball":"https://registry.npmjs.org/@remix-run/form-data-middleware/-/form-data-middleware-0.2.2.tgz","fileCount":11,"integrity":"sha512-KG0ZZfnE6SDe4oPMX/X3wZliycbBWlgXnE1b6LWH2V+LzHgJRs3JPX3CjqGBIOlmunhPxb1mmkDC9Raqj+vw0g==","signatures":[{"sig":"MEUCIHnDBob4b/OFZ4liwdw2FNvtqeJ/AwisaYAS+2zICqjMAiEA8J8hAmVeVKWyX/5y30M4Cxv4w/yZoHO//+dDpeF+tJU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@remix-run%2fform-data-middleware@0.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12564},"type":"module","_from":"file:remix-run-form-data-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:c6c305bd-5e21-4fd6-9740-dfa5e0533927"}},"_resolved":"/tmp/c47606490971461329099cabaed6c14f/remix-run-form-data-middleware-0.2.2.tgz","_integrity":"sha512-KG0ZZfnE6SDe4oPMX/X3wZliycbBWlgXnE1b6LWH2V+LzHgJRs3JPX3CjqGBIOlmunhPxb1mmkDC9Raqj+vw0g==","repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/form-data-middleware"},"_npmVersion":"11.11.0","description":"Middleware for parsing FormData from request bodies","directories":{},"_nodeVersion":"24.14.1","dependencies":{"@remix-run/fetch-router":"^0.18.1","@remix-run/form-data-parser":"^0.17.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^24.6.0","@remix-run/test":"0.2.0","@remix-run/assert":"0.1.0","@remix-run/fetch-router":"0.18.1","@typescript/native-preview":"7.0.0-dev.20251125.1","@remix-run/form-data-parser":"0.17.0"},"_npmOperationalInternal":{"tmp":"tmp/form-data-middleware_0.2.2_1777483821700_0.5482981834869274","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@remix-run/form-data-middleware","version":"0.2.3","keywords":["fetch","router","middleware","form-data","multipart","file-upload"],"author":{"name":"Michael Jackson","email":"mjijackson@gmail.com"},"license":"MIT","_id":"@remix-run/form-data-middleware@0.2.3","maintainers":[{"name":"mjackson","email":"mjijackson+npm@gmail.com"}],"homepage":"https://github.com/remix-run/remix/tree/main/packages/form-data-middleware#readme","bugs":{"url":"https://github.com/remix-run/remix/issues"},"dist":{"shasum":"c0dea68e6391829d24cec9c490364b089419102a","tarball":"https://registry.npmjs.org/@remix-run/form-data-middleware/-/form-data-middleware-0.2.3.tgz","fileCount":11,"integrity":"sha512-gaHAQay7ckLcmkpJpPJlYgN5vJpXp+WLdHUCC8MiAJ0uFWhyaKDzKZvjewq7V0InVwi/M0J0Fvyaa2ljocq+3w==","signatures":[{"sig":"MEYCIQCeGAILsaLgLyWjGDYQ01gPSOKRjjO8AdsQK4JpHnaZtgIhAIdMVxOfjeB+QsV+AtwzgMcbtFLXXu4yF4eKrzT1zIwF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@remix-run%2fform-data-middleware@0.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12564},"type":"module","_from":"file:remix-run-form-data-middleware-0.2.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:c6c305bd-5e21-4fd6-9740-dfa5e0533927"}},"_resolved":"/tmp/809bcaaec2f263c90269c2687022a566/remix-run-form-data-middleware-0.2.3.tgz","_integrity":"sha512-gaHAQay7ckLcmkpJpPJlYgN5vJpXp+WLdHUCC8MiAJ0uFWhyaKDzKZvjewq7V0InVwi/M0J0Fvyaa2ljocq+3w==","repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/form-data-middleware"},"_npmVersion":"11.11.0","description":"Middleware for parsing FormData from request bodies","directories":{},"_nodeVersion":"24.14.1","dependencies":{"@remix-run/fetch-router":"^0.18.2","@remix-run/form-data-parser":"^0.17.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^24.6.0","@remix-run/test":"0.3.0","@remix-run/assert":"0.2.0","@remix-run/fetch-router":"0.18.2","@typescript/native-preview":"7.0.0-dev.20251125.1","@remix-run/form-data-parser":"0.17.0"},"_npmOperationalInternal":{"tmp":"tmp/form-data-middleware_0.2.3_1777576314874_0.21681722333502673","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@remix-run/form-data-middleware","version":"0.3.0","keywords":["fetch","router","middleware","form-data","multipart","file-upload"],"author":{"name":"Michael Jackson","email":"mjijackson@gmail.com"},"license":"MIT","_id":"@remix-run/form-data-middleware@0.3.0","maintainers":[{"name":"mjackson","email":"mjijackson+npm@gmail.com"}],"homepage":"https://github.com/remix-run/remix/tree/main/packages/form-data-middleware#readme","bugs":{"url":"https://github.com/remix-run/remix/issues"},"dist":{"shasum":"a468bab80d6935b18273dd2e291e42974ed63208","tarball":"https://registry.npmjs.org/@remix-run/form-data-middleware/-/form-data-middleware-0.3.0.tgz","fileCount":11,"integrity":"sha512-ocDc5GfyYcInTayDbPHaAawXNHSVF7Ls009pva5AqZZnqHALq4m4ApChU+CXT6fXVJ4my0ES5eXFoTVMHFJzdA==","signatures":[{"sig":"MEYCIQCiPVZ1kRE+rkCk2D4DwC3TU6FBhDTbBmOzvkon0UouCwIhAMBz1s+eF6+Di4fM8nOZgXO57rTOHvrmK36Eb/AcUtyK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@remix-run%2fform-data-middleware@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13374},"type":"module","_from":"file:remix-run-form-data-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:c6c305bd-5e21-4fd6-9740-dfa5e0533927"}},"_resolved":"/tmp/b41a0ae2bd6d940a6b620340f75283f2/remix-run-form-data-middleware-0.3.0.tgz","_integrity":"sha512-ocDc5GfyYcInTayDbPHaAawXNHSVF7Ls009pva5AqZZnqHALq4m4ApChU+CXT6fXVJ4my0ES5eXFoTVMHFJzdA==","repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/form-data-middleware"},"_npmVersion":"11.12.1","description":"Middleware for parsing FormData from request bodies","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@remix-run/fetch-router":"^0.19.0","@remix-run/form-data-parser":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^24.6.0","@remix-run/test":"0.4.0","@remix-run/assert":"0.2.0","@remix-run/fetch-router":"0.19.0","@typescript/native-preview":"7.0.0-dev.20251125.1","@remix-run/form-data-parser":"0.17.1"},"_npmOperationalInternal":{"tmp":"tmp/form-data-middleware_0.3.0_1779247341717_0.8728094564170801","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@remix-run/form-data-middleware","version":"0.3.1","keywords":["fetch","router","middleware","form-data","multipart","file-upload"],"author":{"name":"Michael Jackson","email":"mjijackson@gmail.com"},"license":"MIT","_id":"@remix-run/form-data-middleware@0.3.1","maintainers":[{"name":"mjackson","email":"mjijackson+npm@gmail.com"}],"homepage":"https://github.com/remix-run/remix/tree/main/packages/form-data-middleware#readme","bugs":{"url":"https://github.com/remix-run/remix/issues"},"dist":{"shasum":"8479f16bb0011322e7c118d07bd9feefaae7bc4b","tarball":"https://registry.npmjs.org/@remix-run/form-data-middleware/-/form-data-middleware-0.3.1.tgz","fileCount":11,"integrity":"sha512-toKu0bFcRvzr3u7kKM7nkpjPginGqgZ14dhenaG3SI7PQMk2/Zd8SK6w9Da3PN9F/JyEDTYrYIK74UYKYADLdg==","signatures":[{"sig":"MEYCIQCNDcxoR2bUDea0b9OeQt24JiHgiLkJJ1uGAj/rHujTMwIhALMQDcP/ztvZLaS9pTfqzcwETtcqwbiVvQ0IpBlY0Hoa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@remix-run%2fform-data-middleware@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13374},"type":"module","_from":"file:remix-run-form-data-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:c6c305bd-5e21-4fd6-9740-dfa5e0533927"}},"_resolved":"/tmp/37643f6a97bb8fe04ff9c236703e74a2/remix-run-form-data-middleware-0.3.1.tgz","_integrity":"sha512-toKu0bFcRvzr3u7kKM7nkpjPginGqgZ14dhenaG3SI7PQMk2/Zd8SK6w9Da3PN9F/JyEDTYrYIK74UYKYADLdg==","repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/form-data-middleware"},"_npmVersion":"11.12.1","description":"Middleware for parsing FormData from request bodies","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@remix-run/fetch-router":"^0.19.1","@remix-run/form-data-parser":"^0.17.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^24.6.0","@remix-run/test":"0.4.1","@remix-run/assert":"0.2.1","@remix-run/fetch-router":"0.19.1","@typescript/native-preview":"7.0.0-dev.20251125.1","@remix-run/form-data-parser":"0.17.2"},"_npmOperationalInternal":{"tmp":"tmp/form-data-middleware_0.3.1_1779308322501_0.29000406146459223","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@remix-run/form-data-middleware","version":"0.3.2","keywords":["fetch","router","middleware","form-data","multipart","file-upload"],"author":{"name":"Michael Jackson","email":"mjijackson@gmail.com"},"license":"MIT","_id":"@remix-run/form-data-middleware@0.3.2","maintainers":[{"name":"mjackson","email":"mjijackson+npm@gmail.com"}],"homepage":"https://github.com/remix-run/remix/tree/main/packages/form-data-middleware#readme","bugs":{"url":"https://github.com/remix-run/remix/issues"},"dist":{"shasum":"8113226d89006d6834b3d8a39c73821293e784ce","tarball":"https://registry.npmjs.org/@remix-run/form-data-middleware/-/form-data-middleware-0.3.2.tgz","fileCount":11,"integrity":"sha512-7/tgeJG22O01ZlbftSd+taHvQsvofbYWgxvHL0mPQrNZPvaCEEjPAc2QUlkxnq7+shftuMOIEhFOyAziDnmzcQ==","signatures":[{"sig":"MEQCIFhDHVJL66sDbrwKZ27hBTGOHovlRXtblhxh+d0iOvtvAiBe1m1SfxzXbqel7wH8HRXyCPLakbH262iTV8K3Q2XYnA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@remix-run%2fform-data-middleware@0.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13374},"type":"module","_from":"file:remix-run-form-data-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:c6c305bd-5e21-4fd6-9740-dfa5e0533927"}},"_resolved":"/tmp/d29d616f90f626f9999b77d86b2f3204/remix-run-form-data-middleware-0.3.2.tgz","_integrity":"sha512-7/tgeJG22O01ZlbftSd+taHvQsvofbYWgxvHL0mPQrNZPvaCEEjPAc2QUlkxnq7+shftuMOIEhFOyAziDnmzcQ==","repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/form-data-middleware"},"_npmVersion":"11.13.0","description":"Middleware for parsing FormData from request bodies","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@remix-run/fetch-router":"^0.19.2","@remix-run/form-data-parser":"^0.17.3"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^24.6.0","@remix-run/test":"0.4.2","@remix-run/assert":"0.2.1","@remix-run/fetch-router":"0.19.2","@typescript/native-preview":"7.0.0-dev.20251125.1","@remix-run/form-data-parser":"0.17.3"},"_npmOperationalInternal":{"tmp":"tmp/form-data-middleware_0.3.2_1780078669975_0.08145838005653805","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@remix-run/form-data-middleware","version":"0.3.3","keywords":["fetch","router","middleware","form-data","multipart","file-upload"],"author":{"name":"Michael Jackson","email":"mjijackson@gmail.com"},"license":"MIT","_id":"@remix-run/form-data-middleware@0.3.3","maintainers":[{"name":"mjackson","email":"mjijackson+npm@gmail.com"}],"homepage":"https://github.com/remix-run/remix/tree/main/packages/form-data-middleware#readme","bugs":{"url":"https://github.com/remix-run/remix/issues"},"dist":{"shasum":"d7185df9392307a9ec59958b13110d06ac08c901","tarball":"https://registry.npmjs.org/@remix-run/form-data-middleware/-/form-data-middleware-0.3.3.tgz","fileCount":11,"integrity":"sha512-46FpwGGyjJXvH1ZioZtL8FGO14qDASqaZmnqXmeUspZ4XvtEVAiEfzcPYUnmCNzrvBSuGlgU5WqUfOQxbtXAHA==","signatures":[{"sig":"MEUCICR7C84TvtNvQyeK4CAaor83iucfg7iK49TN4kxkJH3KAiEApBBKGbLpy9D3KQD+SZjC5bMrDHIXvvxjvQRKhH6jnm8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@remix-run%2fform-data-middleware@0.3.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13470},"type":"module","_from":"file:remix-run-form-data-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:c6c305bd-5e21-4fd6-9740-dfa5e0533927"}},"_resolved":"/tmp/336822adb0996e28e9421b85ead89cc0/remix-run-form-data-middleware-0.3.3.tgz","_integrity":"sha512-46FpwGGyjJXvH1ZioZtL8FGO14qDASqaZmnqXmeUspZ4XvtEVAiEfzcPYUnmCNzrvBSuGlgU5WqUfOQxbtXAHA==","repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/form-data-middleware"},"_npmVersion":"11.13.0","description":"Middleware for parsing FormData from request bodies","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@remix-run/fetch-router":"^0.20.0","@remix-run/form-data-parser":"^0.17.3"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^24.6.0","@remix-run/test":"0.5.0","@remix-run/assert":"0.3.0","@remix-run/fetch-router":"0.20.0","@typescript/native-preview":"7.0.0-dev.20251125.1","@remix-run/form-data-parser":"0.17.3"},"_npmOperationalInternal":{"tmp":"tmp/form-data-middleware_0.3.3_1780683964475_0.8805447613401738","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@remix-run/form-data-middleware","version":"0.3.4","keywords":["fetch","router","middleware","form-data","multipart","file-upload"],"author":{"name":"Michael Jackson","email":"mjijackson@gmail.com"},"license":"MIT","_id":"@remix-run/form-data-middleware@0.3.4","maintainers":[{"name":"mjackson","email":"mjijackson+npm@gmail.com"}],"homepage":"https://github.com/remix-run/remix/tree/main/packages/form-data-middleware#readme","bugs":{"url":"https://github.com/remix-run/remix/issues"},"dist":{"shasum":"c3c8cd5645ecb3e8ea51c06c5ff62289d7824cdc","tarball":"https://registry.npmjs.org/@remix-run/form-data-middleware/-/form-data-middleware-0.3.4.tgz","fileCount":11,"integrity":"sha512-i/bnBzvXl4qkslVjy/h7r7ODuYiGJ548wDqql757p2eaZCW8h+y8T0/NXh+GcRfleBPYBxst0is6XDEHzt+I6w==","signatures":[{"sig":"MEUCIQDi/4AhOrUEmCwP9YNBaNqEzqtAOHMuqOsjvGEtYa+hEgIgYlCntY55ik1BJSfd/FZy8RQruUs08+7lLj1kB4vwKXw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@remix-run%2fform-data-middleware@0.3.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13470},"type":"module","_from":"file:remix-run-form-data-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:c6c305bd-5e21-4fd6-9740-dfa5e0533927"}},"_resolved":"/tmp/744d5c3fcc943b0cf2d94f3db8bd518b/remix-run-form-data-middleware-0.3.4.tgz","_integrity":"sha512-i/bnBzvXl4qkslVjy/h7r7ODuYiGJ548wDqql757p2eaZCW8h+y8T0/NXh+GcRfleBPYBxst0is6XDEHzt+I6w==","repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/form-data-middleware"},"_npmVersion":"11.13.0","description":"Middleware for parsing FormData from request bodies","directories":{},"_nodeVersion":"24.17.0","dependencies":{"@remix-run/fetch-router":"^0.20.1","@remix-run/form-data-parser":"^0.17.4"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^24.6.0","@remix-run/test":"0.5.0","@remix-run/assert":"0.3.0","@remix-run/fetch-router":"0.20.1","@typescript/native-preview":"7.0.0-dev.20251125.1","@remix-run/form-data-parser":"0.17.4"},"_npmOperationalInternal":{"tmp":"tmp/form-data-middleware_0.3.4_1782932597629_0.945503574257587","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"@remix-run/form-data-middleware","version":"0.3.5","keywords":["fetch","router","middleware","form-data","multipart","file-upload"],"author":{"name":"Michael Jackson","email":"mjijackson@gmail.com"},"license":"MIT","_id":"@remix-run/form-data-middleware@0.3.5","maintainers":[{"name":"mjackson","email":"mjijackson+npm@gmail.com"}],"homepage":"https://github.com/remix-run/remix/tree/main/packages/form-data-middleware#readme","bugs":{"url":"https://github.com/remix-run/remix/issues"},"dist":{"shasum":"f5a0779a66485aab3713322dd9e639aeea538cc8","tarball":"https://registry.npmjs.org/@remix-run/form-data-middleware/-/form-data-middleware-0.3.5.tgz","fileCount":11,"integrity":"sha512-gPb12PC46F0RbUUm2qjjqmRmVjzB589Wdp7WBA/Lhn6tDPskCYKmwCew5owIIhoEgBEAuXD5nm16gMuDaZ/DVA==","signatures":[{"sig":"MEQCICZli31qBq7RWHlt/ABuBw+bcDvvFJwuou6HGWVmvAAWAiBRdxDDQgd1cV5fzcMUYnK2AXUaGiAZbXtdY4xCkxVxow==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@remix-run%2fform-data-middleware@0.3.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13438},"type":"module","_from":"file:remix-run-form-data-middleware-0.3.5.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:c6c305bd-5e21-4fd6-9740-dfa5e0533927"}},"_resolved":"/tmp/2087fd07e241ac6bd7094841d5676359/remix-run-form-data-middleware-0.3.5.tgz","_integrity":"sha512-gPb12PC46F0RbUUm2qjjqmRmVjzB589Wdp7WBA/Lhn6tDPskCYKmwCew5owIIhoEgBEAuXD5nm16gMuDaZ/DVA==","repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/form-data-middleware"},"_npmVersion":"11.16.0","description":"Middleware for parsing FormData from request bodies","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@remix-run/fetch-router":"^0.21.0","@remix-run/form-data-parser":"^0.17.5"},"_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/fetch-router":"0.21.0","@remix-run/form-data-parser":"0.17.5"},"_npmOperationalInternal":{"tmp":"tmp/form-data-middleware_0.3.5_1786666462606_0.5903155740577593","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"@remix-run/form-data-middleware","version":"0.3.6","keywords":["fetch","router","middleware","form-data","multipart","file-upload"],"author":{"name":"Michael Jackson","email":"mjijackson@gmail.com"},"license":"MIT","_id":"@remix-run/form-data-middleware@0.3.6","maintainers":[{"name":"mjackson","email":"mjijackson+npm@gmail.com"}],"homepage":"https://github.com/remix-run/remix/tree/main/packages/form-data-middleware#readme","bugs":{"url":"https://github.com/remix-run/remix/issues"},"dist":{"shasum":"2ed9f158fc16e8e7eb7001901a9c562ab801837d","tarball":"https://registry.npmjs.org/@remix-run/form-data-middleware/-/form-data-middleware-0.3.6.tgz","fileCount":11,"integrity":"sha512-Uwi8Uh0VxtZ5LWImJQlA/OV1q/CAnoywdCx9RYFVUFmr5x+MIjAUT9MM9M1WBBlU0r4GhiB3A9fVwfmMkgd2HA==","signatures":[{"sig":"MEQCIB8n7hS9ymSciBzQy5nJNY88lyc2MgYvy80Kbpmsl8VgAiATCRezyZ5dMeNvmVFxMBHFHrKQoFGjtwJiIBjcPMIk0g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@remix-run%2fform-data-middleware@0.3.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13438},"type":"module","_from":"file:/tmp/remix-publish-form-data-middleware-wI8Jca/remix-run-form-data-middleware-0.3.6.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:c6c305bd-5e21-4fd6-9740-dfa5e0533927"}},"_resolved":"/tmp/remix-publish-form-data-middleware-wI8Jca/remix-run-form-data-middleware-0.3.6.tgz","_integrity":"sha512-Uwi8Uh0VxtZ5LWImJQlA/OV1q/CAnoywdCx9RYFVUFmr5x+MIjAUT9MM9M1WBBlU0r4GhiB3A9fVwfmMkgd2HA==","repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/form-data-middleware"},"_npmVersion":"11.19.0","description":"Middleware for parsing FormData from request bodies","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@remix-run/fetch-router":"^0.22.0","@remix-run/form-data-parser":"^0.17.5"},"_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/fetch-router":"0.22.0","@remix-run/form-data-parser":"0.17.5"},"_npmOperationalInternal":{"tmp":"tmp/form-data-middleware_0.3.6_1788908632822_0.5529930968590435","host":"s3://npm-registry-packages-npm-production"}},"0.3.7":{"name":"@remix-run/form-data-middleware","version":"0.3.7","keywords":["fetch","router","middleware","form-data","multipart","file-upload"],"author":{"name":"Michael Jackson","email":"mjijackson@gmail.com"},"license":"MIT","_id":"@remix-run/form-data-middleware@0.3.7","maintainers":[{"name":"mjackson","email":"mjijackson+npm@gmail.com"}],"homepage":"https://github.com/remix-run/remix/tree/main/packages/form-data-middleware#readme","bugs":{"url":"https://github.com/remix-run/remix/issues"},"dist":{"shasum":"402951d272d52efe1d28bf104dc7ba4507fce242","tarball":"https://registry.npmjs.org/@remix-run/form-data-middleware/-/form-data-middleware-0.3.7.tgz","fileCount":11,"integrity":"sha512-4+yw0xL6gxe/81rupBpsOlqDFpYeKC+++NaJYQ+cIH5wOadLuw+ETE+4pJTza9vdiVJwAdCDTn0RUZM3KpfJuQ==","signatures":[{"sig":"MEUCIDnY2s7T1N4A3/jtXS0v8aXOYsy7aWSz3+d6VSO/P2tfAiEAl9L4/wcryWqye9xC5+2mzQdwCg5xgK4iXiVurmBKrug=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIF6EpYqUArPiYCw7EvoTZbkmxSAk9yD+EsPEcWqzXohjAiEAsgGGHOK4O4eZ++7vWvUYtVhLsthVbg+VypCm/ytzL00=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@remix-run%2fform-data-middleware@0.3.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13555},"type":"module","_from":"file:/tmp/remix-publish-form-data-middleware-0BZ5QG/remix-run-form-data-middleware-0.3.7.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:c6c305bd-5e21-4fd6-9740-dfa5e0533927"}},"_resolved":"/tmp/remix-publish-form-data-middleware-0BZ5QG/remix-run-form-data-middleware-0.3.7.tgz","_integrity":"sha512-4+yw0xL6gxe/81rupBpsOlqDFpYeKC+++NaJYQ+cIH5wOadLuw+ETE+4pJTza9vdiVJwAdCDTn0RUZM3KpfJuQ==","repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/form-data-middleware"},"_npmVersion":"11.19.0","description":"Middleware for parsing FormData from request bodies","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@remix-run/headers":"^0.21.2","@remix-run/fetch-router":"^0.22.1","@remix-run/form-data-parser":"^0.17.6"},"_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/fetch-router":"0.22.1","@remix-run/form-data-parser":"0.17.6"},"_npmOperationalInternal":{"tmp":"tmp/form-data-middleware_0.3.7_1789770921568_0.6956934151992504","host":"s3://npm-registry-packages-npm-production"}},"0.3.8":{"name":"@remix-run/form-data-middleware","version":"0.3.8","keywords":["fetch","router","middleware","form-data","multipart","file-upload"],"author":{"name":"Michael Jackson","email":"mjijackson@gmail.com"},"license":"MIT","_id":"@remix-run/form-data-middleware@0.3.8","maintainers":[{"name":"mjackson","email":"mjijackson+npm@gmail.com"}],"homepage":"https://github.com/remix-run/remix/tree/main/packages/form-data-middleware#readme","bugs":{"url":"https://github.com/remix-run/remix/issues"},"dist":{"shasum":"601ba8540564cb24f2bb862eeacfc31104a2d20f","tarball":"https://registry.npmjs.org/@remix-run/form-data-middleware/-/form-data-middleware-0.3.8.tgz","fileCount":11,"integrity":"sha512-EdW7zW6SeHxFVNzA25cHspSwgz1GxJjr09iV5Or3wMKx7O/U+RM7ZiND09K0Rr9gTLG1BPbfktY9m0JAMDTQlg==","signatures":[{"sig":"MEUCIQDBuEpH5JOFM3npjtDBdq8I4CIO/Hb7Z5jmRALe0qwQsAIgDi8MbWJS3V6vBV19TowB7ku72Pr6BhZpnY+kwCECTmE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHLoCno2TbsS4a8PF5fMg1ytTZV3XKMv8kjbnmk5WvpDAiEAp6qeMIOAKlkj7ijh+uDpumpkzEeJo5JXce1WsyFC/zs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@remix-run%2fform-data-middleware@0.3.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":14046},"type":"module","_from":"file:/tmp/remix-publish-form-data-middleware-lkJFs4/remix-run-form-data-middleware-0.3.8.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":"c6c305bd-5e21-4fd6-9740-dfa5e0533927"}},"_resolved":"/tmp/remix-publish-form-data-middleware-lkJFs4/remix-run-form-data-middleware-0.3.8.tgz","_integrity":"sha512-EdW7zW6SeHxFVNzA25cHspSwgz1GxJjr09iV5Or3wMKx7O/U+RM7ZiND09K0Rr9gTLG1BPbfktY9m0JAMDTQlg==","repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/form-data-middleware"},"_npmVersion":"11.19.0","description":"Middleware for parsing FormData from request bodies","directories":{},"sideEffects":false,"_nodeVersion":"24.21.0","dependencies":{"@remix-run/headers":"^0.21.3","@remix-run/fetch-router":"^0.22.2","@remix-run/form-data-parser":"^0.17.7"},"_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/fetch-router":"0.22.2","@remix-run/form-data-parser":"0.17.7"},"_npmOperationalInternal":{"tmp":"tmp/form-data-middleware_0.3.8_1790631710502_0.28610691734721083","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"_id":"@remix-run/form-data-middleware@1.0.0","bugs":{"url":"https://github.com/remix-run/remix/issues"},"dist":{"shasum":"794ee59900df269fea5734b2ec7a6e5ec2acce7d","tarball":"https://registry.npmjs.org/@remix-run/form-data-middleware/-/form-data-middleware-1.0.0.tgz","fileCount":11,"integrity":"sha512-+28dMVbgp/dZa4YWkpS1I5t7wcAnNEPvf4IvyXO6mtkL5PyfmWZtymC6UiGf66Viv05gNskjiYFq3HWX70K1vQ==","signatures":[{"sig":"MEQCIGpaOLPZUlcooQ7Wh//u2a/ccqF5fNQoGvkXlrKuxZarAiBArZXLxfyiedFF+Sgsd1q0uBhkfYjmkmDrI5rlNJyjug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCGagmShXCAlGIfYJLSflnrA/lFGKDkMgigr4t9GPQAXgIgGECClA5BcByqOGEotq9I0hNvOlutG/L43fhLZHaawX8="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@remix-run%2fform-data-middleware@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":14041},"name":"@remix-run/form-data-middleware","type":"module","_from":"file:/tmp/remix-publish-form-data-middleware-LWv78B/remix-run-form-data-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":"c6c305bd-5e21-4fd6-9740-dfa5e0533927"}},"homepage":"https://github.com/remix-run/remix/tree/main/packages/form-data-middleware#readme","keywords":["fetch","router","middleware","form-data","multipart","file-upload"],"_resolved":"/tmp/remix-publish-form-data-middleware-LWv78B/remix-run-form-data-middleware-1.0.0.tgz","_integrity":"sha512-+28dMVbgp/dZa4YWkpS1I5t7wcAnNEPvf4IvyXO6mtkL5PyfmWZtymC6UiGf66Viv05gNskjiYFq3HWX70K1vQ==","repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/form-data-middleware"},"_npmVersion":"11.19.0","description":"Middleware for parsing FormData from request bodies","directories":{},"maintainers":[{"name":"mjackson","email":"mjijackson+npm@gmail.com"}],"sideEffects":false,"_nodeVersion":"24.21.0","dependencies":{"@remix-run/headers":"^1.0.0","@remix-run/fetch-router":"^1.0.0","@remix-run/form-data-parser":"^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/fetch-router":"1.0.0","@remix-run/form-data-parser":"1.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/form-data-middleware_1.0.0_1790895395933_0.16890891121351337"}}},"time":{"created":"2025-11-19T15:43:02.646Z","modified":"2026-10-01T22:56:36.357Z","0.0.0":"2025-11-19T15:43:02.906Z","0.1.0":"2025-11-19T20:04:03.053Z","0.1.1":"2025-12-06T20:36:27.448Z","0.1.2":"2026-01-26T23:58:48.536Z","0.1.3":"2026-01-28T02:13:38.525Z","0.1.4":"2026-02-28T01:22:23.572Z","0.2.0":"2026-03-25T23:04:26.085Z","0.2.1":"2026-04-23T00:38:04.682Z","0.2.2":"2026-04-29T17:30:21.845Z","0.2.3":"2026-04-30T19:11:54.997Z","0.3.0":"2026-05-20T03:22:21.863Z","0.3.1":"2026-05-20T20:18:42.649Z","0.3.2":"2026-05-29T18:17:50.117Z","0.3.3":"2026-06-05T18:26:04.629Z","0.3.4":"2026-07-01T19:03:17.772Z","0.3.5":"2026-08-14T00:14:22.788Z","0.3.6":"2026-09-08T23:03:52.943Z","0.3.7":"2026-09-18T22:35:21.649Z","0.3.8":"2026-09-28T21:41:50.577Z","1.0.0":"2026-10-01T22:56:36.021Z"},"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/form-data-middleware#readme","keywords":["fetch","router","middleware","form-data","multipart","file-upload"],"repository":{"url":"git+https://github.com/remix-run/remix.git","type":"git","directory":"packages/form-data-middleware"},"description":"Middleware for parsing FormData from request bodies","maintainers":[{"name":"mjackson","email":"mjijackson+npm@gmail.com"}],"readme":"# form-data-middleware\n\nForm body parsing middleware for Remix. It parses incoming [`FormData`](https://developer.mozilla.org/en-US/docs/Web/API/FormData) and exposes it via `context.formData` (or `context.get(FormData)`).\n\n## Features\n\n- **Request Form Parsing** - Parses request body form data once per request\n- **File Access** - Uploaded files are available from `context.formData` (or `context.get(FormData)`)\n- **Custom Upload Handling** - Supports pluggable upload handlers for file processing\n- **Error Control** - Optional suppression for malformed form data\n\n## Installation\n\n```sh\nnpm i remix\n```\n\n## Usage\n\nUse the `formData()` middleware at the router level to parse `FormData` from the request body and make it available as `context.formData` (or `context.get(FormData)`).\n\nWhen `formData()` runs successfully it always provides a `FormData` value. Requests that do not contain a form body, including `GET` and `HEAD` requests, receive an empty `FormData`.\n\nUploaded files are available in the parsed `FormData` object. For a single file field, use `formData.get(name)`. For repeated file fields, use `formData.getAll(name)`.\n\n```ts\nimport { createRouter } from 'remix/router'\nimport { formData } from 'remix/middleware/form-data'\n\nlet router = createRouter({\n  middleware: [formData()],\n})\n\nrouter.post('/users', async (context) => {\n  let formData = context.formData\n  let name = formData.get('name')\n  let email = formData.get('email')\n\n  // Handle file uploads\n  let avatar = formData.get('avatar')\n\n  return Response.json({ name, email, hasAvatar: avatar instanceof File })\n})\n```\n\nUse `context.formData` (or `context.get(FormData)`).\n\n### Custom File Upload Handler\n\nYou can use a custom upload handler to customize how file uploads are handled. The return value of the upload handler will be used as the value of the form field in the `FormData` object.\n\n`upload.name` and the names of uploaded files in `context.formData` are untrusted client input, not sanitized filesystem paths. Generate storage names in your application instead of using these names directly or joining them to an upload directory; see [Filename Safety](https://github.com/remix-run/remix/tree/main/packages/headers#filename-safety).\n\n```ts\nimport { formData } from 'remix/middleware/form-data'\nimport { createRouter } from 'remix/router'\nimport { writeFile } from 'node:fs/promises'\n\nlet router = createRouter({\n  middleware: [\n    formData({\n      async uploadHandler(upload) {\n        // Save under an application-generated name in an existing upload directory\n        let path = `./uploads/${crypto.randomUUID()}`\n        await writeFile(path, new Uint8Array(await upload.arrayBuffer()), { flag: 'wx' })\n        return path\n      },\n    }),\n  ],\n})\n```\n\n### Limit Multipart Growth\n\n`formData()` forwards multipart limit options to `parseFormData()`, so you can cap uploads with `maxHeaderSize`, `maxFiles`, `maxFileSize`, `maxParts`, and `maxTotalSize`.\n\n```ts\nlet router = createRouter({\n  middleware: [\n    formData({\n      maxFiles: 5,\n      maxFileSize: 10 * 1024 * 1024,\n      maxParts: 25,\n      maxTotalSize: 12 * 1024 * 1024,\n    }),\n  ],\n})\n```\n\n### Suppress Parse Errors\n\nSome requests may contain invalid form data that cannot be parsed. You can suppress those malformed-body parse errors by setting `suppressErrors` to `true`. In these cases, `context.formData` will be an empty `FormData` object. Multipart limit violations from `maxHeaderSize`, `maxFiles`, `maxFileSize`, `maxParts`, or `maxTotalSize` are never suppressed.\n\n```ts\nlet router = createRouter({\n  middleware: [\n    formData({\n      suppressErrors: true, // Invalid form data won't throw\n    }),\n  ],\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- [`form-data-parser`](https://github.com/remix-run/remix/tree/main/packages/form-data-parser) - The underlying form data parser\n\n## License\n\nSee [LICENSE](https://github.com/remix-run/remix/blob/main/LICENSE)\n","readmeFilename":"README.md"}