{"_id":"@abaccus/koapression","_rev":"2-f01731ae6ad5be018b09e710dcb64258","name":"@abaccus/koapression","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@abaccus/koapression","description":"Koa compression middleware","version":"1.0.0","contributors":[{"name":"Antonio Bourassa","email":"abourassa@assetval.com"}],"license":"MIT","devDependencies":{"@getify/eslint-plugin-proper-ternary":"^3.0.1","after":"0.8.2","eslint":"^6.5.1","eslint-config-airbnb-base":"14.0.0","eslint-import-resolver-node":"0.3.2","eslint-plugin-import":"^2.18.2","eslint-plugin-markdown":"1.0.0","eslint-plugin-node":"^10.0.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-security":"^1.4.0","koa":"^2.8.2","mocha":"^6.2.1","nyc":"^14.1.1","supertest":"^4.0.2"},"engines":{"node":"10.16.3","npm":"6.11.2"},"scripts":{"test":"mocha --check-leaks --reporter spec --bail","test-cov":"nyc cover node_modules/mocha/bin/_mocha -- --check-leaks --reporter dot"},"eslintConfig":{"plugins":["node","security","@getify/proper-ternary"],"extends":["airbnb-base","plugin:node/recommended","plugin:security/recommended","plugin:import/errors","plugin:import/warnings","plugin:@getify/proper-ternary/getify-says"],"env":{"shared-node-browser":true,"node":true,"es6":true},"rules":{"arrow-parens":["error","as-needed",{"requireForBlockBody":true}],"no-unused-vars":"off","one-var":["error",{"var":"consecutive","let":"consecutive","const":"never"}],"one-var-declaration-per-line":"off","consistent-return":"off","func-names":"off","max-len":"off","no-unused-expressions":"off","no-console":"off","no-shadow":["error",{"hoist":"never","allow":["done","resolve","err","error","cb","User","user","issue"]}],"no-param-reassign":"off","no-prototype-builtins":"off","newline-per-chained-call":"off","no-lonely-if":"error","no-new-object":"error","object-curly-newline":["error",{"multiline":true,"consistent":true}],"no-underscore-dangle":"off","object-curly-spacing":["error","never"],"object-shorthand":["error","consistent"],"prefer-destructuring":"off","space-before-blocks":"off","space-before-function-paren":["error","never"],"prefer-rest-params":"off","import/newline-after-import":"off"}},"stylelint":{"extends":"stylelint-config-standard","plugins":["stylelint-scss"],"rules":{"font-family-no-missing-generic-family-keyword":false,"max-empty-lines":2,"unit-whitelist":["px","em","rem","%","s","deg","vh","vw","ms"],"media-feature-name-no-unknown":[true,{"ignoreMediaFeatureNames":["/^prefers-/","custom"]}],"selector-list-comma-newline-after":"never-multi-line","comment-empty-line-before":"never","declaration-block-no-duplicate-properties":[true,{"ignore":["consecutive-duplicates"]}],"number-leading-zero":"never","no-descending-specificity":null,"rule-empty-line-before":["always",{"except":["after-single-line-comment","inside-block-and-after-rule","inside-block","first-nested"]}]}},"nodemonConfig":{"events":{"start":"cls || clear"},"ignore":["log/"]},"browserslist":["last 2 version","> 1%","not ie <= 8","not dead"],"snyk":true,"main":"src/index.js","directories":{"test":"test"},"dependencies":{"debug":"^4.1.1"},"repository":{"type":"git","url":"git+https://github.com/Abourass/koapression.git"},"keywords":["compression","koa","brotli"],"author":{"name":"Abourass"},"bugs":{"url":"https://github.com/Abourass/koapression/issues"},"homepage":"https://github.com/Abourass/koapression#readme","gitHead":"049d4cc72665f726b00ec5b877d3fa068e68dace","_id":"@abaccus/koapression@1.0.0","_nodeVersion":"12.10.0","_npmVersion":"6.11.3","dist":{"integrity":"sha512-CCJXOKH7XcxMX+q0qpTKyqxBAr9Uu6xZdUx1/VM/KIvvLw6wH6hJ8gAzloMxygbO6hr6StwWznORKRvl663hAg==","shasum":"27fdeac346af788929d9a4e39c58905c4c1f7dc6","tarball":"https://registry.npmjs.org/@abaccus/koapression/-/koapression-1.0.0.tgz","fileCount":16,"unpackedSize":104061,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdnJ0lCRA9TVsSAnZWagAAaBgQAIxbn6eFg5+N94ChUg05\nuD3+XX+0bYAAqQFWOkSZ/JjFj1oLj+liAGOmjIvG8PN6/kT3KITsV5lTl+bb\nsz6kAuEc/FrOyTzYwxOy2xV/gxHeoCYMKtY4boyWtpw4+u2BH2IR4KFEdVkZ\n/KZQ8nsGnSpenKvm3RqtIHu1Ds/iT4grfCfgp+cbNRty8rmjOzz9mF9chVLr\nfr0RhbNj3aVbTD7FZaG2zUtw4M67kvF2pDJaQIbf9tZNyAuii/NLMQvP7Hlb\niLzFMeC6Hz2VMHmR/vhv/dutLrsofrP60a7948GTRS3PsZnfPNuUe7NcmIWB\nZoR7+1hwGANiSKm2GOYxAoEjw92VxV5oCVK7XUhEkK+L4wNOp+zgV2S0XyrY\nusMyVb/ciReJXlSy7Rz0lkMcw0QVG+zKb8Mrnq8Rc67JXyNYoWhUc4PxKtIx\nsZqbIUX69v2HKWYDsmN2FzdzHOMRkHatzsZDCtcH9h/yw37kpLXaLWiMrI56\na7AkNdfaYkQSdqPF/p+aEz2gSXna1WgyNihpu7emY3FYKcVJBothGi0g8+Y1\nqO9Q5Bx1Asw9KNCk2bKDCyKrNqSXS+QPohbQ2j3RgF+De3Y2SH/RJ/7thoXi\nBxB2ZY8ASGNZ8fPQB88krWZk1ArQFasO69IoedvuT8V9RmHVax686Kg2ntTo\n3oWV\r\n=eYAj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDSatni49K0dBJ2Pm0WRRpFQlVBiIZkckd9QGAOK/1DLQIhAInAKyzPbKmS6wyq3RsT/vzlmLRO1NO4wmwIA1T0VEVI"}]},"maintainers":[{"name":"abaccus","email":"abourassa@assetval.com"}],"_npmUser":{"name":"abaccus","email":"abourassa@assetval.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/koapression_1.0.0_1570544933146_0.88106789794969"},"_hasShrinkwrap":false},"1.0.1":{"name":"@abaccus/koapression","description":"Koa compression middleware","version":"1.0.1","contributors":[{"name":"Antonio Bourassa","email":"abourassa@assetval.com"}],"license":"MIT","devDependencies":{"@getify/eslint-plugin-proper-ternary":"^3.0.1","after":"0.8.2","eslint":"^6.5.1","eslint-config-airbnb-base":"14.0.0","eslint-import-resolver-node":"0.3.2","eslint-plugin-import":"^2.18.2","eslint-plugin-markdown":"1.0.0","eslint-plugin-node":"^10.0.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-security":"^1.4.0","koa":"^2.8.2","mocha":"^6.2.1","nyc":"^14.1.1","supertest":"^4.0.2"},"engines":{"node":"10.16.3","npm":"6.11.2"},"scripts":{"test":"mocha --check-leaks --reporter spec --bail","test-cov":"nyc cover node_modules/mocha/bin/_mocha -- --check-leaks --reporter dot"},"eslintConfig":{"plugins":["node","security","@getify/proper-ternary"],"extends":["airbnb-base","plugin:node/recommended","plugin:security/recommended","plugin:import/errors","plugin:import/warnings","plugin:@getify/proper-ternary/getify-says"],"env":{"shared-node-browser":true,"node":true,"es6":true},"rules":{"arrow-parens":["error","as-needed",{"requireForBlockBody":true}],"no-unused-vars":"off","one-var":["error",{"var":"consecutive","let":"consecutive","const":"never"}],"one-var-declaration-per-line":"off","consistent-return":"off","func-names":"off","max-len":"off","no-unused-expressions":"off","no-console":"off","no-shadow":["error",{"hoist":"never","allow":["done","resolve","err","error","cb","User","user","issue"]}],"no-param-reassign":"off","no-prototype-builtins":"off","newline-per-chained-call":"off","no-lonely-if":"error","no-new-object":"error","object-curly-newline":["error",{"multiline":true,"consistent":true}],"no-underscore-dangle":"off","object-curly-spacing":["error","never"],"object-shorthand":["error","consistent"],"prefer-destructuring":"off","space-before-blocks":"off","space-before-function-paren":["error","never"],"prefer-rest-params":"off","import/newline-after-import":"off"}},"stylelint":{"extends":"stylelint-config-standard","plugins":["stylelint-scss"],"rules":{"font-family-no-missing-generic-family-keyword":false,"max-empty-lines":2,"unit-whitelist":["px","em","rem","%","s","deg","vh","vw","ms"],"media-feature-name-no-unknown":[true,{"ignoreMediaFeatureNames":["/^prefers-/","custom"]}],"selector-list-comma-newline-after":"never-multi-line","comment-empty-line-before":"never","declaration-block-no-duplicate-properties":[true,{"ignore":["consecutive-duplicates"]}],"number-leading-zero":"never","no-descending-specificity":null,"rule-empty-line-before":["always",{"except":["after-single-line-comment","inside-block-and-after-rule","inside-block","first-nested"]}]}},"nodemonConfig":{"events":{"start":"cls || clear"},"ignore":["log/"]},"browserslist":["last 2 version","> 1%","not ie <= 8","not dead"],"snyk":true,"main":"src/index.js","directories":{"test":"test"},"dependencies":{"debug":"^4.1.1"},"repository":{"type":"git","url":"git+https://github.com/Abourass/koapression.git"},"keywords":["compression","koa","brotli"],"author":{"name":"Abourass"},"bugs":{"url":"https://github.com/Abourass/koapression/issues"},"homepage":"https://github.com/Abourass/koapression#readme","gitHead":"28d3b837fe4bb44b5aad5aa5353bdff445804ada","_id":"@abaccus/koapression@1.0.1","_nodeVersion":"12.10.0","_npmVersion":"6.11.3","dist":{"integrity":"sha512-4tH3jJrSIV6lsh1iBDk0n+gsrdYGmbm+dQDejGKygZDfSJpvwx8xZHY6eo8YnfJno2pF85g68Sswr/76B/TGxw==","shasum":"e4ed7607ae1abd285bc9a4125c8cbc5460a7bcf1","tarball":"https://registry.npmjs.org/@abaccus/koapression/-/koapression-1.0.1.tgz","fileCount":16,"unpackedSize":98675,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdnKMaCRA9TVsSAnZWagAAxZgP/2z6n/KdHeWDFkf7Y9W1\naFY3h49WPkCsxz5RT06VFFYZVtSYqzVbLh7wCuR4QqidM+vKFVM+0O4Me20y\nvfsNfgPiq1oZv6NGra8XvxmQtQ7rzdRHMqhJ2Zg4kNoAIJErDkagkvIFdfCB\nzTpzJeFi/GageNFT09x8aUzpQ3blsOvZ6+d0/mteeMuUdhqErNTeHJaYJMCp\nxDvKtOEUB1kkOCwrGHEiZLJtVfbML4t2kciWsLUHGzDKKy7tK5pueGViEVPI\nOOtDfeHCZ1uQz0yWxdZZYA/lDnO2cXTBpOXldjj3Tf9RTrgY+LAkTVwQW1VE\nePHhFMVIZpzxFmm7gWhu04CbkmD5jbWP0pryry0Mfsw1xQV4m4zlYKn5r+wi\njhovTWip2m1UNsJScA6c51xcD1LK2u3Q4kz8SbCTjOnUzKS5z9NA/cjQ60wv\n3PAur2mFY0MjXBoRIL2NuPSPbePO45jMVe5wp19G8G/6Q95nIgLksKql4S6j\nMhB0VRqX7Mo3DToefod47U7/Srhr3ctWEmpMXfilHjGzE35oKOzmBU9VJCLw\nNoTugmmKqh03mkEsmL5HbBUAtxeV/FGD1u+r6Xjxo/8oViLHWBKNJGxPOsM8\nLAbeK1q+4vg3D1r8AncqyES2dbRxlIBrr8glu0qlCajPCm3cP5j9mIBqjOt0\nkjg/\r\n=o9jW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDRvdbOqJOTtH+BmDCwSQT32U0kcF5/ekLx03izM1CVYwIgXtuRX8kE6c9Gsb0E0llSPngaIzAwX1IDt/sqSp8o1kQ="}]},"maintainers":[{"name":"abaccus","email":"abourassa@assetval.com"}],"_npmUser":{"name":"abaccus","email":"abourassa@assetval.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/koapression_1.0.1_1570546457952_0.7834843881193168"},"_hasShrinkwrap":false}},"time":{"created":"2019-10-08T14:28:52.927Z","1.0.0":"2019-10-08T14:28:53.278Z","modified":"2022-04-04T10:56:33.765Z","1.0.1":"2019-10-08T14:54:18.101Z"},"maintainers":[{"name":"abaccus","email":"abourassa@assetval.com"}],"description":"Koa compression middleware","homepage":"https://github.com/Abourass/koapression#readme","keywords":["compression","koa","brotli"],"repository":{"type":"git","url":"git+https://github.com/Abourass/koapression.git"},"contributors":[{"name":"Antonio Bourassa","email":"abourassa@assetval.com"}],"author":{"name":"Abourass"},"bugs":{"url":"https://github.com/Abourass/koapression/issues"},"license":"MIT","readme":"# Koapression\n\nKoa Compression middleware.\n\nThe following compression codings are supported:\n\n  - deflate\n  - gzip\n  - brotli\n\n## Install\n\nThis is a [Node.js](https://nodejs.org/en/) module available through the\n[npm registry](https://www.npmjs.com/). Installation is done using the\n[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally):\n\n```bash\n$ npm install @abaccus/koapression\n```\n\n## API\n\n<!-- eslint-disable no-unused-vars -->\n\n```js\nconst koapression = require('@abaccus/koapression')\n```\n\n## Example\n\n```js\nconst koapression = require('@abaccus/koapression')\nconst Koa = require('koa')\n\nconst app = new Koa()\napp.use(compress({\n  filter: function (content_type) {\n  \treturn /text/i.test(content_type)\n  },\n  threshold: 2048,\n  flush: require('zlib').Z_SYNC_FLUSH\n}))\n```\n\n## Options\n\nThe options are passed to `zlib`: http://nodejs.org/api/zlib.html#zlib_options\n\n### filter\n\nAn optional function that checks the response content type to decide whether to compress.\nBy default, it uses [compressible](https://github.com/expressjs/compressible).\n\n### threshold\n\nMinimum response size in bytes to compress.\nDefault `1024` bytes or `1kb`.\n\n## Manually turning compression on and off\n\nYou can always enable compression by setting `this.compress = true`.\nYou can always disable compression by setting `this.compress = false`.\nThis bypasses the filter check.\n\n```js\napp.use((ctx, next) => {\n  ctx.compress = true\n  ctx.body = fs.createReadStream(file)\n})\n```\n","readmeFilename":"README.md"}