{"_id":"pompelmi","_rev":"147-9c4502531eca1a7dd8d065a49a16a657","name":"pompelmi","dist-tags":{"latest":"1.20.0"},"versions":{"0.0.1-alpha.0":{"name":"pompelmi","version":"0.0.1-alpha.0","keywords":["scanner","code","cli","alpha"],"author":{"name":"https://github.com/SonoTommy"},"license":"MIT","_id":"pompelmi@0.0.1-alpha.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"bin":{"pompelmi":"bin/pompelmi.js"},"dist":{"shasum":"e0036842ab8c1b3e8d66228a8fc6d8eea61c7d63","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.0.1-alpha.0.tgz","fileCount":4,"integrity":"sha512-0mzZRdUYQEoV77TKZ4UdOMGtafrwxH3T78wu9qOr4PLxzmgUXNCf8RVZzt93MTUUOcgXLNrlxFN3Ur9M6peQ5Q==","signatures":[{"sig":"MEUCIQCoOrCe8YByJrfSzL+FsEIVa7vXA6/1S22OR/9VF3kULwIgUye2ZMAFF6Orii6mhOEN0olIOPlj8w43tBMy4DRQd4I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1844},"gitHead":"f5698051197811c96308610dfd431891a0acb364","_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.9.0","description":"pompelmi – alpha placeholder","directories":{},"_nodeVersion":"22.12.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.0.1-alpha.0_1753442752734_0.6101812198517154","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-alhoa.0":{"name":"pompelmi","version":"0.2.0-alhoa.0","license":"MIT","_id":"pompelmi@0.2.0-alhoa.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"dist":{"shasum":"2621b8c46f2ecae8ffd0c98843800f4aefeb1f0b","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.2.0-alhoa.0.tgz","fileCount":30,"integrity":"sha512-1KkJeqtxV1WiM4E4PRTSdEKafedL23HQE9jUFdiRWff9mtwxOjYuokYX7NWVTrXg6lnQ+SeyI2jWgBTYDkV34w==","signatures":[{"sig":"MEYCIQD7i9Tu2YGFhtGSbz29/wgEuDS3L+879VTrLKL9u+xZTQIhALLtes2X6v4Xk2P0PO2783q7LPAodkbP9nAqjkjTYMAj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1191062},"main":"dist/pompelmi.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","description":"Prototipo di scanner di file lato cliente","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2025 Tommaso Bertocchi\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","multer":"^2.0.2","express":"^5.1.0","react-dom":"^18.0.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/react-dom":"^19.1.6","@babel/preset-env":"^7.28.0","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.2.0-alhoa.0_1753537479159_0.20176681792569173","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-alpha.1":{"name":"pompelmi","version":"0.2.0-alpha.1","license":"MIT","_id":"pompelmi@0.2.0-alpha.1","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"dist":{"shasum":"17a2c4393bc24fff214e416ed19c763a4be7eacc","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.2.0-alpha.1.tgz","fileCount":30,"integrity":"sha512-8cCZeelnZ8y6h5qREU+2RfoobLKOtxJ99Fd29QlZeBSMzykWfYkZIlYZNARye4YXlsyMjvxpgZjvA69g3dEbYg==","signatures":[{"sig":"MEUCIDvpcIgwmmsqu/G9UcP1YswR0JIm6NK98lst6Jw93BtfAiEAyrK/9Rb19frStopzZO1WqNO77hjo6X+aMlie9cOdYic=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1191126},"main":"dist/pompelmi.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","description":"Prototipo di scanner di file lato cliente","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2025 Tommaso Bertocchi\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","multer":"^2.0.2","express":"^5.1.0","react-dom":"^18.0.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/react-dom":"^19.1.6","@babel/preset-env":"^7.28.0","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.2.0-alpha.1_1753537634490_0.44610523054641704","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-alpha.2":{"name":"pompelmi","version":"0.2.0-alpha.2","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"license":"MIT","_id":"pompelmi@0.2.0-alpha.2","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"dist":{"shasum":"2bc043df4b925b2fa5c3610e158767ae27cbce04","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.2.0-alpha.2.tgz","fileCount":30,"integrity":"sha512-nTj0EdBXQgjsBYez32c2b2wIEH0sj5yFoBSC75bIawYYolzWqk7qNMOAzl2CDdw36C2JNFgc6Ew+7An/XOLqKw==","signatures":[{"sig":"MEUCIQDjvZ6ORYAy+dt7F+t5BMJIelLhcliOnEhtqgsuOKPONAIgWiLgZsuPyerySJ1IRTa86eDUoI2czj80cvi6jNsGXCg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1191534},"main":"dist/pompelmi.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","description":"Prototipo di scanner di file lato cliente","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2025 Tommaso Bertocchi\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","multer":"^2.0.2","express":"^5.1.0","react-dom":"^18.0.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/react-dom":"^19.1.6","@babel/preset-env":"^7.28.0","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.2.0-alpha.2_1753598400110_0.8336632680668197","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"pompelmi","version":"0.3.0","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.3.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"dist":{"shasum":"3fda3eb8faa50b87e16698552a843f82143dc6d8","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.3.0.tgz","fileCount":24,"integrity":"sha512-0fHoPyYsv13scWwV4qbHEAdwMgbEcVkcFw071FdQHL8tHO4ij6jba7jZrAMb4IJj5Aww/QXAyn73up7mwBT1UA==","signatures":[{"sig":"MEUCIQDEVgSjLZ54U6ycL7L4oV75H9TXXEriuLrykx5tPvrT4wIgeu64UilnMcRLZCePJuNZGnQG2s4jGERJvZutk2KIVZI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1198434},"main":"dist/pompelmi.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"a0d8691d9a1e5efea24ce892f3fab2a76612d651","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","workspaces":["packages/*"],"_npmVersion":"10.9.0","description":"Prototipo di scanner di file lato cliente","directories":{"example":"examples"},"_nodeVersion":"22.12.0","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@types/react-dom":"^19.1.6","@babel/preset-env":"^7.28.0","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.3.0_1753634801539_0.7145935673421582","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"pompelmi","version":"0.3.1","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":{},"license":"MIT","_id":"pompelmi@0.3.1","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"dist":{"shasum":"8f6cb92bac07e36b2fc1318ea933cda06c194e35","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.3.1.tgz","fileCount":30,"integrity":"sha512-/JJ2HvNFy3kPVG1lgi8n3Y45A8IYjuMCeYRyua9aJVAJ3uMHhj4puRxK+sCOLtdPVlbER9zm3n0LsgwfIuMJ9g==","signatures":[{"sig":"MEQCIEF9i6thx0PQ/YddjlLHKxzHfe/Nb124/vXyTbe2FMIRAiBn9klqgrZ+oUz3xwY0P6jK0CW0o4YJ55IwkeMgjiaAvw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1198438},"main":"dist/pompelmi.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","workspaces":["packages/*"],"description":"Prototipo di scanner di file lato cliente","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2025 Tommaso Bertocchi\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","multer":"^2.0.2","express":"^5.1.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@types/react-dom":"^19.1.6","@babel/preset-env":"^7.28.0","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.3.1_1753635007836_0.26007155339236565","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"pompelmi","version":"0.3.2","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":{},"license":"MIT","_id":"pompelmi@0.3.2","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"dist":{"shasum":"80309c1f64bc98b78627f72aadd0dbe4e13a8830","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.3.2.tgz","fileCount":30,"integrity":"sha512-IZ5A9ywRGWNVZE4pF8Xr5LmVGDwUK2w7yegMVinaLsz6YrczzeGII3+I1EyJNY9G98TTcQx6jTCfrezjt6ZI6Q==","signatures":[{"sig":"MEUCIDSX6Hlr1JKKkOSoAmIJX/avR0sgC2n6yIAstbJtCQXNAiEAlupURXNhA4IJaO4va6rB2qhdlWWbSse3eGxU9z3ouOI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1198829},"main":"dist/pompelmi.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","workspaces":["packages/*"],"description":"Prototipo di scanner di file lato cliente","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2025 Tommaso Bertocchi\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","multer":"^2.0.2","express":"^5.1.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@types/react-dom":"^19.1.6","@babel/preset-env":"^7.28.0","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.3.2_1753635665151_0.05940779560768461","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"pompelmi","version":"0.3.3","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":{},"license":"MIT","_id":"pompelmi@0.3.3","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"dist":{"shasum":"bfca8acb7a17301f182f5534fc5bb0f0418a5554","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.3.3.tgz","fileCount":30,"integrity":"sha512-ppV5bQua9hYPtEs7EARTYDsCVXFY8BjfVJSrIFkIK+3DQqTDvDeAmBeaqBLgBPKBM5Pma5Krd0CPQO3yKmEwyg==","signatures":[{"sig":"MEUCIQCkC3TtYf/Iy4DaSRXeaCi6147SX0hN/wAsD9HMBOp9vAIgEiONr1nn2xHvo8ivH7U2YCzChfsAP9BGtZf6Sl+s5Os=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1201383},"main":"dist/pompelmi.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","workspaces":["packages/*"],"description":"Prototipo di scanner di file lato cliente","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2025 Tommaso Bertocchi\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","multer":"^2.0.2","express":"^5.1.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@types/react-dom":"^19.1.6","@babel/preset-env":"^7.28.0","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.3.3_1753636165590_0.163674729003211","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"pompelmi","version":"0.3.4","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":{},"license":"MIT","_id":"pompelmi@0.3.4","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"dist":{"shasum":"fa51c798d24f73372488c904acce75873ecb932b","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.3.4.tgz","fileCount":30,"integrity":"sha512-m65enV+ZmEVA8+ggXRsC1/yxag4PCeFMutz4XTtrIXryBLRk6aA+9RNyNj8E6LGjvNR1cDWf7qTm2QV8J99Axg==","signatures":[{"sig":"MEUCIQDt4+5dTYR8m2vjwPSANowunlW/8et6II2T68DQk0rjswIgL9wPs6eMGctbaN0dPQ4PmeSm+fatdiqkTP2c/egs6wQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1201415},"main":"dist/pompelmi.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","workspaces":["packages/*"],"description":"Prototipo di scanner di file lato cliente","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2025 Tommaso Bertocchi\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","multer":"^2.0.2","express":"^5.1.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@types/react-dom":"^19.1.6","@babel/preset-env":"^7.28.0","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.3.4_1753636309740_0.8313732371915714","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"pompelmi","version":"0.3.5","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":{},"license":"MIT","_id":"pompelmi@0.3.5","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"dist":{"shasum":"52c80d2e2b69bf849169ac0a01fef4b34dbc8ff0","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.3.5.tgz","fileCount":30,"integrity":"sha512-+VMxe0Ex+o+nfVwtGAhJQAKGnqCRL/fMkisSCSfrmnkMwYhuPaKfUbdKkO5wq9/6Gf9oETqiR68A6Y4KQJvqzA==","signatures":[{"sig":"MEUCIQCdcBZBF4w4IEno1JPAxvlOOgwhQCRJMmqKZxCTQmn3BwIgWsstR6dQuacCsN8JCy/glKvC0K2mWSSC0gdf3gGM00g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1201411},"main":"dist/pompelmi.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","workspaces":["packages/*"],"description":"Prototipo di scanner di file lato cliente","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2025 Tommaso Bertocchi\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","multer":"^2.0.2","express":"^5.1.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@types/react-dom":"^19.1.6","@babel/preset-env":"^7.28.0","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.3.5_1753780065008_0.7573420008467318","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"pompelmi","version":"0.3.6","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":{},"license":"MIT","_id":"pompelmi@0.3.6","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"dist":{"shasum":"7a217c278220dd26d03cc7c4cb9fc73163d93ec1","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.3.6.tgz","fileCount":30,"integrity":"sha512-VDltD4rmsOixfo9mjpj9hlHUAtDazlb5lN10q69ti/CFKqgAmsY02NGArdvW+XEex1d21vMpPXOEeWbJRs+Mqg==","signatures":[{"sig":"MEUCIQDMHy/6sdvkFY+UvyiY7p25QrcmQeVoglnJAVo46+bengIgfKB7osmN7PCtydaFmdO4UExmppm86FIuE40SpzGHMp0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1201411},"main":"dist/pompelmi.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","workspaces":["packages/*"],"description":"Prototipo di scanner di file lato cliente","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2025 Tommaso Bertocchi\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","multer":"^2.0.2","express":"^5.1.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@types/react-dom":"^19.1.6","@babel/preset-env":"^7.28.0","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.3.6_1753869935831_0.39892357312247406","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-1754340686":{"name":"pompelmi","version":"0.4.0-1754340686","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.4.0-1754340686","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"e983b69b994b02ed215044854fd9d21aa01fd0b2","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.4.0-1754340686.tgz","fileCount":24,"integrity":"sha512-cKZpcX0aCoDPVhiOtEgupsOUbpg199mlAN6SQ1EryhgrN0NG8B5v3Rl8foipJR1EnEebJ1ZyCnKWege+lKBlAQ==","signatures":[{"sig":"MEUCICX9zPOKw3dsVrXb8JK8cgimYtCoIxSePzBU6XC2Y9vYAiEA5ctF90aC2fw7iRZaikd8qd6wymnVAARyQdfPDWQotpk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.4.0-1754340686","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1201859},"main":"dist/pompelmi.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"db5524db99dcf34ef79fb0cd5dbf8d1b3abf329b","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"Prototipo di scanner di file lato cliente","directories":{"example":"examples"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@types/react-dom":"^19.1.6","@babel/preset-env":"^7.28.0","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.4.0-1754340686_1754340691562_0.6003964803075885","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"pompelmi","version":"0.4.0","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.4.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"0ea7ac52fef5ddb0aab1d49e380b2aed27e1377d","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.4.0.tgz","fileCount":24,"integrity":"sha512-e1hJES8DKCWTIwKVhVD60959aOW9NEQJpl1plie/jNKlOt9CY1CCYKh8t+FkRhqLuJn9snoX8RoMxen1srnL6w==","signatures":[{"sig":"MEYCIQDyYjBS39KysJ6WyP/90+LfuW65k0hIKp2XySfGQ3BDGwIhALUxl4T0p7Ws7sKr5yoh2g+u1C3CBlHSMJ24iHwon0m+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1201848},"main":"dist/pompelmi.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"16cb7383f4def2373a2310f8ab28ca1e35f488c0","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"Prototipo di scanner di file lato cliente","directories":{"example":"examples"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@types/react-dom":"^19.1.6","@babel/preset-env":"^7.28.0","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.4.0_1754475007652_0.9517694037447584","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"pompelmi","version":"0.5.0","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.5.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"c23f73a55f7dd18bf1c68d13e02db05f770cb119","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.5.0.tgz","fileCount":24,"integrity":"sha512-GEkglq0e+UPMzy+EWDlSXS+ywJ+ZkBBJtj3Yp2jNc+8L8MMfoQDR1erMeMcXwdO7YUJKJVodeqjrde0hIU/yag==","signatures":[{"sig":"MEQCIBHWMlwc7eGO8PBiIDWSlUQoQuvAVrteogOSJE7x6xwYAiBhcm4EtWWxXRyBj0n59HdA/pL9CzI6UV9Wn8fYfExr1w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1201878},"main":"dist/pompelmi.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"9df7555e47d31bd96b8b80475632e19c3252a852","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"Prototipo di scanner di file lato cliente","directories":{"example":"examples"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@types/react-dom":"^19.1.6","@babel/preset-env":"^7.28.0","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.5.0_1754753195609_0.000053768010689569934","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"pompelmi","version":"0.5.1","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.5.1","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"a93666106a4c5adcf5285323555f00a5292bfa6d","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.5.1.tgz","fileCount":24,"integrity":"sha512-oHS6jJGpqfw8zTUdBoF2w4h/70f67A34flk/QN2HtAbPMlcRJkZdtgCII8eWA2pKhTuaaRqLqndvHG7pN60PuA==","signatures":[{"sig":"MEYCIQD8dMeNw4/t+AJmqgFKtzv82aLn2m5eImPryh7ofY6cVQIhAN3wnbRISWgw1Ewk3N04GRQGmXQX3qtNtUzTBh8+GET1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1195889},"main":"dist/pompelmi.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"d9f3944f68a96e9631cdc597bd223b94f7b8d2cd","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"Prototipo di scanner di file lato cliente","directories":{"example":"examples"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@types/react-dom":"^19.1.6","@babel/preset-env":"^7.28.0","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.5.1_1754812819779_0.027133554214593847","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"pompelmi","version":"0.6.0","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.6.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"16e3a5ad6c690d076b4b49ed8327b445e5f137ea","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.6.0.tgz","fileCount":24,"integrity":"sha512-awdeVKKS4GY9zZ5kPMAX/z9J/oqItqNwr/2MyXsuGhHphsuykiyDjLYZg8z0CvJddEaWke1V0S/uo6NarxzNdA==","signatures":[{"sig":"MEQCIAiPsOWbTQX/ELoO+P4zU02qcq+JUj0MgoOCqq0+WHjnAiAmVF8M7Enh/gY5uioLzzqgb61e76UCNx2fmHJvJZLO0w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1195889},"main":"dist/pompelmi.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"7d607238958e958bf4e0f633b7f0e619b7e8db03","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"Prototipo di scanner di file lato cliente","directories":{"example":"examples"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@types/react-dom":"^19.1.6","@babel/preset-env":"^7.28.0","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.6.0_1755004163520_0.5590551620536115","host":"s3://npm-registry-packages-npm-production"}},"0.7.0-dev.3":{"name":"pompelmi","version":"0.7.0-dev.3","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.7.0-dev.3","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"eda39410a62f6b181ef92ba285578f79f1a21741","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.7.0-dev.3.tgz","fileCount":24,"integrity":"sha512-amA1SJTbQDWDxFUKAAYkoQ070sCJHbjDMq+ngN3ybokZGS/bF5g2qmvwLug9oh3ouuu/cU2jysKwS89quvwe/g==","signatures":[{"sig":"MEUCIQC9Vwlu7+i8GpIfbwpEEf6lxm4jP+agKw9ZUJCpu8AclwIgZ+dNfBLlr351qRlwAI0V9Xj6CNQJM5bfiJoNW1zE9r0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.7.0-dev.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1227776},"main":"dist/pompelmi.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"13a5714c01fdc16de72b00c68be7c47d180bb8da","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"Prototipo di scanner di file lato cliente","directories":{"example":"examples"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.7.0-dev.3_1755099829800_0.3951574471820576","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"pompelmi","version":"0.7.0","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.7.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"504d12efdb79702d66c647f95799c4a980da3b1e","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.7.0.tgz","fileCount":24,"integrity":"sha512-vy8bawMMFAi7vPO9KVmeubDRvlBXjJMt0wqByqII2cjimHybtq+Z2SRbWNDAlA/OGBOAT8tqXvyutkDqHs8k8w==","signatures":[{"sig":"MEUCIQD13cazeR41mbyFplfs9nwklVO9+SgJp76pP+dBUU/OGgIgNIb+FDuoaQ9ctTIx/Ynye/XFHZFy0LZhWjgM6RT54Q4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1228025},"main":"dist/pompelmi.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"614580e9d4503df28d76d9de29fcd618114f2220","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"Prototipo di scanner di file lato cliente","directories":{"example":"examples"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.7.0_1755161738441_0.8297922086636145","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"pompelmi","version":"0.7.1","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.7.1","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"8d0251a02d54657616c2e98b053df17bdf7f8d9c","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.7.1.tgz","fileCount":24,"integrity":"sha512-05NIZAt9sZmvjHWC97QDXuDpuhdSniE9sOgBcl7PzIxyHVcnfjKL4Ges860W7lSPYt3pfKgOy7eC2pMkKxxF4A==","signatures":[{"sig":"MEQCIA10cB5hFQ+MbpuFxWWxfEEg+yKi6V/RCGVZQ4jHy4lKAiBtys4Esr8uuBfMk63NFezLZnyJPfYqxvoE+77MwKT++Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1228124},"main":"dist/pompelmi.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"4ca28014c542c13a71c34d1af71b8f0cce4507ba","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.7.1_1755167304730_0.19957127338460356","host":"s3://npm-registry-packages-npm-production"}},"0.8.0-dev.4":{"name":"pompelmi","version":"0.8.0-dev.4","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.8.0-dev.4","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"f6b4ef98df9390af44b4e257c66ac2a9c1bd1bb0","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.8.0-dev.4.tgz","fileCount":24,"integrity":"sha512-HLrBYb1v+jvZf5zZDll4SQleobMtxTe2uikDuSzBuOeZ4UWtvGyRsZm52flxcjE19JqBJ7fpca+bqcc188989w==","signatures":[{"sig":"MEYCIQDjcyDrRa4L5MoSq3DqPkarGqILnBGmLKInmxdypoAfLgIhAOsEAAHlZdEP4wEsHIhOpBgFASciLWE15Bo5+641rmtz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.8.0-dev.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1228130},"main":"dist/pompelmi.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"90981dd87f46e8fe073d885ea9542f239481ec9a","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.8.0-dev.4_1755339896771_0.938415358631302","host":"s3://npm-registry-packages-npm-production"}},"0.8.0-dev.5":{"name":"pompelmi","version":"0.8.0-dev.5","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.8.0-dev.5","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"e273105c4ee114f59b55b59ca5de8a8dad5217eb","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.8.0-dev.5.tgz","fileCount":24,"integrity":"sha512-j9FMgfQxSnnQLUrGQubRe6AyP8/3L2JS5DAxDWK0Pd1cCGkISf2+pFJ5RGuq8GCDL9GuT790588DiGaNRyjyCg==","signatures":[{"sig":"MEUCIGPqWSlwtCwzH+IQ0ObaZNxyXLu8MSbp8KYLjGWNoE+yAiEA57wxXYIbdev9mZDb31Z3oSjeYUAWk7xlM9oJMSGxVQY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.8.0-dev.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1228130},"main":"dist/pompelmi.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"85660dfdd29c0071ad93c418bf7300189ec60fa2","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.8.0-dev.5_1755340366086_0.6732754260770535","host":"s3://npm-registry-packages-npm-production"}},"0.8.0-dev.6":{"name":"pompelmi","version":"0.8.0-dev.6","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.8.0-dev.6","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"4d282be0a936b49a7347c3231539340477575239","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.8.0-dev.6.tgz","fileCount":24,"integrity":"sha512-+BFjvFTWNZhYagjXumvT1MFtVk4Xnjpm8gfSyfNlrkD5IT6cYbtYTuGtKbrIgXJTuVrVG8RS99zuiT+0+HEoKA==","signatures":[{"sig":"MEUCIQDqbD7ZS4UzvQFsf52GxFpf5RCpbXyRPKW6sIGdeuKezwIgFf5qe5G5nPsDNm3XbYRjHQUiZRzcciL7FHJ7gKuq9sU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.8.0-dev.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1228130},"main":"dist/pompelmi.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"eb40183f8ce8bb4d73db7899938907769e311eed","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.8.0-dev.6_1755340733318_0.8922557154488486","host":"s3://npm-registry-packages-npm-production"}},"0.8.0-dev.7":{"name":"pompelmi","version":"0.8.0-dev.7","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.8.0-dev.7","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"23e9deafb57d5cf05cdb874cd034c6dfe1221235","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.8.0-dev.7.tgz","fileCount":24,"integrity":"sha512-Pald1YzkcSJC7WTjSSDuT0KPP65JlT0HI/nPUiVMqzMvHaCDynHxNSec6ZPz4oTdpmhjDCTpipY7SA82GNTCyQ==","signatures":[{"sig":"MEUCIQDFrCrmy+yyQpT4n6byPdYj/6QiiuyQIpNBL9wtZCETEAIgKd1b8sXNVpD+k74lQlnHPA6TypavVX70klsaqYzarfA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.8.0-dev.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1228130},"main":"dist/pompelmi.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"182f269d88908a7e03c025b0b8eb63a94aa07e1b","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.8.0-dev.7_1755341994779_0.29585655263025723","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"pompelmi","version":"0.8.0","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.8.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"6037dd159b12a2e4f6f909281364870ed9c8b25b","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.8.0.tgz","fileCount":24,"integrity":"sha512-+BAiHSWCFEAtUJUB+ygbcY3iu1Y3OgjWp2WJ/3cib9YH0vEnptsav3rlhi3UnhybNGyrwXB96voTY/AXBqjfqg==","signatures":[{"sig":"MEYCIQCIuPRgGmeuoz05Rkv+IfEyLKCKHrkqDVkaXq6vejyerQIhAJp/qWTKoJN0ygQg+Uxg3kIq5LqvsZlYQa/JJGvFwwfP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1228124},"main":"dist/pompelmi.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"4bb422fd15eace43614c2dc8403aa1435fb5199f","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.8.0_1755345489051_0.38737661709289806","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"pompelmi","version":"0.8.1","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.8.1","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"e204e7e73be1c36febc01b08988b806162d61449","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.8.1.tgz","fileCount":24,"integrity":"sha512-JbKmA7p3NNfdMtlRWjQrRkf4VUuMfx1XEJeKeyGn9bRM0s8cCUDlDj1/qLmwORju+e1DLlOgDZGvMSesPmQ0Ag==","signatures":[{"sig":"MEUCIQD7/nJ63tsnyvens7LRaJnJ4ttAxnboXqz4Od3J5y8BTAIgXIRgLk0VYot8l1dtskwcuzfHGzRh//WiiT3VW864WFA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1228192},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"regjsgen":"0.8.0"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"3fe146eaa094b599690bed0473fbab16ecd23904","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.8.1_1755355274307_0.0577394181006039","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"pompelmi","version":"0.8.2","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.8.2","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"cf5b10d0a0d714c272eb6df11299ef65886885f2","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.8.2.tgz","fileCount":24,"integrity":"sha512-Mot7EPbxY18NwBxUJokAROTFI+MP5aNHCj9ai8qNvQ7LBu9B8TOIVEFtRpdIxCK8W9xkhMcqb6iecK/xppA7bQ==","signatures":[{"sig":"MEYCIQDb8xTtC9HEVNsPnIQMQZLVb/wM93YXG1HFc4YZ7pquPgIhAOXlr/UCVY8xVa0/LcSFt4rPLaDqLKLSalBwvsi+nHlE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.8.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1228192},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"regjsgen":"0.8.2"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"7122c43600cd17016faaafd8caf76a73fd63504f","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.8.2_1755356550431_0.35977608475876655","host":"s3://npm-registry-packages-npm-production"}},"0.8.6":{"name":"pompelmi","version":"0.8.6","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.8.6","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"a8d17fe8692ee64e624508e1f31ba31aca5aada6","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.8.6.tgz","fileCount":24,"integrity":"sha512-oH/CWCTo0Tu85J1knw59fZKi/gFxqn1VWktHaWFMm3GPTZ6nqB6vStzsbnfIy/ZEPnQtQ1M52AFwwLO3s8zh7w==","signatures":[{"sig":"MEUCIQDbjD1hoOLX/Fh7xpzVQ3dZuMPPel15EyVx9zuppdG55gIgVdqrrSpbDJnCyrAJtULuftWBmr3Q4gf+u/wjAae8vfk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.8.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1228217},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.6","regjsgen":"0.8.6"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"efa2d31c17afa6eae510bc0d057369f1a263d44c","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.8.6_1755359659554_0.1540320671306621","host":"s3://npm-registry-packages-npm-production"}},"0.8.7":{"name":"pompelmi","version":"0.8.7","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.8.7","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"1e7c7fb5fc4249feda77e5bf1aacdbb17728f9ef","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.8.7.tgz","fileCount":24,"integrity":"sha512-+mZjruj8xr8h1MatZG+l4djwvwNcQh4DY9fW5YxYnoTL17bRvFytaLsPBd9MCIqPqZ0HxnKDb4wUzRg89MSKkQ==","signatures":[{"sig":"MEQCIDZFNtIXsXMsVSPe4ppa56pnbRVoSZKFTOryaq6rdSyhAiARSVOk+dN4oOT0Oa3txe6Li/pPRKH8XvmrKHNYM9sBvw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.8.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1228217},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.7","regjsgen":"0.8.7"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"ac1d0b70b3ec99ac3c48ff5295bd7a5be8b97359","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.8.7_1755360619311_0.7042925184230593","host":"s3://npm-registry-packages-npm-production"}},"0.8.8":{"name":"pompelmi","version":"0.8.8","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.8.8","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"b237c58e2e280b495db398a024da5ad0ece57c16","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.8.8.tgz","fileCount":24,"integrity":"sha512-+0WFckQamPs6IsjDtovrIF0CZ3+df1eWDPyxTxyI6tv1Hua8QcEiSaetgS8flULvF1mdz1oVUVwXEwAzRcIoGg==","signatures":[{"sig":"MEYCIQCaOWWlGnHM2hsDgUeSuUhXWxqyAaPophDKQ9Iap8u4tgIhALmLnEPZhqnBkonrOG9TmOIf5W0UrtIuwwVPv1Qid6Go","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.8.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1228373},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.8","regjsgen":"0.8.8"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"30bb19039c838588baee1961b7c925e26e0849e9","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.8.8_1755422300677_0.020960551334246125","host":"s3://npm-registry-packages-npm-production"}},"0.8.9":{"name":"pompelmi","version":"0.8.9","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.8.9","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"5aeaea6a94271e3b15584480ff0971827ffab556","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.8.9.tgz","fileCount":24,"integrity":"sha512-8ErgchSfzhXKE79DSqxKQcYUfSXr5aQhrLzxr1S0t0OekcKtgOrJBQOKg7VRp4nxyRDwHe7A1/ME8bMMBv0jVA==","signatures":[{"sig":"MEQCIEWxlFkbeNHxx+pqUn7G37yLRb/uBDuzOallRy3Ft4tZAiAV3t1ymjArgEYYAr3nXjTIfFrrnHnNEEzW/zzTrJcXZw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.8.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1228373},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.9","regjsgen":"0.8.9"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"78ee27fbb52a66960bc737b4416d5c8f31cb5c1f","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.8.9_1755423231960_0.32918870922863164","host":"s3://npm-registry-packages-npm-production"}},"0.8.10":{"name":"pompelmi","version":"0.8.10","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.8.10","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"e259f4c51ad35710a3978b59ff0d01464f983ee2","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.8.10.tgz","fileCount":24,"integrity":"sha512-VIV0Ub4IrviwxEhs4teyTzBRwDf+rsS7C/44CHX+/5XRMmGl+e08HsjeWhKyg4gNRvGC0WmNEJ4R/ndAUrFRsg==","signatures":[{"sig":"MEUCIFeUmvoNFvtg5SmCi5VKu05gw5TFK59iEQrPLQ58Iv34AiEAp0MlPLD6ZjQUMh3mCeftBDKpJQcgFWerWD+hHpeNw9g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.8.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1228397},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.10","regjsgen":"0.8.10"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"6dbd63a37610f9a0d710e76ce99a1042ff4342da","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.8.10_1755424066676_0.8473244102861495","host":"s3://npm-registry-packages-npm-production"}},"0.9.0-dev.8":{"name":"pompelmi","version":"0.9.0-dev.8","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.9.0-dev.8","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"7ec7885b9dd26175b691d700b32be39064d379f9","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.9.0-dev.8.tgz","fileCount":24,"integrity":"sha512-l6EWIbqyJVeC1bFo+7hWPXtCZJwSvWRGFdAJH4/WOOacYNibd09/NbKR6r404SQbZnSBh5KfzMyGGfdF3VsBxQ==","signatures":[{"sig":"MEUCIQCbgKVUFhctvm+yNEVpAwSLTJ/RS0SVV+mC3OdbOqD4owIgbYdXZ7Sjxx2jK4/0xA8b2kBMZt2R2Yc7kIN5jNOPPeQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.9.0-dev.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1228412},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.9.0-dev.8","regjsgen":"0.9.0-dev.8"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"148283bfd911913b63ff124cfea83ad6c75cd0d9","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.9.0-dev.8_1755439141476_0.5903247748941578","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"pompelmi","version":"0.9.0","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.9.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"0ea85956d1394aa0ea043e22ee4d579e9d28f153","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.9.0.tgz","fileCount":24,"integrity":"sha512-sIa/+GRuHnJdtrFdskV7mIjJSMVQ7RpLFqDxRUWWG9rUby4XUC1VCwJyiOpX74btEXx9KNl4YLWySB7u+wgcGg==","signatures":[{"sig":"MEYCIQDRKD/qozM0RDfPndllmkOvtXYVSy0DiFr1uH4eEiwdigIhAOJeteLS8BRFONxjme+Dtzt5MH9awDEIpYYZD7M9udfz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1228394},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.9.0","regjsgen":"0.9.0"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"2a693a010e016fdab06ba8d0cebbf31da48bfa3c","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.9.0_1755441687165_0.549501255589812","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"pompelmi","version":"0.9.1","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.9.1","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"9be2e1f12f4ba092121bbcf0a8a9a517fc0e8275","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.9.1.tgz","fileCount":24,"integrity":"sha512-e+timmF3eZ6h08Hq6CXafDbrbgn1uY02SIEdHPpoDEvJ9L04AVNMmMUZuAKrpHE5zS+5wAquJ3QIsZYc8BeSAw==","signatures":[{"sig":"MEQCIFi04HgDd31aUtjX8p8tCBwoWxHLGDEL07uEgtG0ifXiAiAd1pJ+c0VIwPwEXcf1S4uvkcvG6zzpZ0Je6+N4LzuJvA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.9.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1229636},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.9.1","regjsgen":"0.9.1"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"9df2f1baf73841a2e8b4b4ec6c76743e8591d130","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.9.1_1755518312713_0.5287580519855126","host":"s3://npm-registry-packages-npm-production"}},"0.10.0-dev.9":{"name":"pompelmi","version":"0.10.0-dev.9","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.10.0-dev.9","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"5132a0fba2042e5c33d58eeed176359248009f3d","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.10.0-dev.9.tgz","fileCount":24,"integrity":"sha512-9PtIqm2vLay8UV/UTfdBJIF9zBkrjDnU93CtvzQ3vDKSPirGzV1Hjy/3Vc1j1pr+vOkw5/8nX3opJFpm2VxchQ==","signatures":[{"sig":"MEUCIQDxT63lzgGIdHfSiUI5nnctZ0JeACA4xkzWykGsQqTSggIgXqq5nrW+GdJofpm9uo7ZwfkTJpj22Pyt3VTFZ+x2hdA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.10.0-dev.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1229833},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.2","regjsgen":"0.8.0","file-type>fflate":"0.8.2","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"6620ff71a392613f18944bb02e32c29eb5e060e8","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.10.0-dev.9_1755531926890_0.46054298910434466","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"pompelmi","version":"0.10.0","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.10.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"bd1c10c5a2d4cd01ac1e632915925b9e6e78d559","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.10.0.tgz","fileCount":24,"integrity":"sha512-2ipOxrN19bR/+YX/t0gEyNkmTQRxli2T1WJzWNo72ylcCaA9+eKmtaTRpW4H0ARFlZHLE2z4BnSCXmPpfs0kxQ==","signatures":[{"sig":"MEUCIQD5/gLImGZRtVbEcx2CCYUdS96i4TRMp5l/MdihVU2fIwIgAQcEnEt2Q7KepyphjhHwRLNsI5RA6DEOW0Qt3XvaDmQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1229280},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.2","regjsgen":"0.8.0","file-type>fflate":"0.8.2","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"a89704acfe50c0037a8caccd2030bb05c3b7c035","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.10.0_1755586624739_0.02343452138314639","host":"s3://npm-registry-packages-npm-production"}},"0.11.0-dev.10":{"name":"pompelmi","version":"0.11.0-dev.10","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.11.0-dev.10","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"203d035c4bcfd69266a3578fd103c14060a7b173","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.11.0-dev.10.tgz","fileCount":24,"integrity":"sha512-32ayeE9kF7ZAAtW+WzRPbYOcASKKMZoTrW45bHMqzgi5S3XWTBSAM1OtzLOwUvRFB6YHLDV+7dg8tdDZ9NqPtQ==","signatures":[{"sig":"MEUCIHwDJqi/xOvgHlnDQiUjQLKYL9crtT74qlXnX/4SdLEUAiEA5e2qIDKPuzq/2lbxEdM/Uq4+m/ib8m6CZe5J7JUaDYU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.11.0-dev.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1229287},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.2","regjsgen":"0.8.0","file-type>fflate":"0.8.2","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"43e0d4880bba3257ed1e5fb9de6e326f5bda98c7","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.11.0-dev.10_1755591231069_0.4427581270973511","host":"s3://npm-registry-packages-npm-production"}},"0.11.0-dev.11":{"name":"pompelmi","version":"0.11.0-dev.11","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.11.0-dev.11","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"06130d98133bc02347038f941a85bbbc82168829","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.11.0-dev.11.tgz","fileCount":24,"integrity":"sha512-v4jclQq2CGqmbLRF06kpORjkYPJVIqE8ZdTfO/M6Mv/yYkTMBXECCymP2hYwejiBq9tdw2GbqbzpOAof3A0gfw==","signatures":[{"sig":"MEYCIQDmfcojvAArsm2kyHziQnkhQtxiO9mZnkxdh4p/74hqCwIhAM7IZjuFkKZyiorePwijVZKtlAoW0755Qq80A1lsLFuZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.11.0-dev.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1271654},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.2","regjsgen":"0.8.0","file-type>fflate":"0.8.2","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"f984ef38907c5fc5156956fa3d2330aff680b1a2","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.11.0-dev.11_1755591793049_0.6541914353107896","host":"s3://npm-registry-packages-npm-production"}},"0.11.0-dev.12":{"name":"pompelmi","version":"0.11.0-dev.12","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.11.0-dev.12","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"eb1c952c6b4d9cd1ef66af40476e32586ffc80e2","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.11.0-dev.12.tgz","fileCount":24,"integrity":"sha512-93zmiUxVxPXq3cUKSuNCN2nOzYBLX80Q+eUCkADrFHhRxZfaWZPR6aKlsnhEUZYbSL0GPxg7WrB7/NqFzOAUhA==","signatures":[{"sig":"MEQCIBpX+O8h/iiqgTXqlT2MFRM1fai2zwjkiUYu5JOuen6HAiBofF1APLYtTi3cpWmwB3sEm2oC2C7ECtxlU7xNqmO0wQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.11.0-dev.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1271654},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.2","regjsgen":"0.8.0","file-type>fflate":"0.8.2","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"3be3c54f00204f4c1346253d39ed6d1ffa3e9e04","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.11.0-dev.12_1755593403921_0.6163695894985295","host":"s3://npm-registry-packages-npm-production"}},"0.11.0-dev.13":{"name":"pompelmi","version":"0.11.0-dev.13","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.11.0-dev.13","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"f7ce063975c1070ef6006e3c848f2ee0d2a2a25b","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.11.0-dev.13.tgz","fileCount":24,"integrity":"sha512-CtX21etUQCZUKy4nD9biScTg7MM50MMVF/FONrGk3jx+dm0UVsAq6lu4k0dYuApVlPFsEStZKRDa3caNeIAliA==","signatures":[{"sig":"MEQCIASnQ9td9SF+PW6aSZYV2QQKvLi9qIVQ/b9iR1uslCi0AiAP46N721MPmrQ/HC69FqN5qUhrp+QMqUebYTjn6pW2GQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.11.0-dev.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1271654},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.2","regjsgen":"0.8.0","file-type>fflate":"0.8.2","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"dbe717d10e4c553505b18b79a2f9db18f6e5bffc","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.11.0-dev.13_1755594242481_0.5839977062188146","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"pompelmi","version":"0.11.0","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.11.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"b7f35197d1a6193d1cd58e023dc655260db9e5fd","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.11.0.tgz","fileCount":24,"integrity":"sha512-p6hOTQpqt57BywaLMRLqKCqgTMVwEqjGMnNDPyqgOtxo0C8BfGZLDNlmW2q1bkDjoMZ9L4tX8GzDtvRGml+cXw==","signatures":[{"sig":"MEUCIF76Quo9JExKJfv9vjDwXblZeFDnuIumpj71Aa7744mXAiEAkbMZGZSksZs0/rOKLTdkjLvsuqR0kEH2XYt7C7ckzpE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1272324},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.2","regjsgen":"0.8.0","file-type>fflate":"0.8.2","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"79decf702db9a913b113eaf07633d5d3853ca757","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.11.0_1755596011379_0.9428169580298278","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"pompelmi","version":"0.11.1","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.11.1","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"31ec39c4a6866c1c3161d66f7fd9b396e3ebd205","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.11.1.tgz","fileCount":24,"integrity":"sha512-j3gTm74j3bRHPWtFPdNFS1bil06XfhN4uDSiX6Qe86lVDZkfEN8hZt88F4toHu/XEl8F65un2bcOIn8nwe+M3w==","signatures":[{"sig":"MEYCIQCHQx2BpDK8/a6fPaQx4jcW31UK41FUJTvc8x1Hsex5BAIhAPjLmitCoHHUmRfJtIHjChrBv/K+stReEOfC1H7mvVJS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.11.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1272387},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.2","vitest":"2.1.9","regjsgen":"0.8.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"0e834c3e676323de778971784fabb4858682f061","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.11.1_1755598369869_0.4860946934515258","host":"s3://npm-registry-packages-npm-production"}},"0.11.3":{"name":"pompelmi","version":"0.11.3","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.11.3","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"b34d6115ba03ed6bf6acdc6a61b5b6351d82f3cc","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.11.3.tgz","fileCount":24,"integrity":"sha512-V/AgdDw1FdYhIzSx62q5If9aIR7aVkVy/3syR0j+Qr98vv38XFcTpx/BC6fWcHQlA5cN3kCcqKeUvh+xoIBppQ==","signatures":[{"sig":"MEUCIQCKDDn6wy/k/eBTIW6fKgNMXFsTP6Lp7R2c1OyW7yLgAwIgU6h2h9nO2O36oUsNaYm6Ta5ddWwGOQJFQ1vsNjKDkLo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.11.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1272387},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.2","vitest":"2.1.9","regjsgen":"0.8.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"83f9a60879310ce6e121b1b52dd3dd324284dbc7","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.11.3_1755615903707_0.6395949477719316","host":"s3://npm-registry-packages-npm-production"}},"0.11.10":{"name":"pompelmi","version":"0.11.10","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.11.10","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"e7fb93cdcd7931bcaa09fdc77c929a31f7e1d9a4","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.11.10.tgz","fileCount":24,"integrity":"sha512-aLkIPGMPyXcDqMBD8MbSd3CUThwswS4JYN3e047ncYeGFpdg1DFW7yG7nZholszNSAuCc8sPrqaUCij754Rmqg==","signatures":[{"sig":"MEQCICO/r8VK9n2U5Xe29ZCUvL9N1/YiZ8ykXVaL4OxGzmC/AiAJShHVE7XnTywMp9QnTxPlvi+Rx6gs5I8DgEALz16kRA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.11.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1272416},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","regjsgen":"0.8.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"73ff0db1fa625c5d12e49871f03cc512821df1b8","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.11.10_1755621905607_0.9321270540941891","host":"s3://npm-registry-packages-npm-production"}},"0.11.11":{"name":"pompelmi","version":"0.11.11","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.11.11","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"5c7cc6ea8da4d2dfe984bdc5bc0af1d41ba13660","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.11.11.tgz","fileCount":24,"integrity":"sha512-M7AH1BphWDvqyjKihMM8WAHPAMPhiw9X3vX6tkSGs+hMdKVvKhEbsNUIQ/N5x8f5LhWOdx1uC6AF6JNlpdzkTw==","signatures":[{"sig":"MEUCIDzCnTPVC/5ilOeeEqGJb1oXGax/gOw5hZpRB7gJ+SP9AiEAj4yyA6AcN7wJEOcaPvFmLHmKIokw6uZtDw+kesElZbI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.11.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1272416},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.2","vitest":"2.1.9","process":"0.11.11","regjsgen":"0.8.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"700fccfa652b74ae0df70957ff55f72910d5cfc1","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.11.11_1755624908002_0.8708045337801953","host":"s3://npm-registry-packages-npm-production"}},"0.11.12":{"name":"pompelmi","version":"0.11.12","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.11.12","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"c2a9fc0a82584c57f6ebf72df38f2a59238d4fdf","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.11.12.tgz","fileCount":24,"integrity":"sha512-s/LigEP6z4i7dsmvPJJHUhCb0Lu4NaOvMKEy0Lh6s8TDtCYB50orXaVHec/6sfLCaYU1HmntzJajVwQk6kHz1Q==","signatures":[{"sig":"MEQCIBFikJbHnWyY4GP62latYSWl9p6ysbG3A6HpEAVZtAcGAiBX26NJJqBjyly2snl9ukA1j7lQlKHI71wo4UpRx6vBwA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.11.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1272416},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.2","vitest":"2.1.9","process":"0.11.12","regjsgen":"0.8.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"589a8c03201c0048ff726971b0a4d8f7f242fc5b","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.11.12_1755625350170_0.415442908570127","host":"s3://npm-registry-packages-npm-production"}},"0.11.13":{"name":"pompelmi","version":"0.11.13","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.11.13","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"d2baa12bfe3bf44bdd87e8c9d143411830c29646","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.11.13.tgz","fileCount":24,"integrity":"sha512-ElrFvhCYcbAdIbXyE9fHfqR1VUA7lY7N3PVtSnY8bQXQhKD3lW+B7IaN+yUJ+GNfIXzpf9MOJOlGEWhb+yQv8Q==","signatures":[{"sig":"MEYCIQC6eJoMkLnrdBM9gq2K5e5ZecqWXMGxbvf33r8I4MYA0QIhAOkdm26SmNKPQf5Vif7dBwpN1CQgv0AlniD1/OLsvloi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.11.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1272416},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","regjsgen":"0.8.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"f7b8fa93ca773fba25d3f60857a3fe80af665206","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^4.9.5","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.11.13_1755631822344_0.8411987458634784","host":"s3://npm-registry-packages-npm-production"}},"0.12.0-dev.14":{"name":"pompelmi","version":"0.12.0-dev.14","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.12.0-dev.14","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"fd3fbf028868e33459b2748fb6b9c69bc5056094","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.12.0-dev.14.tgz","fileCount":24,"integrity":"sha512-C/mI6Bg0iVGQ+FVIsNxHsKZ5VHTp0F7vUA14RcgY6dGcOOxHBOMdS5Y4pHAeKZ+D/1iVW4APb81nLA+/p6irgg==","signatures":[{"sig":"MEUCIGAlN9o+o+FVpnUUNToNBI+wVzfLjknont5HfXkytMMAAiEAhhj22LrvkKVqwhNcrJ9ry+BEbq+xCvSbBXSxGbMtIMY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.12.0-dev.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1272422},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","regjsgen":"0.8.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"a1caccf66e13ca6d943c228b9562660e6b5ff50c","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^5.9.2","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.12.0-dev.14_1755770416661_0.6796789847614266","host":"s3://npm-registry-packages-npm-production"}},"0.12.0-dev.15":{"name":"pompelmi","version":"0.12.0-dev.15","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.12.0-dev.15","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"4f3f2acc3106f8c90da824be8be15084d7438648","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.12.0-dev.15.tgz","fileCount":24,"integrity":"sha512-idbWHOtHanMXJJHbM06ILHxgFoE0FzF0dlm+BafVFn9yv9uH0uYs1bZHyUSdRY0pYBxwMQHASSrghfKYHtBEfQ==","signatures":[{"sig":"MEYCIQDuZ4Yz5N7Ty5+mAShdHDSrnxfulD0nUeau9ZvelgSsPgIhAKhQIhqfalK2HQXQ3HIpD8lPvj/TXczNrEkk2bVrwnvb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.12.0-dev.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1272422},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","regjsgen":"0.8.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"3959735d174b498b119cf888561dcfe14a134c29","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^5.9.2","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.12.0-dev.15_1755789877597_0.2730853578673966","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"pompelmi","version":"0.12.0","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.12.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"33bf5e95bddcf7dcef7a77bad0e30502337b134c","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.12.0.tgz","fileCount":24,"integrity":"sha512-R4SqBDwya91yUF4Spe9xl9H3CSJ5CNgwv+SwNdJ3D6N7upoPgHcmCed8W3tC1O0Q1mLHbQc1wcTZTg+d6ir5nQ==","signatures":[{"sig":"MEYCIQCPzblfHeWlAXR2ZQONetkPhfH5UUdD79Tv5q0+oG6yeQIhAJGBeBTDfFcCcA/iq438eyYAAeAhlaeFew3/WGvJ85LC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1272415},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","regjsgen":"0.8.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"ea24c4998079c28ab15ddbdfa3e0d7bb0082ef2d","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^5.9.2","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.12.0_1755862108010_0.733598624050553","host":"s3://npm-registry-packages-npm-production"}},"0.13.0-dev.16":{"name":"pompelmi","version":"0.13.0-dev.16","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.13.0-dev.16","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"ee957df0bb0aac3f46153e80ec28098aa651d0ec","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.13.0-dev.16.tgz","fileCount":24,"integrity":"sha512-5x3luKTzFE1FiFJlnrQbf/Pdkz/ZcCGiQclIR+cen6tEFdIZAZ8OPLwoOvXcMUWliFAjsMA0pVHJ/Zchv7Wp1Q==","signatures":[{"sig":"MEUCIQCGniQVCf4svwNa6xXIJE+2De6XfaMMON6VZ7LBn4yTCwIgdDCb+NBCVtl6GLFCXET8KxhudcRL+ixttyudpIDERh0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.13.0-dev.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1272524},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","regjsgen":"0.8.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"e1aaab6bc46eee521fde4ba43a0915cace4b41e5","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","@types/koa":"^2.15.0","typescript":"^5.9.2","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@types/node":"^24.3.0","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.13.0-dev.16_1755883870569_0.6435802798690753","host":"s3://npm-registry-packages-npm-production"}},"0.13.0-dev.17":{"name":"pompelmi","version":"0.13.0-dev.17","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.13.0-dev.17","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"285a97ebea4871628ade58db903a253ea49c6cdc","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.13.0-dev.17.tgz","fileCount":24,"integrity":"sha512-aWykFPLKACTqRF/uWkd4eLGyhi58uluSX9yRvhLZ+AAflvv1r09Ij+hijNcd3mCJHmwEwql7FkQBWI6OQCQ+dg==","signatures":[{"sig":"MEQCIAaIG9Yklfw+4n7rVOfit7NHsNNFOJDjU+kIHY6oyQHSAiAnrlJe82VwhAvRMxBziLKewZsFFLmblbdgiPV26vSsWA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.13.0-dev.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1273385},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","regjsgen":"0.8.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"28183f94bc48084c658a6fdb13e132c86b6ede75","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","yazl":"^3.3.1","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","supertest":"^7.0.0","@types/koa":"^2.15.0","typescript":"^5.9.2","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@types/node":"^24.3.0","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@types/supertest":"^6.0.3","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@vitest/coverage-v8":"^2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.13.0-dev.17_1756029904952_0.6430655329536223","host":"s3://npm-registry-packages-npm-production"}},"0.13.0-dev.19":{"name":"pompelmi","version":"0.13.0-dev.19","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.13.0-dev.19","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"6ded1b04d1491b3a83329ea082f205fc6398940a","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.13.0-dev.19.tgz","fileCount":24,"integrity":"sha512-YHWbt9pn/SipMiCwRdHwN3hFI+mufX3aM/S0E41vobtKFHt4WAoMZMvO5Qik6H9RiKp6VbsoWXAMM5nOVwIr2w==","signatures":[{"sig":"MEUCIQDv4E/NDu7eoTWxN7zX72xYjBTwT98XheSgbl82VdGxKwIgHt6SewQbTkgM/01IdjwSU08qq6fq/Nmut8P5c5fJhk4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.13.0-dev.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1273385},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","regjsgen":"0.8.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"91715fcbf1ab5e8d192bf84d9683024c280e7f8b","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","yazl":"^3.3.1","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","supertest":"^7.0.0","@types/koa":"^2.15.0","typescript":"^5.9.2","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@types/node":"^24.3.0","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@types/supertest":"^6.0.3","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@vitest/coverage-v8":"^2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.13.0-dev.19_1756030709791_0.39356433036213523","host":"s3://npm-registry-packages-npm-production"}},"0.13.0-dev.20":{"name":"pompelmi","version":"0.13.0-dev.20","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.13.0-dev.20","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"a6f24553b374a3e8c9e49f47beefd00d993df5e4","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.13.0-dev.20.tgz","fileCount":24,"integrity":"sha512-A7/arbIw4iK7F5izge0iCf9gWnQ87gefnBbP4hxCcDKj8xjArcjI5U9K6xCaTJQyje72am1BjVOkUHUVFmXW9w==","signatures":[{"sig":"MEUCIC2FRUrUKNCjniJGM63hIZJQ3S13SCPp8xu8rYqzZETsAiEAgBUguKCcF1XzJ5EewHtKlcZ0ppKBwVXbsvLeIdSznj4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.13.0-dev.20","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1273443},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","regjsgen":"0.8.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"bfe7cc0994fd639996fda7b1cd1683b4829355ec","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","yazl":"^3.3.1","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","supertest":"^7.0.0","@types/koa":"^2.15.0","typescript":"^5.9.2","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@types/node":"^24.3.0","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@types/supertest":"^6.0.3","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@vitest/coverage-v8":"^2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.13.0-dev.20_1756031417308_0.5218683594009037","host":"s3://npm-registry-packages-npm-production"}},"0.13.0-dev.22":{"name":"pompelmi","version":"0.13.0-dev.22","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.13.0-dev.22","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"05e07e2295bef71450aac6c4a0d562a41e14b9af","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.13.0-dev.22.tgz","fileCount":24,"integrity":"sha512-jfsBNCB2n3uiFnTiyCUJltM6QkGY/1OcM5qWjzx4vwzYCAkm0mcq82zRA5NPLT5U5UZBvcByxNDiBmhUJPaZcQ==","signatures":[{"sig":"MEQCIH1wV25XjssxyqfuhP1HT0hq/d19cHiFtJYwWGrnLCcGAiAlOf9wQ6EJKgT8xwxg1HnSklcK/ZZ4wCW+jS5mS+VP2w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.13.0-dev.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1272884},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","regjsgen":"0.8.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"34c7a95ffbea0a84be392fcdd24b9d6b0ee92976","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","yazl":"^3.3.1","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","supertest":"^7.0.0","@types/koa":"^2.15.0","typescript":"^5.9.2","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@types/node":"^24.3.0","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@types/supertest":"^6.0.3","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@vitest/coverage-v8":"^2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.13.0-dev.22_1756036105677_0.24448317594492752","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"pompelmi","version":"0.13.0","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.13.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://github.com/pompelmi/pompelmi#readme","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"aa18bc42d937cbd0f4aabd54d1c2be94f13ce989","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.13.0.tgz","fileCount":24,"integrity":"sha512-Wih2CXB4uauKajiZtSZqnZZBxEnQW+O6ZoGqjEYz/q5K5Wy4m08fG1pS9hhqwkWumCJQF4UGelJeDoYYr+UHhg==","signatures":[{"sig":"MEYCIQDLh6AJkj1YsOB3EIGl2+jMmhLYWV2+qMSqIz+Fc9mc6QIhAPvCdPDormmCfHvHb+m9Hmb5odNa8IyYWUqqyAkJUfyS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1272760},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","regjsgen":"0.8.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"59e11a5eb472da4b1359ea42db775e8c5e199b47","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","yazl":"^3.3.1","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","supertest":"^7.0.0","@types/koa":"^2.15.0","typescript":"^5.9.2","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@types/node":"^24.3.0","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@types/supertest":"^6.0.3","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@vitest/coverage-v8":"^2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.13.0_1756190981365_0.21772656650286315","host":"s3://npm-registry-packages-npm-production"}},"0.13.1":{"name":"pompelmi","version":"0.13.1","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.13.1","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"ecba8b9f943a210ed61b90ffd4b9122aed8177dc","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.13.1.tgz","fileCount":24,"integrity":"sha512-yhSOr0R7/MensAYicIbCkc9vdOHCYGUDllizEWLniR3xQwO21VY0Gp2KtbAh03rAQ7I/yxVePZBus7lLWqUaQg==","signatures":[{"sig":"MEQCIHXgXh5HkWRk0/GF9A1G9Nyap4dCl06TFEB2JMCwhvMMAiAqyyjzdoAHVhxKjV/x3cVg4m1PuV442ngpZCKhX3bC9A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.13.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1272814},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","regjsgen":"0.8.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"9ab7ae1480757d25905f9721e48f695f9f2a5f6e","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","yazl":"^3.3.1","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","supertest":"^7.0.0","@types/koa":"^2.15.0","typescript":"^5.9.2","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@types/node":"^24.3.0","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@types/supertest":"^6.0.3","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@vitest/coverage-v8":"^2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.13.1_1756204292555_0.31203623648705436","host":"s3://npm-registry-packages-npm-production"}},"0.14.0-dev.23":{"name":"pompelmi","version":"0.14.0-dev.23","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.14.0-dev.23","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"ca4e271e71d7823c47f2332e6a331d700e81cd2a","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.14.0-dev.23.tgz","fileCount":24,"integrity":"sha512-mxGCczoAjzT6zLy6tJKU96Uta4A9NlIGY6AoF3LJdpFc0nQr8JIikviLv58Wqqvc4JuvN5VLB+aEfjvy6VgNuw==","signatures":[{"sig":"MEQCIGTge9DWwtD9VwOmzaz7LsWbGv09c/tm2F5225wIWIKNAiB/fIqJt6658fPi3g7ZebJlwkO5GWIx/0Aym9kS/m04Eg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.14.0-dev.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1272871},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","regjsgen":"0.8.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","babel-plugin-polyfill-corejs3":"^0.13.0","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"71452c90bf8fea55cf45535f205b634f365f957d","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","yazl":"^3.3.1","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","supertest":"^7.0.0","@types/koa":"^2.15.0","typescript":"^5.9.2","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@types/node":"^24.3.0","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@types/supertest":"^6.0.3","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@vitest/coverage-v8":"^2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.14.0-dev.23_1756539401194_0.38025052958439653","host":"s3://npm-registry-packages-npm-production"}},"0.14.0-dev.24":{"name":"pompelmi","version":"0.14.0-dev.24","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.14.0-dev.24","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"fbceed71ff2906a8d8329db1d6885b2f897513ae","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.14.0-dev.24.tgz","fileCount":24,"integrity":"sha512-NBmN7pnuglMy0uduA7A6umVSkAUveEL1aQizI5krZDqjdwTsL/d8YC69YfZLmlXbPTfUzD0hb0OLRNE/mACcgA==","signatures":[{"sig":"MEUCIC4G1nPOEgWSMI6ThySKaSWBmmShqkl86O9hPe9rFbysAiEAy5IETaPXdWBGJpbT5ANQyYnwFso9QM72BAz7gvCvd0s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.14.0-dev.24","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1273314},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","regjsgen":"0.8.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","babel-plugin-polyfill-corejs3":"^0.13.0","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"6a3c70891aa3108ae1c80acd206a634924aa642f","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","yazl":"^3.3.1","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","supertest":"^7.0.0","@types/koa":"^2.15.0","typescript":"^5.9.2","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@types/node":"^24.3.0","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@types/supertest":"^6.0.3","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@vitest/coverage-v8":"^2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.14.0-dev.24_1756653808286_0.6079551013377065","host":"s3://npm-registry-packages-npm-production"}},"0.14.0-dev.25":{"name":"pompelmi","version":"0.14.0-dev.25","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.14.0-dev.25","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"b0e76988ca4ba93e2a4150c7ebfb469966ed50c4","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.14.0-dev.25.tgz","fileCount":24,"integrity":"sha512-IBAGnyh9hwuRrpNG2nrloeTfDqhImkD8gKqKeQx5rNK8BdaW5RNosywMOUIIHkEECbT+slzhX52MbmAKzd52RA==","signatures":[{"sig":"MEQCIFpYl0EtW2ecx7h0Y1e86RxYwwKOgzRq2iCgS7QHbiN5AiAeuaCg7SslHZDN2Ub9yQAg5WyQCcZwe/V3uurFG/tB1g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.14.0-dev.25","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1273320},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","regjsgen":"0.8.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","babel-plugin-polyfill-corejs3":"^0.13.0","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"cab730dec671af8c3cb23e82f61e6adc4a2b108a","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"_nodeVersion":"20.19.4","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","yazl":"^3.3.1","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","supertest":"^7.0.0","@types/koa":"^2.15.0","typescript":"^5.9.2","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@types/node":"^24.3.0","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@types/supertest":"^6.0.3","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@vitest/coverage-v8":"^2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.14.0-dev.25_1756655170989_0.11564840138434906","host":"s3://npm-registry-packages-npm-production"}},"0.14.0-dev.26":{"name":"pompelmi","version":"0.14.0-dev.26","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.14.0-dev.26","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"8a3214e3c6a9b3889817ae73db27108f775cc72b","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.14.0-dev.26.tgz","fileCount":24,"integrity":"sha512-nYfVunJtzExLdxTBrE2fbzcyGTfkQa9vsFLWg/bsMUvAZd5Ieq/YvipdDTQ8toRummZU8N07paVyks31VDTK5w==","signatures":[{"sig":"MEQCIFQ17r+eg0kvfOR1rcGY4f2oHqk7vCrifb3yF0oypvcqAiBEs2Pmch5n6EcGShMZfkGM+q3rb3LWW7Oxzn4Tl0FuIg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.14.0-dev.26","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1276850},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","regjsgen":"0.8.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","babel-plugin-polyfill-corejs3":"^0.13.0","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"1b8c6d80afce61922e4c64632984db4fc2208776","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"_nodeVersion":"20.19.5","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","yazl":"^3.3.1","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","supertest":"^7.0.0","@types/koa":"^2.15.0","typescript":"^5.9.2","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@types/node":"^24.3.0","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@types/supertest":"^6.0.3","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@vitest/coverage-v8":"^2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.14.0-dev.26_1757596916624_0.7730888047273261","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"pompelmi","version":"0.14.0","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.14.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"c5caa5c4e066d5eae8081777fcf2e21a05ea45f7","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.14.0.tgz","fileCount":24,"integrity":"sha512-N0tYO1/hVP0n7pADRIVO7g08EEtksx1zcnM7krHVL48JZy5JXIC+vdKzcrZ9U0vn9/F16Dw24ZV5l7o2zqRsWQ==","signatures":[{"sig":"MEUCIFPz0E4tEH51bOcbYDK+JRmhaqSmhXtbu6VPuh9IuyK9AiEA1N97PcUca3Dm2JHLeGGeRkrhJ+K+WRX/Me6RSRnTNlw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1276843},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","regjsgen":"0.8.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","babel-plugin-polyfill-corejs3":"^0.13.0","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"515d11989a1cdaa58e81d374a6db574fd0f5ebd0","private":false,"scripts":{"build":"rollup -c","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"_nodeVersion":"20.19.5","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","yazl":"^3.3.1","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","supertest":"^7.0.0","@types/koa":"^2.15.0","typescript":"^5.9.2","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@types/node":"^24.3.0","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@types/supertest":"^6.0.3","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@vitest/coverage-v8":"^2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.14.0_1757599797990_0.06717193256984877","host":"s3://npm-registry-packages-npm-production"}},"0.15.0-dev.27":{"name":"pompelmi","version":"0.15.0-dev.27","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.15.0-dev.27","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"820904044652b5a7c4c51ffc230bdff656040377","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.15.0-dev.27.tgz","fileCount":24,"integrity":"sha512-+WSXUGpwafFUTtuXvNNeFSnpDuMMfoij1cL0qGzCYrgaS5XNppOKHQLo4L+WggLp3onxxIvGCwrgXBA8Tk0lBA==","signatures":[{"sig":"MEQCIEMQN5TVWfxgtuL2P8ER8sEAVxhIT/1gTEnhhirr2k5IAiAQT0hM8lbQlAkz2lxynNFEjP1kV7KUARn8fyI4gLnePg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.15.0-dev.27","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1283652},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","regjsgen":"0.8.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","babel-plugin-polyfill-corejs3":"^0.13.0","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"e6d5671120c55aecb274f518db25ab050e028872","private":false,"scripts":{"build":"rollup -c","build:core":"pnpm -r --filter \"./packages/**\" build && pnpm -w run build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"_nodeVersion":"20.19.5","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","yazl":"^3.3.1","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","supertest":"^7.0.0","@types/koa":"^2.15.0","typescript":"^5.9.2","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@types/node":"^24.3.0","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@types/supertest":"^6.0.3","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@vitest/coverage-v8":"^2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.15.0-dev.27_1757701397331_0.6146407779729017","host":"s3://npm-registry-packages-npm-production"}},"0.15.0-dev.28":{"name":"pompelmi","version":"0.15.0-dev.28","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.15.0-dev.28","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"34c37f51e37a51b32fa6a28e45adf3c616a640f5","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.15.0-dev.28.tgz","fileCount":24,"integrity":"sha512-h/appsXqNPnGMGyHjpzBK5Gwz3tFzR+Vxqz8SaYB5TvnD5lpz7bflqWYK7Fb8yqbgcUrz/35thr16f8onCAckA==","signatures":[{"sig":"MEUCIEl8jgbXJjW+WAFvWgz6CtXmIF4e6QfKLA0L1JjQNWqxAiEAi5CTh4QDX0hAql9q0L8jPuUO0mtvCxs8fRIJUHm1QVs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.15.0-dev.28","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1267373},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","regjsgen":"0.8.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","babel-plugin-polyfill-corejs3":"^0.13.0","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"76046af6c12b7bb9ab370807f549933987038c02","private":false,"scripts":{"build":"rollup -c","build:core":"pnpm -r --filter \"./packages/**\" build && pnpm -w run build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"_nodeVersion":"20.19.5","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","yazl":"^3.3.1","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","supertest":"^7.0.0","@types/koa":"^2.15.0","typescript":"^5.9.2","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@types/node":"^24.3.0","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@types/supertest":"^6.0.3","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@vitest/coverage-v8":"^2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.15.0-dev.28_1757704540001_0.6285032871014715","host":"s3://npm-registry-packages-npm-production"}},"0.15.0-dev.29":{"name":"pompelmi","version":"0.15.0-dev.29","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.15.0-dev.29","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"12735f459fda32e60b7a41c5db6e48f26d8bb476","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.15.0-dev.29.tgz","fileCount":24,"integrity":"sha512-nSq+xQBhpFQhQp14i7+u4qeplt2pF8nbuQeyv8ZKkO2RiUZxVPjo+Y/gk9uSW83NQpQCUjX6nuRUmlPGxbc6BA==","signatures":[{"sig":"MEYCIQDC4yMBssbdfSfpIe+St6eEpYywc8EUYQm5UlKZBzvlOAIhAO7sXM6HIeBVAEeBYfO6AHCd/E0aw+QxP4KDFBBtNFfP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.15.0-dev.29","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1267391},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","regjsgen":"0.8.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","babel-plugin-polyfill-corejs3":"^0.13.0","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"d43387d6b3cc75f4912f6eeda1e8e0f910926579","private":false,"scripts":{"build":"rollup -c","build:core":"pnpm -r --filter \"./packages/**\" build && pnpm -w run build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"_nodeVersion":"20.19.5","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","tsup":"^8","yazl":"^3.3.1","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","supertest":"^7.0.0","@types/koa":"^2.15.0","typescript":"^5.9.2","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@types/node":"^24.3.0","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@types/supertest":"^6.0.3","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@vitest/coverage-v8":"^2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.15.0-dev.29_1757783087614_0.35634233091027556","host":"s3://npm-registry-packages-npm-production"}},"0.15.0-dev.30":{"name":"pompelmi","version":"0.15.0-dev.30","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.15.0-dev.30","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"3b6248766c0b2afe884ff1f2a618243a10416b8f","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.15.0-dev.30.tgz","fileCount":24,"integrity":"sha512-EpNN2NftUjWhEI93ucemoeYkf/efdECnenOrjy3cfTr8AvEPS06Jc+9iBm4ObHs8d4xwjn/8/L4YFExmcuOi0w==","signatures":[{"sig":"MEYCIQDx7TXVBA3Gq0mdFvuj/lriBBfPOOCA7y7qk3NVvoP7IQIhAP5jgW7cs2OU1W0nViRyCuvBS1X+GsQft9o5Zlje6Phm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.15.0-dev.30","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1267391},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","regjsgen":"0.8.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","babel-plugin-polyfill-corejs3":"^0.13.0","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"d8e5bb0d031bf197f8ac38835ce3cea2990ea953","private":false,"scripts":{"build":"rollup -c","build:core":"pnpm -r --filter \"./packages/**\" build && pnpm -w run build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"_nodeVersion":"20.19.5","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","tsup":"^8","yazl":"^3.3.1","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","supertest":"^7.0.0","@types/koa":"^2.15.0","typescript":"^5.9.2","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@types/node":"^24.3.0","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@types/supertest":"^6.0.3","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@vitest/coverage-v8":"^2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.15.0-dev.30_1757922569133_0.3784324202712088","host":"s3://npm-registry-packages-npm-production"}},"0.15.0-dev.31":{"name":"pompelmi","version":"0.15.0-dev.31","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.15.0-dev.31","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"dc446d89f36096a0982af703724204d567362955","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.15.0-dev.31.tgz","fileCount":24,"integrity":"sha512-3WFumbEtQDJ+Qr8mTpwcaXmHNDklUM3/5Rnrn4QuCnIZ+pumeEzuPAdNy2+stG9sbZ290rlmmAwSAH3tq43JNw==","signatures":[{"sig":"MEQCIEurqc+jbXYN4VADvV5P2wVs1RSjxQ09UJM2JYMVRlt+AiBZcyx3G2vONiSxMsQnrxKwRsi/TlHyk4TPrSzUdiiurA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.15.0-dev.31","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1267391},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","regjsgen":"0.8.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","babel-plugin-polyfill-corejs3":"^0.13.0","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"ceca608d3f9524ff444cd61098af3e3cb1994015","private":false,"scripts":{"build":"rollup -c","build:core":"pnpm -r --filter \"./packages/**\" build && pnpm -w run build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"_nodeVersion":"20.19.5","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","tsup":"^8","yazl":"^3.3.1","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","supertest":"^7.0.0","@types/koa":"^2.15.0","typescript":"^5.9.2","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@types/node":"^24.3.0","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@types/supertest":"^6.0.3","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@vitest/coverage-v8":"^2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.15.0-dev.31_1757923181483_0.8544951548261706","host":"s3://npm-registry-packages-npm-production"}},"0.15.0-dev.32":{"name":"pompelmi","version":"0.15.0-dev.32","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.15.0-dev.32","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"55d1bb9c660c75336617dafbf64a885071574f3b","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.15.0-dev.32.tgz","fileCount":24,"integrity":"sha512-7NragEnNts2+9hO1nxqDXfpwAM4uVJxqCSZtTpqYtQSzFFR8A0Po/8yi5Oak9zVsgtiNrsaGa8vHRIUA8f22Pw==","signatures":[{"sig":"MEQCICwy0PM7Z/E1QC7x5vKpgZnEMe1jXT6qAiB9NkXv/CvzAiAZxzcGSGDHxIj1/yg207EDCuNMc+u3bHl2yAL3GDZvsg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.15.0-dev.32","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1267391},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","regjsgen":"0.8.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","babel-plugin-polyfill-corejs3":"^0.13.0","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"646d5425c95ee3bafa5297cf8ce186afb76eba77","private":false,"scripts":{"build":"rollup -c","build:core":"pnpm -r --filter \"./packages/**\" build && pnpm -w run build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"_nodeVersion":"20.19.5","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","tsup":"^8","yazl":"^3.3.1","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","supertest":"^7.0.0","@types/koa":"^2.15.0","typescript":"^5.9.2","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@types/node":"^24.3.0","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@types/supertest":"^6.0.3","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@vitest/coverage-v8":"^2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.15.0-dev.32_1757924216573_0.9560888562279315","host":"s3://npm-registry-packages-npm-production"}},"0.15.0-dev.34":{"name":"pompelmi","version":"0.15.0-dev.34","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.15.0-dev.34","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"a726ed523467de47d8fe33e3b4a4394cda63c1f2","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.15.0-dev.34.tgz","fileCount":24,"integrity":"sha512-+HKbawjAnlbi2wFhME6FKs8Ua3JhcNCko4PEick4JNCciuzqdnjPywCvCiqndDUoNGnCAq4oo1gNoVOaEhJxVA==","signatures":[{"sig":"MEUCIQCzoATfNViBQ0v7WmGBlRKwhIVE2Y1pjJJem96eVjy9TgIgZkeBsP+v0LVX931J2jyGcpodpA+ZBXsIHhuJ4V8HWYs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.15.0-dev.34","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1267391},"main":"dist/pompelmi.cjs.js","pnpm":{"overrides":{"fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","regjsgen":"0.8.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","babel-plugin-polyfill-corejs3":"^0.13.0","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"dist/types/index.d.ts","module":"dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs.js"}},"gitHead":"2ccfca8b0c8c03a12cc45d9dbd339de7be06634b","private":false,"scripts":{"build":"rollup -c","build:core":"pnpm -r --filter \"./packages/**\" build && pnpm -w run build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"_nodeVersion":"20.19.5","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","tsup":"^8","yazl":"^3.3.1","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","supertest":"^7.0.0","@types/koa":"^2.15.0","typescript":"^5.9.2","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@types/node":"^24.3.0","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@types/supertest":"^6.0.3","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@vitest/coverage-v8":"^2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.15.0-dev.34_1757929510981_0.23110364787568916","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"pompelmi","version":"0.15.0","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.15.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"d3713fb13969ae97b3de17131bad5f5ecc181d15","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.15.0.tgz","fileCount":24,"integrity":"sha512-tusuGaxxs6CLNhkKVVQMpdPwEw0rMIY0pXBTIPtQmPIg4/9xrQukZahZzj4S7TAmEEvBmOGHDC8Nn2yORva06A==","signatures":[{"sig":"MEUCIATFhYz2tAzb243pHZWYzLeRwY4uhj67ILvWchFLK1JxAiEAw33TWJ+ttTtZl0gjdL2+i7cyudGhd8FZygqZm2GXAz0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1267522},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","regjsgen":"0.8.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","babel-plugin-polyfill-corejs3":"^0.13.0","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"}},"gitHead":"387f51d3cff898a912923255f4ae90b0476c561b","private":false,"scripts":{"build":"rollup -c","build:core":"pnpm -r --filter \"./packages/**\" build && pnpm -w run build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"_nodeVersion":"20.19.5","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","tsup":"^8","yazl":"^3.3.1","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","supertest":"^7.0.0","@types/koa":"^2.15.0","typescript":"^5.9.2","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@types/node":"^24.3.0","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@types/supertest":"^6.0.3","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@vitest/coverage-v8":"^2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.15.0_1758031208794_0.2691793484710203","host":"s3://npm-registry-packages-npm-production"}},"0.15.1":{"name":"pompelmi","version":"0.15.1","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.15.1","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"5f75cdf6079f5d348bfd42f7545a5a426a8f7508","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.15.1.tgz","fileCount":24,"integrity":"sha512-Ykz0VRzh96ZfDteVodJ/GzJaBll7iKua4r9kScdp9vmH+C6Oy7RtQinXVBf6sOC6DzTGU5UhuRhX6LaUmn95dg==","signatures":[{"sig":"MEYCIQCrQkdmseK4gdGV9jGknx58QF1cq/fjgOGXDCimvLZWjwIhALWsI4j+3jIFgCXMaCII3qXPx8On8mTx2xxBOEG7PPSg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.15.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1267165},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","regjsgen":"0.8.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","babel-plugin-polyfill-corejs3":"^0.13.0","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"}},"gitHead":"625503432945f392699e469956cc585bd864ffa7","private":false,"scripts":{"build":"rollup -c","build:core":"pnpm -r --filter \"./packages/**\" build && pnpm -w run build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"_nodeVersion":"20.19.5","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","tsup":"^8","yazl":"^3.3.1","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","supertest":"^7.0.0","@types/koa":"^2.15.0","typescript":"^5.9.2","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@types/node":"^24.3.0","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@types/supertest":"^6.0.3","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@vitest/coverage-v8":"^2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.15.1_1758047684439_0.4360675784567669","host":"s3://npm-registry-packages-npm-production"}},"0.15.2":{"name":"pompelmi","version":"0.15.2","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.15.2","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"36d0bcf78926e436784790c1caceeef5340d5d95","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.15.2.tgz","fileCount":24,"integrity":"sha512-LScw9IWMaqRxOpT+5Jxn1Wdu2Oq+JONjiTEmeFkqCGKWWkItqx5lSw9/7oeRmTtU7ZTRyqVCxfETCR6YnJa83A==","signatures":[{"sig":"MEYCIQCu4uEN+3aYCPWz3z42UqGl82G47VK+57CnOcoQPhz67gIhAJjU4aPjucpyg/Up2UqxtEAeB39FHWyEnwYumAGH55pB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.15.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1267223},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","regjsgen":"0.8.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","babel-plugin-polyfill-corejs3":"^0.13.0","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"}},"gitHead":"492b00272a4bd7e3543f12da6cf16142938933be","private":false,"scripts":{"build":"rollup -c","build:core":"pnpm -r --filter \"./packages/**\" build && pnpm -w run build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"_nodeVersion":"20.19.5","dependencies":{"yara":"npm:@automattic/yara@^2.6.0-beta.2","rollup":"^4.45.1","file-type":"^21.0.0","libyara-wasm":"^1.2.1","wasm-feature-detect":"^1.8.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","tsup":"^8","yazl":"^3.3.1","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","gh-pages":"^6.3.0","react-dom":"^18.0.0","supertest":"^7.0.0","@types/koa":"^2.15.0","typescript":"^5.9.2","@babel/core":"^7.28.0","@types/cors":"^2.8.19","@types/node":"^24.3.0","@astrojs/mdx":"^4.3.3","@types/react":"^19.1.8","@types/multer":"^2.0.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@astrojs/sitemap":"^3.4.2","@types/react-dom":"^19.1.6","@types/supertest":"^6.0.3","@astrojs/tailwind":"^6.0.2","@babel/preset-env":"^7.28.0","@astrojs/starlight":"^0.35.2","@vitest/coverage-v8":"^2","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.6","@babel/preset-typescript":"^7.27.1","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.15.2_1758267601717_0.4230530340832044","host":"s3://npm-registry-packages-npm-production"}},"0.16.2":{"name":"pompelmi","version":"0.16.2","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.16.2","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"1168481a3ae62e636e32e362931e2414504ce45c","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.16.2.tgz","fileCount":38,"integrity":"sha512-W2XxXG3AIq+wk3Huk8BUPZsuUvQkGvA06eZ7Vhkd3gd7Qen5C9U+xsyVjx12VUAE12WHjuXAFkZoUnYHrUYVXg==","signatures":[{"sig":"MEQCIFSrFJfaczpnc4AO7GlH40CINIAToPq3gd1b4etKdAzrAiA4RX6unFtv1NdUESQOhc+SlP2yNPGH1GkLHoAycVCkKA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1599221},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","regjsgen":"0.8.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","babel-plugin-polyfill-corejs3":"^0.13.0","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","module":"./dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"engines":{"node":">=18"},"exports":{".":{},"./package.json":"./package.json"},"gitHead":"e3eef40e38b07a8b179803b90290a7afff0f6b31","scripts":{"build":"rollup -c","smoke":"node scripts/smoke.mjs","preview":"npm pack --dry-run","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","audit:exports":"ts-prune -p tsconfig.json || true","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git","directory":"packages/engine"},"_npmVersion":"10.9.0","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"22.12.0","dependencies":{"rollup":"^4.45.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^5.64.0","tsup":"^8","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:0.16.2-dev.6","@vitest/coverage-v8":"^2","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.1.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.16.2_1760473597337_0.8405647149927711","host":"s3://npm-registry-packages-npm-production"}},"0.16.3":{"name":"pompelmi","version":"0.16.3","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.16.3","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"392fd2591e9393a0547d5bbe6aec19b448e9bd3c","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.16.3.tgz","fileCount":24,"integrity":"sha512-tR3Z6dWLCnHrKQTlfsETbAPcEe/EN7/HO/6nk9tPumy5nxS07xGRzbl5fabeopf4fpuysKYx3eMOY65H2lY/hQ==","signatures":[{"sig":"MEUCIQChihO4vMqo7+zGX28OcgdTtCGZPVY72snX3ApHE4eEJQIgNzjT29JPcfr+xF7tO3Qth9QlyEwFzy9qDOqVOExuumE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.16.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1270361},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.10","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","babel-plugin-polyfill-corejs3":"^0.13.0","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","module":"./dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"engines":{"node":">=18"},"exports":{".":{},"./package.json":"./package.json"},"gitHead":"d5b19d8ba645a641754932fa87feb2dc86ddbdd6","scripts":{"build":"rollup -c","smoke":"node scripts/smoke.mjs","preview":"npm pack --dry-run","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","audit:exports":"ts-prune -p tsconfig.json || true","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"20.19.5","dependencies":{"rollup":"^4.45.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^5.64.0","tsup":"^8","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:0.16.3-dev.6","@vitest/coverage-v8":"^2","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.1.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.16.3_1760474615891_0.23484367596310696","host":"s3://npm-registry-packages-npm-production"}},"0.16.4":{"name":"pompelmi","version":"0.16.4","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.16.4","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"945f105b2d550f16b505e90f2bfbde0dacf1bd2d","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.16.4.tgz","fileCount":24,"integrity":"sha512-nghsdl0pAXZ27S3oFi18zZd9mALJNLuaNC/8//n+ijLRcHOwWw4eUp5tDjUwzDLPRQSHLTyytStSh+nnvhyv6A==","signatures":[{"sig":"MEUCICDFGTUl/hRgJPhN5m/G9y7x2OOxKJZ+W9hqUyhrYaxlAiEAiNjAabCvGrqehcjC2boQX8IbLkH9ped9OAFr8Bd+NeE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.16.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1270361},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.10","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","babel-plugin-polyfill-corejs3":"^0.13.0","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","module":"./dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"engines":{"node":">=18"},"exports":{".":{},"./package.json":"./package.json"},"gitHead":"b43c2ee9ae2051f6c14776876e44741d6d5dbba0","scripts":{"build":"rollup -c","smoke":"node scripts/smoke.mjs","preview":"npm pack --dry-run","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","audit:exports":"ts-prune -p tsconfig.json || true","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"20.19.5","dependencies":{"rollup":"^4.45.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^5.64.0","tsup":"^8","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:0.16.4-dev.6","@vitest/coverage-v8":"^2","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.1.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.16.4_1760852146674_0.06852941729373829","host":"s3://npm-registry-packages-npm-production"}},"0.17.0-dev.36":{"name":"pompelmi","version":"0.17.0-dev.36","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.17.0-dev.36","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"32b1e2e751a29850b3f57c4916d695c29f4ee49d","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.17.0-dev.36.tgz","fileCount":24,"integrity":"sha512-I6WMqEUH2WGJ/pb5O4Jw6BP6pCkdZIWVTOClbfR0ZcxCG6cvfvZ7Py7OQ3TytfVnJ1I4iYz91y6QFCrmAJjWDQ==","signatures":[{"sig":"MEYCIQDMkQaPDmfP2l4GlsS6aKKy2n6kqnbTYFIWpoxvWRenRQIhAK4KwuxKI/tel/YMLPY/2XpY2t7o6Byeg3utnSzWtJCp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.17.0-dev.36","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1270551},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.10","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","babel-plugin-polyfill-corejs3":"^0.13.0","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","module":"./dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"engines":{"node":">=18"},"exports":{".":{},"./package.json":"./package.json"},"gitHead":"f9af15b913eb9452141364abbb8a7236b8595db4","scripts":{"build":"rollup -c","smoke":"node scripts/smoke.mjs","preview":"npm pack --dry-run","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","audit:exports":"ts-prune -p tsconfig.json || true","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"20.19.5","dependencies":{"rollup":"^4.45.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^5.64.0","tsup":"^8","react":"^18.0.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:0.17.0-dev.36-dev.6","@vitest/coverage-v8":"^2","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.1.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.17.0-dev.36_1761817773026_0.61065831404632","host":"s3://npm-registry-packages-npm-production"}},"0.17.0-dev.37":{"name":"pompelmi","version":"0.17.0-dev.37","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.17.0-dev.37","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"93d5c46982827de2736ee272c5170f6bbbe0d85d","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.17.0-dev.37.tgz","fileCount":24,"integrity":"sha512-bPU3htNzi+qEWmS+dA0zZtYYCROAmQ7Ijc5rlkw8SX87KJE1TZsPWVGIefdOFSkDrk89tjVm/bOFdLQ/TjdjNw==","signatures":[{"sig":"MEYCIQCuudhdkWgYztUb9Z5EMSIx2OlkVnLASDaWyaWlwARrowIhAJwSgp6m3A6ZSC2DocbX0iwM8f05Zl8fypp/tU8S6ILh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.17.0-dev.37","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1270551},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.10","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","babel-plugin-polyfill-corejs3":"^0.13.0","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","module":"./dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"engines":{"node":">=18"},"exports":{".":{},"./package.json":"./package.json"},"gitHead":"00a5da812028165f12af77791300c607974d37b7","scripts":{"build":"rollup -c","smoke":"node scripts/smoke.mjs","preview":"npm pack --dry-run","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","audit:exports":"ts-prune -p tsconfig.json || true","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"20.19.5","dependencies":{"rollup":"^4.45.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^5.64.0","tsup":"^8","react":"^19.2.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:0.17.0-dev.37-dev.6","@vitest/coverage-v8":"^2","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.1.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.17.0-dev.37_1761818893341_0.42710388253344256","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"pompelmi","version":"0.17.0","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.17.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"7f072f47df82ee393edd3a74fa27d9e68bfc8da2","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.17.0.tgz","fileCount":3,"integrity":"sha512-ZSENAHk+4ltspI4jyWBEaCHnoEM8knj8+P7H95AynuvIvxnECx8a7boqIkbCQHZ53iBc6IhyKOTCyN+ezBeAqw==","signatures":[{"sig":"MEUCIQD3L2UhKvpOhVezQMtfjvt2zRG4gsd70xuXUxQtNO50hAIgDWCq1l4ywrFKPQdjVXN/KY5hZvvKl70E50eXIaqqOQU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29757},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.10","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","babel-plugin-polyfill-corejs3":"^0.13.0","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/types/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./package.json":"./package.json"},"gitHead":"63880e15d6a62e32293fbf1d6f92958d09acc63c","scripts":{"build":"rollup -c","clean":"rimraf dist","smoke":"node scripts/smoke.mjs","preview":"npm pack --dry-run","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","audit:exports":"ts-prune -p tsconfig.json || true","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"20.19.5","dependencies":{"rollup":"^4.45.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^5.64.0","tsup":"^8","react":"^19.2.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:0.17.0-dev.6","@vitest/coverage-v8":"^2","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.1.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.17.0_1762186516228_0.07394906323558925","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"pompelmi","version":"0.18.0","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.18.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"e62ebf7220f0e0accf1ad5c5ca7f57db2b49df80","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.18.0.tgz","fileCount":3,"integrity":"sha512-8NVWlbAF5hWg63jHN2UydfEGF5zsaLixDlzMo/gxODyH49zKi4Uq+rEEHHzdoO3R64ygOzgVnDD60hzQWalrDQ==","signatures":[{"sig":"MEQCIC/9COARbRfOFcn9cMf/qfyA6vkFy1nrlHhFaowZlGFtAiA2dnZZ1++vi2grwkfp8YEdXe5pGpSM2c1D0eu8j3gN1g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.18.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29720},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.10","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","babel-plugin-polyfill-corejs3":"^0.13.0","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/types/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./package.json":"./package.json"},"gitHead":"2c136c0a121158c48b7e8a2d4bc19ad0011d79ac","scripts":{"build":"rollup -c","clean":"rimraf dist","smoke":"node scripts/smoke.mjs","preview":"npm pack --dry-run","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","audit:exports":"ts-prune -p tsconfig.json || true","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build && npm run pack:strict","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"20.19.5","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^5.64.0","tsup":"^8","react":"^19.2.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:*","@vitest/coverage-v8":"^2","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.1.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.18.0_1763226378679_0.1068074832907342","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"pompelmi","version":"0.19.0","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.19.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"9109e13fed25561641a56c81399b3cfb1c5f34d9","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.19.0.tgz","fileCount":30,"integrity":"sha512-u2n91nxYXYPcCYF/RhWaKKwTfiQUbME+F7QKQILEChlnar7X+uYSmsQc6vIr1iEjUimaFcRwwzrzDVQtsL54JQ==","signatures":[{"sig":"MEUCIQC1ozshdU3lvv7aORQNVG+X9yJRUU7YfAvxiuss2GnhqwIgZqFnBQ1ar3Di5GG05TvVWCwJNXOTfhAq03bEA3quzJo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.19.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":528072},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.10","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","babel-plugin-polyfill-corejs3":"^0.13.0","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/types/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./package.json":"./package.json"},"gitHead":"151708167b8405aa44c13c70ea7cfce04513532a","scripts":{"build":"rollup -c","clean":"rimraf dist","smoke":"node scripts/smoke.mjs","preview":"npm pack --dry-run","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","audit:exports":"ts-prune -p tsconfig.json || true","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build && npm run pack:strict","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"20.19.5","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^5.64.0","tsup":"^8","react":"^19.2.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:*","@vitest/coverage-v8":"^2","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.1.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.19.0_1763904412330_0.2945146296168206","host":"s3://npm-registry-packages-npm-production"}},"0.20.0":{"name":"pompelmi","version":"0.20.0","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.20.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"a7a41a2020db4a318af345070c0d990cc2386087","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.20.0.tgz","fileCount":30,"integrity":"sha512-frD+kNpU+ilbhsr0qNzniiCaPs0ttT555VNncBnKFQ50HEtpHlVPfGDsRhGe2QFiTfF+FPsekfL1lWtcZarbZQ==","signatures":[{"sig":"MEQCIEDE8euiR7qEx8sDxKsVpVqzcJoLJxZuiXNJL/VtM7ZgAiAS4zO92iL5qejdxzA/TnadZxqgOhVBiDq6Dqs7Yj8bNA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.20.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":536945},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.10","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","babel-plugin-polyfill-corejs3":"^0.13.0","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/types/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./package.json":"./package.json"},"gitHead":"8d8b807f9ba4ad8d6d61e30e9c5db950c8995045","scripts":{"build":"rollup -c","clean":"rimraf dist","smoke":"node scripts/smoke.mjs","preview":"npm pack --dry-run","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","audit:exports":"ts-prune -p tsconfig.json || true","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build && npm run pack:strict","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"20.19.5","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^5.64.0","tsup":"^8","react":"^19.2.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:*","@vitest/coverage-v8":"^2","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.1.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.20.0_1763923372351_0.7914399435348396","host":"s3://npm-registry-packages-npm-production"}},"0.21.0":{"name":"pompelmi","version":"0.21.0","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.21.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"fcdd534f84acfd1d5145c65d4713f85c290f9902","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.21.0.tgz","fileCount":37,"integrity":"sha512-5bOFBddK1bIaoLem4ku/ckLXkT7TpksO/K/8bE5aUvahnwjNieGBpcQVh1tSpiyNWzE0TGXEypfgN7usVP3hAg==","signatures":[{"sig":"MEUCIAPA/WF2sw0pK+gAmlh/hrvn0Odh+7bgl2EkCWIqVDXaAiEAkpo9I8OTB2gRhxur4V7ZKaBM6ccNnA7DSF9/bpRDB1o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.21.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":660236},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.10","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","babel-plugin-polyfill-corejs3":"^0.13.0","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/types/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./package.json":"./package.json"},"gitHead":"4d1cde9d70742ea89bfacc3ef29843464ffd8fe6","scripts":{"build":"rollup -c","clean":"rimraf dist","smoke":"node scripts/smoke.mjs","preview":"npm pack --dry-run","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","audit:exports":"ts-prune -p tsconfig.json || true","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build && npm run pack:strict","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"20.19.5","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^5.64.0","tsup":"^8","react":"^19.2.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:*","@vitest/coverage-v8":"^2","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.1.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.21.0_1764349259693_0.2015209387558241","host":"s3://npm-registry-packages-npm-production"}},"0.22.0":{"name":"pompelmi","version":"0.22.0","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.22.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"b26b42ea28496dec71f2a274ff3f58fb060f3984","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.22.0.tgz","fileCount":37,"integrity":"sha512-tYa0FWOMKidv3hnWxmFZc0O53spotT5y4DkZaDtXb/LRY+fWYC986zLWRsD8gk3vddU7CixUt2TLomLdhQPpyg==","signatures":[{"sig":"MEUCIQDhnFHmLmf8+o7brKyBHZjf7seSc0tsvPjkAGNfj6bdNwIgFzKJ0ajfjrPE57vEH/a+iyb4aJeWw/oJSQ+mXyz6cNQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.22.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":661335},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.10","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","babel-plugin-polyfill-corejs3":"^0.13.0","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/types/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./package.json":"./package.json"},"gitHead":"14fb77a2a1999fa5db44832e6412b2fcc3f9b252","scripts":{"build":"rollup -c","clean":"rimraf dist","smoke":"node scripts/smoke.mjs","preview":"npm pack --dry-run","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","audit:exports":"ts-prune -p tsconfig.json || true","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build && npm run pack:strict","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"20.19.5","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^5.64.0","tsup":"^8","react":"^19.2.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:*","@vitest/coverage-v8":"^2","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.1.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.22.0_1764658079684_0.015231583788982705","host":"s3://npm-registry-packages-npm-production"}},"0.23.0":{"name":"pompelmi","version":"0.23.0","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.23.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"aa7d5b6e4f240cedbe59aed0a0392419e7328053","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.23.0.tgz","fileCount":37,"integrity":"sha512-JXfgEfAqI8zbkOLurvjw+wbEOdYA8RlN/TV0K+wIgURR19EVxN587dD51YhGhZaDPet7NY+rWSLWlFFHExuXCA==","signatures":[{"sig":"MEUCIQCM6UJeNlPn6kEzZfUAjitJRFE+YD7fso4R3qqESt6j2QIgeq/bCpfG+MMdrtcstEMtKjp+2EV3+hF6mfK7C5o78eU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.23.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":662781},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.10","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","babel-plugin-polyfill-corejs3":"^0.13.0","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/types/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./package.json":"./package.json"},"gitHead":"a280c61f14c9a99d875cdc6c9f76a958092cb9f3","scripts":{"build":"rollup -c","clean":"rimraf dist","smoke":"node scripts/smoke.mjs","preview":"npm pack --dry-run","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","audit:exports":"ts-prune -p tsconfig.json || true","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build && npm run pack:strict","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"20.19.5","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^5.64.0","tsup":"^8","react":"^19.2.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:*","@vitest/coverage-v8":"^2","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.1.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.23.0_1764671895185_0.33713820924208227","host":"s3://npm-registry-packages-npm-production"}},"0.20.1":{"name":"pompelmi","version":"0.20.1","keywords":["security","cybersecurity","malware","threat-detection","security-scanner","file-scanner","file-scanning","file","files","filesystem","directory","node","nodejs","javascript","typescript","browser","web","api","http","express","backend","server","rest","devsecops"],"author":"","license":"MIT","_id":"pompelmi@0.20.1","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"eab3fcf7d55639ab136c86d09dd97aa1ede268b0","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.20.1.tgz","fileCount":37,"integrity":"sha512-6GUG/Z1G2PB1qUcWTCgtbzCNRPM6sNPz+5QFHhfyekhlU5bYPmfoUdYe+r/VqM6YCzEZlqbpQpnbcTSlZX3TfQ==","signatures":[{"sig":"MEQCID6k9+U7B3G4oqlMpCSEkJnm3e48Tsji18UAwa0DFlMIAiBAXLZtTnAH6pcguw5lYW4pKHSlC9wQMoG86j+P+k21yg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.20.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":663354},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.10","react":"^19.2.0","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","react-dom":"^19.2.0","@types/react":"^19.2.0","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","@types/react-dom":"^19.2.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","babel-plugin-polyfill-corejs3":"^0.13.0","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/types/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./package.json":"./package.json"},"gitHead":"5568b6078b2a2b72d575ab8ab9702e73122936ee","scripts":{"build":"rollup -c","clean":"rimraf dist","smoke":"node scripts/smoke.mjs","preview":"npm pack --dry-run","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","audit:exports":"ts-prune -p tsconfig.json || true","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build && npm run pack:strict","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.8.2","description":"RFI-safe file uploads for Node.js — Express/Koa/Next.js middleware with deep ZIP inspection, MIME/size checks, and optional YARA scanning.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"20.19.6","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^5.64.0","tsup":"^8","react":"^19.2.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:*","@vitest/coverage-v8":"^2","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.1.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.20.1_1766762126844_0.9403465997025104","host":"s3://npm-registry-packages-npm-production"}},"0.24.0":{"name":"pompelmi","version":"0.24.0","keywords":["malware-scanner","file-upload-security","virus-scanner","antivirus","malware-detection","threat-detection","security-scanner","file-scanner","file-scanning","yara","yara-rules","zip-bomb-protection","express-middleware","koa-middleware","fastify-plugin","nextjs","next-js","nodejs-security","typescript-security","file-validation","upload-sanitization","mime-type-validation","security","cybersecurity","devsecops","gdpr-compliance","hipaa-compliance","privacy-first","in-process-scanning","zero-cloud","node","nodejs","typescript","express","koa","fastify"],"author":"","license":"MIT","_id":"pompelmi@0.24.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"84679bb4009f28d841ec56416b765d0dfce1821f","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.24.0.tgz","fileCount":37,"integrity":"sha512-QvLWdRpxey5izur8mXKrDtm7vKEJ3vCWr/UOPr7+uJQ3C1UiUUDpiccFc5ABZh2Nx9lcECp8pU94X4nZ3MHxhQ==","signatures":[{"sig":"MEQCICgTRWdeVa5OsPN831rIevtRq5hRust7BNoEUjFvVyN1AiBo+fL+w4JGajLK8fREKTYpna2hGVcXi77svHvFfV0rlQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":669994},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.10","react":"^19.2.0","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","react-dom":"^19.2.0","@types/react":"^19.2.0","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","@types/react-dom":"^19.2.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","babel-plugin-polyfill-corejs3":"^0.13.0","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/types/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./package.json":"./package.json"},"gitHead":"abdf75507f2f52234c49328cbefff62a3db5f008","scripts":{"build":"rollup -c","clean":"rimraf dist","smoke":"node scripts/smoke.mjs","preview":"npm pack --dry-run","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","audit:exports":"ts-prune -p tsconfig.json || true","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build && npm run pack:strict","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.9.0","description":"Fast, private malware scanner for Node.js file uploads. TypeScript-first library with Express, Koa, Fastify & Next.js adapters. Features deep ZIP inspection, YARA integration, ZIP bomb protection, and real-time threat detection. Zero cloud dependencies - ","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"22.12.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^5.64.0","tsup":"^8","react":"^19.2.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:*","@vitest/coverage-v8":"^2","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.1.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.24.0_1768384987364_0.11945560100903907","host":"s3://npm-registry-packages-npm-production"}},"0.25.0":{"name":"pompelmi","version":"0.25.0","keywords":["malware-scanner","file-upload-security","virus-scanner","antivirus","malware-detection","threat-detection","security-scanner","file-scanner","file-scanning","yara","yara-rules","zip-bomb-protection","express-middleware","koa-middleware","fastify-plugin","nextjs","next-js","nodejs-security","typescript-security","file-validation","upload-sanitization","mime-type-validation","security","cybersecurity","devsecops","gdpr-compliance","hipaa-compliance","privacy-first","in-process-scanning","zero-cloud","node","nodejs","typescript","express","koa","fastify"],"author":"","license":"MIT","_id":"pompelmi@0.25.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"f0973da2da3d28c79cad5574de4345a4a7bfba24","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.25.0.tgz","fileCount":37,"integrity":"sha512-SuKFIbiFFfCF9xf3Fbp5969O/+hrqV7sAXl9L9hcZPeo77LMGmvac3LelfigzseLw6II/vDPaOOjHCxtJ4Hr6A==","signatures":[{"sig":"MEQCIH7CchKSwmPTniKZ37W+ThWd+h9y5m4MzAtuID+UJNySAiAP3lN4+hRw6AhIgSMd84dH2OBjStkCzKkupHcJ5ZMjsw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.25.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":669994},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.10","react":"^19.2.0","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","react-dom":"^19.2.0","@types/react":"^19.2.0","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","@types/react-dom":"^19.2.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","babel-plugin-polyfill-corejs3":"^0.13.0","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/types/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./package.json":"./package.json"},"gitHead":"8bfddadf80c3efd7b75d6cd59a9daca477ab243f","scripts":{"build":"rollup -c","clean":"rimraf dist","smoke":"node scripts/smoke.mjs","preview":"npm pack --dry-run","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","audit:exports":"ts-prune -p tsconfig.json || true","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build && npm run pack:strict","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.8.2","description":"Fast, private malware scanner for Node.js file uploads. TypeScript-first library with Express, Koa, Fastify & Next.js adapters. Features deep ZIP inspection, YARA integration, ZIP bomb protection, and real-time threat detection. Zero cloud dependencies - ","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"20.19.6","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^5.64.0","tsup":"^8","react":"^19.2.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:*","@vitest/coverage-v8":"^2","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.1.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.25.0_1768917624640_0.10250370002587506","host":"s3://npm-registry-packages-npm-production"}},"0.26.0":{"name":"pompelmi","version":"0.26.0","keywords":["malware-scanner","file-upload-security","virus-scanner","antivirus","malware-detection","threat-detection","security-scanner","file-scanner","file-scanning","yara","yara-rules","zip-bomb-protection","express-middleware","koa-middleware","fastify-plugin","nextjs","next-js","nodejs-security","typescript-security","file-validation","upload-sanitization","mime-type-validation","security","cybersecurity","devsecops","gdpr-compliance","hipaa-compliance","privacy-first","in-process-scanning","zero-cloud","node","nodejs","typescript","express","koa","fastify"],"author":"","license":"MIT","_id":"pompelmi@0.26.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"12ac9ccf35773785707fdf4eb74019d895d2cacf","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.26.0.tgz","fileCount":37,"integrity":"sha512-bfeXWiw7446MMNXYIEIIiZ1DYKggsar9e5wZRzDxAw1xZ4LdOD4De8vlpzfZzQ58X5i/hyZIUkvxo312TZJaXA==","signatures":[{"sig":"MEUCIQD1wwaXXOioWhONPnevIPRzb7zAJxhLGiJZGP0MhHIhqQIgTfiSzw0hnkUPR7sU+cgGXAGImQVVnhWE+sfZmSztRG0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":669994},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.10","react":"^19.2.0","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","react-dom":"^19.2.0","@types/react":"^19.2.0","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","@types/react-dom":"^19.2.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","regexpu-core>regjsgen":"0.8.0","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","babel-plugin-polyfill-corejs3":"^0.13.0","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/types/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./package.json":"./package.json"},"gitHead":"8bfddadf80c3efd7b75d6cd59a9daca477ab243f","scripts":{"build":"rollup -c","clean":"rimraf dist","smoke":"node scripts/smoke.mjs","preview":"npm pack --dry-run","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","audit:exports":"ts-prune -p tsconfig.json || true","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build && npm run pack:strict","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.9.0","description":"Fast, private malware scanner for Node.js file uploads. TypeScript-first library with Express, Koa, Fastify & Next.js adapters. Features deep ZIP inspection, YARA integration, ZIP bomb protection, and real-time threat detection. Zero cloud dependencies - ","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"22.12.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^5.64.0","tsup":"^8","react":"^19.2.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:*","@vitest/coverage-v8":"^2","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.1.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.26.0_1768918214831_0.8016031731373678","host":"s3://npm-registry-packages-npm-production"}},"0.27.0":{"name":"pompelmi","version":"0.27.0","keywords":["malware-scanner","file-upload-security","virus-scanner","antivirus","malware-detection","threat-detection","security-scanner","file-scanner","file-scanning","yara","yara-rules","zip-bomb-protection","express-middleware","koa-middleware","fastify-plugin","nextjs","next-js","nodejs-security","typescript-security","file-validation","upload-sanitization","mime-type-validation","security","cybersecurity","devsecops","gdpr-compliance","hipaa-compliance","privacy-first","in-process-scanning","zero-cloud","node","nodejs","typescript","express","koa","fastify"],"author":"","license":"MIT","_id":"pompelmi@0.27.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"4cc483d5788cb9b07bf9768f2569e81d123e1723","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.27.0.tgz","fileCount":40,"integrity":"sha512-wu+mXXe/msXsL1gZStIeI199+S8h0V8UMIJA5EglgAluGBduPcoulAekxAZXhArEr5/C/eM43LGm0Ft6RJxZdA==","signatures":[{"sig":"MEUCIQC2UWcmo/lrtrX6WVttDYjPegatDPOizTV0IRDFFW+rcgIgHZgielpiwAuReFNKI3lQF1sE7YeJxRozHSCLGto6kjY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.27.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":736194},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.10","react":"^19.2.0","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","react-dom":"^19.2.0","qs@<6.14.1":">=6.14.1","h3@<=1.15.4":">=1.15.5","@types/react":"^19.2.0","astro@<5.14.3":">=5.14.3","astro@<5.15.8":">=5.15.8","astro@<5.15.9":">=5.15.9","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","astro@<=5.15.6":">=5.15.8","devalue@<5.3.2":">=5.3.2","js-yaml@<3.14.2":">=3.14.2","@types/react-dom":"^19.2.0","esbuild@<=0.24.2":">=0.25.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","diff@>=5.0.0 <5.2.2":">=5.2.2","koa@>=2.16.2 <2.16.3":">=2.16.3","vite@>=6.0.0 <=6.3.5":">=6.3.6","vite@>=6.0.0 <=6.4.0":">=6.4.1","astro@>=5.2.0 <5.15.6":">=5.15.6","glob@>=10.2.0 <10.5.0":">=10.5.0","regexpu-core>regjsgen":"0.8.0","astro@>=2.16.0 <5.15.5":">=5.15.5","devalue@>=5.1.0 <5.6.2":">=5.6.2","js-yaml@>=4.0.0 <4.1.1":">=4.1.1","katex@>=0.12.0 <=0.16.20":">=0.16.21","lodash@>=4.0.0 <=4.17.22":">=4.17.23","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","preact@>=10.28.0 <10.28.2":">=10.28.2","body-parser@>=2.2.0 <2.2.1":">=2.2.1","lodash-es@>=4.0.0 <=4.17.22":">=4.17.23","next@>=16.0.0-beta.0 <16.0.9":">=16.0.9","babel-plugin-polyfill-corejs3":"^0.13.0","next@>=16.0.0-canary.0 <16.0.7":">=16.0.7","mdast-util-to-hast@>=13.0.0 <13.2.1":">=13.2.1","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/types/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./package.json":"./package.json"},"gitHead":"9a727502b55c1598a57496bf43d7633f58193b81","scripts":{"build":"rollup -c","clean":"rimraf dist","smoke":"node scripts/smoke.mjs","preview":"npm pack --dry-run","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","audit:exports":"ts-prune -p tsconfig.json || true","mentions:find":"node scripts/find-mentions.mjs","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build && npm run pack:strict","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","mentions:inject":"node scripts/inject-mentions-readme.mjs","mentions:render":"node scripts/render-mentions-readme.mjs","mentions:update":"npm run mentions:find && npm run mentions:render && npm run mentions:inject","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.8.2","description":"Fast, private malware scanner for Node.js file uploads. TypeScript-first library with Express, Koa, Fastify & Next.js adapters. Features deep ZIP inspection, YARA integration, ZIP bomb protection, and real-time threat detection. Zero cloud dependencies - ","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"20.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^5.64.0","tsup":"^8","react":"^19.2.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:*","@vitest/coverage-v8":"^2","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.1.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.27.0_1769450276805_0.6305189258568002","host":"s3://npm-registry-packages-npm-production"}},"0.27.1":{"name":"pompelmi","version":"0.27.1","keywords":["malware-scanner","file-upload-security","virus-scanner","antivirus","malware-detection","threat-detection","security-scanner","file-scanner","file-scanning","yara","yara-rules","zip-bomb-protection","express-middleware","koa-middleware","fastify-plugin","nextjs","next-js","nodejs-security","typescript-security","file-validation","upload-sanitization","mime-type-validation","security","cybersecurity","devsecops","gdpr-compliance","hipaa-compliance","privacy-first","in-process-scanning","zero-cloud","node","nodejs","typescript","express","koa","fastify"],"author":"","license":"MIT","_id":"pompelmi@0.27.1","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"fac9ff3eb4d6bea05d142e26953e303a670e563d","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.27.1.tgz","fileCount":40,"integrity":"sha512-Q7e9rUK8YhsKYFiMkcRRgnzh3X9zzib6d5kC0TXLLtfNogBk35YeWh/lcgwY7z3kSAix38gqC0bVCMevmpTygw==","signatures":[{"sig":"MEQCIG3Jw3wAKVJfqXPP/6tfDGUwU9KG99qOR+pdH7Vm09TVAiBFp0Wm9JfHjM2xt7IqB08yVRu+UVuNi1ThQuWPmALfuw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.27.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":736651},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.10","react":"^19.2.0","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","react-dom":"^19.2.0","qs@<6.14.1":">=6.14.1","h3@<=1.15.4":">=1.15.5","@types/react":"^19.2.0","astro@<5.14.3":">=5.14.3","astro@<5.15.8":">=5.15.8","astro@<5.15.9":">=5.15.9","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","astro@<=5.15.6":">=5.15.8","devalue@<5.3.2":">=5.3.2","js-yaml@<3.14.2":">=3.14.2","@types/react-dom":"^19.2.0","esbuild@<=0.24.2":">=0.25.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","diff@>=5.0.0 <5.2.2":">=5.2.2","koa@>=2.16.2 <2.16.3":">=2.16.3","vite@>=6.0.0 <=6.3.5":">=6.3.6","vite@>=6.0.0 <=6.4.0":">=6.4.1","astro@>=5.2.0 <5.15.6":">=5.15.6","glob@>=10.2.0 <10.5.0":">=10.5.0","regexpu-core>regjsgen":"0.8.0","astro@>=2.16.0 <5.15.5":">=5.15.5","devalue@>=5.1.0 <5.6.2":">=5.6.2","js-yaml@>=4.0.0 <4.1.1":">=4.1.1","katex@>=0.12.0 <=0.16.20":">=0.16.21","lodash@>=4.0.0 <=4.17.22":">=4.17.23","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","preact@>=10.28.0 <10.28.2":">=10.28.2","body-parser@>=2.2.0 <2.2.1":">=2.2.1","lodash-es@>=4.0.0 <=4.17.22":">=4.17.23","next@>=16.0.0-beta.0 <16.0.9":">=16.0.9","babel-plugin-polyfill-corejs3":"^0.13.0","next@>=16.0.0-canary.0 <16.0.7":">=16.0.7","mdast-util-to-hast@>=13.0.0 <13.2.1":">=13.2.1","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/types/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./package.json":"./package.json"},"gitHead":"949188f8a64821676f94d2ea76d9c9167782786b","scripts":{"build":"rollup -c","clean":"rimraf dist","smoke":"node scripts/smoke.mjs","preview":"npm pack --dry-run","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","audit:exports":"ts-prune -p tsconfig.json || true","mentions:find":"node scripts/find-mentions.mjs","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build && npm run pack:strict","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","mentions:inject":"node scripts/inject-mentions-readme.mjs","mentions:render":"node scripts/render-mentions-readme.mjs","mentions:update":"npm run mentions:find && npm run mentions:render && npm run mentions:inject","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.8.2","description":"Fast, private malware scanner for Node.js file uploads. TypeScript-first library with Express, Koa, Fastify & Next.js adapters. Features deep ZIP inspection, YARA integration, ZIP bomb protection, and real-time threat detection. Zero cloud dependencies - ","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"20.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^5.64.0","tsup":"^8","react":"^19.2.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:*","@vitest/coverage-v8":"^2","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.1.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.27.1_1769450545087_0.6161623292175735","host":"s3://npm-registry-packages-npm-production"}},"0.28.0":{"name":"pompelmi","version":"0.28.0","keywords":["malware-scanner","file-upload-security","virus-scanner","antivirus","malware-detection","threat-detection","security-scanner","file-scanner","file-scanning","yara","yara-rules","zip-bomb-protection","express-middleware","koa-middleware","fastify-plugin","nextjs","next-js","nodejs-security","typescript-security","file-validation","upload-sanitization","mime-type-validation","security","cybersecurity","devsecops","gdpr-compliance","hipaa-compliance","privacy-first","in-process-scanning","zero-cloud","node","nodejs","typescript","express","koa","fastify"],"author":"","license":"MIT","_id":"pompelmi@0.28.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"798c1197a74f0266b6290b40f86ab230f45f9180","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.28.0.tgz","fileCount":40,"integrity":"sha512-qCCRpG1UWXQUAnjZEDbw/yxYYqk4ZCG6lJuubEGHlMOmtVC58MFBq1gX9RzdrFwYRn/42lihH8Z+xYFER2T2Ew==","signatures":[{"sig":"MEUCIBzVwSHSdMiFuEIO8+xddzyfE+lD3BM85X+CZ582BCcOAiEA5Jf1ehq+o0IrToy/Ua9vM4NNsDLjDRmAwVocAQt3x+g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.28.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":736990},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.21","react":"^19.2.0","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","react-dom":"^19.2.0","qs@<6.14.1":">=6.14.1","h3@<=1.15.4":">=1.15.5","@types/react":"^19.2.0","astro@<5.14.3":">=5.14.3","astro@<5.15.8":">=5.15.8","astro@<5.15.9":">=5.15.9","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","astro@<=5.15.6":">=5.15.8","devalue@<5.3.2":">=5.3.2","js-yaml@<3.14.2":">=3.14.2","@types/react-dom":"^19.2.0","esbuild@<=0.24.2":">=0.25.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","diff@>=5.0.0 <5.2.2":">=5.2.2","koa@>=2.16.2 <2.16.3":">=2.16.3","vite@>=6.0.0 <=6.3.5":">=6.3.6","vite@>=6.0.0 <=6.4.0":">=6.4.1","astro@>=5.2.0 <5.15.6":">=5.15.6","glob@>=10.2.0 <10.5.0":">=10.5.0","regexpu-core>regjsgen":"0.8.0","astro@>=2.16.0 <5.15.5":">=5.15.5","devalue@>=5.1.0 <5.6.2":">=5.6.2","js-yaml@>=4.0.0 <4.1.1":">=4.1.1","katex@>=0.12.0 <=0.16.20":">=0.16.21","lodash@>=4.0.0 <=4.17.22":">=4.17.23","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","preact@>=10.28.0 <10.28.2":">=10.28.2","body-parser@>=2.2.0 <2.2.1":">=2.2.1","lodash-es@>=4.0.0 <=4.17.22":">=4.17.23","next@>=16.0.0-beta.0 <16.0.9":">=16.0.9","babel-plugin-polyfill-corejs3":"^0.13.0","next@>=16.0.0-canary.0 <16.0.7":">=16.0.7","mdast-util-to-hast@>=13.0.0 <13.2.1":">=13.2.1","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/types/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./package.json":"./package.json"},"gitHead":"c86b9a9c4ddd6005760ca814b3470155df1665f3","scripts":{"build":"rollup -c","clean":"rimraf dist","smoke":"node scripts/smoke.mjs","preview":"npm pack --dry-run","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","audit:exports":"ts-prune -p tsconfig.json || true","mentions:find":"node scripts/find-mentions.mjs","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build && npm run pack:strict","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","mentions:inject":"node scripts/inject-mentions-readme.mjs","mentions:render":"node scripts/render-mentions-readme.mjs","mentions:update":"npm run mentions:find && npm run mentions:render && npm run mentions:inject","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.8.2","description":"Fast, private malware scanner for Node.js file uploads. TypeScript-first library with Express, Koa, Fastify, Next.js & Nuxt/Nitro adapters. Features deep ZIP inspection, YARA integration, ZIP bomb protection, and real-time threat detection. Zero cloud dep","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"20.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^5.64.0","tsup":"^8","react":"^19.2.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:*","@vitest/coverage-v8":"^2","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.1.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.28.0_1769628106838_0.25419347648682034","host":"s3://npm-registry-packages-npm-production"}},"0.29.0":{"name":"pompelmi","version":"0.29.0","keywords":["malware-scanner","file-upload-security","virus-scanner","antivirus","malware-detection","threat-detection","security-scanner","file-scanner","file-scanning","yara","yara-rules","zip-bomb-protection","express-middleware","koa-middleware","fastify-plugin","nextjs","next-js","nodejs-security","typescript-security","file-validation","upload-sanitization","mime-type-validation","security","cybersecurity","devsecops","gdpr-compliance","hipaa-compliance","privacy-first","in-process-scanning","zero-cloud","node","nodejs","typescript","express","koa","fastify"],"author":"","license":"MIT","_id":"pompelmi@0.29.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"f0431ff0ad029df48230d6a1cfb45838fc1ba08a","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.29.0.tgz","fileCount":46,"integrity":"sha512-+GR23GXRrUdSyq8Ouh740dblUKNquLkQbV6pxFXxlPGi91uiyPbPHTCr+KVR4MeMhRwOrZBOqpQrfVdvqOpSkA==","signatures":[{"sig":"MEYCIQCXGDLP+SjNOhDCmnDIfiti8w1wYwdW3Br0PY69Ip/KlgIhAIVM3MphX/I/bKzBgq0TeWOcLuSsBMS8XEzbcacjdNqW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/pompelmi@0.29.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":949100},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.21","react":"^19.2.0","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","react-dom":"^19.2.0","qs@<6.14.1":">=6.14.1","h3@<=1.15.4":">=1.15.5","@types/react":"^19.2.0","astro@<5.14.3":">=5.14.3","astro@<5.15.8":">=5.15.8","astro@<5.15.9":">=5.15.9","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","astro@<=5.15.6":">=5.15.8","devalue@<5.3.2":">=5.3.2","js-yaml@<3.14.2":">=3.14.2","@types/react-dom":"^19.2.0","esbuild@<=0.24.2":">=0.25.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","diff@>=5.0.0 <5.2.2":">=5.2.2","koa@>=2.16.2 <2.16.3":">=2.16.3","vite@>=6.0.0 <=6.3.5":">=6.3.6","vite@>=6.0.0 <=6.4.0":">=6.4.1","astro@>=5.2.0 <5.15.6":">=5.15.6","glob@>=10.2.0 <10.5.0":">=10.5.0","regexpu-core>regjsgen":"0.8.0","astro@>=2.16.0 <5.15.5":">=5.15.5","devalue@>=5.1.0 <5.6.2":">=5.6.2","js-yaml@>=4.0.0 <4.1.1":">=4.1.1","katex@>=0.12.0 <=0.16.20":">=0.16.21","lodash@>=4.0.0 <=4.17.22":">=4.17.23","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","preact@>=10.28.0 <10.28.2":">=10.28.2","body-parser@>=2.2.0 <2.2.1":">=2.2.1","lodash-es@>=4.0.0 <=4.17.22":">=4.17.23","next@>=16.0.0-beta.0 <16.0.9":">=16.0.9","babel-plugin-polyfill-corejs3":"^0.13.0","next@>=16.0.0-canary.0 <16.0.7":">=16.0.7","mdast-util-to-hast@>=13.0.0 <13.2.1":">=13.2.1","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/types/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./package.json":"./package.json"},"gitHead":"08b4aefcf63ff344a0dfcf973eddcf310b19dfaf","scripts":{"build":"rollup -c","clean":"rimraf dist","smoke":"node scripts/smoke.mjs","preview":"npm pack --dry-run","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","audit:exports":"ts-prune -p tsconfig.json || true","mentions:find":"node scripts/find-mentions.mjs","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build && npm run pack:strict","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","mentions:inject":"node scripts/inject-mentions-readme.mjs","mentions:render":"node scripts/render-mentions-readme.mjs","mentions:update":"npm run mentions:find && npm run mentions:render && npm run mentions:inject","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.8.2","description":"Fast, private malware scanner for Node.js file uploads. TypeScript-first library with Express, Koa, Fastify, Next.js & Nuxt/Nitro adapters. Features deep ZIP inspection, YARA integration, ZIP bomb protection, and real-time threat detection. Zero cloud dep","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"20.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^5.64.0","tsup":"^8","react":"^19.2.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:*","@vitest/coverage-v8":"^2","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.1.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.29.0_1769688493663_0.4499081084756926","host":"s3://npm-registry-packages-npm-production"}},"0.29.1":{"name":"pompelmi","version":"0.29.1","keywords":["malware-scanner","file-upload-security","virus-scanner","antivirus","malware-detection","threat-detection","security-scanner","file-scanner","file-scanning","yara","yara-rules","zip-bomb-protection","express-middleware","koa-middleware","fastify-plugin","nextjs","next-js","nodejs-security","typescript-security","file-validation","upload-sanitization","mime-type-validation","security","cybersecurity","devsecops","gdpr-compliance","hipaa-compliance","privacy-first","in-process-scanning","zero-cloud","node","nodejs","typescript","express","koa","fastify"],"author":"","license":"MIT","_id":"pompelmi@0.29.1","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"5b5c2835fcae19a01823b23987c34c708a0dbd9b","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.29.1.tgz","fileCount":46,"integrity":"sha512-r+JyWy4L4p/RlRW8/r9t6IId/W+QEDp1SjywZm6Hp0xu21HCCPfnm2RjHHfBkdxZMHDhIks8TIRruOb6fCOlhg==","signatures":[{"sig":"MEYCIQDEmmu0nt3NfXc/wqrYzqTJ3HxacOlb+wn733JJWBq7rQIhAP0PHdBWxHVjvKdDyP/XkG5/B3fL8KTslmEmxqgSRO7C","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":949288},"main":"./dist/pompelmi.cjs","type":"module","_from":"file:pompelmi-0.29.1.tgz","types":"./dist/types/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./package.json":"./package.json"},"gitHead":"20840e1626cf7ca3fcc7bdb4f26680a448ea5ffa","scripts":{"build":"rollup -c","clean":"rimraf dist","smoke":"node scripts/smoke.mjs","preview":"npm pack --dry-run","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","audit:exports":"ts-prune -p tsconfig.json || true","mentions:find":"node scripts/find-mentions.mjs","predocs:deploy":"npm run docs:build","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","mentions:inject":"node scripts/inject-mentions-readme.mjs","mentions:render":"node scripts/render-mentions-readme.mjs","mentions:update":"npm run mentions:find && npm run mentions:render && npm run mentions:inject","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"_resolved":"/private/var/folders/0w/mqwdtqqd5p7c2j7jl5_9wf3c0000gn/T/5a0c13c43271ed57254bc17e26bcfab6/pompelmi-0.29.1.tgz","_integrity":"sha512-r+JyWy4L4p/RlRW8/r9t6IId/W+QEDp1SjywZm6Hp0xu21HCCPfnm2RjHHfBkdxZMHDhIks8TIRruOb6fCOlhg==","deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.9.0","description":"Fast, private malware scanner for Node.js file uploads. TypeScript-first library with Express, Koa, Fastify, Next.js & Nuxt/Nitro adapters. Features deep ZIP inspection, YARA integration, ZIP bomb protection, and real-time threat detection. Zero cloud dep","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"22.12.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^5.64.0","tsup":"^8","react":"^19.2.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"0.26.0","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"0.17.0-dev.6","@vitest/coverage-v8":"^2","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"^0.1.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.29.1_1770304709467_0.365000711280006","host":"s3://npm-registry-packages-npm-production"}},"0.30.0":{"name":"pompelmi","version":"0.30.0","keywords":["malware-scanner","file-upload-security","virus-scanner","antivirus","malware-detection","threat-detection","security-scanner","file-scanner","file-scanning","yara","yara-rules","zip-bomb-protection","express-middleware","koa-middleware","fastify-plugin","nextjs","next-js","nodejs-security","typescript-security","file-validation","upload-sanitization","mime-type-validation","security","cybersecurity","devsecops","gdpr-compliance","hipaa-compliance","privacy-first","in-process-scanning","zero-cloud","node","nodejs","typescript","express","koa","fastify"],"author":"","license":"MIT","_id":"pompelmi@0.30.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"3527202f5b7ef604ffd239195e10b7d8ab745bdd","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.30.0.tgz","fileCount":46,"integrity":"sha512-OpzAN1WmG0f4OInhH22dLSRv79irD+ExJoV8zgm21SI7Ml7sYgQx5iTzIC2r0kcDs4izansmFDOHALx/Xn2arw==","signatures":[{"sig":"MEYCIQCVnYmXyWJvjaOSR24+Un9k9LMwtCJRCefbsvXQgYwTxgIhAI03ROWNVcjwB0Q5KUVPgutSzPQd6V8OOnZKDOAVI0bk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":948869},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.21","react":"^19.2.0","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","react-dom":"^19.2.0","qs@<6.14.1":">=6.14.1","h3@<=1.15.4":">=1.15.5","@types/react":"^19.2.0","astro@<5.14.3":">=5.14.3","astro@<5.15.8":">=5.15.8","astro@<5.15.9":">=5.15.9","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","astro@<=5.15.6":">=5.15.8","devalue@<5.3.2":">=5.3.2","js-yaml@<3.14.2":">=3.14.2","@types/react-dom":"^19.2.0","esbuild@<=0.24.2":">=0.25.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","diff@>=5.0.0 <5.2.2":">=5.2.2","koa@>=2.16.2 <2.16.3":">=2.16.3","vite@>=6.0.0 <=6.3.5":">=6.3.6","vite@>=6.0.0 <=6.4.0":">=6.4.1","astro@>=5.2.0 <5.15.6":">=5.15.6","glob@>=10.2.0 <10.5.0":">=10.5.0","regexpu-core>regjsgen":"0.8.0","astro@>=2.16.0 <5.15.5":">=5.15.5","devalue@>=5.1.0 <5.6.2":">=5.6.2","js-yaml@>=4.0.0 <4.1.1":">=4.1.1","katex@>=0.12.0 <=0.16.20":">=0.16.21","lodash@>=4.0.0 <=4.17.22":">=4.17.23","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","preact@>=10.28.0 <10.28.2":">=10.28.2","body-parser@>=2.2.0 <2.2.1":">=2.2.1","lodash-es@>=4.0.0 <=4.17.22":">=4.17.23","next@>=16.0.0-beta.0 <16.0.9":">=16.0.9","babel-plugin-polyfill-corejs3":"^0.13.0","next@>=16.0.0-canary.0 <16.0.7":">=16.0.7","mdast-util-to-hast@>=13.0.0 <13.2.1":">=13.2.1","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/types/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./package.json":"./package.json"},"gitHead":"1e4fc050209ee98cb574c62670c7b30f302e3016","scripts":{"build":"rollup -c","clean":"rimraf dist","smoke":"node scripts/smoke.mjs","preview":"npm pack --dry-run","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","audit:exports":"ts-prune -p tsconfig.json || true","mentions:find":"node scripts/find-mentions.mjs","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build && npm run pack:strict","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","mentions:inject":"node scripts/inject-mentions-readme.mjs","mentions:render":"node scripts/render-mentions-readme.mjs","mentions:update":"npm run mentions:find && npm run mentions:render && npm run mentions:inject","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.9.0","description":"Fast, private malware scanner for Node.js file uploads. TypeScript-first library with Express, Koa, Fastify, Next.js & Nuxt/Nitro adapters. Features deep ZIP inspection, YARA integration, ZIP bomb protection, and real-time threat detection. Zero cloud dep","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"22.12.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^5.64.0","tsup":"^8","react":"^19.2.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:*","@vitest/coverage-v8":"^2","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.1.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.30.0_1771001044822_0.5793745495930909","host":"s3://npm-registry-packages-npm-production"}},"0.30.1":{"name":"pompelmi","version":"0.30.1","keywords":["malware-scanner","file-upload-security","virus-scanner","antivirus","malware-detection","threat-detection","security-scanner","file-scanner","file-scanning","yara","yara-rules","zip-bomb-protection","express-middleware","koa-middleware","fastify-plugin","nextjs","next-js","nodejs-security","typescript-security","file-validation","upload-sanitization","mime-type-validation","security","cybersecurity","devsecops","gdpr-compliance","hipaa-compliance","privacy-first","in-process-scanning","zero-cloud","node","nodejs","typescript","express","koa","fastify"],"author":"","license":"MIT","_id":"pompelmi@0.30.1","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"ea73f115d8da7807e7d3c568df05ed2a7efa1983","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.30.1.tgz","fileCount":46,"integrity":"sha512-R4Ny+xAok77Y/8MfICyljawjphJGnY16G5UzrSDrbyPpPKbvdqFTIoZxKTD6HBFR05poDoI9cZAMNQVujCCuUQ==","signatures":[{"sig":"MEQCIHZyusGWH5MDIYY4q+WnE99ww3yVG2V3fZmzW6qvus/SAiBRGX0tDJtKhPdeBl8QwzMVH4t05J4N6riSN+QFT12KvQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":949905},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.21","react":"^19.2.0","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","react-dom":"^19.2.0","qs@<6.14.1":">=6.14.1","h3@<=1.15.4":">=1.15.5","@types/react":"^19.2.0","astro@<5.14.3":">=5.14.3","astro@<5.15.8":">=5.15.8","astro@<5.15.9":">=5.15.9","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","astro@<=5.15.6":">=5.15.8","devalue@<5.3.2":">=5.3.2","js-yaml@<3.14.2":">=3.14.2","@types/react-dom":"^19.2.0","esbuild@<=0.24.2":">=0.25.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","diff@>=5.0.0 <5.2.2":">=5.2.2","koa@>=2.16.2 <2.16.3":">=2.16.3","vite@>=6.0.0 <=6.3.5":">=6.3.6","vite@>=6.0.0 <=6.4.0":">=6.4.1","astro@>=5.2.0 <5.15.6":">=5.15.6","glob@>=10.2.0 <10.5.0":">=10.5.0","regexpu-core>regjsgen":"0.8.0","astro@>=2.16.0 <5.15.5":">=5.15.5","devalue@>=5.1.0 <5.6.2":">=5.6.2","js-yaml@>=4.0.0 <4.1.1":">=4.1.1","katex@>=0.12.0 <=0.16.20":">=0.16.21","lodash@>=4.0.0 <=4.17.22":">=4.17.23","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","preact@>=10.28.0 <10.28.2":">=10.28.2","body-parser@>=2.2.0 <2.2.1":">=2.2.1","lodash-es@>=4.0.0 <=4.17.22":">=4.17.23","next@>=16.0.0-beta.0 <16.0.9":">=16.0.9","babel-plugin-polyfill-corejs3":"^0.13.0","next@>=16.0.0-canary.0 <16.0.7":">=16.0.7","mdast-util-to-hast@>=13.0.0 <13.2.1":">=13.2.1","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/types/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./package.json":"./package.json"},"funding":{"url":"https://github.com/sponsors/pompelmi","type":"github"},"gitHead":"3da44e5191db3b5d16bed8c0e3f6ef982e33a30f","scripts":{"build":"rollup -c","clean":"rimraf dist","smoke":"node scripts/smoke.mjs","preview":"npm pack --dry-run","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","audit:exports":"ts-prune -p tsconfig.json || true","mentions:find":"node scripts/find-mentions.mjs","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build && npm run pack:strict","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","mentions:inject":"node scripts/inject-mentions-readme.mjs","mentions:render":"node scripts/render-mentions-readme.mjs","mentions:update":"npm run mentions:find && npm run mentions:render && npm run mentions:inject","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.9.0","description":"Fast, private malware scanner for Node.js file uploads. TypeScript-first library with Express, Koa, Fastify, Next.js & Nuxt/Nitro adapters. Features deep ZIP inspection, YARA integration, ZIP bomb protection, and real-time threat detection. Zero cloud dep","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"22.12.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^5.64.0","tsup":"^8","react":"^19.2.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:*","@vitest/coverage-v8":"^2","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.1.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.30.1_1771512199783_0.20605924371389106","host":"s3://npm-registry-packages-npm-production"}},"0.31.0":{"name":"pompelmi","version":"0.31.0","keywords":["malware-scanner","file-upload-security","virus-scanner","antivirus","malware-detection","threat-detection","security-scanner","file-scanner","file-scanning","yara","yara-rules","zip-bomb-protection","express-middleware","koa-middleware","fastify-plugin","nextjs","next-js","nodejs-security","typescript-security","file-validation","upload-sanitization","mime-type-validation","security","cybersecurity","devsecops","gdpr-compliance","hipaa-compliance","privacy-first","in-process-scanning","zero-cloud","node","nodejs","typescript","express","koa","fastify"],"author":"","license":"MIT","_id":"pompelmi@0.31.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"19f71a7932d5de2f2cdd47c6364d10fc0640f6f4","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.31.0.tgz","fileCount":46,"integrity":"sha512-yUZOaKno65UBKhb6IjwyUNCmZn/uKpRuFSg1IvEI3XxtQ+R3fW81zxMFONBogMvqz3wiZaSrAMdTfrR7rgI92Q==","signatures":[{"sig":"MEQCIBNhgXxWxak8JxZ9UPthJvc1pGN6FqOv5fLCsDzv0K65AiBy/S5ZVBAsLa9BeX6xfuvKIHbwWRs9oBD5AxkqjNkKaA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":948947},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.21","react":"^19.2.0","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","react-dom":"^19.2.0","qs@<6.14.2":">=6.14.2","ajv@<8.18.0":">=8.18.0","h3@<=1.15.4":">=1.15.5","@types/react":"^19.2.0","astro@<5.14.3":">=5.14.3","astro@<5.15.8":">=5.15.8","astro@<5.15.9":">=5.15.9","multer@<2.0.2":">=2.0.2","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","astro@<=5.15.6":">=5.15.8","devalue@<5.3.2":">=5.3.2","fastify@<5.7.3":">=5.7.3","js-yaml@<3.14.2":">=3.14.2","@types/react-dom":"^19.2.0","esbuild@<=0.24.2":">=0.25.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","diff@>=5.0.0 <5.2.2":">=5.2.2","koa@>=2.16.2 <2.16.3":">=2.16.3","vite@>=6.0.0 <=6.3.5":">=6.3.6","vite@>=6.0.0 <=6.4.0":">=6.4.1","astro@>=5.2.0 <5.15.6":">=5.15.6","glob@>=10.2.0 <10.5.0":">=10.5.0","next@>=16.0.9 <16.1.5":">=16.1.5","regexpu-core>regjsgen":"0.8.0","astro@>=2.16.0 <5.15.5":">=5.15.5","devalue@>=5.1.0 <5.6.2":">=5.6.2","js-yaml@>=4.0.0 <4.1.1":">=4.1.1","katex@>=0.12.0 <=0.16.20":">=0.16.21","lodash@>=4.0.0 <=4.17.22":">=4.17.23","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","preact@>=10.28.0 <10.28.2":">=10.28.2","body-parser@>=2.2.0 <2.2.1":">=2.2.1","lodash-es@>=4.0.0 <=4.17.22":">=4.17.23","next@>=16.0.0-beta.0 <16.0.9":">=16.0.9","babel-plugin-polyfill-corejs3":"^0.13.0","next@>=16.0.0-canary.0 <16.0.7":">=16.0.7","@isaacs/brace-expansion@<=5.0.0":">=5.0.1","mdast-util-to-hast@>=13.0.0 <13.2.1":">=13.2.1","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/types/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./package.json":"./package.json"},"funding":{"url":"https://github.com/sponsors/pompelmi","type":"github"},"gitHead":"b112c15817b3b54e43559c4826a8c17736251bd1","scripts":{"test":"vitest run --passWithNoTests","build":"rollup -c","clean":"rimraf dist","smoke":"node scripts/smoke.mjs","preview":"npm pack --dry-run","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","audit:exports":"ts-prune -p tsconfig.json || true","mentions:find":"node scripts/find-mentions.mjs","test:coverage":"vitest run --coverage --passWithNoTests","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build && npm run pack:strict","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","mentions:inject":"node scripts/inject-mentions-readme.mjs","mentions:render":"node scripts/render-mentions-readme.mjs","mentions:update":"npm run mentions:find && npm run mentions:render && npm run mentions:inject","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","test:coverage:ci":"vitest run --coverage --reporter=verbose --passWithNoTests","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.9.0","description":"Fast, private malware scanner for Node.js file uploads. TypeScript-first library with Express, Koa, Fastify, Next.js & Nuxt/Nitro adapters. Features deep ZIP inspection, YARA integration, ZIP bomb protection, and real-time threat detection. Zero cloud dep","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"22.12.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^5.64.0","tsup":"^8","react":"^19.2.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:*","@vitest/coverage-v8":"^2","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.1.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.31.0_1771601251262_0.17306270239843458","host":"s3://npm-registry-packages-npm-production"}},"0.32.0":{"name":"pompelmi","version":"0.32.0","keywords":["malware-scanner","file-upload-security","virus-scanner","antivirus","malware-detection","threat-detection","security-scanner","file-scanner","file-scanning","yara","yara-rules","zip-bomb-protection","express-middleware","koa-middleware","fastify-plugin","nextjs","next-js","nodejs-security","typescript-security","file-validation","upload-sanitization","mime-type-validation","security","cybersecurity","devsecops","gdpr-compliance","hipaa-compliance","privacy-first","in-process-scanning","zero-cloud","node","nodejs","typescript","express","koa","fastify"],"author":"","license":"MIT","_id":"pompelmi@0.32.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"dcc4cdb20257f3104fe002d2d62f40978fb8da06","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.32.0.tgz","fileCount":46,"integrity":"sha512-/LwXoMDOhd+sA7icM1hdX1eeHwVmyS0QnRLNDzpPRfNl5qxlsPbKrINOflm5FKBE0z7xa50J24jZ03ra78gGUQ==","signatures":[{"sig":"MEQCIDOd8Ci2LRQKZRAzxfpkMBykaJe3Xg4NPBfJ9ShT4MlOAiBhLnjQAvqAGmI+d0DBbomp6KQ0OBsfki4Vc3Ml8qyAIA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":979309},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.21","react":"^19.2.0","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","react-dom":"^19.2.0","qs@<6.14.2":">=6.14.2","ajv@<8.18.0":">=8.18.0","h3@<=1.15.4":">=1.15.5","@types/react":"^19.2.0","astro@<5.14.3":">=5.14.3","astro@<5.15.8":">=5.15.8","astro@<5.15.9":">=5.15.9","multer@<2.0.2":">=2.0.2","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","astro@<=5.15.6":">=5.15.8","devalue@<5.3.2":">=5.3.2","fastify@<5.7.3":">=5.7.3","js-yaml@<3.14.2":">=3.14.2","@types/react-dom":"^19.2.0","esbuild@<=0.24.2":">=0.25.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","diff@>=5.0.0 <5.2.2":">=5.2.2","koa@>=2.16.2 <2.16.3":">=2.16.3","vite@>=6.0.0 <=6.3.5":">=6.3.6","vite@>=6.0.0 <=6.4.0":">=6.4.1","astro@>=5.2.0 <5.15.6":">=5.15.6","glob@>=10.2.0 <10.5.0":">=10.5.0","next@>=16.0.9 <16.1.5":">=16.1.5","regexpu-core>regjsgen":"0.8.0","astro@>=2.16.0 <5.15.5":">=5.15.5","devalue@>=5.1.0 <5.6.2":">=5.6.2","js-yaml@>=4.0.0 <4.1.1":">=4.1.1","katex@>=0.12.0 <=0.16.20":">=0.16.21","lodash@>=4.0.0 <=4.17.22":">=4.17.23","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","preact@>=10.28.0 <10.28.2":">=10.28.2","body-parser@>=2.2.0 <2.2.1":">=2.2.1","lodash-es@>=4.0.0 <=4.17.22":">=4.17.23","next@>=16.0.0-beta.0 <16.0.9":">=16.0.9","babel-plugin-polyfill-corejs3":"^0.13.0","next@>=16.0.0-canary.0 <16.0.7":">=16.0.7","@isaacs/brace-expansion@<=5.0.0":">=5.0.1","mdast-util-to-hast@>=13.0.0 <13.2.1":">=13.2.1","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/types/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./package.json":"./package.json"},"funding":{"url":"https://github.com/sponsors/pompelmi","type":"github"},"gitHead":"9140e60be8feb4b92056f0c5bba0ff3eb20c87df","scripts":{"test":"vitest run --passWithNoTests","build":"rollup -c","clean":"rimraf dist","smoke":"node scripts/smoke.mjs","preview":"npm pack --dry-run","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","audit:exports":"ts-prune -p tsconfig.json || true","mentions:find":"node scripts/find-mentions.mjs","test:coverage":"vitest run --coverage --passWithNoTests","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build && npm run pack:strict","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","mentions:inject":"node scripts/inject-mentions-readme.mjs","mentions:render":"node scripts/render-mentions-readme.mjs","mentions:update":"npm run mentions:find && npm run mentions:render && npm run mentions:inject","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","test:coverage:ci":"vitest run --coverage --reporter=verbose --passWithNoTests","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.9.0","description":"Fast, private malware scanner for Node.js file uploads. TypeScript-first library with Express, Koa, Fastify, Next.js & Nuxt/Nitro adapters. Features deep ZIP inspection, YARA integration, ZIP bomb protection, and real-time threat detection. Zero cloud dep","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"22.12.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^5.64.0","tsup":"^8","react":"^19.2.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:*","@vitest/coverage-v8":"^2","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.1.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.32.0_1772122178116_0.30068305278751994","host":"s3://npm-registry-packages-npm-production"}},"0.32.1":{"name":"pompelmi","version":"0.32.1","keywords":["malware-scanner","file-upload-security","virus-scanner","antivirus","malware-detection","threat-detection","security-scanner","file-scanner","file-scanning","yara","yara-rules","zip-bomb-protection","express-middleware","koa-middleware","fastify-plugin","nextjs","next-js","nodejs-security","typescript-security","file-validation","upload-sanitization","mime-type-validation","security","cybersecurity","devsecops","gdpr-compliance","hipaa-compliance","privacy-first","in-process-scanning","zero-cloud","node","nodejs","typescript","express","koa","fastify"],"author":"","license":"MIT","_id":"pompelmi@0.32.1","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"ad8cac38ffb85499e2e1211333407488cf6620ae","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.32.1.tgz","fileCount":45,"integrity":"sha512-hogIM58VbI3gZUNH5UuUW4mQMnvqgwnPGhLc3yGBISF6bTT29YHYHDxPhzG7XYTxmqWmzeDi9PhlkQzApLewEA==","signatures":[{"sig":"MEUCIQD/hVhr8TJX7hsQYtOEbiHVFFIgniF44WdHLmullUJ49AIgA6Pw8VWu7U3aepsIDyfuuJh8q9CFSZDS6gze3gYPlho=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":974951},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.21","react":"^19.2.0","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","react-dom":"^19.2.0","qs@<6.14.2":">=6.14.2","ajv@<8.18.0":">=8.18.0","h3@<=1.15.4":">=1.15.5","@types/react":"^19.2.0","astro@<5.14.3":">=5.14.3","astro@<5.15.8":">=5.15.8","astro@<5.15.9":">=5.15.9","multer@<2.0.2":">=2.0.2","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","astro@<=5.15.6":">=5.15.8","devalue@<5.3.2":">=5.3.2","fastify@<5.7.3":">=5.7.3","js-yaml@<3.14.2":">=3.14.2","@types/react-dom":"^19.2.0","esbuild@<=0.24.2":">=0.25.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","diff@>=5.0.0 <5.2.2":">=5.2.2","koa@>=2.16.2 <2.16.3":">=2.16.3","vite@>=6.0.0 <=6.3.5":">=6.3.6","vite@>=6.0.0 <=6.4.0":">=6.4.1","astro@>=5.2.0 <5.15.6":">=5.15.6","glob@>=10.2.0 <10.5.0":">=10.5.0","next@>=16.0.9 <16.1.5":">=16.1.5","regexpu-core>regjsgen":"0.8.0","astro@>=2.16.0 <5.15.5":">=5.15.5","devalue@>=5.1.0 <5.6.2":">=5.6.2","js-yaml@>=4.0.0 <4.1.1":">=4.1.1","katex@>=0.12.0 <=0.16.20":">=0.16.21","lodash@>=4.0.0 <=4.17.22":">=4.17.23","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","preact@>=10.28.0 <10.28.2":">=10.28.2","body-parser@>=2.2.0 <2.2.1":">=2.2.1","lodash-es@>=4.0.0 <=4.17.22":">=4.17.23","next@>=16.0.0-beta.0 <16.0.9":">=16.0.9","babel-plugin-polyfill-corejs3":"^0.13.0","next@>=16.0.0-canary.0 <16.0.7":">=16.0.7","@isaacs/brace-expansion@<=5.0.0":">=5.0.1","mdast-util-to-hast@>=13.0.0 <13.2.1":">=13.2.1","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/types/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./package.json":"./package.json"},"funding":{"url":"https://github.com/sponsors/pompelmi","type":"github"},"gitHead":"54ab20a03fe7b8b11e486ffcfdadb74288389523","scripts":{"test":"vitest run --passWithNoTests","build":"rollup -c","clean":"rimraf dist","smoke":"node scripts/smoke.mjs","preview":"npm pack --dry-run","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","audit:exports":"ts-prune -p tsconfig.json || true","mentions:find":"node scripts/find-mentions.mjs","test:coverage":"vitest run --coverage --passWithNoTests","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build && npm run pack:strict","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","mentions:inject":"node scripts/inject-mentions-readme.mjs","mentions:render":"node scripts/render-mentions-readme.mjs","mentions:update":"npm run mentions:find && npm run mentions:render && npm run mentions:inject","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","test:coverage:ci":"vitest run --coverage --reporter=verbose --passWithNoTests","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.9.0","description":"Fast, private malware scanner for Node.js file uploads. TypeScript-first library with Express, Koa, Fastify, Next.js & Nuxt/Nitro adapters. Features deep ZIP inspection, YARA integration, ZIP bomb protection, and real-time threat detection. Zero cloud dep","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"22.12.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^5.64.0","tsup":"^8","react":"^19.2.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:*","@vitest/coverage-v8":"^2","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.1.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.32.1_1772199497069_0.8079135980985521","host":"s3://npm-registry-packages-npm-production"}},"0.33.0":{"name":"pompelmi","version":"0.33.0","keywords":["malware-scanner","file-upload-security","virus-scanner","antivirus","malware-detection","threat-detection","security-scanner","file-scanner","file-scanning","yara","yara-rules","zip-bomb-protection","express-middleware","koa-middleware","fastify-plugin","nextjs","next-js","nodejs-security","typescript-security","file-validation","upload-sanitization","mime-type-validation","security","cybersecurity","devsecops","gdpr-compliance","hipaa-compliance","privacy-first","in-process-scanning","zero-cloud","node","nodejs","typescript","express","koa","fastify"],"author":"","license":"MIT","_id":"pompelmi@0.33.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"5f28720adac0a42aa21d7fc1b9acf4ff433db8b2","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.33.0.tgz","fileCount":45,"integrity":"sha512-ZJah4vNvo/XZP+5Q+hyEM46i66Z9IKeZb6Gf7qcSkoLYVsCsZoH+FHgh+acGSNrYKFBK9bMxVxx3OFKluZyX7A==","signatures":[{"sig":"MEYCIQCWEA3O9pqst7fWbkpSe4yOMR8NejEmBJqtSSmEYgAAugIhANkMFtFFEV8/Ik4VtKyRltZd/dUXvefTRKCrt/6zabNX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":977749},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.21","react":"^19.2.0","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","react-dom":"^19.2.0","qs@<6.14.2":">=6.14.2","ajv@<8.18.0":">=8.18.0","h3@<=1.15.4":">=1.15.5","@types/react":"^19.2.0","astro@<5.14.3":">=5.14.3","astro@<5.15.8":">=5.15.8","astro@<5.15.9":">=5.15.9","multer@<2.0.2":">=2.0.2","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","astro@<=5.15.6":">=5.15.8","devalue@<5.3.2":">=5.3.2","fastify@<5.7.3":">=5.7.3","js-yaml@<3.14.2":">=3.14.2","@types/react-dom":"^19.2.0","esbuild@<=0.24.2":">=0.25.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","diff@>=5.0.0 <5.2.2":">=5.2.2","koa@>=2.16.2 <2.16.3":">=2.16.3","vite@>=6.0.0 <=6.3.5":">=6.3.6","vite@>=6.0.0 <=6.4.0":">=6.4.1","astro@>=5.2.0 <5.15.6":">=5.15.6","glob@>=10.2.0 <10.5.0":">=10.5.0","next@>=16.0.9 <16.1.5":">=16.1.5","regexpu-core>regjsgen":"0.8.0","astro@>=2.16.0 <5.15.5":">=5.15.5","devalue@>=5.1.0 <5.6.2":">=5.6.2","js-yaml@>=4.0.0 <4.1.1":">=4.1.1","katex@>=0.12.0 <=0.16.20":">=0.16.21","lodash@>=4.0.0 <=4.17.22":">=4.17.23","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","preact@>=10.28.0 <10.28.2":">=10.28.2","body-parser@>=2.2.0 <2.2.1":">=2.2.1","lodash-es@>=4.0.0 <=4.17.22":">=4.17.23","next@>=16.0.0-beta.0 <16.0.9":">=16.0.9","babel-plugin-polyfill-corejs3":"^0.13.0","next@>=16.0.0-canary.0 <16.0.7":">=16.0.7","@isaacs/brace-expansion@<=5.0.0":">=5.0.1","mdast-util-to-hast@>=13.0.0 <13.2.1":">=13.2.1","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/types/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"util":false,"yara":false},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./package.json":"./package.json"},"funding":{"url":"https://github.com/sponsors/pompelmi","type":"github"},"gitHead":"cd9b6e3d76f8b4b1eb3c1652a929e5e0417a661c","scripts":{"test":"vitest run --passWithNoTests","build":"rollup -c","clean":"rimraf dist","smoke":"node scripts/smoke.mjs","preview":"npm pack --dry-run","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","audit:exports":"ts-prune -p tsconfig.json || true","mentions:find":"node scripts/find-mentions.mjs","test:coverage":"vitest run --coverage --passWithNoTests","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build && npm run pack:strict","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","mentions:inject":"node scripts/inject-mentions-readme.mjs","mentions:render":"node scripts/render-mentions-readme.mjs","mentions:update":"npm run mentions:find && npm run mentions:render && npm run mentions:inject","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","test:coverage:ci":"vitest run --coverage --reporter=verbose --passWithNoTests","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.9.0","description":"Fast, private malware scanner for Node.js file uploads. TypeScript-first library with Express, Koa, Fastify, Next.js & Nuxt/Nitro adapters. Features deep ZIP inspection, YARA integration, ZIP bomb protection, and real-time threat detection. Zero cloud dep","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"22.12.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^5.64.0","tsup":"^8","react":"^19.2.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:*","@vitest/coverage-v8":"^2","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.2.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.33.0_1773238250658_0.8890104831761962","host":"s3://npm-registry-packages-npm-production"}},"0.34.0":{"name":"pompelmi","version":"0.34.0","keywords":["malware-scanner","file-upload-security","virus-scanner","antivirus","malware-detection","threat-detection","security-scanner","file-scanner","file-scanning","yara","yara-rules","zip-bomb-protection","express-middleware","koa-middleware","fastify-plugin","nextjs","next-js","nodejs-security","typescript-security","file-validation","upload-sanitization","mime-type-validation","security","cybersecurity","devsecops","gdpr-compliance","hipaa-compliance","privacy-first","in-process-scanning","zero-cloud","node","nodejs","typescript","express","koa","fastify"],"author":"","license":"MIT","_id":"pompelmi@0.34.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"678b444dee44f6a9eca835a5d6da52ea8dea271e","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.34.0.tgz","fileCount":77,"integrity":"sha512-Kv2JHCsPFqS1SzK0Pbs2Nd4jyceI7fIQr/8rojT9TXftuZyqZM8hfGFC/mHeNpbDUojB5YleWerHkymEA2ynfQ==","signatures":[{"sig":"MEUCIBQNioJeVx6uzgrFjbqaVK2mXUE6XAYEsRtUDTlwymVlAiEA98+7rEPTMjf4UmqH/BpzwZ7KJ/t89vcUeVMs/ML260U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1403390},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.21","react":"^19.2.0","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","react-dom":"^19.2.0","qs@<6.14.2":">=6.14.2","ajv@<8.18.0":">=8.18.0","h3@<=1.15.4":">=1.15.5","@types/react":"^19.2.0","astro@<5.14.3":">=5.14.3","astro@<5.15.8":">=5.15.8","astro@<5.15.9":">=5.15.9","multer@<2.0.2":">=2.0.2","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","astro@<=5.15.6":">=5.15.8","devalue@<5.3.2":">=5.3.2","fastify@<5.7.3":">=5.7.3","js-yaml@<3.14.2":">=3.14.2","@types/react-dom":"^19.2.0","esbuild@<=0.24.2":">=0.25.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","diff@>=5.0.0 <5.2.2":">=5.2.2","koa@>=2.16.2 <2.16.3":">=2.16.3","vite@>=6.0.0 <=6.3.5":">=6.3.6","vite@>=6.0.0 <=6.4.0":">=6.4.1","astro@>=5.2.0 <5.15.6":">=5.15.6","glob@>=10.2.0 <10.5.0":">=10.5.0","next@>=16.0.9 <16.1.5":">=16.1.5","regexpu-core>regjsgen":"0.8.0","astro@>=2.16.0 <5.15.5":">=5.15.5","devalue@>=5.1.0 <5.6.2":">=5.6.2","js-yaml@>=4.0.0 <4.1.1":">=4.1.1","katex@>=0.12.0 <=0.16.20":">=0.16.21","lodash@>=4.0.0 <=4.17.22":">=4.17.23","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","preact@>=10.28.0 <10.28.2":">=10.28.2","body-parser@>=2.2.0 <2.2.1":">=2.2.1","lodash-es@>=4.0.0 <=4.17.22":">=4.17.23","next@>=16.0.0-beta.0 <16.0.9":">=16.0.9","babel-plugin-polyfill-corejs3":"^0.13.0","next@>=16.0.0-canary.0 <16.0.7":">=16.0.7","@isaacs/brace-expansion@<=5.0.0":">=5.0.1","mdast-util-to-hast@>=13.0.0 <13.2.1":">=13.2.1","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/types/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"os":false,"path":false,"util":false,"yara":false,"crypto":false,"unzipper":false,"child_process":false},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./node":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./audit":{"types":"./dist/types/audit.d.ts","import":"./dist/pompelmi.audit.esm.js","default":"./dist/pompelmi.audit.esm.js","require":"./dist/pompelmi.audit.cjs"},"./hooks":{"types":"./dist/types/hooks.d.ts","import":"./dist/pompelmi.hooks.esm.js","default":"./dist/pompelmi.hooks.esm.js","require":"./dist/pompelmi.hooks.cjs"},"./react":{"types":"./dist/types/react-index.d.ts","import":"./dist/pompelmi.react.esm.js","default":"./dist/pompelmi.react.esm.js","require":"./dist/pompelmi.react.cjs"},"./browser":{"types":"./dist/types/browser-index.d.ts","import":"./dist/pompelmi.browser.esm.js","default":"./dist/pompelmi.browser.esm.js","require":"./dist/pompelmi.browser.cjs"},"./quarantine":{"types":"./dist/types/quarantine/index.d.ts","import":"./dist/pompelmi.quarantine.esm.js","default":"./dist/pompelmi.quarantine.esm.js","require":"./dist/pompelmi.quarantine.cjs"},"./package.json":"./package.json","./policy-packs":{"types":"./dist/types/policy-packs.d.ts","import":"./dist/pompelmi.policy-packs.esm.js","default":"./dist/pompelmi.policy-packs.esm.js","require":"./dist/pompelmi.policy-packs.cjs"}},"funding":{"url":"https://github.com/sponsors/pompelmi","type":"github"},"gitHead":"11c6e57e8693ad698940d2cf4a8fb2ec02d0cb02","scripts":{"test":"vitest run --passWithNoTests","build":"rollup -c","clean":"rimraf dist","smoke":"node scripts/smoke.mjs","preview":"npm pack --dry-run","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","audit:exports":"ts-prune -p tsconfig.json || true","mentions:find":"node scripts/find-mentions.mjs","test:coverage":"vitest run --coverage --passWithNoTests","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build && npm run pack:strict","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","mentions:inject":"node scripts/inject-mentions-readme.mjs","mentions:render":"node scripts/render-mentions-readme.mjs","mentions:update":"npm run mentions:find && npm run mentions:render && npm run mentions:inject","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","test:coverage:ci":"vitest run --coverage --reporter=verbose --passWithNoTests","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.9.0","description":"Fast, private malware scanner for Node.js file uploads. TypeScript-first library with Express, Koa, Fastify, Next.js & Nuxt/Nitro adapters. Features deep ZIP inspection, YARA integration, ZIP bomb protection, and real-time threat detection. Zero cloud dep","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"22.12.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^5.64.0","tsup":"^8","react":"^19.2.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:*","@vitest/coverage-v8":"^2","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.2.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.34.0_1773310138444_0.962583627043627","host":"s3://npm-registry-packages-npm-production"}},"0.34.1":{"name":"pompelmi","version":"0.34.1","keywords":["malware-scanner","file-upload-security","secure-file-upload","upload-security","virus-scanner","antivirus","malware-detection","threat-detection","security-scanner","file-scanner","file-scanning","yara","yara-rules","zip-bomb-protection","express-middleware","koa-middleware","fastify-plugin","nextjs","next-js","nestjs","nuxt","nodejs-security","typescript-security","file-validation","upload-sanitization","mime-type-validation","magic-bytes","security","cybersecurity","devsecops","gdpr-compliance","hipaa-compliance","privacy-first","in-process-scanning","zero-cloud","self-hosted","node","nodejs","typescript","express","koa","fastify"],"author":{"name":"Tommaso Bertocchi"},"license":"MIT","_id":"pompelmi@0.34.1","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"fd78fc3b3895ac1230710c2fe939a1c338aec752","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.34.1.tgz","fileCount":77,"integrity":"sha512-wnY1zsMWNV5mIpvClEniGdx4maWagZziH9/l/umeMt283yyAaYyjXK2umoOmd3sY/4UjnU8bxjTGi90WaMyz7Q==","signatures":[{"sig":"MEUCIQDqvu1ODw0HG3KTR6UPLwQkw2e+s61dRsImcp65oWiQiQIgGfCeEOhY8N3g2K/nI2CuUk/mZWb1susqu5ta1HTHsig=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1406320},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.21","react":"^19.2.0","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","react-dom":"^19.2.0","qs@<6.14.2":">=6.14.2","ajv@<8.18.0":">=8.18.0","h3@<=1.15.4":">=1.15.5","@types/react":"^19.2.0","astro@<5.14.3":">=5.14.3","astro@<5.15.8":">=5.15.8","astro@<5.15.9":">=5.15.9","multer@<2.0.2":">=2.0.2","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","astro@<=5.15.6":">=5.15.8","devalue@<5.3.2":">=5.3.2","fastify@<5.7.3":">=5.7.3","js-yaml@<3.14.2":">=3.14.2","@types/react-dom":"^19.2.0","esbuild@<=0.24.2":">=0.25.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","diff@>=5.0.0 <5.2.2":">=5.2.2","koa@>=2.16.2 <2.16.3":">=2.16.3","vite@>=6.0.0 <=6.3.5":">=6.3.6","vite@>=6.0.0 <=6.4.0":">=6.4.1","astro@>=5.2.0 <5.15.6":">=5.15.6","glob@>=10.2.0 <10.5.0":">=10.5.0","next@>=16.0.9 <16.1.5":">=16.1.5","regexpu-core>regjsgen":"0.8.0","astro@>=2.16.0 <5.15.5":">=5.15.5","devalue@>=5.1.0 <5.6.2":">=5.6.2","js-yaml@>=4.0.0 <4.1.1":">=4.1.1","katex@>=0.12.0 <=0.16.20":">=0.16.21","lodash@>=4.0.0 <=4.17.22":">=4.17.23","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","preact@>=10.28.0 <10.28.2":">=10.28.2","body-parser@>=2.2.0 <2.2.1":">=2.2.1","lodash-es@>=4.0.0 <=4.17.22":">=4.17.23","next@>=16.0.0-beta.0 <16.0.9":">=16.0.9","babel-plugin-polyfill-corejs3":"^0.13.0","next@>=16.0.0-canary.0 <16.0.7":">=16.0.7","@isaacs/brace-expansion@<=5.0.0":">=5.0.1","mdast-util-to-hast@>=13.0.0 <13.2.1":">=13.2.1","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/types/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"os":false,"path":false,"util":false,"yara":false,"crypto":false,"unzipper":false,"child_process":false},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./node":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./audit":{"types":"./dist/types/audit.d.ts","import":"./dist/pompelmi.audit.esm.js","default":"./dist/pompelmi.audit.esm.js","require":"./dist/pompelmi.audit.cjs"},"./hooks":{"types":"./dist/types/hooks.d.ts","import":"./dist/pompelmi.hooks.esm.js","default":"./dist/pompelmi.hooks.esm.js","require":"./dist/pompelmi.hooks.cjs"},"./react":{"types":"./dist/types/react-index.d.ts","import":"./dist/pompelmi.react.esm.js","default":"./dist/pompelmi.react.esm.js","require":"./dist/pompelmi.react.cjs"},"./browser":{"types":"./dist/types/browser-index.d.ts","import":"./dist/pompelmi.browser.esm.js","default":"./dist/pompelmi.browser.esm.js","require":"./dist/pompelmi.browser.cjs"},"./quarantine":{"types":"./dist/types/quarantine/index.d.ts","import":"./dist/pompelmi.quarantine.esm.js","default":"./dist/pompelmi.quarantine.esm.js","require":"./dist/pompelmi.quarantine.cjs"},"./package.json":"./package.json","./policy-packs":{"types":"./dist/types/policy-packs.d.ts","import":"./dist/pompelmi.policy-packs.esm.js","default":"./dist/pompelmi.policy-packs.esm.js","require":"./dist/pompelmi.policy-packs.cjs"}},"funding":{"url":"https://github.com/sponsors/pompelmi","type":"github"},"gitHead":"19a9bff8d5d7c283112b72d670dc238d0016258c","scripts":{"test":"vitest run --passWithNoTests","build":"rollup -c","clean":"rimraf dist","smoke":"node scripts/smoke.mjs","preview":"npm pack --dry-run","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","audit:exports":"ts-prune -p tsconfig.json || true","mentions:find":"node scripts/find-mentions.mjs","test:coverage":"vitest run --coverage --passWithNoTests","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build && npm run pack:strict","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","mentions:inject":"node scripts/inject-mentions-readme.mjs","mentions:render":"node scripts/render-mentions-readme.mjs","mentions:update":"npm run mentions:find && npm run mentions:render && npm run mentions:inject","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","test:coverage:ci":"vitest run --coverage --reporter=verbose --passWithNoTests","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.9.0","description":"In-process file upload security for Node.js — no cloud API, no daemon, no data egress. TypeScript-first library with Express, Next.js, NestJS, Fastify, Koa, and Nuxt/Nitro adapters. Features magic-byte MIME validation, ZIP bomb protection, YARA integratio","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"22.12.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^5.64.0","tsup":"^8","react":"^19.2.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:*","@vitest/coverage-v8":"^2","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.2.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.34.1_1773738580709_0.9180033004103032","host":"s3://npm-registry-packages-npm-production"}},"0.34.2":{"name":"pompelmi","version":"0.34.2","keywords":["malware-scanner","file-upload-security","secure-file-upload","upload-security","virus-scanner","antivirus","malware-detection","threat-detection","security-scanner","file-scanner","file-scanning","yara","yara-rules","zip-bomb-protection","express-middleware","koa-middleware","fastify-plugin","nextjs","next-js","nestjs","nuxt","nodejs-security","typescript-security","file-validation","upload-sanitization","mime-type-validation","magic-bytes","security","cybersecurity","devsecops","gdpr-compliance","hipaa-compliance","privacy-first","in-process-scanning","zero-cloud","self-hosted","node","nodejs","typescript","express","koa","fastify"],"author":{"name":"Tommaso Bertocchi"},"license":"MIT","_id":"pompelmi@0.34.2","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"46c2fc125b98ae7d8ff3ca1da1aa70e8cd89cd53","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.34.2.tgz","fileCount":77,"integrity":"sha512-nA5JxLHdlCX2ega8VdLkcTxlvwSJQMoaG130ywQQJ0ka6xCst2iNgH9FqbcodhZpPSUvDAimf8TJNgtDpbwQCw==","signatures":[{"sig":"MEUCIQCeKkTtlAfov7e0rK/H7a0k0GVx9oXO2sD603npn8WAlAIgRxp2MXi4ev8ZRgpG+2wvTqxP+9LmOtqZ2Bub+Ne6FHg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1384792},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.21","react":"^19.2.0","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","react-dom":"^19.2.0","qs@<6.14.2":">=6.14.2","ajv@<8.18.0":">=8.18.0","h3@<=1.15.4":">=1.15.5","@types/react":"^19.2.0","astro@<5.14.3":">=5.14.3","astro@<5.15.8":">=5.15.8","astro@<5.15.9":">=5.15.9","multer@<2.0.2":">=2.0.2","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","astro@<=5.15.6":">=5.15.8","devalue@<5.3.2":">=5.3.2","fastify@<5.7.3":">=5.7.3","js-yaml@<3.14.2":">=3.14.2","@types/react-dom":"^19.2.0","esbuild@<=0.24.2":">=0.25.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","diff@>=5.0.0 <5.2.2":">=5.2.2","koa@>=2.16.2 <2.16.3":">=2.16.3","vite@>=6.0.0 <=6.3.5":">=6.3.6","vite@>=6.0.0 <=6.4.0":">=6.4.1","astro@>=5.2.0 <5.15.6":">=5.15.6","glob@>=10.2.0 <10.5.0":">=10.5.0","next@>=16.0.9 <16.1.5":">=16.1.5","regexpu-core>regjsgen":"0.8.0","astro@>=2.16.0 <5.15.5":">=5.15.5","devalue@>=5.1.0 <5.6.2":">=5.6.2","js-yaml@>=4.0.0 <4.1.1":">=4.1.1","katex@>=0.12.0 <=0.16.20":">=0.16.21","lodash@>=4.0.0 <=4.17.22":">=4.17.23","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","preact@>=10.28.0 <10.28.2":">=10.28.2","body-parser@>=2.2.0 <2.2.1":">=2.2.1","lodash-es@>=4.0.0 <=4.17.22":">=4.17.23","next@>=16.0.0-beta.0 <16.0.9":">=16.0.9","babel-plugin-polyfill-corejs3":"^0.13.0","next@>=16.0.0-canary.0 <16.0.7":">=16.0.7","@isaacs/brace-expansion@<=5.0.0":">=5.0.1","mdast-util-to-hast@>=13.0.0 <13.2.1":">=13.2.1","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/types/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"os":false,"path":false,"util":false,"yara":false,"crypto":false,"unzipper":false,"child_process":false},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./node":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./audit":{"types":"./dist/types/audit.d.ts","import":"./dist/pompelmi.audit.esm.js","default":"./dist/pompelmi.audit.esm.js","require":"./dist/pompelmi.audit.cjs"},"./hooks":{"types":"./dist/types/hooks.d.ts","import":"./dist/pompelmi.hooks.esm.js","default":"./dist/pompelmi.hooks.esm.js","require":"./dist/pompelmi.hooks.cjs"},"./react":{"types":"./dist/types/react-index.d.ts","import":"./dist/pompelmi.react.esm.js","default":"./dist/pompelmi.react.esm.js","require":"./dist/pompelmi.react.cjs"},"./browser":{"types":"./dist/types/browser-index.d.ts","import":"./dist/pompelmi.browser.esm.js","default":"./dist/pompelmi.browser.esm.js","require":"./dist/pompelmi.browser.cjs"},"./quarantine":{"types":"./dist/types/quarantine/index.d.ts","import":"./dist/pompelmi.quarantine.esm.js","default":"./dist/pompelmi.quarantine.esm.js","require":"./dist/pompelmi.quarantine.cjs"},"./package.json":"./package.json","./policy-packs":{"types":"./dist/types/policy-packs.d.ts","import":"./dist/pompelmi.policy-packs.esm.js","default":"./dist/pompelmi.policy-packs.esm.js","require":"./dist/pompelmi.policy-packs.cjs"}},"funding":{"url":"https://github.com/sponsors/pompelmi","type":"github"},"gitHead":"5cb7432bae5cd4a1eeea9fa7b6c51975425b9dba","scripts":{"test":"vitest run --passWithNoTests","build":"rollup -c","clean":"rimraf dist","smoke":"node scripts/smoke.mjs","preview":"npm pack --dry-run","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","audit:exports":"ts-prune -p tsconfig.json || true","mentions:find":"node scripts/find-mentions.mjs","test:coverage":"vitest run --coverage --passWithNoTests","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build && npm run pack:strict","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","mentions:inject":"node scripts/inject-mentions-readme.mjs","mentions:render":"node scripts/render-mentions-readme.mjs","mentions:update":"npm run mentions:find && npm run mentions:render && npm run mentions:inject","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","test:coverage:ci":"vitest run --coverage --reporter=verbose --passWithNoTests","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.9.0","description":"In-process file upload security for Node.js — no cloud API, no daemon, no data egress. TypeScript-first library with Express, Next.js, NestJS, Fastify, Koa, and Nuxt/Nitro adapters. Features magic-byte MIME validation, ZIP bomb protection, YARA integratio","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"22.12.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^5.64.0","tsup":"^8","react":"^19.2.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:*","@vitest/coverage-v8":"^2","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.2.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.34.2_1773830978076_0.43945755826079713","host":"s3://npm-registry-packages-npm-production"}},"0.34.4":{"name":"pompelmi","version":"0.34.4","keywords":["secure-file-upload","file-upload-security","upload-security","upload-scanning","file-scanning","file-validation","malware-scanner","mime-sniffing","magic-bytes","archive-security","zip-bomb-protection","yara","yara-rules","local-first-security","self-hosted-security","nodejs-security","typescript","nodejs","express","nextjs","nestjs","fastify","koa","nuxt"],"author":{"name":"Tommaso Bertocchi"},"license":"MIT","_id":"pompelmi@0.34.4","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"db08b0a2a00096f983c2adc230a54d4db808e34c","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.34.4.tgz","fileCount":77,"integrity":"sha512-ikYfDzCFp1hGPjmxHgxNDC15ZB56vToZS6DdWIeNIi/UR6R3d50tfx6NfJOg9zSxjnmrICjcy+EXY7NCHh4WaQ==","signatures":[{"sig":"MEYCIQC8/xvCASOch2mwQT550RQQ/urhCTcqL1VIQqKO4yYwJQIhAMwJBUWutTg9kcja3F0/3mPKjBYs/vs+TaRGg9bNQnNj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1389497},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.21","react":"^19.2.0","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","react-dom":"^19.2.0","qs@<6.14.2":">=6.14.2","ajv@<8.18.0":">=8.18.0","h3@<=1.15.4":">=1.15.5","@types/react":"^19.2.0","astro@<5.14.3":">=5.14.3","astro@<5.15.8":">=5.15.8","astro@<5.15.9":">=5.15.9","multer@<2.0.2":">=2.0.2","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","astro@<=5.15.6":">=5.15.8","devalue@<5.3.2":">=5.3.2","fastify@<5.7.3":">=5.7.3","js-yaml@<3.14.2":">=3.14.2","@types/react-dom":"^19.2.0","esbuild@<=0.24.2":">=0.25.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","diff@>=5.0.0 <5.2.2":">=5.2.2","koa@>=2.16.2 <2.16.3":">=2.16.3","vite@>=6.0.0 <=6.3.5":">=6.3.6","vite@>=6.0.0 <=6.4.0":">=6.4.1","astro@>=5.2.0 <5.15.6":">=5.15.6","glob@>=10.2.0 <10.5.0":">=10.5.0","next@>=16.0.9 <16.1.5":">=16.1.5","regexpu-core>regjsgen":"0.8.0","astro@>=2.16.0 <5.15.5":">=5.15.5","devalue@>=5.1.0 <5.6.2":">=5.6.2","js-yaml@>=4.0.0 <4.1.1":">=4.1.1","katex@>=0.12.0 <=0.16.20":">=0.16.21","lodash@>=4.0.0 <=4.17.22":">=4.17.23","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","preact@>=10.28.0 <10.28.2":">=10.28.2","body-parser@>=2.2.0 <2.2.1":">=2.2.1","lodash-es@>=4.0.0 <=4.17.22":">=4.17.23","next@>=16.0.0-beta.0 <16.0.9":">=16.0.9","babel-plugin-polyfill-corejs3":"^0.13.0","next@>=16.0.0-canary.0 <16.0.7":">=16.0.7","@isaacs/brace-expansion@<=5.0.0":">=5.0.1","mdast-util-to-hast@>=13.0.0 <13.2.1":">=13.2.1","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/types/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"os":false,"path":false,"util":false,"yara":false,"crypto":false,"unzipper":false,"child_process":false},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./node":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./audit":{"types":"./dist/types/audit.d.ts","import":"./dist/pompelmi.audit.esm.js","default":"./dist/pompelmi.audit.esm.js","require":"./dist/pompelmi.audit.cjs"},"./hooks":{"types":"./dist/types/hooks.d.ts","import":"./dist/pompelmi.hooks.esm.js","default":"./dist/pompelmi.hooks.esm.js","require":"./dist/pompelmi.hooks.cjs"},"./react":{"types":"./dist/types/react-index.d.ts","import":"./dist/pompelmi.react.esm.js","default":"./dist/pompelmi.react.esm.js","require":"./dist/pompelmi.react.cjs"},"./browser":{"types":"./dist/types/browser-index.d.ts","import":"./dist/pompelmi.browser.esm.js","default":"./dist/pompelmi.browser.esm.js","require":"./dist/pompelmi.browser.cjs"},"./quarantine":{"types":"./dist/types/quarantine/index.d.ts","import":"./dist/pompelmi.quarantine.esm.js","default":"./dist/pompelmi.quarantine.esm.js","require":"./dist/pompelmi.quarantine.cjs"},"./package.json":"./package.json","./policy-packs":{"types":"./dist/types/policy-packs.d.ts","import":"./dist/pompelmi.policy-packs.esm.js","default":"./dist/pompelmi.policy-packs.esm.js","require":"./dist/pompelmi.policy-packs.cjs"}},"funding":{"url":"https://github.com/sponsors/pompelmi","type":"github"},"gitHead":"cc0973468d8c442c13e4ccf8831ef846289126dd","scripts":{"test":"vitest run --passWithNoTests","build":"rollup -c","clean":"rimraf dist","smoke":"node scripts/smoke.mjs","preview":"npm pack --dry-run","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","audit:exports":"ts-prune -p tsconfig.json || true","mentions:find":"node scripts/find-mentions.mjs","test:coverage":"vitest run --coverage --passWithNoTests","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build && npm run pack:strict","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","mentions:inject":"node scripts/inject-mentions-readme.mjs","mentions:render":"node scripts/render-mentions-readme.mjs","mentions:update":"npm run mentions:find && npm run mentions:render && npm run mentions:inject","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","test:coverage:ci":"vitest run --coverage --reporter=verbose --passWithNoTests","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.9.0","description":"Secure file uploads for Node.js. Scan untrusted files before storage with in-process, local-first checks for MIME spoofing, archive bombs, risky document structures, and optional YARA.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"22.12.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^5.64.0","tsup":"^8","react":"^19.2.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:*","@vitest/coverage-v8":"^2","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.2.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.34.4_1773939744391_0.17617646783872676","host":"s3://npm-registry-packages-npm-production"}},"0.34.5":{"name":"pompelmi","version":"0.34.5","keywords":["secure-file-upload","file-upload-security","upload-security","upload-scanning","file-scanning","file-validation","malware-scanner","mime-sniffing","magic-bytes","archive-security","zip-bomb-protection","yara","yara-rules","local-first-security","self-hosted-security","nodejs-security","typescript","nodejs","express","nextjs","nestjs","fastify","koa","nuxt"],"author":{"name":"Tommaso Bertocchi"},"license":"MIT","_id":"pompelmi@0.34.5","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"fc12fa825ce13c4bdafe3b5bdf34de8ba0cdd2b1","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.34.5.tgz","fileCount":77,"integrity":"sha512-csQ7qivty85Tpuwt5A/Oiem6AnipvswKLuxpWLf2cUZne5ciO1ZyKmqDQpjSVjyVooYCPeheJdq4ufL5SIjltA==","signatures":[{"sig":"MEUCIEc0ZcZxACeIYVs7KacfcyTiv4xmMdpPses2AouThhTrAiEA/hg/EgYJmDNQFzkM1YXowzRCtmBUop0zDZVbpgTW93k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1385585},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.21","react":"^19.2.0","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","react-dom":"^19.2.0","qs@<6.14.2":">=6.14.2","ajv@<8.18.0":">=8.18.0","h3@<=1.15.4":">=1.15.5","@types/react":"^19.2.0","astro@<5.14.3":">=5.14.3","astro@<5.15.8":">=5.15.8","astro@<5.15.9":">=5.15.9","multer@<2.0.2":">=2.0.2","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","astro@<=5.15.6":">=5.15.8","devalue@<5.3.2":">=5.3.2","fastify@<5.7.3":">=5.7.3","js-yaml@<3.14.2":">=3.14.2","@types/react-dom":"^19.2.0","esbuild@<=0.24.2":">=0.25.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","diff@>=5.0.0 <5.2.2":">=5.2.2","koa@>=2.16.2 <2.16.3":">=2.16.3","vite@>=6.0.0 <=6.3.5":">=6.3.6","vite@>=6.0.0 <=6.4.0":">=6.4.1","astro@>=5.2.0 <5.15.6":">=5.15.6","glob@>=10.2.0 <10.5.0":">=10.5.0","next@>=16.0.9 <16.1.5":">=16.1.5","regexpu-core>regjsgen":"0.8.0","astro@>=2.16.0 <5.15.5":">=5.15.5","devalue@>=5.1.0 <5.6.2":">=5.6.2","js-yaml@>=4.0.0 <4.1.1":">=4.1.1","katex@>=0.12.0 <=0.16.20":">=0.16.21","lodash@>=4.0.0 <=4.17.22":">=4.17.23","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","preact@>=10.28.0 <10.28.2":">=10.28.2","body-parser@>=2.2.0 <2.2.1":">=2.2.1","lodash-es@>=4.0.0 <=4.17.22":">=4.17.23","next@>=16.0.0-beta.0 <16.0.9":">=16.0.9","babel-plugin-polyfill-corejs3":"^0.13.0","next@>=16.0.0-canary.0 <16.0.7":">=16.0.7","@isaacs/brace-expansion@<=5.0.0":">=5.0.1","mdast-util-to-hast@>=13.0.0 <13.2.1":">=13.2.1","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/types/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"os":false,"path":false,"util":false,"yara":false,"crypto":false,"unzipper":false,"child_process":false},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./node":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./audit":{"types":"./dist/types/audit.d.ts","import":"./dist/pompelmi.audit.esm.js","default":"./dist/pompelmi.audit.esm.js","require":"./dist/pompelmi.audit.cjs"},"./hooks":{"types":"./dist/types/hooks.d.ts","import":"./dist/pompelmi.hooks.esm.js","default":"./dist/pompelmi.hooks.esm.js","require":"./dist/pompelmi.hooks.cjs"},"./react":{"types":"./dist/types/react-index.d.ts","import":"./dist/pompelmi.react.esm.js","default":"./dist/pompelmi.react.esm.js","require":"./dist/pompelmi.react.cjs"},"./browser":{"types":"./dist/types/browser-index.d.ts","import":"./dist/pompelmi.browser.esm.js","default":"./dist/pompelmi.browser.esm.js","require":"./dist/pompelmi.browser.cjs"},"./quarantine":{"types":"./dist/types/quarantine/index.d.ts","import":"./dist/pompelmi.quarantine.esm.js","default":"./dist/pompelmi.quarantine.esm.js","require":"./dist/pompelmi.quarantine.cjs"},"./package.json":"./package.json","./policy-packs":{"types":"./dist/types/policy-packs.d.ts","import":"./dist/pompelmi.policy-packs.esm.js","default":"./dist/pompelmi.policy-packs.esm.js","require":"./dist/pompelmi.policy-packs.cjs"}},"funding":{"url":"https://github.com/sponsors/pompelmi","type":"github"},"gitHead":"cce4828498078ef7722c4b45ef4f616b36f04a64","scripts":{"test":"vitest run --passWithNoTests","build":"rollup -c","clean":"rimraf dist","smoke":"node scripts/smoke.mjs","preview":"npm pack --dry-run","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","audit:exports":"ts-prune -p tsconfig.json || true","mentions:find":"node scripts/find-mentions.mjs","test:coverage":"vitest run --coverage --passWithNoTests","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build && npm run pack:strict","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","mentions:inject":"node scripts/inject-mentions-readme.mjs","mentions:render":"node scripts/render-mentions-readme.mjs","mentions:update":"npm run mentions:find && npm run mentions:render && npm run mentions:inject","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","test:coverage:ci":"vitest run --coverage --reporter=verbose --passWithNoTests","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.9.0","description":"Secure file uploads for Node.js. Scan untrusted files before storage with in-process, local-first checks for MIME spoofing, archive bombs, risky document structures, and optional YARA.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"22.12.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^5.64.0","tsup":"^8","react":"^19.2.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:*","@vitest/coverage-v8":"^2","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.2.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.34.5_1774011966511_0.20044739124011057","host":"s3://npm-registry-packages-npm-production"}},"0.34.6":{"name":"pompelmi","version":"0.34.6","keywords":["secure-file-upload","file-upload-security","upload-security","upload-scanning","file-scanning","file-validation","malware-scanner","mime-sniffing","magic-bytes","archive-security","zip-bomb-protection","yara","yara-rules","local-first-security","self-hosted-security","nodejs-security","typescript","nodejs","express","nextjs","nestjs","fastify","koa","nuxt"],"author":{"name":"Tommaso Bertocchi"},"license":"MIT","_id":"pompelmi@0.34.6","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"a3cd813d767ccd8d229e52dec835c0f01e9d3b69","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.34.6.tgz","fileCount":77,"integrity":"sha512-mLmsSZeahCpD3Qbtnu4nch22y4ERWP1xHooO0bviRD98xwtqz2re2XsLfaoIh1i0bRF5IJ/FjTHxhJ1/RG1/4w==","signatures":[{"sig":"MEUCIFAZPv/D7plIiWfyCe2pElb6V1su9fmcmIds1bjy+Ce8AiEAyPKDJbadMb+xyRA73bC0xeIYGk1DDaxYnG1eCqLSifI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1385652},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.21","react":"^19.2.0","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","react-dom":"^19.2.0","qs@<6.14.2":">=6.14.2","ajv@<8.18.0":">=8.18.0","h3@<=1.15.4":">=1.15.5","@types/react":"^19.2.0","astro@<5.14.3":">=5.14.3","astro@<5.15.8":">=5.15.8","astro@<5.15.9":">=5.15.9","multer@<2.0.2":">=2.0.2","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","astro@<=5.15.6":">=5.15.8","devalue@<5.3.2":">=5.3.2","fastify@<5.7.3":">=5.7.3","js-yaml@<3.14.2":">=3.14.2","@types/react-dom":"^19.2.0","esbuild@<=0.24.2":">=0.25.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","diff@>=5.0.0 <5.2.2":">=5.2.2","koa@>=2.16.2 <2.16.3":">=2.16.3","vite@>=6.0.0 <=6.3.5":">=6.3.6","vite@>=6.0.0 <=6.4.0":">=6.4.1","astro@>=5.2.0 <5.15.6":">=5.15.6","glob@>=10.2.0 <10.5.0":">=10.5.0","next@>=16.0.9 <16.1.5":">=16.1.5","regexpu-core>regjsgen":"0.8.0","astro@>=2.16.0 <5.15.5":">=5.15.5","devalue@>=5.1.0 <5.6.2":">=5.6.2","js-yaml@>=4.0.0 <4.1.1":">=4.1.1","katex@>=0.12.0 <=0.16.20":">=0.16.21","lodash@>=4.0.0 <=4.17.22":">=4.17.23","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","preact@>=10.28.0 <10.28.2":">=10.28.2","body-parser@>=2.2.0 <2.2.1":">=2.2.1","lodash-es@>=4.0.0 <=4.17.22":">=4.17.23","next@>=16.0.0-beta.0 <16.0.9":">=16.0.9","babel-plugin-polyfill-corejs3":"^0.13.0","next@>=16.0.0-canary.0 <16.0.7":">=16.0.7","@isaacs/brace-expansion@<=5.0.0":">=5.0.1","mdast-util-to-hast@>=13.0.0 <13.2.1":">=13.2.1","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/types/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"os":false,"path":false,"util":false,"yara":false,"crypto":false,"unzipper":false,"child_process":false},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./node":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./audit":{"types":"./dist/types/audit.d.ts","import":"./dist/pompelmi.audit.esm.js","default":"./dist/pompelmi.audit.esm.js","require":"./dist/pompelmi.audit.cjs"},"./hooks":{"types":"./dist/types/hooks.d.ts","import":"./dist/pompelmi.hooks.esm.js","default":"./dist/pompelmi.hooks.esm.js","require":"./dist/pompelmi.hooks.cjs"},"./react":{"types":"./dist/types/react-index.d.ts","import":"./dist/pompelmi.react.esm.js","default":"./dist/pompelmi.react.esm.js","require":"./dist/pompelmi.react.cjs"},"./browser":{"types":"./dist/types/browser-index.d.ts","import":"./dist/pompelmi.browser.esm.js","default":"./dist/pompelmi.browser.esm.js","require":"./dist/pompelmi.browser.cjs"},"./quarantine":{"types":"./dist/types/quarantine/index.d.ts","import":"./dist/pompelmi.quarantine.esm.js","default":"./dist/pompelmi.quarantine.esm.js","require":"./dist/pompelmi.quarantine.cjs"},"./package.json":"./package.json","./policy-packs":{"types":"./dist/types/policy-packs.d.ts","import":"./dist/pompelmi.policy-packs.esm.js","default":"./dist/pompelmi.policy-packs.esm.js","require":"./dist/pompelmi.policy-packs.cjs"}},"funding":{"url":"https://github.com/sponsors/pompelmi","type":"github"},"gitHead":"184dae6cdc2b8d50ac030eb741bdc4ccfd1616d6","scripts":{"test":"vitest run --passWithNoTests","build":"rollup -c","clean":"rimraf dist","smoke":"node scripts/smoke.mjs","preview":"npm pack --dry-run","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","audit:exports":"ts-prune -p tsconfig.json || true","mentions:find":"node scripts/find-mentions.mjs","test:coverage":"vitest run --coverage --passWithNoTests","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build && npm run pack:strict","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","mentions:inject":"node scripts/inject-mentions-readme.mjs","mentions:render":"node scripts/render-mentions-readme.mjs","mentions:update":"npm run mentions:find && npm run mentions:render && npm run mentions:inject","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","test:coverage:ci":"vitest run --coverage --reporter=verbose --passWithNoTests","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.9.0","description":"Secure file uploads for Node.js. Scan untrusted files before storage with in-process, local-first checks for MIME spoofing, archive bombs, risky document structures, and optional YARA.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"22.12.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^5.64.0","tsup":"^8","react":"^19.2.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:*","@vitest/coverage-v8":"^2","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.2.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.34.6_1774277539119_0.16716614758412218","host":"s3://npm-registry-packages-npm-production"}},"0.34.7":{"name":"pompelmi","version":"0.34.7","keywords":["secure-file-upload","file-upload-security","upload-security","upload-scanning","file-scanning","file-validation","malware-scanner","mime-sniffing","magic-bytes","archive-security","zip-bomb-protection","yara","yara-rules","local-first-security","self-hosted-security","nodejs-security","typescript","nodejs","express","nextjs","nestjs","fastify","koa","nuxt"],"author":{"name":"Tommaso Bertocchi"},"license":"MIT","_id":"pompelmi@0.34.7","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"6a4015c89735939e6b7e16d1ff16af30fec17e16","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.34.7.tgz","fileCount":77,"integrity":"sha512-AauYUbn1U2sMfMi5DTBsUlWmKkXSvsbRqX7Ep4oD/7GsFGzze/GK+bqkxLeI0RnBRq0vFVtx4z5GaMcESezECw==","signatures":[{"sig":"MEUCIQCTF1mWmEyhaOVlwa1pbqM/VLFTj46DXz01ZsyLtnVCDQIgJDa5yfPNIVYVjlejMezK+OLybrpLCzTTQwJUCyVJdC0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1424605},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.21","react":"^19.2.0","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","react-dom":"^19.2.0","qs@<6.14.2":">=6.14.2","ajv@<8.18.0":">=8.18.0","h3@<=1.15.4":">=1.15.5","@types/react":"^19.2.0","astro@<5.14.3":">=5.14.3","astro@<5.15.8":">=5.15.8","astro@<5.15.9":">=5.15.9","multer@<2.0.2":">=2.0.2","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","astro@<=5.15.6":">=5.15.8","devalue@<5.3.2":">=5.3.2","fastify@<5.7.3":">=5.7.3","js-yaml@<3.14.2":">=3.14.2","@types/react-dom":"^19.2.0","esbuild@<=0.24.2":">=0.25.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","diff@>=5.0.0 <5.2.2":">=5.2.2","koa@>=2.16.2 <2.16.3":">=2.16.3","vite@>=6.0.0 <=6.3.5":">=6.3.6","vite@>=6.0.0 <=6.4.0":">=6.4.1","astro@>=5.2.0 <5.15.6":">=5.15.6","glob@>=10.2.0 <10.5.0":">=10.5.0","next@>=16.0.9 <16.1.5":">=16.1.5","regexpu-core>regjsgen":"0.8.0","astro@>=2.16.0 <5.15.5":">=5.15.5","devalue@>=5.1.0 <5.6.2":">=5.6.2","js-yaml@>=4.0.0 <4.1.1":">=4.1.1","katex@>=0.12.0 <=0.16.20":">=0.16.21","lodash@>=4.0.0 <=4.17.22":">=4.17.23","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","preact@>=10.28.0 <10.28.2":">=10.28.2","body-parser@>=2.2.0 <2.2.1":">=2.2.1","lodash-es@>=4.0.0 <=4.17.22":">=4.17.23","next@>=16.0.0-beta.0 <16.0.9":">=16.0.9","babel-plugin-polyfill-corejs3":"^0.13.0","next@>=16.0.0-canary.0 <16.0.7":">=16.0.7","@isaacs/brace-expansion@<=5.0.0":">=5.0.1","mdast-util-to-hast@>=13.0.0 <13.2.1":">=13.2.1","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/types/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"os":false,"path":false,"util":false,"yara":false,"crypto":false,"unzipper":false,"child_process":false},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./node":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./audit":{"types":"./dist/types/audit.d.ts","import":"./dist/pompelmi.audit.esm.js","default":"./dist/pompelmi.audit.esm.js","require":"./dist/pompelmi.audit.cjs"},"./hooks":{"types":"./dist/types/hooks.d.ts","import":"./dist/pompelmi.hooks.esm.js","default":"./dist/pompelmi.hooks.esm.js","require":"./dist/pompelmi.hooks.cjs"},"./react":{"types":"./dist/types/react-index.d.ts","import":"./dist/pompelmi.react.esm.js","default":"./dist/pompelmi.react.esm.js","require":"./dist/pompelmi.react.cjs"},"./browser":{"types":"./dist/types/browser-index.d.ts","import":"./dist/pompelmi.browser.esm.js","default":"./dist/pompelmi.browser.esm.js","require":"./dist/pompelmi.browser.cjs"},"./quarantine":{"types":"./dist/types/quarantine/index.d.ts","import":"./dist/pompelmi.quarantine.esm.js","default":"./dist/pompelmi.quarantine.esm.js","require":"./dist/pompelmi.quarantine.cjs"},"./package.json":"./package.json","./policy-packs":{"types":"./dist/types/policy-packs.d.ts","import":"./dist/pompelmi.policy-packs.esm.js","default":"./dist/pompelmi.policy-packs.esm.js","require":"./dist/pompelmi.policy-packs.cjs"}},"funding":{"url":"https://github.com/sponsors/pompelmi","type":"github"},"gitHead":"a0502c87533bcac6cd774685c30d2b1c0b8e11bd","scripts":{"test":"vitest run --passWithNoTests","build":"rollup -c","clean":"rimraf dist","smoke":"node scripts/smoke.mjs","preview":"npm pack --dry-run","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","audit:exports":"ts-prune -p tsconfig.json || true","mentions:find":"node scripts/find-mentions.mjs","test:coverage":"vitest run --coverage --passWithNoTests","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build && npm run pack:strict","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","mentions:inject":"node scripts/inject-mentions-readme.mjs","mentions:render":"node scripts/render-mentions-readme.mjs","mentions:update":"npm run mentions:find && npm run mentions:render && npm run mentions:inject","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","test:coverage:ci":"vitest run --coverage --reporter=verbose --passWithNoTests","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.9.0","description":"Secure file uploads for Node.js. Scan untrusted files before storage with in-process, local-first checks for MIME spoofing, archive bombs, risky document structures, and optional YARA.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"22.12.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^5.64.0","tsup":"^8","react":"^19.2.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:*","@vitest/coverage-v8":"^2","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.2.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.34.7_1774376302516_0.7425551675026771","host":"s3://npm-registry-packages-npm-production"}},"0.34.8":{"name":"pompelmi","version":"0.34.8","keywords":["secure-file-upload","file-upload-security","upload-security","upload-scanning","file-scanning","file-validation","malware-scanner","mime-sniffing","magic-bytes","archive-security","zip-bomb-protection","yara","yara-rules","local-first-security","self-hosted-security","nodejs-security","typescript","nodejs","express","nextjs","nestjs","fastify","koa","nuxt"],"author":{"name":"Tommaso Bertocchi"},"license":"MIT","_id":"pompelmi@0.34.8","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"a302ce772770c325ba353ce82196690647d7de03","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.34.8.tgz","fileCount":77,"integrity":"sha512-e76zVmC1IdPGePFxb7q1cHnl7Qoli8pxFrS7yBAvkA21LREA1EMiKi83aCUq4CPg7vCuCQB6tf0B8mzXUXgnvg==","signatures":[{"sig":"MEUCIFH0kBfEndqmUQz3Onjh7ySqiw9YcXG+1+JWT8YuWOuWAiEA1c5OkYW6lPp3kT7B9+zmdZzVvwOt30l+/e0uFUHQDWo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1385652},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.21","react":"^19.2.0","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","react-dom":"^19.2.0","qs@<6.14.2":">=6.14.2","ajv@<8.18.0":">=8.18.0","h3@<=1.15.4":">=1.15.5","@types/react":"^19.2.0","astro@<5.14.3":">=5.14.3","astro@<5.15.8":">=5.15.8","astro@<5.15.9":">=5.15.9","multer@<2.0.2":">=2.0.2","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","astro@<=5.15.6":">=5.15.8","devalue@<5.3.2":">=5.3.2","fastify@<5.7.3":">=5.7.3","js-yaml@<3.14.2":">=3.14.2","@types/react-dom":"^19.2.0","esbuild@<=0.24.2":">=0.25.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","diff@>=5.0.0 <5.2.2":">=5.2.2","koa@>=2.16.2 <2.16.3":">=2.16.3","vite@>=6.0.0 <=6.3.5":">=6.3.6","vite@>=6.0.0 <=6.4.0":">=6.4.1","astro@>=5.2.0 <5.15.6":">=5.15.6","glob@>=10.2.0 <10.5.0":">=10.5.0","next@>=16.0.9 <16.1.5":">=16.1.5","regexpu-core>regjsgen":"0.8.0","astro@>=2.16.0 <5.15.5":">=5.15.5","devalue@>=5.1.0 <5.6.2":">=5.6.2","js-yaml@>=4.0.0 <4.1.1":">=4.1.1","katex@>=0.12.0 <=0.16.20":">=0.16.21","lodash@>=4.0.0 <=4.17.22":">=4.17.23","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","preact@>=10.28.0 <10.28.2":">=10.28.2","body-parser@>=2.2.0 <2.2.1":">=2.2.1","lodash-es@>=4.0.0 <=4.17.22":">=4.17.23","next@>=16.0.0-beta.0 <16.0.9":">=16.0.9","babel-plugin-polyfill-corejs3":"^0.13.0","next@>=16.0.0-canary.0 <16.0.7":">=16.0.7","@isaacs/brace-expansion@<=5.0.0":">=5.0.1","mdast-util-to-hast@>=13.0.0 <13.2.1":">=13.2.1","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/types/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"os":false,"path":false,"util":false,"yara":false,"crypto":false,"unzipper":false,"child_process":false},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./node":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./audit":{"types":"./dist/types/audit.d.ts","import":"./dist/pompelmi.audit.esm.js","default":"./dist/pompelmi.audit.esm.js","require":"./dist/pompelmi.audit.cjs"},"./hooks":{"types":"./dist/types/hooks.d.ts","import":"./dist/pompelmi.hooks.esm.js","default":"./dist/pompelmi.hooks.esm.js","require":"./dist/pompelmi.hooks.cjs"},"./react":{"types":"./dist/types/react-index.d.ts","import":"./dist/pompelmi.react.esm.js","default":"./dist/pompelmi.react.esm.js","require":"./dist/pompelmi.react.cjs"},"./browser":{"types":"./dist/types/browser-index.d.ts","import":"./dist/pompelmi.browser.esm.js","default":"./dist/pompelmi.browser.esm.js","require":"./dist/pompelmi.browser.cjs"},"./quarantine":{"types":"./dist/types/quarantine/index.d.ts","import":"./dist/pompelmi.quarantine.esm.js","default":"./dist/pompelmi.quarantine.esm.js","require":"./dist/pompelmi.quarantine.cjs"},"./package.json":"./package.json","./policy-packs":{"types":"./dist/types/policy-packs.d.ts","import":"./dist/pompelmi.policy-packs.esm.js","default":"./dist/pompelmi.policy-packs.esm.js","require":"./dist/pompelmi.policy-packs.cjs"}},"funding":{"url":"https://github.com/sponsors/pompelmi","type":"github"},"gitHead":"a352ba10b7ca565375003e9848cd00fd046b83f4","scripts":{"test":"vitest run --passWithNoTests","build":"rollup -c","clean":"rimraf dist","smoke":"node scripts/smoke.mjs","preview":"npm pack --dry-run","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","audit:exports":"ts-prune -p tsconfig.json || true","mentions:find":"node scripts/find-mentions.mjs","test:coverage":"vitest run --coverage --passWithNoTests","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build && npm run pack:strict","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","mentions:inject":"node scripts/inject-mentions-readme.mjs","mentions:render":"node scripts/render-mentions-readme.mjs","mentions:update":"npm run mentions:find && npm run mentions:render && npm run mentions:inject","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","test:coverage:ci":"vitest run --coverage --reporter=verbose --passWithNoTests","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.9.0","description":"Secure file uploads for Node.js. Scan untrusted files before storage with in-process, local-first checks for MIME spoofing, archive bombs, risky document structures, and optional YARA.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"22.12.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^5.64.0","tsup":"^8","react":"^19.2.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:*","@vitest/coverage-v8":"^2","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.2.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.34.8_1774445260892_0.5489238850493248","host":"s3://npm-registry-packages-npm-production"}},"0.34.9":{"name":"pompelmi","version":"0.34.9","keywords":["secure-file-upload","file-upload-security","upload-security","upload-scanning","file-scanning","file-validation","malware-scanner","mime-sniffing","magic-bytes","archive-security","zip-bomb-protection","yara","yara-rules","local-first-security","self-hosted-security","nodejs-security","typescript","nodejs","express","nextjs","nestjs","fastify","koa","nuxt"],"author":{"name":"Tommaso Bertocchi"},"license":"MIT","_id":"pompelmi@0.34.9","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"0d503da51b9f83c290d837c50dddb91e9007a17a","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.34.9.tgz","fileCount":77,"integrity":"sha512-NSNZmJhN3hSRJ8oie82s4PTflAII/HYcA9A9g2GfXBxU8EPbWEScXllk4ouXSeUEBE61m3gYqvSMr6y4EPwg0w==","signatures":[{"sig":"MEUCIHKderrNwH+vPCqYBf5X7IP5QNic1voGL7Xb990W+CSSAiEAllet2acc2G6CnOM7qISjIYCnboSTBUyQRuzedECB7Pk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1387591},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.21","react":"^19.2.0","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","react-dom":"^19.2.0","qs@<6.14.2":">=6.14.2","ajv@<8.18.0":">=8.18.0","h3@<=1.15.4":">=1.15.5","@types/react":"^19.2.0","astro@<5.14.3":">=5.14.3","astro@<5.15.8":">=5.15.8","astro@<5.15.9":">=5.15.9","multer@<2.0.2":">=2.0.2","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","astro@<=5.15.6":">=5.15.8","devalue@<5.3.2":">=5.3.2","fastify@<5.7.3":">=5.7.3","js-yaml@<3.14.2":">=3.14.2","@types/react-dom":"^19.2.0","esbuild@<=0.24.2":">=0.25.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","diff@>=5.0.0 <5.2.2":">=5.2.2","koa@>=2.16.2 <2.16.3":">=2.16.3","vite@>=6.0.0 <=6.3.5":">=6.3.6","vite@>=6.0.0 <=6.4.0":">=6.4.1","astro@>=5.2.0 <5.15.6":">=5.15.6","glob@>=10.2.0 <10.5.0":">=10.5.0","next@>=16.0.9 <16.1.5":">=16.1.5","regexpu-core>regjsgen":"0.8.0","astro@>=2.16.0 <5.15.5":">=5.15.5","devalue@>=5.1.0 <5.6.2":">=5.6.2","js-yaml@>=4.0.0 <4.1.1":">=4.1.1","katex@>=0.12.0 <=0.16.20":">=0.16.21","lodash@>=4.0.0 <=4.17.22":">=4.17.23","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","preact@>=10.28.0 <10.28.2":">=10.28.2","body-parser@>=2.2.0 <2.2.1":">=2.2.1","lodash-es@>=4.0.0 <=4.17.22":">=4.17.23","next@>=16.0.0-beta.0 <16.0.9":">=16.0.9","babel-plugin-polyfill-corejs3":"^0.13.0","next@>=16.0.0-canary.0 <16.0.7":">=16.0.7","@isaacs/brace-expansion@<=5.0.0":">=5.0.1","mdast-util-to-hast@>=13.0.0 <13.2.1":">=13.2.1","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/types/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"os":false,"path":false,"util":false,"yara":false,"crypto":false,"unzipper":false,"child_process":false},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./node":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./audit":{"types":"./dist/types/audit.d.ts","import":"./dist/pompelmi.audit.esm.js","default":"./dist/pompelmi.audit.esm.js","require":"./dist/pompelmi.audit.cjs"},"./hooks":{"types":"./dist/types/hooks.d.ts","import":"./dist/pompelmi.hooks.esm.js","default":"./dist/pompelmi.hooks.esm.js","require":"./dist/pompelmi.hooks.cjs"},"./react":{"types":"./dist/types/react-index.d.ts","import":"./dist/pompelmi.react.esm.js","default":"./dist/pompelmi.react.esm.js","require":"./dist/pompelmi.react.cjs"},"./browser":{"types":"./dist/types/browser-index.d.ts","import":"./dist/pompelmi.browser.esm.js","default":"./dist/pompelmi.browser.esm.js","require":"./dist/pompelmi.browser.cjs"},"./quarantine":{"types":"./dist/types/quarantine/index.d.ts","import":"./dist/pompelmi.quarantine.esm.js","default":"./dist/pompelmi.quarantine.esm.js","require":"./dist/pompelmi.quarantine.cjs"},"./package.json":"./package.json","./policy-packs":{"types":"./dist/types/policy-packs.d.ts","import":"./dist/pompelmi.policy-packs.esm.js","default":"./dist/pompelmi.policy-packs.esm.js","require":"./dist/pompelmi.policy-packs.cjs"}},"funding":{"url":"https://github.com/sponsors/pompelmi","type":"github"},"gitHead":"45d080ced583b6130a9bb90c90025add87b7e409","scripts":{"lint":"biome ci .","test":"vitest run --passWithNoTests","build":"rollup -c","clean":"rimraf dist","smoke":"node scripts/smoke.mjs","format":"biome format --write .","preview":"npm pack --dry-run","lint:fix":"biome check --write .","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","format:check":"biome format .","audit:exports":"ts-prune -p tsconfig.json || true","mentions:find":"node scripts/find-mentions.mjs","test:coverage":"vitest run --coverage --passWithNoTests","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build && npm run pack:strict","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","mentions:inject":"node scripts/inject-mentions-readme.mjs","mentions:render":"node scripts/render-mentions-readme.mjs","mentions:update":"npm run mentions:find && npm run mentions:render && npm run mentions:inject","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","test:coverage:ci":"vitest run --coverage --reporter=verbose --passWithNoTests","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.9.0","description":"Secure file uploads for Node.js. Scan untrusted files before storage with in-process, local-first checks for MIME spoofing, archive bombs, risky document structures, and optional YARA.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"22.12.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^5.64.0","tsup":"^8","react":"^19.2.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:*","@vitest/coverage-v8":"^2","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.2.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.34.9_1774629530350_0.8153875129960662","host":"s3://npm-registry-packages-npm-production"}},"0.34.10":{"name":"pompelmi","version":"0.34.10","keywords":["secure-file-upload","file-upload-security","upload-security","upload-scanning","file-scanning","file-validation","malware-scanner","mime-sniffing","magic-bytes","archive-security","zip-bomb-protection","yara","yara-rules","local-first-security","self-hosted-security","nodejs-security","typescript","nodejs","express","nextjs","nestjs","fastify","koa","nuxt"],"author":{"name":"Tommaso Bertocchi"},"license":"MIT","_id":"pompelmi@0.34.10","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"fbd35b30f2e046a7f868e251b91deed94a5c47f8","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.34.10.tgz","fileCount":77,"integrity":"sha512-h8Wqooi7X0ZDaayWGCJY/smvu4m+sVdsEA1h4jQxjk6HXJ34JJZ/Y/JYosDkrTgsd2V2IWwPuO+u90rkV8+Etw==","signatures":[{"sig":"MEUCIG086xjers/M4BCPgwi5kGzs4gvkrsOI9javm4yqw5a7AiEAyKan4L3WDBUw58Spjn1i9wcvn9ZEusj4OA93H28HKOs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1387754},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.21","react":"^19.2.0","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","react-dom":"^19.2.0","qs@<6.14.2":">=6.14.2","ajv@<8.18.0":">=8.18.0","h3@<=1.15.4":">=1.15.5","@types/react":"^19.2.0","astro@<5.14.3":">=5.14.3","astro@<5.15.8":">=5.15.8","astro@<5.15.9":">=5.15.9","multer@<2.0.2":">=2.0.2","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","astro@<=5.15.6":">=5.15.8","devalue@<5.3.2":">=5.3.2","fastify@<5.7.3":">=5.7.3","js-yaml@<3.14.2":">=3.14.2","@types/react-dom":"^19.2.0","esbuild@<=0.24.2":">=0.25.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","diff@>=5.0.0 <5.2.2":">=5.2.2","koa@>=2.16.2 <2.16.3":">=2.16.3","vite@>=6.0.0 <=6.3.5":">=6.3.6","vite@>=6.0.0 <=6.4.0":">=6.4.1","astro@>=5.2.0 <5.15.6":">=5.15.6","glob@>=10.2.0 <10.5.0":">=10.5.0","next@>=16.0.9 <16.1.5":">=16.1.5","regexpu-core>regjsgen":"0.8.0","astro@>=2.16.0 <5.15.5":">=5.15.5","devalue@>=5.1.0 <5.6.2":">=5.6.2","js-yaml@>=4.0.0 <4.1.1":">=4.1.1","katex@>=0.12.0 <=0.16.20":">=0.16.21","lodash@>=4.0.0 <=4.17.22":">=4.17.23","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","preact@>=10.28.0 <10.28.2":">=10.28.2","body-parser@>=2.2.0 <2.2.1":">=2.2.1","lodash-es@>=4.0.0 <=4.17.22":">=4.17.23","next@>=16.0.0-beta.0 <16.0.9":">=16.0.9","babel-plugin-polyfill-corejs3":"^0.13.0","next@>=16.0.0-canary.0 <16.0.7":">=16.0.7","@isaacs/brace-expansion@<=5.0.0":">=5.0.1","mdast-util-to-hast@>=13.0.0 <13.2.1":">=13.2.1","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/types/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"os":false,"path":false,"util":false,"yara":false,"crypto":false,"unzipper":false,"child_process":false},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./node":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./audit":{"types":"./dist/types/audit.d.ts","import":"./dist/pompelmi.audit.esm.js","default":"./dist/pompelmi.audit.esm.js","require":"./dist/pompelmi.audit.cjs"},"./hooks":{"types":"./dist/types/hooks.d.ts","import":"./dist/pompelmi.hooks.esm.js","default":"./dist/pompelmi.hooks.esm.js","require":"./dist/pompelmi.hooks.cjs"},"./react":{"types":"./dist/types/react-index.d.ts","import":"./dist/pompelmi.react.esm.js","default":"./dist/pompelmi.react.esm.js","require":"./dist/pompelmi.react.cjs"},"./browser":{"types":"./dist/types/browser-index.d.ts","import":"./dist/pompelmi.browser.esm.js","default":"./dist/pompelmi.browser.esm.js","require":"./dist/pompelmi.browser.cjs"},"./quarantine":{"types":"./dist/types/quarantine/index.d.ts","import":"./dist/pompelmi.quarantine.esm.js","default":"./dist/pompelmi.quarantine.esm.js","require":"./dist/pompelmi.quarantine.cjs"},"./package.json":"./package.json","./policy-packs":{"types":"./dist/types/policy-packs.d.ts","import":"./dist/pompelmi.policy-packs.esm.js","default":"./dist/pompelmi.policy-packs.esm.js","require":"./dist/pompelmi.policy-packs.cjs"}},"funding":{"url":"https://github.com/sponsors/pompelmi","type":"github"},"gitHead":"45d080ced583b6130a9bb90c90025add87b7e409","scripts":{"lint":"biome ci .","test":"vitest run --passWithNoTests","build":"rollup -c","clean":"rimraf dist","smoke":"node scripts/smoke.mjs","format":"biome format --write .","preview":"npm pack --dry-run","lint:fix":"biome check --write .","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","format:check":"biome format .","audit:exports":"ts-prune -p tsconfig.json || true","mentions:find":"node scripts/find-mentions.mjs","test:coverage":"vitest run --coverage --passWithNoTests","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build && npm run pack:strict","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","mentions:inject":"node scripts/inject-mentions-readme.mjs","mentions:render":"node scripts/render-mentions-readme.mjs","mentions:update":"npm run mentions:find && npm run mentions:render && npm run mentions:inject","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","test:coverage:ci":"vitest run --coverage --reporter=verbose --passWithNoTests","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.9.0","description":"Secure file uploads for Node.js. Scan untrusted files before storage with in-process, local-first checks for MIME spoofing, archive bombs, risky document structures, and optional YARA.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"22.12.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^5.64.0","tsup":"^8","react":"^19.2.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/node":"^24.3.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:*","@vitest/coverage-v8":"^2","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.2.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.34.10_1774803335299_0.10397642484682246","host":"s3://npm-registry-packages-npm-production"}},"0.35.0":{"name":"pompelmi","version":"0.35.0","keywords":["secure-file-upload","file-upload-security","upload-security","upload-scanning","file-scanning","file-validation","malware-scanner","mime-sniffing","magic-bytes","archive-security","zip-bomb-protection","yara","yara-rules","local-first-security","self-hosted-security","nodejs-security","typescript","nodejs","express","nextjs","nestjs","fastify","koa","nuxt"],"author":{"name":"Tommaso Bertocchi"},"license":"MIT","_id":"pompelmi@0.35.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"897120f937b5595b6138723e6128cf16593afc67","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.35.0.tgz","fileCount":122,"integrity":"sha512-kzPMhjQKQfWOGIffVGru+X7jFlADk0sWTnKJk7yOuaTJ2Bg2ZJHHZdV94VA+mge9ZCHUF1Zll6A4JwlRKCgajA==","signatures":[{"sig":"MEYCIQDcPiEp84gvjTqVckUG7lxJ+lhlR7VyeSTxKB8OZPUquQIhAJW+0XqS8e8LxWi7ppZMFbU5AGuH6qWqnWBdpVnv038w","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1492325},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.21","react":"^19.2.0","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","react-dom":"^19.2.0","qs@<6.14.2":">=6.14.2","ajv@<8.18.0":">=8.18.0","h3@<=1.15.4":">=1.15.5","@types/react":"^19.2.0","astro@<5.14.3":">=5.14.3","astro@<5.15.8":">=5.15.8","astro@<5.15.9":">=5.15.9","multer@<2.0.2":">=2.0.2","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","astro@<=5.15.6":">=5.15.8","devalue@<5.3.2":">=5.3.2","fastify@<5.7.3":">=5.7.3","js-yaml@<3.14.2":">=3.14.2","@types/react-dom":"^19.2.0","esbuild@<=0.24.2":">=0.25.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","diff@>=5.0.0 <5.2.2":">=5.2.2","koa@>=2.16.2 <2.16.3":">=2.16.3","vite@>=6.0.0 <=6.3.5":">=6.3.6","vite@>=6.0.0 <=6.4.0":">=6.4.1","astro@>=5.2.0 <5.15.6":">=5.15.6","glob@>=10.2.0 <10.5.0":">=10.5.0","next@>=16.0.9 <16.1.5":">=16.1.5","regexpu-core>regjsgen":"0.8.0","astro@>=2.16.0 <5.15.5":">=5.15.5","devalue@>=5.1.0 <5.6.2":">=5.6.2","js-yaml@>=4.0.0 <4.1.1":">=4.1.1","katex@>=0.12.0 <=0.16.20":">=0.16.21","lodash@>=4.0.0 <=4.17.22":">=4.17.23","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","preact@>=10.28.0 <10.28.2":">=10.28.2","body-parser@>=2.2.0 <2.2.1":">=2.2.1","lodash-es@>=4.0.0 <=4.17.22":">=4.17.23","next@>=16.0.0-beta.0 <16.0.9":">=16.0.9","babel-plugin-polyfill-corejs3":"^0.13.0","next@>=16.0.0-canary.0 <16.0.7":">=16.0.7","@isaacs/brace-expansion@<=5.0.0":">=5.0.1","mdast-util-to-hast@>=13.0.0 <13.2.1":">=13.2.1","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/types/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"os":false,"path":false,"util":false,"yara":false,"crypto":false,"unzipper":false,"child_process":false},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./node":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./audit":{"types":"./dist/types/audit.d.ts","import":"./dist/pompelmi.audit.esm.js","default":"./dist/pompelmi.audit.esm.js","require":"./dist/pompelmi.audit.cjs"},"./hooks":{"types":"./dist/types/hooks.d.ts","import":"./dist/pompelmi.hooks.esm.js","default":"./dist/pompelmi.hooks.esm.js","require":"./dist/pompelmi.hooks.cjs"},"./react":{"types":"./dist/types/react-index.d.ts","import":"./dist/pompelmi.react.esm.js","default":"./dist/pompelmi.react.esm.js","require":"./dist/pompelmi.react.cjs"},"./browser":{"types":"./dist/types/browser-index.d.ts","import":"./dist/pompelmi.browser.esm.js","default":"./dist/pompelmi.browser.esm.js","require":"./dist/pompelmi.browser.cjs"},"./quarantine":{"types":"./dist/types/quarantine/index.d.ts","import":"./dist/pompelmi.quarantine.esm.js","default":"./dist/pompelmi.quarantine.esm.js","require":"./dist/pompelmi.quarantine.cjs"},"./package.json":"./package.json","./policy-packs":{"types":"./dist/types/policy-packs.d.ts","import":"./dist/pompelmi.policy-packs.esm.js","default":"./dist/pompelmi.policy-packs.esm.js","require":"./dist/pompelmi.policy-packs.cjs"}},"funding":{"url":"https://github.com/sponsors/pompelmi","type":"github"},"gitHead":"c47f4c22809bc332f4b96008f42b560d2966ded3","scripts":{"lint":"biome ci .","test":"vitest run --passWithNoTests","build":"rollup -c","clean":"rimraf dist","smoke":"node scripts/smoke.mjs","format":"biome format --write .","preview":"npm pack --dry-run","lint:fix":"biome check --write .","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","format:check":"biome format .","audit:exports":"ts-prune -p tsconfig.json || true","mentions:find":"node scripts/find-mentions.mjs","test:coverage":"vitest run --coverage --passWithNoTests","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build && npm run pack:strict","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","mentions:inject":"node scripts/inject-mentions-readme.mjs","mentions:render":"node scripts/render-mentions-readme.mjs","mentions:update":"npm run mentions:find && npm run mentions:render && npm run mentions:inject","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","test:coverage:ci":"vitest run --coverage --reporter=verbose --passWithNoTests","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"11.11.0","description":"Secure file uploads for Node.js. Scan untrusted files before storage with in-process, local-first checks for MIME spoofing, archive bombs, risky document structures, and optional YARA.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^6.1.1","tsup":"^8","react":"^19.2.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"2.1.9","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^6.0.2","@types/cors":"^2.8.19","@types/node":"^25.5.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:*","@vitest/coverage-v8":"^4","@rollup/plugin-commonjs":"^29.0.2","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.2.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.35.0_1774978134815_0.20776813078194634","host":"s3://npm-registry-packages-npm-production"}},"0.35.1":{"name":"pompelmi","version":"0.35.1","keywords":["secure-file-upload","file-upload-security","upload-security","upload-scanning","file-scanning","file-validation","malware-scanner","mime-sniffing","magic-bytes","archive-security","zip-bomb-protection","yara","yara-rules","local-first-security","self-hosted-security","nodejs-security","typescript","nodejs","express","nextjs","nestjs","fastify","koa","nuxt"],"author":{"name":"Tommaso Bertocchi"},"license":"MIT","_id":"pompelmi@0.35.1","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"2530d3dfd6eb5228943db1684ca1eacec5f42c14","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.35.1.tgz","fileCount":122,"integrity":"sha512-qY6nCJJYjcHEazdd3TwjA7aGw2iphortIqwlh5ixOExtp/9PSgvnIAchxHuriUSDVDPDRcPDiaKbiIrxMz0rSw==","signatures":[{"sig":"MEYCIQC+RSJYM4AqeRax79q2AcABy6Skr+ZkZc/tF2t5FwcLrgIhAJiGYw3ZTAWQNiRNPrL3UE/faUp1cvguJtyq7azxfI0b","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1491771},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.21","react":"^19.2.0","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","react-dom":"^19.2.0","qs@<6.14.2":">=6.14.2","ajv@<8.18.0":">=8.18.0","h3@<=1.15.4":">=1.15.5","@types/react":"^19.2.0","astro@<5.14.3":">=5.14.3","astro@<5.15.8":">=5.15.8","astro@<5.15.9":">=5.15.9","multer@<2.0.2":">=2.0.2","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","astro@<=5.15.6":">=5.15.8","devalue@<5.3.2":">=5.3.2","fastify@<5.7.3":">=5.7.3","js-yaml@<3.14.2":">=3.14.2","@types/react-dom":"^19.2.0","esbuild@<=0.24.2":">=0.25.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","diff@>=5.0.0 <5.2.2":">=5.2.2","koa@>=2.16.2 <2.16.3":">=2.16.3","vite@>=6.0.0 <=6.3.5":">=6.3.6","vite@>=6.0.0 <=6.4.0":">=6.4.1","astro@>=5.2.0 <5.15.6":">=5.15.6","glob@>=10.2.0 <10.5.0":">=10.5.0","next@>=16.0.9 <16.1.5":">=16.1.5","regexpu-core>regjsgen":"0.8.0","astro@>=2.16.0 <5.15.5":">=5.15.5","devalue@>=5.1.0 <5.6.2":">=5.6.2","js-yaml@>=4.0.0 <4.1.1":">=4.1.1","katex@>=0.12.0 <=0.16.20":">=0.16.21","lodash@>=4.0.0 <=4.17.22":">=4.17.23","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","preact@>=10.28.0 <10.28.2":">=10.28.2","body-parser@>=2.2.0 <2.2.1":">=2.2.1","lodash-es@>=4.0.0 <=4.17.22":">=4.17.23","next@>=16.0.0-beta.0 <16.0.9":">=16.0.9","babel-plugin-polyfill-corejs3":"^0.13.0","next@>=16.0.0-canary.0 <16.0.7":">=16.0.7","@isaacs/brace-expansion@<=5.0.0":">=5.0.1","mdast-util-to-hast@>=13.0.0 <13.2.1":">=13.2.1","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/types/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"os":false,"path":false,"util":false,"yara":false,"crypto":false,"unzipper":false,"child_process":false},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./node":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./audit":{"types":"./dist/types/audit.d.ts","import":"./dist/pompelmi.audit.esm.js","default":"./dist/pompelmi.audit.esm.js","require":"./dist/pompelmi.audit.cjs"},"./hooks":{"types":"./dist/types/hooks.d.ts","import":"./dist/pompelmi.hooks.esm.js","default":"./dist/pompelmi.hooks.esm.js","require":"./dist/pompelmi.hooks.cjs"},"./react":{"types":"./dist/types/react-index.d.ts","import":"./dist/pompelmi.react.esm.js","default":"./dist/pompelmi.react.esm.js","require":"./dist/pompelmi.react.cjs"},"./browser":{"types":"./dist/types/browser-index.d.ts","import":"./dist/pompelmi.browser.esm.js","default":"./dist/pompelmi.browser.esm.js","require":"./dist/pompelmi.browser.cjs"},"./quarantine":{"types":"./dist/types/quarantine/index.d.ts","import":"./dist/pompelmi.quarantine.esm.js","default":"./dist/pompelmi.quarantine.esm.js","require":"./dist/pompelmi.quarantine.cjs"},"./package.json":"./package.json","./policy-packs":{"types":"./dist/types/policy-packs.d.ts","import":"./dist/pompelmi.policy-packs.esm.js","default":"./dist/pompelmi.policy-packs.esm.js","require":"./dist/pompelmi.policy-packs.cjs"}},"funding":{"url":"https://github.com/sponsors/pompelmi","type":"github"},"gitHead":"658a3f827ecd49fe95c143abe6adcf64f478fb85","scripts":{"lint":"biome ci .","test":"vitest run --passWithNoTests","build":"rollup -c","clean":"rimraf dist","smoke":"node scripts/smoke.mjs","format":"biome format --write .","preview":"npm pack --dry-run","lint:fix":"biome check --write .","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","format:check":"biome format .","audit:exports":"ts-prune -p tsconfig.json || true","mentions:find":"node scripts/find-mentions.mjs","test:coverage":"vitest run --coverage --passWithNoTests","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build && npm run pack:strict","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","mentions:inject":"node scripts/inject-mentions-readme.mjs","mentions:render":"node scripts/render-mentions-readme.mjs","mentions:update":"npm run mentions:find && npm run mentions:render && npm run mentions:inject","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","test:coverage:ci":"vitest run --coverage --reporter=verbose --passWithNoTests","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"11.11.0","description":"Secure file uploads for Node.js. Scan untrusted files before storage with in-process, local-first checks for MIME spoofing, archive bombs, risky document structures, and optional YARA.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^6.1.1","tsup":"^8","react":"^19.2.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"4.1.2","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^6.0.2","@types/cors":"^2.8.19","@types/node":"^25.5.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:*","@vitest/coverage-v8":"^4","@rollup/plugin-commonjs":"^29.0.2","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.2.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.35.1_1775074170286_0.023660307588905916","host":"s3://npm-registry-packages-npm-production"}},"0.35.2":{"name":"pompelmi","version":"0.35.2","keywords":["secure-file-upload","file-upload-security","upload-security","upload-scanning","file-scanning","file-validation","malware-scanner","mime-sniffing","magic-bytes","archive-security","zip-bomb-protection","yara","yara-rules","local-first-security","self-hosted-security","nodejs-security","typescript","nodejs","express","nextjs","nestjs","fastify","koa","nuxt"],"author":{"name":"Tommaso Bertocchi"},"license":"MIT","_id":"pompelmi@0.35.2","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"9dbdd3b0389aa52d786a5a0e8f3ba6f639d781fb","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.35.2.tgz","fileCount":122,"integrity":"sha512-UeEPG1PZ0UOQubPkJ+xEZX9LLTV+TudzZL9XztU6RQGBh/r18tRGeTWdBExYFPObCZQEOLa3t6/Qs4KLdO4w6Q==","signatures":[{"sig":"MEQCICCA2erUu47VmJYOIN3ihXn6yShU2DcUPtpq4X1Dpi4HAiBKzQ1/qwwZ8riBHsG+2SUNV53PmJybwwzsReHcYGEDrg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1490475},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.21","react":"^19.2.0","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","react-dom":"^19.2.0","qs@<6.14.2":">=6.14.2","ajv@<8.18.0":">=8.18.0","h3@<=1.15.4":">=1.15.5","@types/react":"^19.2.0","astro@<5.14.3":">=5.14.3","astro@<5.15.8":">=5.15.8","astro@<5.15.9":">=5.15.9","multer@<2.0.2":">=2.0.2","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","astro@<=5.15.6":">=5.15.8","devalue@<5.3.2":">=5.3.2","fastify@<5.7.3":">=5.7.3","js-yaml@<3.14.2":">=3.14.2","@types/react-dom":"^19.2.0","esbuild@<=0.24.2":">=0.25.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","diff@>=5.0.0 <5.2.2":">=5.2.2","koa@>=2.16.2 <2.16.3":">=2.16.3","vite@>=6.0.0 <=6.3.5":">=6.3.6","vite@>=6.0.0 <=6.4.0":">=6.4.1","astro@>=5.2.0 <5.15.6":">=5.15.6","glob@>=10.2.0 <10.5.0":">=10.5.0","next@>=16.0.9 <16.1.5":">=16.1.5","regexpu-core>regjsgen":"0.8.0","astro@>=2.16.0 <5.15.5":">=5.15.5","devalue@>=5.1.0 <5.6.2":">=5.6.2","js-yaml@>=4.0.0 <4.1.1":">=4.1.1","katex@>=0.12.0 <=0.16.20":">=0.16.21","lodash@>=4.0.0 <=4.17.22":">=4.17.23","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","preact@>=10.28.0 <10.28.2":">=10.28.2","body-parser@>=2.2.0 <2.2.1":">=2.2.1","lodash-es@>=4.0.0 <=4.17.22":">=4.17.23","next@>=16.0.0-beta.0 <16.0.9":">=16.0.9","babel-plugin-polyfill-corejs3":"^0.13.0","next@>=16.0.0-canary.0 <16.0.7":">=16.0.7","@isaacs/brace-expansion@<=5.0.0":">=5.0.1","mdast-util-to-hast@>=13.0.0 <13.2.1":">=13.2.1","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/types/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"os":false,"path":false,"util":false,"yara":false,"crypto":false,"unzipper":false,"child_process":false},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./node":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./audit":{"types":"./dist/types/audit.d.ts","import":"./dist/pompelmi.audit.esm.js","default":"./dist/pompelmi.audit.esm.js","require":"./dist/pompelmi.audit.cjs"},"./hooks":{"types":"./dist/types/hooks.d.ts","import":"./dist/pompelmi.hooks.esm.js","default":"./dist/pompelmi.hooks.esm.js","require":"./dist/pompelmi.hooks.cjs"},"./react":{"types":"./dist/types/react-index.d.ts","import":"./dist/pompelmi.react.esm.js","default":"./dist/pompelmi.react.esm.js","require":"./dist/pompelmi.react.cjs"},"./browser":{"types":"./dist/types/browser-index.d.ts","import":"./dist/pompelmi.browser.esm.js","default":"./dist/pompelmi.browser.esm.js","require":"./dist/pompelmi.browser.cjs"},"./quarantine":{"types":"./dist/types/quarantine/index.d.ts","import":"./dist/pompelmi.quarantine.esm.js","default":"./dist/pompelmi.quarantine.esm.js","require":"./dist/pompelmi.quarantine.cjs"},"./package.json":"./package.json","./policy-packs":{"types":"./dist/types/policy-packs.d.ts","import":"./dist/pompelmi.policy-packs.esm.js","default":"./dist/pompelmi.policy-packs.esm.js","require":"./dist/pompelmi.policy-packs.cjs"}},"funding":{"url":"https://github.com/sponsors/pompelmi","type":"github"},"gitHead":"22a3edf79037d59d8c3cddf45bfc46e04c0eec01","scripts":{"lint":"biome ci .","test":"vitest run --passWithNoTests","build":"rollup -c","clean":"rimraf dist","smoke":"node scripts/smoke.mjs","format":"biome format --write .","preview":"npm pack --dry-run","lint:fix":"biome check --write .","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","format:check":"biome format .","audit:exports":"ts-prune -p tsconfig.json || true","mentions:find":"node scripts/find-mentions.mjs","test:coverage":"vitest run --coverage --passWithNoTests","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build && npm run pack:strict","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","mentions:inject":"node scripts/inject-mentions-readme.mjs","mentions:render":"node scripts/render-mentions-readme.mjs","mentions:update":"npm run mentions:find && npm run mentions:render && npm run mentions:inject","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","test:coverage:ci":"vitest run --coverage --reporter=verbose --passWithNoTests","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"11.11.0","description":"Secure file uploads for Node.js. Scan untrusted files before storage with in-process, local-first checks for MIME spoofing, archive bombs, risky document structures, and optional YARA.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^6.1.1","tsup":"^8","react":"^19.2.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"4.1.2","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^6.0.2","@types/cors":"^2.8.19","@types/node":"^25.5.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:*","@vitest/coverage-v8":"^4","@rollup/plugin-commonjs":"^29.0.2","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.2.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.35.2_1775150054382_0.001491379192155362","host":"s3://npm-registry-packages-npm-production"}},"0.35.3":{"name":"pompelmi","version":"0.35.3","keywords":["secure-file-upload","file-upload-security","upload-security","upload-scanning","file-scanning","file-validation","malware-scanner","mime-sniffing","magic-bytes","archive-security","zip-bomb-protection","yara","yara-rules","local-first-security","self-hosted-security","nodejs-security","typescript","nodejs","express","nextjs","nestjs","fastify","koa","nuxt"],"author":{"name":"Tommaso Bertocchi"},"license":"MIT","_id":"pompelmi@0.35.3","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"9603b78845b8870f690eca376533b6dceff1cca3","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.35.3.tgz","fileCount":122,"integrity":"sha512-fQDlAoYFnir9vpvID5Svn8MZeRaMj/pUSlZGLKp/y5TnY9KxoFLzXtFkuV4xVamVdZsipQj1I31Ytd8lLYSPAA==","signatures":[{"sig":"MEYCIQCh9oQlVqOGFr0cxgxpq+xqVlq5JLk4FKXGv541NX+bigIhAM1W2IMqcdby4Qh44jtKLfJGrMbmFDuJO91C7E/n1ZhU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1492586},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.21","react":"^19.2.0","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","react-dom":"^19.2.0","qs@<6.14.2":">=6.14.2","ajv@<8.18.0":">=8.18.0","h3@<=1.15.4":">=1.15.5","@types/react":"^19.2.0","astro@<5.14.3":">=5.14.3","astro@<5.15.8":">=5.15.8","astro@<5.15.9":">=5.15.9","multer@<2.0.2":">=2.0.2","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","astro@<=5.15.6":">=5.15.8","devalue@<5.3.2":">=5.3.2","fastify@<5.7.3":">=5.7.3","js-yaml@<3.14.2":">=3.14.2","@types/react-dom":"^19.2.0","esbuild@<=0.24.2":">=0.25.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","diff@>=5.0.0 <5.2.2":">=5.2.2","koa@>=2.16.2 <2.16.3":">=2.16.3","vite@>=6.0.0 <=6.3.5":">=6.3.6","vite@>=6.0.0 <=6.4.0":">=6.4.1","astro@>=5.2.0 <5.15.6":">=5.15.6","glob@>=10.2.0 <10.5.0":">=10.5.0","next@>=16.0.9 <16.1.5":">=16.1.5","regexpu-core>regjsgen":"0.8.0","astro@>=2.16.0 <5.15.5":">=5.15.5","devalue@>=5.1.0 <5.6.2":">=5.6.2","js-yaml@>=4.0.0 <4.1.1":">=4.1.1","katex@>=0.12.0 <=0.16.20":">=0.16.21","lodash@>=4.0.0 <=4.17.22":">=4.17.23","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","preact@>=10.28.0 <10.28.2":">=10.28.2","body-parser@>=2.2.0 <2.2.1":">=2.2.1","lodash-es@>=4.0.0 <=4.17.22":">=4.17.23","next@>=16.0.0-beta.0 <16.0.9":">=16.0.9","babel-plugin-polyfill-corejs3":"^0.13.0","next@>=16.0.0-canary.0 <16.0.7":">=16.0.7","@isaacs/brace-expansion@<=5.0.0":">=5.0.1","mdast-util-to-hast@>=13.0.0 <13.2.1":">=13.2.1","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/types/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"os":false,"path":false,"util":false,"yara":false,"crypto":false,"unzipper":false,"child_process":false},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./node":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./audit":{"types":"./dist/types/audit.d.ts","import":"./dist/pompelmi.audit.esm.js","default":"./dist/pompelmi.audit.esm.js","require":"./dist/pompelmi.audit.cjs"},"./hooks":{"types":"./dist/types/hooks.d.ts","import":"./dist/pompelmi.hooks.esm.js","default":"./dist/pompelmi.hooks.esm.js","require":"./dist/pompelmi.hooks.cjs"},"./react":{"types":"./dist/types/react-index.d.ts","import":"./dist/pompelmi.react.esm.js","default":"./dist/pompelmi.react.esm.js","require":"./dist/pompelmi.react.cjs"},"./browser":{"types":"./dist/types/browser-index.d.ts","import":"./dist/pompelmi.browser.esm.js","default":"./dist/pompelmi.browser.esm.js","require":"./dist/pompelmi.browser.cjs"},"./quarantine":{"types":"./dist/types/quarantine/index.d.ts","import":"./dist/pompelmi.quarantine.esm.js","default":"./dist/pompelmi.quarantine.esm.js","require":"./dist/pompelmi.quarantine.cjs"},"./package.json":"./package.json","./policy-packs":{"types":"./dist/types/policy-packs.d.ts","import":"./dist/pompelmi.policy-packs.esm.js","default":"./dist/pompelmi.policy-packs.esm.js","require":"./dist/pompelmi.policy-packs.cjs"}},"funding":{"url":"https://github.com/sponsors/pompelmi","type":"github"},"gitHead":"91ba94596d203b6c43fad3b16c6dfda2bb5a88f6","scripts":{"lint":"biome ci .","test":"vitest run --passWithNoTests","build":"rollup -c","clean":"rimraf dist","smoke":"node scripts/smoke.mjs","format":"biome format --write .","preview":"npm pack --dry-run","lint:fix":"biome check --write .","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","format:check":"biome format .","audit:exports":"ts-prune -p tsconfig.json || true","mentions:find":"node scripts/find-mentions.mjs","test:coverage":"vitest run --coverage --passWithNoTests","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build && npm run pack:strict","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","mentions:inject":"node scripts/inject-mentions-readme.mjs","mentions:render":"node scripts/render-mentions-readme.mjs","mentions:update":"npm run mentions:find && npm run mentions:render && npm run mentions:inject","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","test:coverage:ci":"vitest run --coverage --reporter=verbose --passWithNoTests","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"11.11.0","description":"Inspect untrusted uploads before storage in Node.js. Open-source upload security with checks for spoofing, archive abuse, risky document and binary signals, and optional YARA.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^6.1.1","tsup":"^8","react":"^19.2.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"4.1.2","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^6.0.2","@types/cors":"^2.8.19","@types/node":"^25.5.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:*","@vitest/coverage-v8":"^4","@rollup/plugin-commonjs":"^29.0.2","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.2.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.35.3_1775246319276_0.760992967971466","host":"s3://npm-registry-packages-npm-production"}},"0.35.4":{"name":"pompelmi","version":"0.35.4","keywords":["secure-file-upload","file-upload-security","upload-security","upload-scanning","file-scanning","file-validation","malware-scanner","mime-sniffing","magic-bytes","archive-security","zip-bomb-protection","yara","yara-rules","local-first-security","self-hosted-security","nodejs-security","typescript","nodejs","express","nextjs","nestjs","fastify","koa","nuxt"],"author":{"name":"Tommaso Bertocchi"},"license":"MIT","_id":"pompelmi@0.35.4","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"577b0d236e31946af1963ee8e55bcb287e28a428","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.35.4.tgz","fileCount":122,"integrity":"sha512-JgLV11gbo8X5hSqH9PHJgdj92eC/d2318mG88du3c+0mQXUHO0k2SfWeocbVqTfvoJ0kYwjw2W3QNUIpWhHaQA==","signatures":[{"sig":"MEUCIFH+gBCbOowRbZ2MqMv7JzqUz0onZF516Hy8X/RPEGS/AiEA3FcazPVzJ8k5c1XIKd1dVVT3ApZfV1OlS/upsDkEw5E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1492254},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.21","react":"^19.2.0","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","react-dom":"^19.2.0","qs@<6.14.2":">=6.14.2","ajv@<8.18.0":">=8.18.0","h3@<=1.15.4":">=1.15.5","@types/react":"^19.2.0","astro@<5.14.3":">=5.14.3","astro@<5.15.8":">=5.15.8","astro@<5.15.9":">=5.15.9","multer@<2.0.2":">=2.0.2","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","astro@<=5.15.6":">=5.15.8","devalue@<5.3.2":">=5.3.2","fastify@<5.7.3":">=5.7.3","js-yaml@<3.14.2":">=3.14.2","@types/react-dom":"^19.2.0","esbuild@<=0.24.2":">=0.25.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","diff@>=5.0.0 <5.2.2":">=5.2.2","koa@>=2.16.2 <2.16.3":">=2.16.3","vite@>=6.0.0 <=6.3.5":">=6.3.6","vite@>=6.0.0 <=6.4.0":">=6.4.1","astro@>=5.2.0 <5.15.6":">=5.15.6","glob@>=10.2.0 <10.5.0":">=10.5.0","next@>=16.0.9 <16.1.5":">=16.1.5","regexpu-core>regjsgen":"0.8.0","astro@>=2.16.0 <5.15.5":">=5.15.5","devalue@>=5.1.0 <5.6.2":">=5.6.2","js-yaml@>=4.0.0 <4.1.1":">=4.1.1","katex@>=0.12.0 <=0.16.20":">=0.16.21","lodash@>=4.0.0 <=4.17.22":">=4.17.23","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","preact@>=10.28.0 <10.28.2":">=10.28.2","body-parser@>=2.2.0 <2.2.1":">=2.2.1","lodash-es@>=4.0.0 <=4.17.22":">=4.17.23","next@>=16.0.0-beta.0 <16.0.9":">=16.0.9","babel-plugin-polyfill-corejs3":"^0.13.0","next@>=16.0.0-canary.0 <16.0.7":">=16.0.7","@isaacs/brace-expansion@<=5.0.0":">=5.0.1","mdast-util-to-hast@>=13.0.0 <13.2.1":">=13.2.1","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/types/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"os":false,"path":false,"util":false,"yara":false,"crypto":false,"unzipper":false,"child_process":false},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./node":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./audit":{"types":"./dist/types/audit.d.ts","import":"./dist/pompelmi.audit.esm.js","default":"./dist/pompelmi.audit.esm.js","require":"./dist/pompelmi.audit.cjs"},"./hooks":{"types":"./dist/types/hooks.d.ts","import":"./dist/pompelmi.hooks.esm.js","default":"./dist/pompelmi.hooks.esm.js","require":"./dist/pompelmi.hooks.cjs"},"./react":{"types":"./dist/types/react-index.d.ts","import":"./dist/pompelmi.react.esm.js","default":"./dist/pompelmi.react.esm.js","require":"./dist/pompelmi.react.cjs"},"./browser":{"types":"./dist/types/browser-index.d.ts","import":"./dist/pompelmi.browser.esm.js","default":"./dist/pompelmi.browser.esm.js","require":"./dist/pompelmi.browser.cjs"},"./quarantine":{"types":"./dist/types/quarantine/index.d.ts","import":"./dist/pompelmi.quarantine.esm.js","default":"./dist/pompelmi.quarantine.esm.js","require":"./dist/pompelmi.quarantine.cjs"},"./package.json":"./package.json","./policy-packs":{"types":"./dist/types/policy-packs.d.ts","import":"./dist/pompelmi.policy-packs.esm.js","default":"./dist/pompelmi.policy-packs.esm.js","require":"./dist/pompelmi.policy-packs.cjs"}},"funding":{"url":"https://github.com/sponsors/pompelmi","type":"github"},"gitHead":"ccd9f0a6cb17086f9b3e593eefc75dd4a813c2b0","scripts":{"lint":"biome ci .","test":"vitest run --passWithNoTests","build":"rollup -c","clean":"rimraf dist","smoke":"node scripts/smoke.mjs","format":"biome format --write .","preview":"npm pack --dry-run","lint:fix":"biome check --write .","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","format:check":"biome format .","audit:exports":"ts-prune -p tsconfig.json || true","mentions:find":"node scripts/find-mentions.mjs","test:coverage":"vitest run --coverage --passWithNoTests","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build && npm run pack:strict","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","mentions:inject":"node scripts/inject-mentions-readme.mjs","mentions:render":"node scripts/render-mentions-readme.mjs","mentions:update":"npm run mentions:find && npm run mentions:render && npm run mentions:inject","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","test:coverage:ci":"vitest run --coverage --reporter=verbose --passWithNoTests","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"11.11.0","description":"Inspect untrusted uploads before storage in Node.js. Open-source upload security with checks for spoofing, archive abuse, risky document and binary signals, and optional YARA.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^6.1.1","tsup":"^8","react":"^19.2.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"4.1.2","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^6.0.2","@types/cors":"^2.8.19","@types/node":"^25.5.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:*","@vitest/coverage-v8":"^4","@rollup/plugin-commonjs":"^29.0.2","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.2.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.35.4_1775644593804_0.29241927703772097","host":"s3://npm-registry-packages-npm-production"}},"0.35.5":{"name":"pompelmi","version":"0.35.5","keywords":["secure-file-upload","file-upload-security","upload-security","upload-scanning","file-scanning","file-validation","malware-scanner","mime-sniffing","magic-bytes","archive-security","zip-bomb-protection","yara","yara-rules","local-first-security","self-hosted-security","nodejs-security","typescript","nodejs","express","nextjs","nestjs","fastify","koa","nuxt"],"author":{"name":"Tommaso Bertocchi"},"license":"MIT","_id":"pompelmi@0.35.5","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.github.io/pompelmi/","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"d164435555f8caca7e75dd96fbd0dfe0bdc756d7","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-0.35.5.tgz","fileCount":122,"integrity":"sha512-4oLKRQV58PNQcEXp5xI4DBVBu8p3w/ni0ArfgXl+gQpJ2Wt02hA8cebhFpbgLsDlsvUtMzkFVJxwPSZ4FFwF4A==","signatures":[{"sig":"MEUCIQDnsxCYTE9z6EL9EccU0jqoYlxU/+uJw2xS2VmbEHouMAIgXWan6OpnbxLng6oJXYxC72ox3UskrsM3V+K/536MbpA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1545011},"main":"./dist/pompelmi.cjs","pnpm":{"overrides":{"katex":"0.16.21","react":"^19.2.0","fflate":"0.8.2","vitest":"2.1.9","process":"0.11.10","pompelmi":"workspace:*","regjsgen":"0.8.0","react-dom":"^19.2.0","qs@<6.14.2":">=6.14.2","ajv@<8.18.0":">=8.18.0","h3@<=1.15.4":">=1.15.5","@types/react":"^19.2.0","astro@<5.14.3":">=5.14.3","astro@<5.15.8":">=5.15.8","astro@<5.15.9":">=5.15.9","multer@<2.0.2":">=2.0.2","@pompelmi/core":"workspace:*","@types/cookies":"0.9.1","astro@<=5.15.6":">=5.15.8","devalue@<5.3.2":">=5.3.2","fastify@<5.7.3":">=5.7.3","js-yaml@<3.14.2":">=3.14.2","@types/react-dom":"^19.2.0","esbuild@<=0.24.2":">=0.25.0","file-type>fflate":"0.8.2","@vitest/coverage-v8":"2.1.9","diff@>=5.0.0 <5.2.2":">=5.2.2","koa@>=2.16.2 <2.16.3":">=2.16.3","vite@>=6.0.0 <=6.3.5":">=6.3.6","vite@>=6.0.0 <=6.4.0":">=6.4.1","astro@>=5.2.0 <5.15.6":">=5.15.6","glob@>=10.2.0 <10.5.0":">=10.5.0","next@>=16.0.9 <16.1.5":">=16.1.5","regexpu-core>regjsgen":"0.8.0","astro@>=2.16.0 <5.15.5":">=5.15.5","devalue@>=5.1.0 <5.6.2":">=5.6.2","js-yaml@>=4.0.0 <4.1.1":">=4.1.1","katex@>=0.12.0 <=0.16.20":">=0.16.21","lodash@>=4.0.0 <=4.17.22":">=4.17.23","@tokenizer/inflate>fflate":"0.8.2","@types/koa>@types/cookies":"0.9.1","preact@>=10.28.0 <10.28.2":">=10.28.2","body-parser@>=2.2.0 <2.2.1":">=2.2.1","lodash-es@>=4.0.0 <=4.17.22":">=4.17.23","next@>=16.0.0-beta.0 <16.0.9":">=16.0.9","babel-plugin-polyfill-corejs3":"^0.13.0","next@>=16.0.0-canary.0 <16.0.7":">=16.0.7","@isaacs/brace-expansion@<=5.0.0":">=5.0.1","mdast-util-to-hast@>=13.0.0 <13.2.1":">=13.2.1","@babel/helper-create-regexp-features-plugin>regjsgen":"0.8.0"}},"type":"module","types":"./dist/types/index.d.ts","module":"./dist/pompelmi.esm.js","browser":{"os":false,"path":false,"util":false,"yara":false,"crypto":false,"unzipper":false,"child_process":false},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./node":{"types":"./dist/types/index.d.ts","import":"./dist/pompelmi.esm.js","default":"./dist/pompelmi.esm.js","require":"./dist/pompelmi.cjs"},"./audit":{"types":"./dist/types/audit.d.ts","import":"./dist/pompelmi.audit.esm.js","default":"./dist/pompelmi.audit.esm.js","require":"./dist/pompelmi.audit.cjs"},"./hooks":{"types":"./dist/types/hooks.d.ts","import":"./dist/pompelmi.hooks.esm.js","default":"./dist/pompelmi.hooks.esm.js","require":"./dist/pompelmi.hooks.cjs"},"./react":{"types":"./dist/types/react-index.d.ts","import":"./dist/pompelmi.react.esm.js","default":"./dist/pompelmi.react.esm.js","require":"./dist/pompelmi.react.cjs"},"./browser":{"types":"./dist/types/browser-index.d.ts","import":"./dist/pompelmi.browser.esm.js","default":"./dist/pompelmi.browser.esm.js","require":"./dist/pompelmi.browser.cjs"},"./quarantine":{"types":"./dist/types/quarantine/index.d.ts","import":"./dist/pompelmi.quarantine.esm.js","default":"./dist/pompelmi.quarantine.esm.js","require":"./dist/pompelmi.quarantine.cjs"},"./package.json":"./package.json","./policy-packs":{"types":"./dist/types/policy-packs.d.ts","import":"./dist/pompelmi.policy-packs.esm.js","default":"./dist/pompelmi.policy-packs.esm.js","require":"./dist/pompelmi.policy-packs.cjs"}},"funding":{"url":"https://github.com/sponsors/pompelmi","type":"github"},"gitHead":"781d41589d97741f48cf8c5b793da9b4ae6201fc","scripts":{"lint":"biome ci .","test":"vitest run --passWithNoTests","build":"rollup -c","clean":"rimraf dist","smoke":"node scripts/smoke.mjs","format":"biome format --write .","preview":"npm pack --dry-run","lint:fix":"biome check --write .","test:e2e":"node scripts/e2e.mjs","pack:list":"pnpm -r --filter \"@pompelmi/*\" --if-present pack --json --dry-run","typecheck":"tsc -p tsconfig.json --noEmit || tsc -p tsconfig.build.json --noEmit","audit:code":"knip --reporter compact || true","audit:deps":"depcheck --skip-missing true || true","build:core":"pnpm -r --filter '!./examples/*' --if-present build","dev:remote":"tsx examples/remote-yara-server.ts","docs:build":"hugo -s docs -D -d docs","pack:check":"node scripts/pack-check.mjs","repo:audit":"node scripts/audit.mjs","yara:check":"node scripts/yara-quick-check-cli.mjs","docs:deploy":"gh-pages -d docs -b gh-pages","pack:strict":"node scripts/pack-check.mjs --strict","repo:doctor":"pnpm install --frozen-lockfile && pnpm -r --if-present build && pnpm -r --if-present test && npm run -s preview || true && node scripts/smoke.mjs && node scripts/e2e.mjs || true","format:check":"biome format .","audit:exports":"ts-prune -p tsconfig.json || true","mentions:find":"node scripts/find-mentions.mjs","test:coverage":"vitest run --coverage --passWithNoTests","predocs:deploy":"npm run docs:build","prepublishOnly":"npm run build && npm run pack:strict","yara:int:smoke":"tsx scripts/yara-integration-smoke.ts","mentions:inject":"node scripts/inject-mentions-readme.mjs","mentions:render":"node scripts/render-mentions-readme.mjs","mentions:update":"npm run mentions:find && npm run mentions:render && npm run mentions:inject","yara:node:smoke":"tsx scripts/yara-node-smoke.ts","test:coverage:ci":"vitest run --coverage --reporter=verbose --passWithNoTests","typecheck:strict":"tsc -p tsconfig.strict.json --noEmit"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"deprecated":"v0.x is an experimental prototype. Pompelmi is pivoting to a simple, non-blocking utility wrapper in v1.0. Do not use v0.x in production.","repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"11.11.0","description":"Inspect untrusted uploads before storage in Node.js. Open-source upload security with checks for spoofing, archive abuse, risky document and binary signals, and optional YARA.","directories":{"example":"examples"},"resolutions":{"process":"0.11.10"},"sideEffects":false,"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.20.3","cors":"^2.8.5","knip":"^6.1.1","tsup":"^8","react":"^19.2.0","tslib":"^2.8.1","multer":"^2.0.2","rollup":"^4.x","vitest":"4.1.2","express":"^5.1.0","depcheck":"^1.4.7","gh-pages":"^6.3.0","ts-prune":"^0.10.3","typescript":"^6.0.2","@types/cors":"^2.8.19","@types/node":"^25.5.0","@types/react":"^19.1.8","@types/multer":"^2.0.0","@biomejs/biome":"^2.2.4","@pompelmi/core":"workspace:*","@types/express":"^5.0.3","@types/unzipper":"^0.10.11","@pompelmi/engine":"workspace:*","@vitest/coverage-v8":"^4","@rollup/plugin-commonjs":"^29.0.2","@rollup/plugin-typescript":"^12.1.4","@pompelmi/engine-heuristics":"workspace:^0.2.0","@rollup/plugin-node-resolve":"^16.0.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@litko/yara-x":"^0.2.1"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_0.35.5_1775801081948_0.7997823957116166","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"pompelmi","version":"1.0.0","keywords":["clamav","antivirus","malware","virus","scan","security","file-scan"],"author":{"name":"pompelmi contributors"},"license":"ISC","_id":"pompelmi@1.0.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.app","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"f394b8e76203ba822e75dfd898a80002d54d5b9b","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-1.0.0.tgz","fileCount":14,"integrity":"sha512-I7E4lf+4g/sHNdLqMHACu8nAd62svdARZwaLZ7ZfimazdsWLa0oOKKpfJ2rb+t3kK/uZd3zpt0AFgd+XgKts1A==","signatures":[{"sig":"MEUCIDnr7dnZnXMjavvJlGOFMDAli2OeD3OHPElH8GoDfQDOAiEAsb0qHqxiSHtPISgS4xe8T3uE5Com4CttRSNynq+8dag=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2556650},"main":"./src/index.js","type":"commonjs","gitHead":"1aea0b426feaee848e8b83c9f4b8c20b3b3458ae","scripts":{"lint":"eslint src/","test":"node --test test/unit.test.js && node test/scan.test.js"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"11.11.0","description":"ClamAV for humans — scan any file and get back Clean, Malicious, or ScanError. No daemons. No cloud. No native bindings.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"cross-spawn":"^7.0.6"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.2.0","globals":"^17.4.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_1.0.0_1775981837361_0.11605229272866446","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"pompelmi","version":"1.1.0","keywords":["clamav","antivirus","malware","virus","scan","security","file-scan"],"author":{"name":"pompelmi contributors"},"license":"ISC","_id":"pompelmi@1.1.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.app","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"6c079569d862891020f05361e1093a5c9869523f","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-1.1.0.tgz","fileCount":16,"integrity":"sha512-WaYVcp5FavX6g/FzEOpjgaKLRkMrnFsJJCTNQJDlPNdmzQbnclUAfTYakAuvvSJ+BFh/7k4TVeIzGkzNbolVRQ==","signatures":[{"sig":"MEUCIQCoOjdV5IZqyG/hgGM7VbnR+GC9CXzsWEfJZBxx/Ok41gIgK2y4NVQRv7GY2mweWmO87pN+JNxf1k7LENlD3VjLd9M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2563979},"main":"./src/index.js","type":"commonjs","gitHead":"9d1df339c0f628a16047e9f4b3411eee61c52b8e","scripts":{"lint":"eslint src/","test":"node --test test/unit.test.js && node test/scan.test.js"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"11.11.0","description":"ClamAV for humans — scan any file and get back Clean, Malicious, or ScanError. No daemons. No cloud. No native bindings.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"cross-spawn":"^7.0.6"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.2.0","globals":"^17.4.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_1.1.0_1776007695517_0.6851300255964474","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"pompelmi","version":"1.2.0","keywords":["clamav","antivirus","malware","virus","scan","security","file-scan"],"author":{"name":"pompelmi contributors"},"license":"ISC","_id":"pompelmi@1.2.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.app","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"4bda20d55c8b5947dd3421b64365a642b2a42f1b","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-1.2.0.tgz","fileCount":18,"integrity":"sha512-WXNI2kW8RUdDDoJdptUu1GIOWXnJrm1JOmWYTbAxaScFHejGYc/sKSI+98WCxTaq43ryw+8ghqXVzj73dbKhIQ==","signatures":[{"sig":"MEUCIFwshIQUOXU69/Q1KsNBXcoiA7wKr6PpS/HwGDFSn/GMAiEAu68ui2Csr3jX2VJalGrtnVG49Dzb+FlFrhWbmxfg/Dc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2566310},"main":"./src/index.js","type":"commonjs","gitHead":"f8c47aac357dd773c9ae4c6930cadc2039ccdb8d","scripts":{"lint":"eslint src/","test":"node --test test/unit.test.js && node test/scan.test.js"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"11.11.0","description":"ClamAV for humans — scan any file and get back Clean, Malicious, or ScanError. No daemons. No cloud. No native bindings.","directories":{},"_nodeVersion":"24.14.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.2.0","globals":"^17.4.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_1.2.0_1776261426261_0.7894101792723314","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"pompelmi","version":"1.2.1","keywords":["clamav","antivirus","malware","virus-scan","file-scan","security","clamscan","malware-detection","virus-detection","file-upload-security","upload-scan","nodejs-security","clamd","eicar","zero-dependencies"],"author":{"name":"pompelmi contributors"},"license":"ISC","_id":"pompelmi@1.2.1","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.app","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"c8ea31cc4bf5cc75b35ea985075bcfffb9f86361","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-1.2.1.tgz","fileCount":20,"integrity":"sha512-jOYcFhBtIYYynIQ3Gl6cBcvP2ew6xihqAy4WL5C+KY8cX7V3Sm3lpO4euki4r+yoTSDO55yYJzS1G5upNvaXcw==","signatures":[{"sig":"MEYCIQCqLsMuutPIqkmFo8bptrbpbhvtQcSFQ+4yrk3a00Z2rAIhANqW2WL++tr0E2AvToEgPR9K8ihISkufUPHw/rYLOTAt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2572551},"main":"./src/index.js","type":"commonjs","gitHead":"6a8a1a56c4bbaa22303995bd5d88448bab8051ff","scripts":{"lint":"eslint src/","test":"node --test test/unit.test.js && node test/scan.test.js"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"11.11.0","description":"ClamAV for humans — scan any file and get back Clean, Malicious, or ScanError. No daemons. No cloud. No native bindings.","directories":{},"_nodeVersion":"24.14.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.2.0","globals":"^17.4.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_1.2.1_1776688563674_0.37762959690914055","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"pompelmi","version":"1.2.2","keywords":["clamav","antivirus","malware","virus-scan","file-scan","security","clamscan","malware-detection","virus-detection","file-upload-security","upload-scan","nodejs-security","clamd","eicar","zero-dependencies"],"author":{"name":"pompelmi contributors"},"license":"ISC","_id":"pompelmi@1.2.2","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.app","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"09e2ebdf6b9a51520efd1438245ee14cc3574763","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-1.2.2.tgz","fileCount":20,"integrity":"sha512-SP4JVsuf8VZyPHrrNy4FE92kydznxhxh63D89AHGMXL5GuIq3ffXl0C7ZUQAX22Y1gR1Vmjd6CtdxMxVLOEPeQ==","signatures":[{"sig":"MEYCIQDeCsOSa3ASo7cKLzfGwWIFqmSUffHXLhmjuUQ9ZOAwZgIhAO1xDeSn0zkEdWztiJABjf9r3054IBz4fvKq3rlV4163","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2576341},"main":"./src/index.js","type":"commonjs","gitHead":"443e8a18f52ba8a9ed1cc9f3976007c7a9b55607","scripts":{"lint":"eslint src/","test":"node --test test/unit.test.js && node test/scan.test.js"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"11.11.0","description":"ClamAV for humans — scan any file and get back Clean, Malicious, or ScanError. No daemons. No cloud. No native bindings.","directories":{},"_nodeVersion":"24.14.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.2.0","globals":"^17.4.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_1.2.2_1777144819213_0.6864199363559791","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"pompelmi","version":"1.2.3","keywords":["clamav","antivirus","malware","virus-scan","file-scan","security","clamscan","malware-detection","virus-detection","file-upload-security","upload-scan","nodejs-security","clamd","eicar","zero-dependencies"],"author":{"name":"pompelmi contributors"},"license":"ISC","_id":"pompelmi@1.2.3","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.app","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"ddf410f0b57ee5d51809650ace5d7dc4628415c1","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-1.2.3.tgz","fileCount":20,"integrity":"sha512-DEoO0NHPpbNrbBcP0Bt6Lw5GyqiMdvwFvQkTi2iAKj1jXXTNtag/BakeLEFXHiTKdPDZnuzH7UfoJxFk0t41HQ==","signatures":[{"sig":"MEQCIDthL+67M480c8whjjiXpQX+ZwDsQFN5OINcymXZhO37AiBNOU/MNgqOCQ5ZtEHyIwnX7bl5DgxmPO8fZCJRC7XTUA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2576366},"main":"./src/index.js","type":"commonjs","gitHead":"458ed30f5c18719823a4437493b0775f1384e2ab","scripts":{"lint":"eslint src/","test":"node --test test/unit.test.js && node test/scan.test.js"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"11.11.0","description":"ClamAV for humans — scan any file and get back Clean, Malicious, or ScanError. No daemons. No cloud. No native bindings.","directories":{},"_nodeVersion":"24.14.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.2.0","globals":"^17.4.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_1.2.3_1777209396020_0.8883275602383867","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"pompelmi","version":"1.2.4","keywords":["clamav","antivirus","virus-scan","malware","file-upload","security","scan","clamscan","clamd","instream","nodejs","express","fastify","nestjs","multer","zero-dependencies"],"author":{"name":"pompelmi contributors"},"license":"ISC","_id":"pompelmi@1.2.4","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.app","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"9f5bb216290d43900a2793208fb350d6539da26a","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-1.2.4.tgz","fileCount":20,"integrity":"sha512-NNLXpilT3VtibHRmnkV6tWNrzdBIl7ojtXKMe01Jmigw8LCQW/dnc5LjzWUQQyoW7RR45aBOVEympDsEnQLkbg==","signatures":[{"sig":"MEYCIQC8iA6iLfCXS/53Dkmm6owQ1rz3vwGr0/TIu6J466YLHAIhAO5wMMOEPsPin/udE4LyWcIc0NB67852b+oL+F11/gpq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2577183},"main":"./src/index.js","type":"commonjs","gitHead":"ab73a9dcb7be1131f2d3673010266d10532f8e94","scripts":{"lint":"eslint src/","test":"node --test test/unit.test.js && node test/scan.test.js"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"11.11.0","description":"ClamAV for humans — scan any file and get back Clean, Malicious, or ScanError. No daemons. No cloud. No native bindings.","directories":{},"_nodeVersion":"24.14.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.2.0","globals":"^17.4.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_1.2.4_1777218669791_0.43611825294762374","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"pompelmi","version":"1.3.0","keywords":["clamav","antivirus","virus-scan","malware","file-upload","security","scan","clamscan","clamd","instream","nodejs","express","fastify","nestjs","multer","zero-dependencies"],"author":{"name":"pompelmi contributors"},"license":"ISC","_id":"pompelmi@1.3.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.app","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"a034d37320c001fde226017b2a803e1be137f1eb","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-1.3.0.tgz","fileCount":21,"integrity":"sha512-ZR1huWaZ1JwKwMcLejRHIoqOpmjXRwrsSl/YSUAT21Acz/QbatPcRH4/ylzcn0wHcXjIPZovTN+RMeJNWhElqw==","signatures":[{"sig":"MEQCIE0kRAfy/6EYDETzLGpR0WzI43vZnyZQ/RQTRJPN1PHYAiA7bIRMnQNtAwNBeZvfMNr+IW7ygCA9S47sIbFch4d/cw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2581628},"main":"./src/index.js","type":"commonjs","gitHead":"53126e343df304befbe5029d54c38308d83975b1","scripts":{"lint":"eslint src/","test":"node --test test/unit.test.js && node test/scan.test.js"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"11.11.0","description":"ClamAV for humans — scan any file and get back Clean, Malicious, or ScanError. No daemons. No cloud. No native bindings.","directories":{},"_nodeVersion":"24.14.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.2.0","globals":"^17.4.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_1.3.0_1777282664260_0.41396151316896335","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"pompelmi","version":"1.4.0","keywords":["clamav","antivirus","virus-scan","malware","file-upload","security","scan","clamscan","clamd","instream","nodejs","express","fastify","nestjs","multer","zero-dependencies"],"author":{"name":"pompelmi contributors"},"license":"ISC","_id":"pompelmi@1.4.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.app","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"8e8603f4efd4246a64ac6fbc7184c53e057fa1fb","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-1.4.0.tgz","fileCount":21,"integrity":"sha512-Z1BsY/9dMg4/G9tk5c3dndknfZixJcI+QVWt38GyTr55VMJe2/MG+W2pOZ6dXLBcgqIN1oJLp3UTU+dRjsNUbw==","signatures":[{"sig":"MEUCIQDON7ZanKN5ujutJKVq3cPiq3IzZah9rrAYRSUw4tcdtAIgQbxllQM3FgM4goj9QjBr1YWU4/2T3pB7DSWKMMXBiaA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2584849},"main":"./src/index.js","type":"commonjs","gitHead":"47727ab91c42467604425373e48208f944df392d","scripts":{"lint":"eslint src/","test":"node --test test/unit.test.js && node test/scan.test.js"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.8.2","description":"ClamAV for humans — scan any file and get back Clean, Malicious, or ScanError. No daemons. No cloud. No native bindings.","directories":{},"_nodeVersion":"20.20.2","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.2.0","globals":"^17.4.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_1.4.0_1777389830452_0.9057622056656034","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"pompelmi","version":"1.5.0","keywords":["clamav","antivirus","virus-scan","malware","file-upload","security","scan","clamscan","clamd","instream","nodejs","express","fastify","nestjs","multer","zero-dependencies"],"author":{"name":"pompelmi contributors"},"license":"ISC","_id":"pompelmi@1.5.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.app","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"1c39e9d516a58e90d6818dc9476f7da5ccc2d33c","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-1.5.0.tgz","fileCount":21,"integrity":"sha512-diF+KuN5UtSrx2T+wr6/MQUOHd7Ot6bwxXgDScUEGLHSsl1RY7bkz27HQohKlZmfWhBknzl6GAAflToSghkSFA==","signatures":[{"sig":"MEYCIQDRxCEwzf6yxh2DzFNMhwddWVVYK6+RdFynWGEv6tBVmgIhAI4geVS0qstJr75HNef9gyEXAW9Ogh+4+Ugq0z7BbL7I","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2588152},"main":"./src/index.js","type":"commonjs","gitHead":"a9a5e768698e18c18bb37beef0fa9f0268cb7114","scripts":{"lint":"eslint src/","test":"node --test test/unit.test.js && node test/scan.test.js"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.8.2","description":"ClamAV for humans — scan any file and get back Clean, Malicious, or ScanError. No daemons. No cloud. No native bindings.","directories":{},"_nodeVersion":"20.20.2","dependencies":{},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.2.0","globals":"^17.4.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_1.5.0_1777444568753_0.9213318592535851","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"pompelmi","version":"1.6.0","keywords":["clamav","antivirus","virus-scan","malware","file-upload","security","scan","clamscan","clamd","instream","nodejs","express","fastify","nestjs","multer","zero-dependencies"],"author":{"name":"pompelmi contributors"},"license":"ISC","_id":"pompelmi@1.6.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.app","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"e5c2ce7ed8db13ef0149ee8a69bccc12d0a030c8","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-1.6.0.tgz","fileCount":44,"integrity":"sha512-j5IMe1GSRjX4t4jhVKXvXGk5Nsbtu9qz6VwirBD2w1kuHH73Q7/XJDUHFX9uU1CWXxYMuSTMzySxdzc1Oi1lfw==","signatures":[{"sig":"MEYCIQDw8kHzmfLVJVVmsizMcN+mXRswqFUShA5GOFVRN6UXDAIhAJHhXYyZM4F7YJH/9+DMmAORMZDOLH+D0LMZYtzL07Vc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2706144},"main":"./src/index.js","type":"commonjs","gitHead":"cbf44fbd1beaaa218271fa3a7e57b4621623be83","scripts":{"lint":"eslint src/","test":"node --test test/unit.test.js && node test/scan.test.js"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.8.2","description":"ClamAV for humans — scan any file and get back Clean, Malicious, or ScanError. No daemons. No cloud. No native bindings.","directories":{},"_nodeVersion":"20.20.2","dependencies":{},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.2.0","globals":"^17.4.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_1.6.0_1777535989062_0.2810992552563216","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"pompelmi","version":"1.7.0","keywords":["clamav","antivirus","virus-scan","malware","file-upload","security","scan","clamscan","clamd","instream","nodejs","express","fastify","nestjs","multer","zero-dependencies"],"author":{"name":"pompelmi contributors"},"license":"ISC","_id":"pompelmi@1.7.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.app","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"32fc8fa726ab8574c7699ff0aa7df858fbf05ff0","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-1.7.0.tgz","fileCount":49,"integrity":"sha512-W5v2LIpMs+79xlFXXh8LCQm0uU7+KLsyLpEdKWeCZbx485h4D1RMreXEou8QjJuQVvbVufeFLZm4s1lh9qNBlg==","signatures":[{"sig":"MEQCIBwPEqxknyRj3Y3vl6jW+eNoRfFpdb24M1uZyTeGxf5+AiBgEBRMZu+iSJxhxeleNJvhvkFn62lSVyai6T71s9PluQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2708128},"main":"./src/index.js","type":"commonjs","gitHead":"96a40c8bac5d8406b07c04926a14a38ab18ddab1","scripts":{"lint":"eslint src/","test":"node --test test/unit.test.js && node test/scan.test.js"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"11.11.0","description":"ClamAV for humans — scan any file and get back Clean, Malicious, or ScanError. No daemons. No cloud. No native bindings.","directories":{},"_nodeVersion":"24.14.1","dependencies":{},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.2.0","globals":"^17.4.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_1.7.0_1777560521729_0.4391478728902576","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"pompelmi","version":"1.8.0","keywords":["clamav","antivirus","virus-scan","malware","file-upload","security","scan","clamscan","clamd","instream","nodejs","express","fastify","nestjs","multer","zero-dependencies"],"author":{"name":"pompelmi contributors"},"license":"ISC","_id":"pompelmi@1.8.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.app","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"cbc2b6b9dc7dd9b90d0575a9acf413cb7f3c29b8","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-1.8.0.tgz","fileCount":51,"integrity":"sha512-u40knFWop43Tr6dVTM61DevKjdyuDQgzUfIkHBUveA351ptQC5tzAR1vN0ewJA1MDsbNhEeBinEELD5NRVijMg==","signatures":[{"sig":"MEUCIQCBUnn/ga0Gy/fNhsOdFVnAa8Cw5AxCokP25csoHrzLPQIgJKom4/BsYW7xylM7qksXv+NJQh+BTs6i6JMCPilipFw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2713545},"main":"./src/index.js","type":"commonjs","gitHead":"cca7ecfc7c178542073e921d0628fd832e4536fd","scripts":{"lint":"eslint src/","test":"node --test test/unit.test.js && node test/scan.test.js"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.8.2","description":"ClamAV for humans — scan any file and get back Clean, Malicious, or ScanError. No daemons. No cloud. No native bindings.","directories":{},"_nodeVersion":"20.20.2","dependencies":{},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.2.0","globals":"^17.4.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_1.8.0_1777624504651_0.8499682486639559","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"pompelmi","version":"1.9.0","keywords":["clamav","antivirus","virus-scan","malware","file-upload","security","scan","clamscan","clamd","instream","nodejs","express","fastify","nestjs","multer","zero-dependencies"],"author":{"name":"pompelmi contributors"},"license":"ISC","_id":"pompelmi@1.9.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.app","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"2caae9c8212f2169e68d6d6330b5529a69812a99","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-1.9.0.tgz","fileCount":52,"integrity":"sha512-1gWUynCm350OALwOcAOMK+JFOryQaDUF5xNEGodR32gbKS/zK33P76WSkSk8kcDTBBQi6Qv0Gw2ab002JK+tew==","signatures":[{"sig":"MEUCIQCbgRrc5qR+ukPeRHj7tAtxK+mssh13P4anbjpJvFrvWwIgGC/f+qHe4LdNObe54ypL1Lvdu6FwRtQav4N9C7WhxAs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2736057},"main":"./src/index.js","type":"commonjs","types":"./types/index.d.ts","gitHead":"6841ec4070143bd88d6f4e357eec68ab60b8e6e7","scripts":{"lint":"eslint src/","test":"node --test test/unit.test.js && node test/scan.test.js"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.8.2","description":"ClamAV for humans — scan any file and get back Clean, Malicious, or ScanError. No daemons. No cloud. No native bindings.","directories":{},"_nodeVersion":"20.20.2","dependencies":{},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.2.0","globals":"^17.4.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_1.9.0_1777635278689_0.41978984566605226","host":"s3://npm-registry-packages-npm-production"}},"1.10.0":{"name":"pompelmi","version":"1.10.0","keywords":["clamav","antivirus","virus-scan","malware","file-upload","security","scan","clamscan","clamd","instream","nodejs","express","fastify","nestjs","multer","zero-dependencies"],"author":{"name":"pompelmi contributors"},"license":"ISC","_id":"pompelmi@1.10.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.app","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"17dde93850d2d9f89497b3909fba189b2e12913f","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-1.10.0.tgz","fileCount":55,"integrity":"sha512-cDbJQmy4QkM+48lG6JwQmUpQzveHbUeFs4OD3ppiWV6AefrXEspe/LrNRWXvJkgcPZ9tgEnMwJC1OHhGx2SKyw==","signatures":[{"sig":"MEUCIHjTjC5Lq0XD5VXC/v7kJvPcF+OjRv/DTi3AMZaqdgr4AiEA2ii7NgSYsd8UlJAypv8ke36WWvQWnrMlPWFpN4JXDAY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2750489},"main":"./src/index.js","type":"commonjs","types":"./types/index.d.ts","gitHead":"e52289e8e304bfde58ba8f11843d201415ecda8c","scripts":{"lint":"eslint src/","test":"node --test test/unit.test.js && node test/scan.test.js"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.8.2","description":"ClamAV for humans — scan any file and get back Clean, Malicious, or ScanError. No daemons. No cloud. No native bindings.","directories":{},"_nodeVersion":"20.20.2","dependencies":{},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.2.0","globals":"^17.4.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_1.10.0_1777875070778_0.9451223965070366","host":"s3://npm-registry-packages-npm-production"}},"1.11.0":{"name":"pompelmi","version":"1.11.0","keywords":["clamav","antivirus","virus-scan","malware","file-upload","security","scan","clamscan","clamd","instream","nodejs","express","fastify","nestjs","multer","zero-dependencies"],"author":{"name":"pompelmi contributors"},"license":"ISC","_id":"pompelmi@1.11.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.app","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"dist":{"shasum":"18ba14c46d503432c1b0300bd758be11230eff91","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-1.11.0.tgz","fileCount":58,"integrity":"sha512-BeEbP4BgbNjGfglRqMxlPuQz2UPTET6mFr8vcghQdbgK3yI1wdJsDnxPTazgqaUmY9vuv6nWVlWHVqUf0ehp1Q==","signatures":[{"sig":"MEUCIQDBW702PrxYQMF7r1qHKPhRZ+TJnIW+9iGA1Fzq0aQmPwIgJ3BGPOgJ3EstZ3YkL05PU7nf4ddlVfE9j2Fj0fjLyW4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2758799},"main":"./src/index.js","type":"commonjs","types":"./types/index.d.ts","gitHead":"4388885ab71e164ccd411d507fedbb50bbaf2347","scripts":{"lint":"eslint src/","test":"node --test test/unit.test.js && node test/scan.test.js"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.8.2","description":"ClamAV for humans — scan any file and get back Clean, Malicious, or ScanError. No daemons. No cloud. No native bindings.","directories":{},"_nodeVersion":"20.20.2","dependencies":{},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.2.0","globals":"^17.4.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_1.11.0_1777899783231_0.5438295834204172","host":"s3://npm-registry-packages-npm-production"}},"1.12.0":{"name":"pompelmi","version":"1.12.0","keywords":["clamav","antivirus","virus-scan","malware","file-upload","security","scan","clamscan","clamd","instream","nodejs","express","fastify","nestjs","multer","zero-dependencies"],"author":{"name":"pompelmi contributors"},"license":"ISC","_id":"pompelmi@1.12.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.app","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"bin":{"pompelmi":"bin/pompelmi.js"},"dist":{"shasum":"06835586e56eeaf152e5e57b0b2a1adbf91bfc79","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-1.12.0.tgz","fileCount":59,"integrity":"sha512-ugk5lwLVOke+rMXs98UzgWVUjZUQAyIaNV5Agw045UYRznUnRhi5ipHjlGdJ6KGbD9vTB7352/tZclRRtldt5Q==","signatures":[{"sig":"MEUCIHg50Wtv0y3VrLg83hxVYCP3eQdUUNFZvWcD++W8lryvAiEAsxTenq2uQF1kuZqXjIdZGDSY+XjSNBVuDBgOOE04pwk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2772532},"main":"./src/index.js","type":"commonjs","types":"./types/index.d.ts","gitHead":"0b5b0158c266f6b1a3a723b307c65400d53baf03","scripts":{"lint":"eslint src/","test":"node --test test/unit.test.js && node test/scan.test.js"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.8.2","description":"ClamAV for humans — scan any file and get back Clean, Malicious, or ScanError. No daemons. No cloud. No native bindings.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"terminal-image":"^4.3.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.2.0","globals":"^17.4.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_1.12.0_1777968549006_0.9663472515353706","host":"s3://npm-registry-packages-npm-production"}},"1.12.1":{"name":"pompelmi","version":"1.12.1","keywords":["clamav","antivirus","virus-scan","malware","file-upload","security","scan","clamscan","clamd","instream","nodejs","express","fastify","nestjs","multer","zero-dependencies"],"author":{"name":"pompelmi contributors"},"license":"ISC","_id":"pompelmi@1.12.1","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.app","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"bin":{"pompelmi":"bin/pompelmi.js"},"dist":{"shasum":"d7178f0475bdcaeee86c341c7285dffdeb6d10c3","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-1.12.1.tgz","fileCount":60,"integrity":"sha512-hb7is3HgyoXYpJFcfIRnGUwh/6Jvb5A1Y0dkAxuRwqiOgFqYaqcHj7cYV4pP9tywQOwZHVqcTMosn4ivqwyKOw==","signatures":[{"sig":"MEUCIBo7aSI2PuOQLhboyXIEIXxHQ6x9c7dy/t8+59T+F8ubAiEAshrsf6n4IM3SouYGnJRpsW37Y7mMfs0AaXcq6kraTq4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2773451},"main":"./src/index.js","type":"commonjs","types":"./types/index.d.ts","gitHead":"6f56e245687e2502cfcdee710ab4704543366aee","scripts":{"lint":"eslint src/","test":"node --test test/unit.test.js && node test/scan.test.js"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"11.11.0","description":"ClamAV for humans — scan any file and get back Clean, Malicious, or ScanError. No daemons. No cloud. No native bindings.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"terminal-image":"^4.3.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.2.0","globals":"^17.4.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_1.12.1_1777970721804_0.9210740308125174","host":"s3://npm-registry-packages-npm-production"}},"1.13.0":{"name":"pompelmi","version":"1.13.0","keywords":["clamav","antivirus","virus-scan","malware","file-upload","security","scan","clamscan","clamd","instream","nodejs","express","fastify","nestjs","multer","zero-dependencies"],"author":{"name":"pompelmi contributors"},"license":"ISC","_id":"pompelmi@1.13.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.app","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"bin":{"pompelmi":"bin/pompelmi.js"},"dist":{"shasum":"9d60f1fb5081d93a08af6f3c4ac436c5a109bba8","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-1.13.0.tgz","fileCount":72,"integrity":"sha512-qUK6QhAiUd4b4VBKvdP/Ws68AFc6L9+l9t+XWRRFs/WzfOm4t4W8bdoHKrXrx6zuK3IVWsZ96DBJeof2hQjSaw==","signatures":[{"sig":"MEYCIQDFvJaH/EQDLLVVS0DQX3ytQDGFmh3MDlhnXgDOiaRUvwIhALQOb/NxjvxXbnVAT95HOI90tnJ1QWP8pqNLpXDXNeWn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2790971},"main":"./src/index.js","type":"commonjs","types":"./types/index.d.ts","gitHead":"5f157a471791c2bd5b0983117826fa9545cea726","scripts":{"lint":"eslint src/","test":"node --test test/unit.test.js && node --test packages/nestjs/test/index.test.js && node --test packages/fastify/test/index.test.js && node test/scan.test.js"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.8.2","description":"ClamAV for humans — scan any file and get back Clean, Malicious, or ScanError. No daemons. No cloud. No native bindings.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"terminal-image":"^4.3.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.2.0","globals":"^17.4.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_1.13.0_1777987144019_0.5274094874491815","host":"s3://npm-registry-packages-npm-production"}},"1.14.0":{"name":"pompelmi","version":"1.14.0","keywords":["clamav","antivirus","virus-scan","malware","file-upload","security","scan","clamscan","clamd","instream","nodejs","express","fastify","nestjs","multer","zero-dependencies"],"author":{"name":"pompelmi contributors"},"license":"ISC","_id":"pompelmi@1.14.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.app","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"bin":{"pompelmi":"bin/pompelmi.js"},"dist":{"shasum":"ee52ac21b2d37ac8ffa2f4e0807f8e3d791efa26","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-1.14.0.tgz","fileCount":78,"integrity":"sha512-F0ZAm/I1Jixug1oY/qB9lcIkGaDYTax7NGc+aBZcX4Vbj5L5H6ZESfs5JX6u5qOTYzArXXrFJty36M5EMJ7UIg==","signatures":[{"sig":"MEYCIQCliBPsoefw+/YhAxXbZd3vi9dQ4aGYeGMKKQG62oEuygIhAMDW+tA6n82sr14vzamtMf2gqpSGhjXqqL0MC3iedVMc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2821445},"main":"./src/index.js","type":"commonjs","types":"./types/index.d.ts","gitHead":"ff978b027a562d2d55e0e023f0b22b613e771a30","scripts":{"lint":"eslint src/","test":"node --test test/unit.test.js && node --test packages/nestjs/test/index.test.js && node --test packages/fastify/test/index.test.js && node --test packages/nextjs/test/index.test.js && node test/scan.test.js"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.8.2","description":"ClamAV for humans — scan any file and get back Clean, Malicious, or ScanError. No daemons. No cloud. No native bindings.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"terminal-image":"^4.3.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.2.0","globals":"^17.4.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_1.14.0_1778047493393_0.22200912766707215","host":"s3://npm-registry-packages-npm-production"}},"1.15.0":{"name":"pompelmi","version":"1.15.0","keywords":["clamav","antivirus","virus-scan","malware","file-upload","security","scan","clamscan","clamd","instream","nodejs","express","fastify","nestjs","multer","zero-dependencies"],"author":{"name":"pompelmi contributors"},"license":"ISC","_id":"pompelmi@1.15.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.app","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"bin":{"pompelmi":"bin/pompelmi.js"},"dist":{"shasum":"1d434df375fa2a25c803ea2e1ccdb211715cb210","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-1.15.0.tgz","fileCount":86,"integrity":"sha512-zvWUGiAmhLcLiwaoweOsoY8WbpGGdPTGwe3LThaVZ6bI0U1W43905x8aFpbMJs/YwfhGch3yWhWmMyF4FkZItg==","signatures":[{"sig":"MEUCIQCxsTPgDjohQ32xZNutJ1KGgepnwuI44UEfdziKjE7+FQIgOjAoL2NRzh3H+vcuoJESwp/46Iad+1HDtMFfMgIpfXQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2840624},"main":"./src/index.js","type":"commonjs","types":"./types/index.d.ts","gitHead":"73bca6aa3aba6af52f92a4523722eb1e09cb9c6f","scripts":{"lint":"eslint src/","test":"node --test test/unit.test.js && node --test packages/nestjs/test/index.test.js && node --test packages/fastify/test/index.test.js && node --test packages/nextjs/test/index.test.js && node --test packages/hono/test/index.test.js && node --test packages/testing/test/index.test.js && node test/scan.test.js"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.8.2","description":"ClamAV for humans — scan any file and get back Clean, Malicious, or ScanError. No daemons. No cloud. No native bindings.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"terminal-image":"^4.3.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.2.0","globals":"^17.4.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_1.15.0_1778066216519_0.002190543057305261","host":"s3://npm-registry-packages-npm-production"}},"1.16.0":{"name":"pompelmi","version":"1.16.0","keywords":["clamav","antivirus","virus-scan","malware","file-upload","security","scan","clamscan","clamd","instream","nodejs","express","fastify","nestjs","multer","zero-dependencies","remix","sveltekit","svelte"],"author":{"name":"pompelmi contributors"},"license":"ISC","_id":"pompelmi@1.16.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.app","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"bin":{"pompelmi":"bin/pompelmi.js"},"dist":{"shasum":"3cb78633f2891e3444bccca8a30354f72c2d20d5","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-1.16.0.tgz","fileCount":94,"integrity":"sha512-+E4nWN1r9gMJJMII9EvXb/TWUL4nC9kr+Vk/rcsIVC8IbH24tXjkXV8snvpsMJr4YHli57FAV4KLfP2WOWBS4A==","signatures":[{"sig":"MEQCIF/nrLvew6imFLbZ4KaniPp6nzk3C72zc71n+hU75URvAiAmfcsLb4ubKtUDtNTr5XXK82gc//p1aovC5eDQb3X83A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2863547},"main":"./src/index.js","type":"commonjs","types":"./types/index.d.ts","gitHead":"7da5405b6c056a6a10707b3bfa80d5d86f08fdfd","scripts":{"lint":"eslint src/","test":"node --test test/unit.test.js && node --test packages/nestjs/test/index.test.js && node --test packages/fastify/test/index.test.js && node --test packages/nextjs/test/index.test.js && node --test packages/hono/test/index.test.js && node --test packages/testing/test/index.test.js && node --test packages/remix/test/index.test.js && node --test packages/sveltekit/test/index.test.js && node test/scan.test.js"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.8.2","description":"ClamAV for humans — scan any file and get back Clean, Malicious, or ScanError. No daemons. No cloud. No native bindings.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"terminal-image":"^4.3.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.2.0","globals":"^17.4.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_1.16.0_1778159218472_0.6207388011976209","host":"s3://npm-registry-packages-npm-production"}},"1.17.0":{"name":"pompelmi","version":"1.17.0","keywords":["clamav","antivirus","virus-scan","malware","file-upload","security","scan","clamscan","clamd","instream","nodejs","express","fastify","nestjs","multer","zero-dependencies","remix","sveltekit","svelte"],"author":{"name":"pompelmi contributors"},"license":"ISC","_id":"pompelmi@1.17.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.app","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"bin":{"pompelmi":"bin/pompelmi.js"},"dist":{"shasum":"602efc232d39429453fda7437fd1217ea99722ec","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-1.17.0.tgz","fileCount":101,"integrity":"sha512-zannOxDPnCiK88oZ6W905M+LpGb/7k03J3YXHnqhz5NWV+s7EIE8350/99D7oPNi2DyygVUSAIY2HAR05GE5SA==","signatures":[{"sig":"MEUCIQCkp8HJr+qQPa9VStPApYfoDApLP04jui0la0M5BDD9HgIgGLXJHR5Lv4aMsrjfJca4cIPfrApTD+K95CEJ4dKNO64=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2874191},"main":"./src/index.js","type":"commonjs","types":"./types/index.d.ts","module":"./src/index.mjs","exports":{".":{"import":"./src/index.mjs","require":"./src/index.js"}},"gitHead":"d613959ddee47012775b9d47e250e9997a758af2","scripts":{"lint":"eslint src/","test":"node --test test/unit.test.js && node --test test/esm.test.mjs && node --test packages/nestjs/test/index.test.js && node --test packages/fastify/test/index.test.js && node --test packages/nextjs/test/index.test.js && node --test packages/hono/test/index.test.js && node --test packages/testing/test/index.test.js && node --test packages/remix/test/index.test.js && node --test packages/sveltekit/test/index.test.js && node --test packages/cloudflare/test/index.test.mjs && node test/scan.test.js"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.8.2","description":"ClamAV for humans — scan any file and get back Clean, Malicious, or ScanError. No daemons. No cloud. No native bindings.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"terminal-image":"^4.3.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.2.0","globals":"^17.4.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_1.17.0_1778220865039_0.5071334592433394","host":"s3://npm-registry-packages-npm-production"}},"1.18.0":{"name":"pompelmi","version":"1.18.0","keywords":["clamav","antivirus","virus-scan","malware","file-upload","security","scan","clamscan","clamd","instream","nodejs","express","fastify","nestjs","multer","zero-dependencies","remix","sveltekit","svelte"],"author":{"name":"pompelmi contributors"},"license":"ISC","_id":"pompelmi@1.18.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.app","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"bin":{"pompelmi":"bin/pompelmi.js"},"dist":{"shasum":"f91ed6b91ddae0940bd92dcdffb76f3bd03151ed","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-1.18.0.tgz","fileCount":108,"integrity":"sha512-a4eHtGGE6XStUZc/oFt3MLMfUiN5vdCeZrt+3qHwnfOG435xjk1jKlhPgcmD73qshFwI/kCJH56X7P8fCMV8Yw==","signatures":[{"sig":"MEUCIHuUdQ7Esfiv158Z5hCk9+p9bS6EEKBWTmaAZU3hFvIXAiEA/b8wfJ46xBl595BsT02A4c+8IW8nKDC16pL/sh8OGtc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2897423},"main":"./src/index.js","type":"commonjs","types":"./types/index.d.ts","module":"./src/index.mjs","exports":{".":{"import":"./src/index.mjs","require":"./src/index.js"}},"gitHead":"3d6cd212b7354fae156c3ac2a5bd6fa8dc545d53","scripts":{"lint":"eslint src/","test":"node --test test/unit.test.js && node --test test/esm.test.mjs && node --test packages/nestjs/test/index.test.js && node --test packages/fastify/test/index.test.js && node --test packages/nextjs/test/index.test.js && node --test packages/hono/test/index.test.js && node --test packages/testing/test/index.test.js && node --test packages/remix/test/index.test.js && node --test packages/sveltekit/test/index.test.js && node --test packages/cloudflare/test/index.test.mjs && node test/scan.test.js"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.8.2","description":"ClamAV for humans — scan any file and get back Clean, Malicious, or ScanError. No daemons. No cloud. No native bindings.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"terminal-image":"^4.3.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.2.0","globals":"^17.4.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_1.18.0_1778224443325_0.0498825693758278","host":"s3://npm-registry-packages-npm-production"}},"1.19.0":{"name":"pompelmi","version":"1.19.0","keywords":["clamav","antivirus","virus-scan","malware","file-upload","security","scan","clamscan","clamd","instream","nodejs","express","fastify","nestjs","multer","zero-dependencies","remix","sveltekit","svelte"],"author":{"name":"pompelmi contributors"},"license":"ISC","_id":"pompelmi@1.19.0","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"homepage":"https://pompelmi.app","bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"bin":{"pompelmi":"bin/pompelmi.js"},"dist":{"shasum":"968a38b62de5ebd9851f59ac6d9bd6f408ec77dc","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-1.19.0.tgz","fileCount":111,"integrity":"sha512-tow4jauBXfKonM4+opzwFzwlpOLNjIArkUWqSGYS6Z9WWYy+5md/dc/7rUnLBgkytRrA1d16WbYHU7KG0NcOsw==","signatures":[{"sig":"MEYCIQCUyAaYptYF4yENhbGWinrumF1nhtBtB7s0dyFukYpJjQIhAMWdaPTwzP8uAClfcioqADsA1bvo7cn+H0fhjYD6t5R3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2923674},"main":"./src/index.js","type":"commonjs","types":"./types/index.d.ts","module":"./src/index.mjs","exports":{".":{"import":"./src/index.mjs","require":"./src/index.js"}},"gitHead":"be0d2366c45f0550906a87f66abe1588610d962a","scripts":{"lint":"eslint src/","test":"node --test test/unit.test.js && node --test test/esm.test.mjs && node --test packages/nestjs/test/index.test.js && node --test packages/fastify/test/index.test.js && node --test packages/nextjs/test/index.test.js && node --test packages/hono/test/index.test.js && node --test packages/testing/test/index.test.js && node --test packages/remix/test/index.test.js && node --test packages/sveltekit/test/index.test.js && node --test packages/cloudflare/test/index.test.mjs && node test/scan.test.js"},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"repository":{"url":"git+https://github.com/pompelmi/pompelmi.git","type":"git"},"_npmVersion":"10.8.2","description":"ClamAV for humans — scan any file and get back Clean, Malicious, or ScanError. No daemons. No cloud. No native bindings.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"terminal-image":"^4.3.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.2.0","globals":"^17.4.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/pompelmi_1.19.0_1778603728650_0.8038163919356778","host":"s3://npm-registry-packages-npm-production"}},"1.20.0":{"name":"pompelmi","version":"1.20.0","description":"ClamAV for humans — scan any file and get back Clean, Malicious, or ScanError. No daemons. No cloud. No native bindings.","license":"ISC","author":{"name":"pompelmi contributors"},"homepage":"https://pompelmi.app","repository":{"type":"git","url":"git+https://github.com/pompelmi/pompelmi.git"},"bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"keywords":["clamav","antivirus","virus-scan","malware","file-upload","security","scan","clamscan","clamd","instream","nodejs","express","fastify","nestjs","multer","zero-dependencies","remix","sveltekit","svelte"],"type":"commonjs","main":"./src/index.js","module":"./src/index.mjs","types":"./types/index.d.ts","exports":{".":{"import":"./src/index.mjs","require":"./src/index.js"}},"bin":{"pompelmi":"bin/pompelmi.js"},"scripts":{"test":"node --test test/unit.test.js && node --test test/esm.test.mjs && node --test packages/nestjs/test/index.test.js && node --test packages/fastify/test/index.test.js && node --test packages/nextjs/test/index.test.js && node --test packages/hono/test/index.test.js && node --test packages/testing/test/index.test.js && node --test packages/remix/test/index.test.js && node --test packages/sveltekit/test/index.test.js && node --test packages/cloudflare/test/index.test.mjs && node test/scan.test.js","lint":"eslint src/","postinstall":"node scripts/postinstall.js"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"dependencies":{"terminal-image":"^4.3.0"},"devDependencies":{"@eslint/js":"^10.0.1","eslint":"^10.2.0","globals":"^17.4.0"},"_id":"pompelmi@1.20.0","gitHead":"608ee38a982ff75c50373e2a36ae59beabd37a75","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-lDZJB6tHuYCOShCXZpu1TPoelU7gZPb1GczzS4fu3xaO0CsVsvxy//VFNlGwWTyNNbkBd1HLLBlBNDZdzSLAvg==","shasum":"7490e13695b5a6aa3322f81aea0b597d8790422e","tarball":"https://registry.npmjs.org/pompelmi/-/pompelmi-1.20.0.tgz","fileCount":112,"unpackedSize":2924600,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDXqKkyPDmEzBnQOnMoJzw52Rk0NieKqwPo4/CAA6nZDAiEA26cGefW3NodGWSjzma0tHvUW9Ntbk81KgayePMaSMLM="}]},"_npmUser":{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"},"directories":{},"maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pompelmi_1.20.0_1778856924573_0.31850111344100496"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-25T11:25:52.733Z","modified":"2026-05-15T14:55:25.061Z","0.0.1-alpha.0":"2025-07-25T11:25:52.914Z","0.2.0-alhoa.0":"2025-07-26T13:44:39.453Z","0.2.0-alpha.1":"2025-07-26T13:47:14.674Z","0.2.0-alpha.2":"2025-07-27T06:40:00.343Z","0.3.0":"2025-07-27T16:46:41.825Z","0.3.1":"2025-07-27T16:50:08.059Z","0.3.2":"2025-07-27T17:01:05.420Z","0.3.3":"2025-07-27T17:09:25.831Z","0.3.4":"2025-07-27T17:11:49.986Z","0.3.5":"2025-07-29T09:07:45.266Z","0.3.6":"2025-07-30T10:05:36.038Z","0.4.0-1754340686":"2025-08-04T20:51:31.803Z","0.4.0-1754474634":"2025-08-06T10:04:00.041Z","0.4.0":"2025-08-06T10:10:08.074Z","0.5.0":"2025-08-09T15:26:35.884Z","0.5.1":"2025-08-10T08:00:20.027Z","0.6.0":"2025-08-12T13:09:23.740Z","0.7.0-dev.3":"2025-08-13T15:43:50.061Z","0.7.0":"2025-08-14T08:55:38.644Z","0.7.1":"2025-08-14T10:28:24.929Z","0.8.0-dev.4":"2025-08-16T10:24:57.021Z","0.8.0-dev.5":"2025-08-16T10:32:46.307Z","0.8.0-dev.6":"2025-08-16T10:38:53.528Z","0.8.0-dev.7":"2025-08-16T10:59:54.985Z","0.8.0":"2025-08-16T11:58:09.263Z","0.8.1":"2025-08-16T14:41:14.555Z","0.8.2":"2025-08-16T15:02:30.799Z","0.8.6":"2025-08-16T15:54:19.761Z","0.8.7":"2025-08-16T16:10:19.532Z","0.8.8":"2025-08-17T09:18:20.938Z","0.8.9":"2025-08-17T09:33:52.228Z","0.8.10":"2025-08-17T09:47:46.918Z","0.9.0-dev.8":"2025-08-17T13:59:01.714Z","0.9.0":"2025-08-17T14:41:27.380Z","0.9.1":"2025-08-18T11:58:32.914Z","0.10.0-dev.9":"2025-08-18T15:45:27.228Z","0.10.0":"2025-08-19T06:57:04.945Z","0.11.0-dev.10":"2025-08-19T08:13:51.309Z","0.11.0-dev.11":"2025-08-19T08:23:13.267Z","0.11.0-dev.12":"2025-08-19T08:50:04.125Z","0.11.0-dev.13":"2025-08-19T09:04:02.736Z","0.11.0":"2025-08-19T09:33:31.625Z","0.11.1":"2025-08-19T10:12:50.132Z","0.11.3":"2025-08-19T15:05:03.974Z","0.11.10":"2025-08-19T16:45:05.928Z","0.11.11":"2025-08-19T17:35:08.232Z","0.11.12":"2025-08-19T17:42:30.497Z","0.11.13":"2025-08-19T19:30:22.611Z","0.12.0-dev.14":"2025-08-21T10:00:16.861Z","0.12.0-dev.15":"2025-08-21T15:24:37.861Z","0.12.0":"2025-08-22T11:28:28.261Z","0.13.0-dev.16":"2025-08-22T17:31:10.836Z","0.13.0-dev.17":"2025-08-24T10:05:05.177Z","0.13.0-dev.19":"2025-08-24T10:18:30.035Z","0.13.0-dev.20":"2025-08-24T10:30:17.527Z","0.13.0-dev.22":"2025-08-24T11:48:25.900Z","0.13.0":"2025-08-26T06:49:41.619Z","0.13.1":"2025-08-26T10:31:32.762Z","0.14.0-dev.23":"2025-08-30T07:36:41.405Z","0.14.0-dev.24":"2025-08-31T15:23:28.522Z","0.14.0-dev.25":"2025-08-31T15:46:11.229Z","0.14.0-dev.26":"2025-09-11T13:21:56.829Z","0.14.0":"2025-09-11T14:09:58.299Z","0.15.0-dev.27":"2025-09-12T18:23:17.613Z","0.15.0-dev.28":"2025-09-12T19:15:40.213Z","0.15.0-dev.29":"2025-09-13T17:04:47.851Z","0.15.0-dev.30":"2025-09-15T07:49:29.335Z","0.15.0-dev.31":"2025-09-15T07:59:41.692Z","0.15.0-dev.32":"2025-09-15T08:16:56.794Z","0.15.0-dev.34":"2025-09-15T09:45:11.191Z","0.15.0":"2025-09-16T14:00:09.014Z","0.15.1":"2025-09-16T18:34:44.694Z","0.15.2":"2025-09-19T07:40:01.964Z","0.16.2":"2025-10-14T20:26:37.567Z","0.16.3":"2025-10-14T20:43:36.108Z","0.16.4":"2025-10-19T05:35:46.890Z","0.17.0-dev.36":"2025-10-30T09:49:33.244Z","0.17.0-dev.37":"2025-10-30T10:08:13.612Z","0.17.0":"2025-11-03T16:15:16.414Z","0.18.0":"2025-11-15T17:06:18.882Z","0.19.0":"2025-11-23T13:26:52.550Z","0.20.0":"2025-11-23T18:42:52.577Z","0.21.0":"2025-11-28T17:00:59.930Z","0.22.0":"2025-12-02T06:47:59.928Z","0.23.0":"2025-12-02T10:38:15.378Z","0.20.1":"2025-12-26T15:15:27.016Z","0.24.0":"2026-01-14T10:03:07.581Z","0.25.0":"2026-01-20T14:00:24.872Z","0.26.0":"2026-01-20T14:10:15.066Z","0.27.0":"2026-01-26T17:57:57.099Z","0.27.1":"2026-01-26T18:02:25.288Z","0.28.0":"2026-01-28T19:21:47.032Z","0.29.0":"2026-01-29T12:08:13.834Z","0.29.1":"2026-02-05T15:18:29.671Z","0.30.0":"2026-02-13T16:44:05.048Z","0.30.1":"2026-02-19T14:43:20.016Z","0.31.0":"2026-02-20T15:27:31.472Z","0.32.0":"2026-02-26T16:09:38.546Z","0.32.1":"2026-02-27T13:38:17.260Z","0.33.0":"2026-03-11T14:10:50.873Z","0.34.0":"2026-03-12T10:08:58.687Z","0.34.1":"2026-03-17T09:09:40.894Z","0.34.2":"2026-03-18T10:49:38.270Z","0.34.4":"2026-03-19T17:02:24.575Z","0.34.5":"2026-03-20T13:06:06.712Z","0.34.6":"2026-03-23T14:52:19.328Z","0.34.7":"2026-03-24T18:18:22.719Z","0.34.8":"2026-03-25T13:27:41.094Z","0.34.9":"2026-03-27T16:38:50.524Z","0.34.10":"2026-03-29T16:55:35.482Z","0.35.0":"2026-03-31T17:28:55.023Z","0.35.1":"2026-04-01T20:09:30.472Z","0.35.2":"2026-04-02T17:14:14.579Z","0.35.3":"2026-04-03T19:58:39.481Z","0.35.4":"2026-04-08T10:36:34.096Z","0.35.5":"2026-04-10T06:04:42.147Z","1.0.0":"2026-04-12T08:17:17.596Z","1.1.0":"2026-04-12T15:28:15.763Z","1.2.0":"2026-04-15T13:57:06.535Z","1.2.1":"2026-04-20T12:36:03.959Z","1.2.2":"2026-04-25T19:20:19.474Z","1.2.3":"2026-04-26T13:16:36.268Z","1.2.4":"2026-04-26T15:51:10.093Z","1.3.0":"2026-04-27T09:37:44.510Z","1.4.0":"2026-04-28T15:23:50.669Z","1.5.0":"2026-04-29T06:36:08.983Z","1.6.0":"2026-04-30T07:59:49.333Z","1.7.0":"2026-04-30T14:48:41.981Z","1.8.0":"2026-05-01T08:35:04.880Z","1.9.0":"2026-05-01T11:34:38.929Z","1.10.0":"2026-05-04T06:11:11.056Z","1.11.0":"2026-05-04T13:03:03.469Z","1.12.0":"2026-05-05T08:09:09.304Z","1.12.1":"2026-05-05T08:45:22.079Z","1.13.0":"2026-05-05T13:19:04.326Z","1.14.0":"2026-05-06T06:04:53.724Z","1.15.0":"2026-05-06T11:16:56.836Z","1.16.0":"2026-05-07T13:06:58.806Z","1.17.0":"2026-05-08T06:14:25.290Z","1.18.0":"2026-05-08T07:14:03.614Z","1.19.0":"2026-05-12T16:35:28.942Z","1.20.0":"2026-05-15T14:55:24.881Z"},"bugs":{"url":"https://github.com/pompelmi/pompelmi/issues"},"author":{"name":"pompelmi contributors"},"license":"ISC","homepage":"https://pompelmi.app","keywords":["clamav","antivirus","virus-scan","malware","file-upload","security","scan","clamscan","clamd","instream","nodejs","express","fastify","nestjs","multer","zero-dependencies","remix","sveltekit","svelte"],"repository":{"type":"git","url":"git+https://github.com/pompelmi/pompelmi.git"},"description":"ClamAV for humans — scan any file and get back Clean, Malicious, or ScanError. No daemons. No cloud. No native bindings.","maintainers":[{"name":"justsouichi","email":"tommasobertocchideveloper04@gmail.com"}],"readme":"<p align=\"center\">\n  <img src=\"./src/grapefruit.png\" width=\"88\" alt=\"pompelmi logo\">\n</p>\n\n<h1 align=\"center\">pompelmi — ClamAV Antivirus Scanning for Node.js</h1>\n\n<p align=\"center\"><strong>ClamAV antivirus scanning for Node.js — clean, typed, zero dependencies.</strong></p>\n\n<br>\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/pompelmi\"><img src=\"https://img.shields.io/npm/v/pompelmi.svg\" alt=\"npm version\"></a>\n  <a href=\"https://www.npmjs.com/package/pompelmi\"><img src=\"https://img.shields.io/npm/dw/pompelmi\" alt=\"weekly downloads\"></a>\n  <a href=\"https://hub.docker.com/r/justsouichi/pompelmi-scanner\"><img src=\"https://img.shields.io/docker/pulls/justsouichi/pompelmi-scanner\" alt=\"Docker Pulls\"></a>\n  <img src=\"https://img.shields.io/badge/dependencies-0-brightgreen\" alt=\"zero dependencies\">\n  <img src=\"https://img.shields.io/badge/license-ISC-blue\" alt=\"license\">\n  <a href=\"https://github.com/pompelmi/pompelmi/actions/workflows/ci.yml\"><img src=\"https://github.com/pompelmi/pompelmi/actions/workflows/ci.yml/badge.svg\" alt=\"CI\"></a>\n  <a href=\"https://github.com/pompelmi/pompelmi/actions/workflows/release.yml\"><img src=\"https://github.com/pompelmi/pompelmi/actions/workflows/release.yml/badge.svg\" alt=\"npm publish\"></a>\n  <img src=\"https://img.shields.io/badge/TypeScript-types%20included-3178c6?logo=typescript&logoColor=white\" alt=\"TypeScript types included\">\n  <a href=\"https://github.com/pompelmi/pompelmi\"><img src=\"https://img.shields.io/badge/scanned%20by-pompelmi-orange?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAAXNSR0IArs4c6QAAAQxlWElmTU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAA5AAAAcgE7AAIAAAASAAAArIdpAAQAAAABAAAAvgAAAAAAAABgAAAAAQAAAGAAAAABQ2FudmEgZG9jPURBSEdqUE42M19JIHVzZXI9VUFHZVZYTlJxNEkgYnJhbmQ9QkFHZVZib2RxREkAAFRvbW1hc28gQmVydG9jY2hpAAAGkAAABwAAAAQwMjEwkQEABwAAAAQBAgMAoAAABwAAAAQwMTAwoAEAAwAAAAEAAQAAoAIABAAAAAEAAAAOoAMABAAAAAEAAAAOAAAAAOn+IX8AAAAJcEhZcwAADsQAAA7EAZUrDhsAAAZHaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA2LjAuMCI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICAgICAgICAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4xNTAwPC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6RXhpZlZlcnNpb24+MDIxMDwvZXhpZjpFeGlmVmVyc2lvbj4KICAgICAgICAgPGV4aWY6Rmxhc2hQaXhWZXJzaW9uPjAxMDA8L2V4aWY6Rmxhc2hQaXhWZXJzaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MTUwMDwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOkNvbXBvbmVudHNDb25maWd1cmF0aW9uPgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaT4xPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGk+MjwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpPjM8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaT4wPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC9leGlmOkNvbXBvbmVudHNDb25maWd1cmF0aW9uPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPkNhbnZhIGRvYz1EQUhHalBONjNfSSB1c2VyPVVBR2VWWE5ScTRJIGJyYW5kPUJBR2VWYm9kcURJPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjk2PC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj45NjwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPGRjOnRpdGxlPgogICAgICAgICAgICA8cmRmOkFsdD4KICAgICAgICAgICAgICAgPHJkZjpsaSB4bWw6bGFuZz0ieC1kZWZhdWx0Ij5Qcm9nZXR0byBzZW56YSB0aXRvbG8gLSAxPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOkFsdD4KICAgICAgICAgPC9kYzp0aXRsZT4KICAgICAgICAgPGRjOmNyZWF0b3I+CiAgICAgICAgICAgIDxyZGY6U2VxPgogICAgICAgICAgICAgICA8cmRmOmxpPlRvbW1hc28gQmVydG9jY2hpPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC9kYzpjcmVhdG9yPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4Kn4j/DQAAAeFJREFUKBWtUjtrFFEU/u68Z5zs7LLPhEgEG0ljETGFImgnNhKsYiEBLYU0KqiERaxEQbcRK8HCiH/AUrFVEEQQ0YiurvvIRp2d2ZnZeezJzIZZSAxi4S3uOffc73zfOede4H8vImJ/4/zj8t7Tc3MdixaYJ70RcsaL6uKd7m4E3M6g6TgrduBf7TQbF463zQX//rXDOzHJeZvixdrJTC7a89hreqdO62VntlzUZD+MAsd96HDqcuXS7X5KIqROYi8fWgom1nsFcX4SimFoYbeF4P1bXhUH54Mw+BZDbqT4can0HEIh7C4rhdx8xMtwbRv+18/wLROm08dgODz7sVaT08SRYjJB/+Wjm+KHzpWNxiswXQE/sxcYAoHVBjERJHIZs/NOiRMHSfKW4u+7hr9uLXk/XUCSwHEcqNWCVNkHafYIpHwJvKquTZ84GqaKW4nZZuS7Zhj0TbC8AfBirJqBV6+DYi7SJ6GVZuaMbOkZ/XitjRUZu2UNNXFVmVBAn9bANroQBA5CpQyKeyTPhZTVFebZByAbo/bGU6XWl2qvOE2cyo6xYtaPdPaEK04dVGR5kTxbo1+dJvrSCsuf6SWK295xVD/FMQYa+fHWfnB9v+4MDNP8Xp+qru76i1LsP9lNSkO4P3HUKYoAAAAASUVORK5CYII=\" alt=\"Scanned by pompelmi\"></a>\n</p>\n\n---\n\n## Quick Start\n\n```bash\n# Scan a file\nnpx pompelmi scan ./uploads/file.pdf\n\n# Scan a directory\nnpx pompelmi scan ./uploads --recursive\n\n# Output as JSON\nnpx pompelmi scan ./uploads --json\n```\n\n---\n\n## Documentation\n\n| Guide | Description |\n|-------|-------------|\n| [Getting Started](./docs/getting-started.md) | Installation, prerequisites, quickstart examples |\n| [API Reference](./docs/api.md) | Full function signatures, options, verdicts, error conditions |\n| [CLI Reference](./docs/cli.html) | Terminal commands, options, examples |\n| [S3 Integration](./docs/s3.md) | Scan S3 objects directly, IAM setup, Lambda pattern |\n| [Docker / Remote Scanning](./docs/docker.md) | TCP sidecar, UNIX socket mount, docker-compose patterns |\n| [GitHub Action](./docs/github-action.md) | CI scanning, inputs/outputs, caching, example workflows |\n\n---\n\n## Overview\n\npompelmi is a minimal Node.js wrapper around [ClamAV](https://www.clamav.net/) that exposes a single async function — `scan()` — and returns one of three typed verdict Symbols: `Verdict.Clean`, `Verdict.Malicious`, or `Verdict.ScanError`. Full documentation at [pompelmi.app](https://pompelmi.app).\n\nIt supports two scanning modes:\n\n- **Local** — spawns `clamscan` as a child process and maps its exit code to a verdict. No stdout parsing, no regex.\n- **Remote / Docker / UNIX socket** — streams the file to a running `clamd` daemon over TCP or a UNIX domain socket using the ClamAV `INSTREAM` protocol.\n\nNo cloud. No daemon required for local mode. No native bindings. Zero runtime dependencies.\n\n---\n\n## Why pompelmi\n\nIf you need to **scan file uploads for viruses in Node.js**, integrate **ClamAV with Express or Fastify**, or add **antivirus scanning to any upload pipeline**, pompelmi is the simplest path.\n\nMost integrations require parsing ClamAV's stdout with regex, managing a clamd daemon, or working around unmaintained packages. pompelmi does none of that: one function call, exit-code-mapped verdicts, zero dependencies.\n\n---\n\n## Features\n\n- Standalone CLI — scan files from any terminal with `npx pompelmi scan`\n- **Official Docker image** — `justsouichi/pompelmi-scanner` on Docker Hub: ClamAV + HTTP scan API in one pull ([docs](./docs/docker-image.html))\n- **Security scorecard** — grade your upload security A–F with `npx pompelmi scorecard` ([docs](./docs/scorecard.html))\n- **VS Code extension** — scan files directly from the IDE (scaffold in `packages/vscode/`) ([docs](./docs/vscode.html))\n- **Quarantine mode** — `watch ./uploads --quarantine ./quarantine` auto-moves infected files with sidecar JSON\n- HTML security dashboard — generate beautiful scan reports with `--report` ([docs](./docs/dashboard.html))\n- SVG share card — shareable scan result card with `--share-card` ([docs](./docs/dashboard.html#share-card))\n- GitHub App — one-click installation for organizations, zero-config PR scanning ([docs](./docs/github-app.html))\n- Single `scan(filePath, [options])` function — works locally or against a remote clamd instance\n- `scanBuffer(buffer, [options])` — scan in-memory Buffers directly, no temp file required in TCP mode\n- `scanStream(stream, [options])` — scan a Readable stream directly. In TCP mode, streamed to clamd with no disk I/O.\n- `scanDirectory(dirPath, [options])` — recursively scan every file in a directory, returns clean/malicious/errors arrays\n- `scanS3(params, [options])` — scan S3 objects by streaming directly from AWS S3, no disk I/O\n- `createPool([options])` — persistent connection pool for high-throughput clamd scanning\n- `watch(dirPath, [options], callbacks)` — watch a directory and auto-scan new/modified files (300 ms debounce)\n- `notify(webhookUrl, scanResult, [options])` — send a POST webhook notification when a virus is detected; optional HMAC-SHA256 signing via `X-Pompelmi-Signature`; zero extra dependencies\n- `createScanner([options])` — EventEmitter-based scanner; call `.scan(filePath)` or `.scanDirectory(dirPath)` and listen to `'clean'`, `'malicious'`, `'scanError'`, and `'error'` events\n- **SHA256 scan cache** — `createCache([options])` — skip rescanning known-clean files; LRU eviction, configurable TTL, optional file-backed persistence; zero extra dependencies ([docs](./docs/cache.html))\n- **Scan policies** — `createPolicy(rules)` — unified size, MIME type, extension, and virus rules in one object; Express middleware and NestJS guard included ([docs](./docs/policy.html))\n- **Multi-engine scanning** — `createMultiEngine(options)` — combine ClamAV and VirusTotal with `any`/`all`/`majority` consensus; per-engine verdict breakdown; zero extra dependencies ([docs](./docs/multi-engine.html))\n- **Directory streaming** — `scanDirectory.stream(dirPath)` — async-iterable progress events (`progress` / `result` / `complete`) for real-time UI feedback\n- Auto-retry on connection error — `retries` and `retryDelay` options on every scan function\n- Symbol-based verdicts (`Verdict.Clean` / `Verdict.Malicious` / `Verdict.ScanError`) — typo-proof comparisons\n- Full clamd support via the INSTREAM protocol — TCP (`host`/`port`) or UNIX socket (`socket`) with configurable timeout\n- Built-in helpers to install ClamAV and update virus definitions programmatically\n- **Native ESM support** — `import { scan } from 'pompelmi'` works out of the box (dual CJS/ESM build)\n- **Deno support** — `import { scan } from 'npm:pompelmi'` — no install step required\n- **Cloudflare Workers** — via `@pompelmi/cloudflare` — Web APIs only, no Node.js built-ins\n- Works with Express, Fastify, NestJS, Hono, Remix, SvelteKit, and any other Node.js HTTP framework\n- Works with **Node.js • Bun • Deno • Cloudflare Workers**\n- Interactive demo at [pompelmi.app/demo](https://pompelmi.app/demo.html) — try before you install\n- Zero runtime dependencies — ships nothing but source code\n- Tested with EICAR standard antivirus test files\n- CommonJS + ESM module; TypeScript type declarations available inline\n\nSee [how pompelmi compares](./docs/comparison.html) to other Node.js ClamAV integrations.\n\n---\n\n## Framework Integrations\n\nOfficial integration packages for popular frameworks:\n\n| Package | Framework | Install |\n|---------|-----------|---------|\n| [@pompelmi/nestjs](./packages/nestjs/) | NestJS | `npm i @pompelmi/nestjs` |\n| [@pompelmi/fastify](./packages/fastify/) | Fastify | `npm i @pompelmi/fastify` |\n| [@pompelmi/hono](./packages/hono/) | Hono | `npm i @pompelmi/hono` |\n| [@pompelmi/remix](./packages/remix/) | Remix | `npm i @pompelmi/remix` |\n| [@pompelmi/sveltekit](./packages/sveltekit/) | SvelteKit | `npm i @pompelmi/sveltekit` |\n| [@pompelmi/testing](./packages/testing/) | Jest/Vitest/Node | `npm i -D @pompelmi/testing` |\n| [@pompelmi/cloudflare](./packages/cloudflare/) | Cloudflare Workers | `npm i @pompelmi/cloudflare` |\n\n### NestJS\n\n```ts\nimport { PompelmiModule, PompelmiService } from '@pompelmi/nestjs';\n\n// app.module.ts\n@Module({ imports: [PompelmiModule.forRoot({ host: 'localhost', port: 3310 })] })\nexport class AppModule {}\n\n// upload.service.ts\nconstructor(private readonly pompelmi: PompelmiService) {}\nconst result = await this.pompelmi.scanBuffer(file.buffer);\n```\n\n### Fastify\n\n```js\nconst pompelmi = require('@pompelmi/fastify');\nawait fastify.register(pompelmi, { host: 'localhost', port: 3310 });\n\n// Scan manually\nconst result = await fastify.pompelmi.scanBuffer(buffer);\n\n// Or use the preHandler hook\nfastify.post('/upload', { preHandler: fastify.pompelmi.preHandler({ field: 'file' }) }, handler);\n```\n\n### Hono (Node.js, Bun, Cloudflare Workers)\n\n```js\nimport { Hono } from 'hono'\nimport { pompelmiMiddleware } from '@pompelmi/hono'\n\nconst app = new Hono()\n\napp.use('/upload/*', pompelmiMiddleware({\n  host: 'localhost',\n  port: 3310,\n  onInfected: (c, filename) => c.json({ error: 'Malware detected' }, 422),\n}))\n\napp.post('/upload', async (c) => c.json({ ok: true }))\n```\n\n### Remix\n\n```ts\nimport { unstable_parseMultipartFormData, json } from '@remix-run/node'\nimport { pompelmiUploadHandler } from '@pompelmi/remix'\n\nexport async function action({ request }) {\n  // Throws HTTP 422 automatically if malware is detected\n  const formData = await unstable_parseMultipartFormData(\n    request,\n    pompelmiUploadHandler({ host: 'localhost', port: 3310 })\n  )\n  const file = formData.get('file')\n  return json({ name: file.name, size: file.size, ok: true })\n}\n```\n\n### SvelteKit\n\n```ts\n// +page.server.ts\nimport { scanUpload } from '@pompelmi/sveltekit'\nimport type { Actions } from './$types'\n\nexport const actions: Actions = {\n  default: async ({ request }) => {\n    const formData = await request.formData()\n    // Throws HTTP 422 automatically if malware is detected\n    await scanUpload(formData.get('file') as File, { host: 'localhost', port: 3310 })\n    return { success: true }\n  }\n}\n```\n\n---\n\n## Requirements\n\n- **Node.js** — any LTS release (no native addons, no C++ bindings)\n- **Bun** — fully supported; uses `Bun.file()` for faster file reading\n- **Deno** — import from `npm:pompelmi` — no install step required\n- **Cloudflare Workers** — via `@pompelmi/cloudflare` — connects to a remote clamd over TCP\n- **ClamAV** — must be installed on the host or reachable over TCP\n\npompelmi does not bundle or automatically download ClamAV. Install it once per machine (see [Installing ClamAV](#installing-clamav)).\n\n---\n\n## Installation\n\nSee [pompelmi.app](https://pompelmi.app) for the full getting-started guide.\n\n```bash\n# npm\nnpm install pompelmi\n\n# yarn\nyarn add pompelmi\n\n# pnpm\npnpm add pompelmi\n\n# bun\nbun add pompelmi\n```\n\n### Docker\n\nRun ClamAV as a sidecar and point pompelmi at it — no local install needed on the application host.\n\n```yaml\n# docker-compose.yml\nservices:\n  clamav:\n    image: clamav/clamav:stable\n    ports:\n      - \"3310:3310\"\n```\n\n```js\nconst result = await scan('/path/to/upload.zip', {\n  host: '127.0.0.1',\n  port: 3310,\n});\n```\n\nSee [Docker / remote scanning](#docker--remote-scanning) for details.\n\n---\n\n## Usage\n\n### Basic scan\n\n```js\nconst { scan, Verdict } = require('pompelmi');\n\nconst result = await scan('/path/to/file.pdf');\n\nif (result === Verdict.Clean)     console.log('File is safe.');\nif (result === Verdict.Malicious) throw new Error('Malware detected — file rejected.');\nif (result === Verdict.ScanError) console.warn('Scan incomplete — treat file as untrusted.');\n```\n\n### Express file upload\n\n```js\nconst express = require('express');\nconst multer  = require('multer');\nconst fs      = require('fs');\nconst { scan, Verdict } = require('pompelmi');\n\nconst upload = multer({ dest: './uploads' });\nconst app    = express();\n\napp.post('/upload', upload.single('file'), async (req, res) => {\n  const filePath = req.file.path;\n\n  try {\n    const result = await scan(filePath);\n\n    if (result === Verdict.Malicious) {\n      fs.unlinkSync(filePath);\n      return res.status(422).json({ error: 'Malicious file rejected.' });\n    }\n    if (result === Verdict.ScanError) {\n      fs.unlinkSync(filePath);\n      return res.status(422).json({ error: 'Scan incomplete — file rejected as precaution.' });\n    }\n\n    return res.json({ ok: true, file: req.file.filename });\n  } catch (err) {\n    fs.unlink(filePath, () => {});\n    return res.status(500).json({ error: `Scan failed: ${err.message}` });\n  }\n});\n\napp.listen(3000);\n```\n\n### Fastify file upload\n\n```js\nconst Fastify  = require('fastify');\nconst { pipeline } = require('stream/promises');\nconst fs       = require('fs');\nconst path     = require('path');\nconst { scan, Verdict } = require('pompelmi');\n\nconst app = Fastify({ logger: true });\napp.register(require('@fastify/multipart'));\n\napp.post('/upload', async (req, reply) => {\n  const data     = await req.file();\n  const filePath = path.join('./uploads', `${Date.now()}-${data.filename}`);\n\n  await pipeline(data.file, fs.createWriteStream(filePath));\n\n  const result = await scan(filePath);\n\n  if (result !== Verdict.Clean) {\n    fs.unlinkSync(filePath);\n    return reply.code(422).send({ error: result.description });\n  }\n\n  return reply.send({ ok: true });\n});\n```\n\n### Full error handling\n\n```js\nconst { scan, Verdict } = require('pompelmi');\nconst path = require('path');\n\nasync function safeScan(filePath) {\n  try {\n    const result = await scan(path.resolve(filePath));\n\n    if (result === Verdict.ScanError) {\n      // clamscan exited with code 2 — I/O error, encrypted archive, etc.\n      console.warn('Scan could not complete — rejecting file as precaution.');\n      return null;\n    }\n\n    return result; // Verdict.Clean or Verdict.Malicious\n  } catch (err) {\n    // filePath not a string, file not found, clamscan not in PATH, etc.\n    console.error('Scan failed:', err.message);\n    return null;\n  }\n}\n```\n\n### Scan multiple files concurrently\n\n```js\nconst { scan } = require('pompelmi');\nconst files    = ['/uploads/a.pdf', '/uploads/b.zip', '/uploads/c.png'];\n\nconst results = await Promise.all(files.map((f) => scan(f)));\n```\n\n### Scan a Directory\n\n```js\nconst fs = require('fs');\nconst { scanDirectory } = require('pompelmi');\n\nconst results = await scanDirectory('/uploads');\n\nconsole.log('Clean:', results.clean);\nconsole.log('Malicious:', results.malicious);\nconsole.log('Errors:', results.errors);\n\n// Delete all malicious files\nresults.malicious.forEach(f => fs.unlinkSync(f));\n```\n\n### Scan a Buffer\n\n```js\nconst { scanBuffer, Verdict } = require('pompelmi');\n\n// Useful with multer memoryStorage or any in-memory upload\nconst result = await scanBuffer(req.file.buffer);\n\nif (result === Verdict.Malicious) throw new Error('Malware detected.');\nif (result === Verdict.ScanError) console.warn('Scan incomplete.');\n```\n\n### Scan a Stream\n\n```js\nconst { scanStream, Verdict } = require('pompelmi');\nconst { Readable } = require('stream');\n\n// Useful for S3 getObject, HTTP downloads, or any piped source\nconst stream = s3.getObject({ Bucket, Key }).createReadStream();\nconst result = await scanStream(stream);\n\nif (result === Verdict.Malicious) throw new Error('Malware detected.');\nif (result === Verdict.ScanError) console.warn('Scan incomplete.');\n```\n\n---\n\n## Docker / Remote Scanning\n\nPass `host` and `port` (or `socket`) to switch from the local `clamscan` CLI to the clamd daemon. Everything else — the returned verdicts, error types — is identical.\n\n**TCP:**\n```js\nconst result = await scan('/path/to/file.zip', { host: '127.0.0.1', port: 3310 });\n```\n\n**UNIX socket:**\n```js\nconst result = await scan('/path/to/file.zip', { socket: '/run/clamav/clamd.sock' });\n```\n\nSee **[docs/docker.md](./docs/docker.md)** for Docker Compose examples, UNIX socket volume mounts, `scanBuffer` / `scanStream` in clamd mode, and connection retry patterns.\n\n---\n\n## Configuration\n\npompelmi has no configuration file or environment variables. All options are passed directly to `scan()`.\n\n| Option       | Type     | Default | Description                            |\n|--------------|----------|---------|----------------------------------------|\n| `socket`     | `string` | —       | Path to a clamd UNIX domain socket (e.g. `/run/clamav/clamd.sock`). Takes precedence over `host`/`port` when set. |\n| `host`       | `string` | —       | clamd hostname. Enables TCP mode when set. |\n| `port`       | `number` | `3310`  | clamd port.                            |\n| `timeout`    | `number` | `15000` | Socket idle timeout in milliseconds (clamd mode only). |\n| `retries`    | `number` | `0`     | Automatic retry attempts on connection error. |\n| `retryDelay` | `number` | `1000`  | Milliseconds to wait between retries. |\n\nWhen none of `socket`, `host`, or `port` is provided, pompelmi spawns `clamscan --no-summary <filePath>` locally.\n\n---\n\n## API Reference\n\nSee **[docs/api.md](./docs/api.md)** for the full reference: function signatures, options table, verdict Symbols, error conditions, and error handling patterns.\n\n**Quick summary:**\n\n| Function | Input | Disk I/O |\n|----------|-------|----------|\n| `scan(filePath, [options])` | File path on disk | None in clamd mode (streamed) |\n| `scanBuffer(buffer, [options])` | `Buffer` | None (streamed) |\n| `scanStream(stream, [options])` | Node.js `Readable` | None (streamed) |\n| `scanDirectory(dirPath, [options])` | Directory path | None in clamd mode |\n| `scanS3(params, [options])` | S3 bucket + key | None (streamed from S3) |\n| `createPool([options])` | — | Returns a `ClamdPool` |\n| `watch(dirPath, [options], callbacks)` | Directory path | None in clamd mode |\n\nAll four functions accept the same `options` object and resolve to the same three verdict Symbols:\n\n| Symbol | Meaning |\n|--------|---------|\n| `Verdict.Clean` | No threats found |\n| `Verdict.Malicious` | Known signature matched |\n| `Verdict.ScanError` | Scan could not complete — treat as untrusted |\n\n---\n\n## Installing ClamAV\n\n```bash\n# macOS\nbrew install clamav && freshclam\n\n# Linux (Debian / Ubuntu)\nsudo apt-get install -y clamav clamav-daemon && sudo freshclam\n\n# Windows (Chocolatey)\nchoco install clamav -y\n```\n\n---\n\n## Examples\n\nThe [`examples/`](./examples/) directory contains standalone runnable scripts and framework-specific starters.\n\n### Framework starters\n\n| Directory | Description |\n|-----------|-------------|\n| [`examples/express/`](./examples/express/) | Full Express app with multer + pompelmi middleware |\n| [`examples/nextjs/`](./examples/nextjs/) | Next.js API route that scans raw upload bytes |\n| [`examples/nestjs/`](./examples/nestjs/) | NestJS guard wrapping pompelmi for route-level protection |\n\n### Standalone scripts\n\nEach can be run with `node examples/<name>.js`.\n\n| File | Description |\n|------|-------------|\n| `basic-scan.js` | Scan a single file and log the verdict |\n| `scan-on-upload-express.js` | Express route: scan before saving |\n| `scan-on-upload-fastify.js` | Fastify route: same pattern |\n| `scan-with-options.js` | Remote clamd with custom host, port, timeout |\n| `handle-scan-error.js` | Handle every verdict including hard rejections |\n| `delete-on-malicious.js` | Auto-delete file if malicious |\n| `quarantine-on-malicious.js` | Move infected file to a quarantine folder |\n| `scan-multiple-files.js` | Concurrent scans with Promise.all |\n| `scan-directory.js` | Recursively scan every file in a directory |\n| `scan-buffer.js` | Scan an in-memory Buffer (multer memoryStorage) |\n| `scan-stream.js` | Scan a Readable stream (S3, HTTP, pipes) |\n| `rest-api-server.js` | Minimal HTTP server exposing POST /scan |\n| `s3-scan-before-upload.js` | Scan locally, then upload to S3 only if clean |\n| `cli-scan.js` | CLI tool: scan file paths, exit non-zero on threats |\n| `scan-with-timeout.js` | Timeout patterns for local and remote scanning |\n| `scan-pdf.js` | PDF upload with extension validation |\n| `scan-image.js` | Image upload with extension validation |\n| `scan-zip.js` | ZIP archive scan (ClamAV recurses automatically) |\n| `install-clamav.js` | Programmatic ClamAV installation |\n| `update-virus-database.js` | Programmatic virus DB update |\n| `typescript-usage.ts` | TypeScript example with full type declarations |\n\n---\n\n## GitHub Action\n\n[![GitHub Marketplace](https://img.shields.io/badge/Marketplace-Pompelmi%20ClamAV%20Scanner-blue?logo=github)](https://github.com/marketplace/actions/pompelmi-clamav-scanner)\n\nScan any repository for viruses on every push or pull request — ClamAV is bundled inside a Docker container, virus definitions are auto-updated at runtime, and no external services are required.\n\n### Minimal usage\n\n```yaml\n- uses: actions/checkout@v4\n\n- name: Virus scan\n  uses: pompelmi/pompelmi@v1.7.0\n```\n\n### Full example\n\n```yaml\n- uses: actions/checkout@v4\n\n- name: Virus scan\n  id: scan\n  uses: pompelmi/pompelmi@v1.7.0\n  with:\n    path: 'uploads/'        # scan a subdirectory instead of the whole workspace\n    fail-on-virus: 'true'   # fail the workflow step on detection (default)\n\n- name: Print infected files\n  if: always()\n  run: echo \"${{ steps.scan.outputs.infected-files }}\"\n```\n\n### Inputs\n\n| Input | Description | Default |\n|-------|-------------|---------|\n| `path` | Directory or file to scan | `.` (full workspace) |\n| `fail-on-virus` | Fail the workflow step when infected files are found | `true` |\n| `comment-on-pr` | Post a PR comment listing infected files (requires `GITHUB_TOKEN`) | `true` |\n\n### Outputs\n\n| Output | Description |\n|--------|-------------|\n| `infected-files` | Newline-separated list of infected file paths (empty when clean) |\n| `status` | `\"clean\"` or `\"infected\"` |\n\nA ready-to-copy workflow is available at [`.github/workflows/action-example.yml`](./.github/workflows/action-example.yml). Full reference — inputs, outputs, layer caching, and more examples — in **[docs/github-action.md](./docs/github-action.md)**.\n\n> **For organizations:** install the [pompelmi GitHub App](./docs/github-app.html) for zero-config scanning on every PR — no workflow file needed.\n\n---\n\n## Contributing\n\nFull documentation and guides are available in the [Wiki](https://github.com/pompelmi/pompelmi/wiki).\n\n```bash\n# 1. Clone and install dev dependencies\ngit clone https://github.com/pompelmi/pompelmi.git\ncd pompelmi\nnpm install\n\n# 2. Run the test suite\nnpm test\n\n# 3. Lint\nnpm run lint\n```\n\n**Tests**\n\n- `test/unit.test.js` — runs with Node's built-in test runner. Mocks `nativeSpawn` and platform dependencies; ClamAV is not required.\n- `test/scan.test.js` — integration tests that spawn real `clamscan` against EICAR test files. Skipped automatically when `clamscan` is not in `PATH`.\n\n**Submitting changes**\n\n1. Fork the repository.\n2. Create a feature branch: `git checkout -b feat/your-change`.\n3. Make your changes and confirm `npm test` passes.\n4. Open a pull request against `main`.\n\nPlease read [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md) before contributing. To report a security vulnerability, see [SECURITY.md](./SECURITY.md).\n\n---\n\n## Coming soon\n\n- [x] Cloudflare Workers support — `@pompelmi/cloudflare` ships in v1.17.0\n- [x] NestJS official module — `PompelmiModule.forRoot()` with injectable `PompelmiService`\n\n**Pompelmi Cloud** is on the horizon — a hosted REST API for file scanning with zero infrastructure to manage. Drop-in HTTP endpoint, no ClamAV to maintain, no daemon to run. [Join the waitlist](https://pompelmi.app/cloud.html) to be notified when it launches.\n\n---\n\n## License\n\n[ISC](./LICENSE) — © pompelmi contributors\n\n---\n\n[pompelmi.app](https://pompelmi.app) · [npm](https://www.npmjs.com/package/pompelmi) · [GitHub](https://github.com/pompelmi/pompelmi)\n","readmeFilename":"README.md"}