mirror of
https://github.com/denoland/deno.git
synced 2024-12-27 01:29:14 -05:00
ce7dc2be92
Adds support for running npm package lifecycle scripts, opted into via a new `--allow-scripts` flag. With this PR, when running `deno cache` (or `DENO_FUTURE=1 deno install`) you can specify the `--allow-scripts=pkg1,pkg2` flag to run lifecycle scripts attached to the given packages. Note at the moment this only works when `nodeModulesDir` is true (using the local resolver). When a package with un-run lifecycle scripts is encountered, we emit a warning suggesting things may not work and to try running lifecycle scripts. Additionally, if a package script implicitly requires `node-gyp` and it's not found on the system, we emit a warning. Extra things in this PR: - Extracted out bits of `task.rs` into a separate module for reuse - Added a couple fields to `process.config` in order to support `node-gyp` (it relies on a few variables being there) - Drive by fix to downloading new npm packages to test registry --- TODO: - [x] validation for allow-scripts args (make sure it looks like an npm package) - [x] make allow-scripts matching smarter - [ ] figure out what issues this closes --- Review notes: - This adds a bunch of deps to our test registry due to using `node-gyp`, so it's pretty noisy
1 line
No EOL
16 KiB
JSON
1 line
No EOL
16 KiB
JSON
{"_id":"minipass-flush","_rev":"6-456975b058ed166410f42f314271b625","name":"minipass-flush","dist-tags":{"latest":"1.0.5"},"versions":{"1.0.0":{"name":"minipass-flush","version":"1.0.0","description":"A Minipass stream that calls a flush function before emitting 'end'","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"https://izs.me"},"license":"ISC","scripts":{"test":"tap","snap":"tap","preversion":"npm test","postversion":"npm publish","postpublish":"git push origin --follow-tags"},"tap":{"check-coverage":true},"devDependencies":{"tap":"^14.6.4"},"dependencies":{"minipass":"^2.5.1"},"gitHead":"4c21526d3ace110d0f934e92d20ecc900496e259","_id":"minipass-flush@1.0.0","_nodeVersion":"12.8.1","_npmVersion":"6.11.3","dist":{"integrity":"sha512-sSGksFxxQBrZnqlakYlqNSXfGgcFnXq1igL2sYDDtEuM2JK34bpe0O99sukx6fjJa2SISuw0FP8rD1RcViYifg==","shasum":"b5cfb95600f009a2c62f03fc769f59e0ea1d38ff","tarball":"http://localhost:4260/minipass-flush/minipass-flush-1.0.0.tgz","fileCount":4,"unpackedSize":3316,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdfslGCRA9TVsSAnZWagAAI0UP/j1d9yhEJ8b6/rVksrvC\n+wut9JbeM4n2AU4xhSUK8ddPavHw/FkQnOoE6PeJvu5JAT0HGza+sCoq00hF\n53fMzv1lk6K+M0a+ARN5PgMRscjLaSZUxPCsTw0KHIWttIVQPOJQkc9RoYaj\ns6H6fGmTB3B06aB/STx3swB3mTo6VaIgptGew/8iq+OzYRmdKvfPdOzK2pOs\ngcMYGEnIEuz8q08m/kwYMesXrwGZGzZ74hkiB3NOH6tW03j/thePEWaonV5I\nJKPVhZuosTWIzz2xhT0nRHfDx4LEC2D5MfBDknrtX4uigfaVYNtFmH6vlBCI\nMgQRw4TDRXnHgD//PSzZqhjJQxDo167ylm5k7LQ3gfwRkIRrcwdoHID2Xw+0\nCMTNoal5XsFaVg7jeoO5ztilkRF6uU9GFT7S8agAcHurnHs0s0SaXFvdpivu\nbOQQ8DyGPt/MANzQhDi71u3nYIGVC/Gx+AR615C09k9XSN8K6PiiNd8+qMsB\n5zPKluxXW1edN/3Miu+ytJXs54XpHeJrwAFLdmSlgBsmR5U1+1WWWyzk/PhZ\nw3XgTlnUIKCfXNtU+OM5vEgLMvUuWbFi7Mdrz5Q+14Q7wkmx6ap89HtZtEMN\nWIFlGT5ITU/kFvjqx4547sAoNB3+4M9p+yBLyKtAZYB+0H2UtHMPvN+yWExR\na0xY\r\n=rj4F\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDIUyFfmLZvf1xM01NZrrebz+Br/TMpMKQnqw0gC9gKKAiEAuG375CDHd7wnk9JPtuz95sag00kWYgOIvrad+SUDjxk="}]},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"_npmUser":{"name":"isaacs","email":"i@izs.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/minipass-flush_1.0.0_1568590149766_0.8079714738932278"},"_hasShrinkwrap":false},"1.0.1":{"name":"minipass-flush","version":"1.0.1","description":"A Minipass stream that calls a flush function before emitting 'end'","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"https://izs.me"},"license":"ISC","scripts":{"test":"tap","snap":"tap","preversion":"npm test","postversion":"npm publish","postpublish":"git push origin --follow-tags"},"tap":{"check-coverage":true},"devDependencies":{"tap":"^14.6.4"},"dependencies":{"minipass":"^2.5.1"},"gitHead":"d6128f8833ced17233628bdbc597031ffc1a6f99","_id":"minipass-flush@1.0.1","_nodeVersion":"12.8.1","_npmVersion":"6.11.3","dist":{"integrity":"sha512-y0L0wSe9c4bRRcnABbZiwv8QFFFTKMLox1Shf9VKxhNqKlKOfdhkd7/+Rrh4Ip+dO+aPCRx81qzvVhbr2wXChg==","shasum":"5137a873b2c60b9eb52cf1d630fa22d98c040064","tarball":"http://localhost:4260/minipass-flush/minipass-flush-1.0.1.tgz","fileCount":4,"unpackedSize":3321,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdfso6CRA9TVsSAnZWagAAyikP+wXK5L1XDL2Ofod8e18B\n6edAINkZ3ckBvttSXMRx3T/nSRS1AUEVpZzwjUzpfEtshdBOK0qLwOdQnn9j\nDynwqWrV+zfxRBJaXWTi4U/2Nv1TiW7wN+dsoBssFog9eGd6ftC8ynKn6E3T\nSz4xRImqbiydedIJU0swwWJ7XVuqiqed6gEUxzWs7u+3XEHdv2IdUd39riXC\nNgxmw2NHhXms1p+fNNYWHvH1vAK4wqni131Mt7ggseeXsLtb6vL9IzQtNZYj\ncwfCOKrT8TW4KTuzdC3oim0LTCHjR58a1cd9ZDxmm970kbuanm2Oi8ORUgwI\n2Frc5Q09JslccxWEsRnRQuOfYwHecHehq5ws/PGEqyaB9UvjnoNaPx91v9pi\ntWf7StdFLOLFzYEyfGoRcCem41uH8EHehvIqt72a8KkwzX6lrf73J34WMfwT\nSuhiEVqI+Y40wvph8Vgzw8Bds1sCWCpY60TEzc6+IJETQ0ROM/cn8E/kp2IG\nt63I9riu422VAWRWl0+Mrm0aQ85guo9vUyHZAJGCEOqcetdkXFwVXz+GYt+j\nLlnz9HD4H54LAwEN0xLXvRs9GWRJe9sYOBxK0KsHfFo5ehAfo2pKCwmK0xTm\nkvCU4unKW3QecLuc2XxvaKnMOJjZl/mat10CFAL8BXq8nlNW6lkU0zy0yq/w\naEzq\r\n=GaSQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC43YXifZE8zb6+zwKKKDFU+XLixrq3iDvq+t1lEOBmngIhAI/WpGYgX3kUHbeQVyTAl1kseYe8HxXBxXr06FEoLtMp"}]},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"_npmUser":{"name":"isaacs","email":"i@izs.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/minipass-flush_1.0.1_1568590393736_0.9540662901907238"},"_hasShrinkwrap":false},"1.0.2":{"name":"minipass-flush","version":"1.0.2","description":"A Minipass stream that calls a flush function before emitting 'end'","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"https://izs.me"},"license":"ISC","scripts":{"test":"tap","snap":"tap","preversion":"npm test","postversion":"npm publish","postpublish":"git push origin --follow-tags"},"tap":{"check-coverage":true},"devDependencies":{"tap":"^14.6.4"},"dependencies":{"minipass":"^2.6.2"},"gitHead":"1fc00e064c1e43f1508141a2d3e7979fb057855f","_id":"minipass-flush@1.0.2","_nodeVersion":"12.8.1","_npmVersion":"6.11.3","dist":{"integrity":"sha512-k8lFq5QINRSQjpJhC9bQjW18dTIFBtH6PTaXArdtaBpsCDYeXrYUEdbn74lgY/Sy/TQZFSMjVaZIG0z7oJWaoQ==","shasum":"9160f1b98124c151f7b3565a493660ed7c1868e6","tarball":"http://localhost:4260/minipass-flush/minipass-flush-1.0.2.tgz","fileCount":4,"unpackedSize":3522,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdgAq3CRA9TVsSAnZWagAAiDsQAI4TuiEF/MYcKNeKR/1F\nsGbC4WZU81bJ4MIwV0FXWTx4xD5nhCS6GSTuaS1MF6xpdG9ijXC+7hnuGn0o\nNzTTKtKEl2FvMrn4HwiCsQzxED+EfxSEGK2/BUcBEtrHarW/pOBxk7JzVDoH\nuRVc55CXDH+Tof9orFcCTLnSTfx9ZIzN4zf7vcmLIndq/uFu0GGWQBy3ZP0i\nUIQWxQnT3tbSTcWj12OPl5ByZMciDjRPtoYeP2yp5R40fppn1TIPucNgokwe\njLBGaJeOJdi8fElTEvNMzVgt8Us48mv/hzJ6Fu1SLcTCslp3yC2dkwmSG7RY\n6dGKFg4fquOnoe3P5u3psqv0ixk64bVqo4qo6KQNrg1GeUssUjJodBzQQbYt\nGS5hF+DjEjm3eJeA000Y9hZxkRbxKrfXopDZLcmKroiVco3o1XIpyGRFQrKK\nT7P3LG8qC2JFDuzjLciCovlxaqZPOoyFfLoPqga4GZlTfsYNJWELEyZH7ERM\npB5vc+TCERp8Bdmj0xRMttDuun1uZuFZNT2FhzbdELuGN5yJnXjs0IL2N7v8\n3UoPfAiOfxxwrVLYva4sKbwT7sKSbLcesEDPG/024pc/Lesk2AL37U68RAl6\nr6NV2hVw4hhDNWabEdPN/w02EN9IT6Pzf7E5W7Hp0857XMoSGqCprA1S2Qkg\nwpGg\r\n=R5LV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH+eeONxpInQfuDhQnPOm1oGNg5MR7gi/S/N7x9Hk5c9AiA34gK2WD4oYQm6lBgbtaIXl40j6JcV6e5XDKf0otLtjw=="}]},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"_npmUser":{"name":"isaacs","email":"i@izs.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/minipass-flush_1.0.2_1568672438692_0.1324160550195963"},"_hasShrinkwrap":false},"1.0.3":{"name":"minipass-flush","version":"1.0.3","description":"A Minipass stream that calls a flush function before emitting 'end'","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"https://izs.me"},"license":"ISC","scripts":{"test":"tap","snap":"tap","preversion":"npm test","postversion":"npm publish","postpublish":"git push origin --follow-tags"},"tap":{"check-coverage":true},"devDependencies":{"tap":"^14.6.4"},"dependencies":{"minipass":"^2.6.2"},"gitHead":"cb96dd6cfb8603a7d843a8693bc2fd65ae67054d","_id":"minipass-flush@1.0.3","_nodeVersion":"12.8.1","_npmVersion":"6.11.3","dist":{"integrity":"sha512-bEC30uyEw1tUreuwdC0DRVKcLQfxaRXna2g68L9YgqQxrWCfoF03ci4eXBMIY6d0i2Ona4W3XdVoti1666Zniw==","shasum":"3089d92b79ab157f7a39b63bc20826bc7d5bab2c","tarball":"http://localhost:4260/minipass-flush/minipass-flush-1.0.3.tgz","fileCount":4,"unpackedSize":3543,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdgDYkCRA9TVsSAnZWagAA9m0P/0Cbi12dJ9Oxio+JLiId\njJYQAtcUVcx3bcng3rvJJUXXHPRgIxCGjFMSt6Na6b9a+B8QfaOXjqP/sRPu\nnIk3wqP7dTsjOTHUmLjLTXxaqusor3Zm+G/7jIY9UpysD3Y5UDPRck6Ngapx\nN7T85dkSBc0V3jIeZWMl45RXZLBRRsZKL57hSHnBvNFVwwifCbPbkb27T7qQ\nqRjw+kIbtD7rj6rN2t0D3Dy4kUHLKuBfGWJDtCKV6ytVKaTYFkd4SKSdQxxD\npQbeC9CymVz+iBXWyNpeYGZXD7oEhiRaOlPl0M6dawGj36TEz0+hfYIy6ke1\nZPvtawGmIVhB+ylrXVL6xryiafVW2F34Xjea8WJRZoI7yFOY4ica4GNH7kz3\n6tU3zw3nAGteKRcyFD9vFq8m9DIZiitq+H8JlWaM3Rb1nM9f59RiZdHnsBsz\nZcUm3/XNWIqABhAe6XF1ahCb9ahDRzm1qE9mbjvfjvMcUDx6NadL+bmofy7N\n39PiCZZgAcEw+7fVSHnB/uG/Adla7tIvtO23w3e6NAkpgRefRlK4kJR+7wxq\nbIMC/AFCS0yxVJbqrrdpcnArQQhh/BZY6zP69T/pLMuYgVeRrmVc6Z8iNkg7\nh3b7SAV0Xys3cMU5FrRLHH1OZi/sHYnowkN9r52IQVnH5M7RC2wT33VAa89/\npZiQ\r\n=eNYo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAZWllpNwe+kwjsqmpFj7KEcoP7kwbfa2BT9K8rbFnwuAiArW+DduT5mghEmTnJwFDz3vBAX8mV79xupR2KpHJrQOQ=="}]},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"_npmUser":{"name":"isaacs","email":"i@izs.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/minipass-flush_1.0.3_1568683555793_0.23236597573625106"},"_hasShrinkwrap":false},"1.0.4":{"name":"minipass-flush","version":"1.0.4","description":"A Minipass stream that calls a flush function before emitting 'end'","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"https://izs.me"},"license":"ISC","scripts":{"test":"tap","snap":"tap","preversion":"npm test","postversion":"npm publish","postpublish":"git push origin --follow-tags"},"tap":{"check-coverage":true},"devDependencies":{"tap":"^14.6.4"},"dependencies":{"minipass":"^2.6.2"},"main":"index.js","repository":{"type":"git","url":"git+https://github.com/isaacs/minipass-flush.git"},"keywords":["minipass","flush","stream"],"gitHead":"280c5c62a489e130a82b38353608522b5468f759","bugs":{"url":"https://github.com/isaacs/minipass-flush/issues"},"homepage":"https://github.com/isaacs/minipass-flush#readme","_id":"minipass-flush@1.0.4","_nodeVersion":"12.8.1","_npmVersion":"6.11.3","dist":{"integrity":"sha512-xr8SwVhu0UQTN3Fn8A2kyFubTZX/UCMDi0z7/LtyFkaTu8+5m0XeWODyj/gY1fG/GAf6qGfODfPc8RmHVaYJ+A==","shasum":"e43261649da7ff9b9db529edc635b8f835411759","tarball":"http://localhost:4260/minipass-flush/minipass-flush-1.0.4.tgz","fileCount":4,"unpackedSize":3732,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdglZ5CRA9TVsSAnZWagAA71UP/3dF1aU/oWrtPakLVuAu\nawyNuixs/lZwWGTzOGDyhWOrWl3pP2TfCeTrn6pbk9y1pxsqB11FSzA0vxol\nbKO5VrsLkVpb2G0argo27QfJRjM6nU1AdEvkcXykZLQ9cIFB0TycoHEoyKVm\nOHRr8C5kCAOU/braBjZ0NDiQdpxDdMheqPIvV3+/ID+yX0P1UZZpvnx6U8a7\nhtL7d4dxHO1foAwaZkGFSZBVEiFdLKGhAbILwgi+ejMNjqB4CqAIPig76yLs\n8HSQwY9XhA45zuewoF+Kf3o0EfuGGqN8mg15Y6OGsdCh24bwb45CEXRYxh6W\nc//MsIfZeTFe35mozxSRbc5lhwT1kxu3Ofxn8JLrF476GmVrvWlTIb5ttxSO\nZi8O3e98awT7zq/Mk6mJCaUBoZ9fcLAHSnSxdiaC1oN/rT4axP70SdqvwTOQ\nxkoPJInn6EK8ywQlf82lyO73e5dliXaR0Na8fLB+MS8Jea3n8YZmpPlFdXLQ\nhUGPmUHQYzXh5taIadwkRXl90lHsnkuWSXin6IMAduiM0tkfbNyFWT078lF7\nvfZ64ZO7T+AuvXy+V2/criJ8WSbuX71anir9/+YaP8pqAuqVq+QMKjlVg3vf\nnJ0I03xgPSWVCNGq90EUFUD9+BsL3pkKNZbm6JGn8EVhSFNKII4cYba8yboB\ncgt8\r\n=rO7E\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAILZtxy+nJjObBN5VQd86OdOzuw+2DdIyS8u9atPc9CAiBrcB/RE177DEEyrp7uCEP8v11vFqmGjxmteihD+BmTEA=="}]},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"_npmUser":{"name":"isaacs","email":"i@izs.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/minipass-flush_1.0.4_1568822904729_0.3900350616791064"},"_hasShrinkwrap":false},"1.0.5":{"name":"minipass-flush","version":"1.0.5","description":"A Minipass stream that calls a flush function before emitting 'end'","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"https://izs.me"},"license":"ISC","scripts":{"test":"tap","snap":"tap","preversion":"npm test","postversion":"npm publish","postpublish":"git push origin --follow-tags"},"tap":{"check-coverage":true},"devDependencies":{"tap":"^14.6.9"},"dependencies":{"minipass":"^3.0.0"},"main":"index.js","repository":{"type":"git","url":"git+https://github.com/isaacs/minipass-flush.git"},"keywords":["minipass","flush","stream"],"engines":{"node":">= 8"},"gitHead":"9625266c18ca9d14bb13f85dfcdf8cb67763b14e","bugs":{"url":"https://github.com/isaacs/minipass-flush/issues"},"homepage":"https://github.com/isaacs/minipass-flush#readme","_id":"minipass-flush@1.0.5","_nodeVersion":"12.8.1","_npmVersion":"6.12.0-next.0","dist":{"integrity":"sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==","shasum":"82e7135d7e89a50ffe64610a787953c4c4cbb373","tarball":"http://localhost:4260/minipass-flush/minipass-flush-1.0.5.tgz","fileCount":4,"unpackedSize":3771,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdkmuZCRA9TVsSAnZWagAAbU0QAJZOgfwMjGwsBXsEKbe4\nkLt82NEj2aO+Hx9DqkBbt0XWoOypu9zNzY5kknQQBGSY+qT2yL0IkisbvC/c\nJkVbRj/rULVUMiYh0fzFzn2dRm7tCsDrI+KMeeGPt5jfs38ZAAnbQEMdwabI\nttqjCC5aSPBu4KZvXuadHGWtccwzkbE8ZoEr5BFFoUSR7ovVpeNkfj3mRXDh\nR0Iv/1YUqkxX3h9QMeDgFMwZTMEbxnd9noR6n71XeIv4FsIzMNf0TSNeC2Q1\nuNWYTaOTzDMCLEUHUIu6ba0tfmi9ZIqTxzJXozGX9YJ76+NoptytoK48v7Lo\nMEwfnuF/TtAAe6WGfcqHOZc0+rF1KnAJPXc05kscsLj4kh199sCDtrFmkKlT\n/I+lBtV5raSGdKVAjNC4ONnNETRij42HDVfvpuGIPUrSvXRLkrcxcjhEI8r6\nb8w8j8GodE7gAoHzUxdbcwARpPcszCOLF1Ttv5jWPSKR+pBzs/qnSDCdBcbu\nPgG5Cypac6wLcmdbpHigsvTN3rX8YHFyqf3ROypeLvxB01oTLWPPcSOf3zj3\nW+kqJ1SeiGVcp7suEbqGO5FxoBQkGm98YPXvk4uDjxQygd8iP6gG3FAR0jYu\n6i5u1TlpeNA1B3ZraveU4Uu/vpP2AL96F+ehDHQgDK4S990to6utl6Dk85HZ\nIud+\r\n=EXN3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGDBlwD3arNCq9Laj2Ecw/O+KJ1u+CD2uVLIYV18eBlGAiEAhjEiSv0QdmJPic/P1y5UYL7Gnt40/D5k+MAD1mKu5wk="}]},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"_npmUser":{"name":"isaacs","email":"i@izs.me"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/minipass-flush_1.0.5_1569876888688_0.9645134726115252"},"_hasShrinkwrap":false}},"time":{"created":"2019-09-15T23:29:09.766Z","1.0.0":"2019-09-15T23:29:09.908Z","modified":"2022-05-09T10:23:45.447Z","1.0.1":"2019-09-15T23:33:13.881Z","1.0.2":"2019-09-16T22:20:38.803Z","1.0.3":"2019-09-17T01:25:55.922Z","1.0.4":"2019-09-18T16:08:24.970Z","1.0.5":"2019-09-30T20:54:48.902Z"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}],"description":"A Minipass stream that calls a flush function before emitting 'end'","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"https://izs.me"},"license":"ISC","readme":"# minipass-flush\n\nA Minipass stream that calls a flush function before emitting 'end'\n\n## USAGE\n\n```js\nconst Flush = require('minipass-flush')\ncons f = new Flush({\n flush (cb) {\n // call the cb when done, or return a promise\n // the 'end' event will wait for it, along with\n // close, finish, and prefinish.\n // call the cb with an error, or return a rejecting\n // promise to emit 'error' instead of doing the 'end'\n return rerouteAllEncryptions().then(() => clearAllChannels())\n },\n // all other minipass options accepted as well\n})\n\nsomeDataSource.pipe(f).on('end', () => {\n // proper flushing has been accomplished\n})\n\n// Or as a subclass implementing a 'flush' method:\nclass MyFlush extends Flush {\n flush (cb) {\n // old fashioned callback style!\n rerouteAllEncryptions(er => {\n if (er)\n return cb(er)\n clearAllChannels(er => {\n if (er)\n cb(er)\n cb()\n })\n })\n }\n}\n```\n\nThat's about it.\n\nIf your `flush` method doesn't have to do anything asynchronous, then it's\nbetter to call the callback right away in this tick, rather than returning\n`Promise.resolve()`, so that the `end` event can happen as soon as\npossible.\n","readmeFilename":"README.md","homepage":"https://github.com/isaacs/minipass-flush#readme","keywords":["minipass","flush","stream"],"repository":{"type":"git","url":"git+https://github.com/isaacs/minipass-flush.git"},"bugs":{"url":"https://github.com/isaacs/minipass-flush/issues"}} |