1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-27 01:29:14 -05:00
denoland-deno/tests/registry/npm/unique-filename/registry.json
Nathan Whitaker ce7dc2be92
feat(node): Support executing npm package lifecycle scripts (preinstall/install/postinstall) (#24487)
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
2024-07-10 03:06:08 +00:00

1 line
No EOL
16 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{"_id":"unique-filename","_rev":"41-80f3532691252e2c38a66f855f492e95","name":"unique-filename","description":"Generate a unique filename for use in temporary directories or caches.","dist-tags":{"latest":"3.0.0"},"versions":{"1.0.0":{"name":"unique-filename","version":"1.0.0","keywords":[],"author":{"url":"http://re-becca.org/","name":"Rebecca Turner","email":"me@re-becca.org"},"license":"ISC","_id":"unique-filename@1.0.0","maintainers":[{"name":"iarna","email":"me@re-becca.org"}],"homepage":"https://github.com/iarna/unique-filename","bugs":{"url":"https://github.com/iarna/unique-filename/issues"},"dist":{"shasum":"0bee4219e192e86da3c4ffc0cc6e054d8634eab9","tarball":"http://localhost:4260/unique-filename/unique-filename-1.0.0.tgz","integrity":"sha512-RiXW2h/OJBa+f+6Awztxk0C8OCcFguELlIJnIwANS2mhCQdhUBhZk0pMX2Jqi66bdR7PHItFKt6Xq3Hm+7XL8Q==","signatures":[{"sig":"MEYCIQDGG/duekiRmMX2RV91Td+FGpg1uUGeE3TMJTO6YRN5SAIhAIbXXpNN35FSaNtco7zAJKoKf/RIjWoDLEyvo59Gj6+Q","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"0bee4219e192e86da3c4ffc0cc6e054d8634eab9","gitHead":"935739361f6ecc7b613c5daf66a57b67938796d4","scripts":{"test":"standard && tap test"},"_npmUser":{"name":"iarna","email":"me@re-becca.org"},"repository":{"url":"https://github.com/iarna/unique-filename.git","type":"git"},"_npmVersion":"2.7.6","description":"Generate a unique filename for use in temporary directories or caches.","directories":{},"_nodeVersion":"1.6.2","dependencies":{"unique-slug":"^1.0.0"},"devDependencies":{"tap":"^1.0.0","standard":"^3.7.3"}},"1.1.0":{"name":"unique-filename","version":"1.1.0","keywords":[],"author":{"url":"http://re-becca.org/","name":"Rebecca Turner","email":"me@re-becca.org"},"license":"ISC","_id":"unique-filename@1.1.0","maintainers":[{"name":"iarna","email":"me@re-becca.org"}],"homepage":"https://github.com/iarna/unique-filename","bugs":{"url":"https://github.com/iarna/unique-filename/issues"},"dist":{"shasum":"d05f2fe4032560871f30e93cbe735eea201514f3","tarball":"http://localhost:4260/unique-filename/unique-filename-1.1.0.tgz","integrity":"sha512-sVaLSV84DdBfiH2Mk655QxYvv0kKQs+fwo3obj/qS888/yTznhQqw1TCLdPs9HLtqq15VW5zD3vbpFW28FUZ0w==","signatures":[{"sig":"MEUCIQDUL8wllt5rf4i/mLFVsN2aik0sffDx70dFUKlDnDP40gIgS3sZqYBGZqoK+29NTY45jlg/reLXUKpxje+lJ78rMnI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"d05f2fe4032560871f30e93cbe735eea201514f3","gitHead":"cb31644c71f842258a8019e0e6ef8f2b8533a5c0","scripts":{"test":"standard && tap test"},"_npmUser":{"name":"iarna","email":"me@re-becca.org"},"repository":{"url":"git+https://github.com/iarna/unique-filename.git","type":"git"},"_npmVersion":"2.14.13","description":"Generate a unique filename for use in temporary directories or caches.","directories":{},"_nodeVersion":"4.2.2","dependencies":{"unique-slug":"^2.0.0"},"devDependencies":{"tap":"^2.3.1","standard":"^5.4.1"}},"1.1.1":{"name":"unique-filename","version":"1.1.1","keywords":[],"author":{"url":"http://re-becca.org/","name":"Rebecca Turner","email":"me@re-becca.org"},"license":"ISC","_id":"unique-filename@1.1.1","maintainers":[{"name":"iarna","email":"me@re-becca.org"}],"homepage":"https://github.com/iarna/unique-filename","bugs":{"url":"https://github.com/iarna/unique-filename/issues"},"dist":{"shasum":"1d69769369ada0583103a1e6ae87681b56573230","tarball":"http://localhost:4260/unique-filename/unique-filename-1.1.1.tgz","fileCount":15,"integrity":"sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==","signatures":[{"sig":"MEUCIQCAt9qYIh2b1UyztSllF6Ri970nomXwmulVHEqbwWUCrgIgeDuBF4IzuLkGwKf6rbuKct8i+ZfKd5boNYqUZ30cg/k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41421,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbo83nCRA9TVsSAnZWagAAGUIP/RHKLBFB/61Nc2H7LVQj\n6aGrKRjQ+ZkQCGQODloPtfU8nQ94IJ7ZaD1ArcdDWu6oP2k5xJFsDKd/zxyQ\nPMPuAwkNDVZ4ndmRbKJ2Fzxq8B4eN20Q7t9PyvHWS2x8WOE1zzeLwDeBZI1f\nK8EUaTcaAj5du6TKUbnqVzqi5K2deWovlvDBPbFMqm84nO07Zbu50t0wHqDi\nIja76zlA8o2UiY2X4I044h8dV3n7wLF/yJoj7DPgcr+jrHY2R4BP/zMyjkZh\nRHiB+50TCHXUuvfnxmeoVNhAqnrUGVw4FE1NBRgVqgl1SX5KKhZO0XRRVMAN\nCN1dxQOoXFnLT4TZp8jgCQdtRkrTH/Um4Alz0gOPf39KTU96DFm+XmoTJGKK\nI2p7GsnC8zroAktlpXSuEJZp8sG9+35k9kdda/pQO8GjVPPUsA2E4US4iIpU\nAQUptUfNLIYHzYADJqEriiWjw4/ZH2spyvq4e4jPReQWq/P3flhqv+CPYrX2\n/hGTtopd5TfEwYAUxtMUZKXBh3RNnFr6Q2NPnUD+gddSyEdee+6nheaB9B7e\nYJaPyQ8/noK8NaWNUTnLV3/pkjT9BpDHduEvL0uGvc5jkH/DSPYGqSE0D6+s\n5xNHocG6mKADtl2qTXVEwoqZldEPc7x5trUxukSSJGGREImNwGgN1/faKeEj\nUHiH\r\n=/EXC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"3653bb94c8ae4497636f0767e0a35eb442b27d9f","scripts":{"test":"standard && tap test"},"_npmUser":{"name":"iarna","email":"me@re-becca.org"},"repository":{"url":"git+https://github.com/iarna/unique-filename.git","type":"git"},"_npmVersion":"6.4.1","description":"Generate a unique filename for use in temporary directories or caches.","directories":{},"_nodeVersion":"10.10.0","dependencies":{"unique-slug":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^2.3.1","standard":"^5.4.1"},"_npmOperationalInternal":{"tmp":"tmp/unique-filename_1.1.1_1537461734124_0.8229183281578927","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"unique-filename","version":"2.0.0","keywords":[],"author":{"name":"GitHub Inc."},"license":"ISC","_id":"unique-filename@2.0.0","maintainers":[{"name":"fritzy","email":"fritzy@github.com"},{"name":"darcyclarke","email":"darcy@darcyclarke.me"},{"name":"nlf","email":"quitlahok@gmail.com"},{"name":"gar","email":"gar+npm@danger.computer"},{"name":"lukekarrys","email":"luke@lukekarrys.com"}],"homepage":"https://github.com/iarna/unique-filename","bugs":{"url":"https://github.com/iarna/unique-filename/issues"},"dist":{"shasum":"c844c84c3b22e92038b0c53950f9dc34d2b55490","tarball":"http://localhost:4260/unique-filename/unique-filename-2.0.0.tgz","fileCount":4,"integrity":"sha512-tpzoz2RpZ//6Zt4GPpOFTyrnfZuSvjIfe8lvx6Thp4yTQwJtAFwPlssEBE62VhGA2We5/COyNpcIu+OABu3/Yg==","signatures":[{"sig":"MEUCIQDfh8vBUTvBUQErLNl5auRT1HzI/yIyfe7c8LodBGwaLgIgGeVgLy95cGqR4UjBfgar6FL113SC0DNMhlPtG9pGgBk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3450,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjA/f9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoOPBAAmJvxf2bVkBRqtZ7YM/I4W2Sd/enhWkvs5qwwvtRm3oKeSvYm\r\njVCkVTY0Bm94D8IwGBu5ld0ifU6djTBpHY7WzFpxK5rf+l3ieityfRHHrz12\r\ncwCPYViBISVq3e5EKi1TMHcnbzIlMdY5v6//ELGEVc/wlEVWEQzB+kSTj59i\r\n6/kV5GQD0h+HFXtcq80q21th+Ztg+WuyD2SmyGOprg5gFZ32CAZSDLSDLGfU\r\nJzzpzVrD9SksfyPR9Rfnli1LSAl9UW6PfCsUDWF2nRRptvV6mD8I2yF3VQgz\r\nk6ypbZemqzbnPFRW6jHJWD386bSpnwbIzZa90bfXBbs/FGUdG5iE2cLIMBVz\r\n4uXAgKpeVSPjXF/S8tk0qpAmnRtLbkQwGegNfHB7/BL0fzXtEkIBtFZnKha4\r\nwhCzKt+jj9R5Xnx5kEMhayhs2qDrV07Z0mvpWlRGQP5MRdTMXQSk+hq32nwc\r\nfddd8l0W9rNbM6TyTLIrlgQbu7///Byl5hw4ULObd2hQ2eSRvseyVWRiAdVV\r\n0tYBZ+gwQj//DgGZCqJr4RUjUSy6+nOcAuHqzF70vvyxpINPtMEoo85EbML4\r\nzVwH9E9lwozlma3/X00747hddY2DKRBmUXHzajA4HITrSovXSjC44/laN/b4\r\n+uJWzM21ZeNPjt31ARIDy9tBB+YBlKW9AY8=\r\n=NtPp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","engines":{"node":"^12.13.0 || ^14.15.0 || >=16.0.0"},"gitHead":"06656860015f1b22b7dbeeda57d1a9068e3c81e9","scripts":{"lint":"eslint \"**/*.js\"","snap":"tap","test":"tap","lintfix":"npm run lint -- --fix","postlint":"template-oss-check","posttest":"npm run lint","preversion":"npm test","postversion":"npm publish","prepublishOnly":"git push origin --follow-tags","template-oss-apply":"template-oss-apply --force"},"_npmUser":{"name":"lukekarrys","email":"luke@lukekarrys.com"},"repository":{"url":"git+https://github.com/npm/unique-filename.git","type":"git"},"_npmVersion":"8.18.0","description":"Generate a unique filename for use in temporary directories or caches.","directories":{},"templateOSS":{"version":"3.5.0","//@npmcli/template-oss":"This file is partially managed by @npmcli/template-oss. Edits may be overwritten."},"_nodeVersion":"18.7.0","dependencies":{"unique-slug":"^2.0.2"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^16.3.0","@npmcli/template-oss":"3.5.0","@npmcli/eslint-config":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/unique-filename_2.0.0_1661204477651_0.8236295353510708","host":"s3://npm-registry-packages"}},"2.0.1":{"name":"unique-filename","version":"2.0.1","keywords":[],"author":{"name":"GitHub Inc."},"license":"ISC","_id":"unique-filename@2.0.1","maintainers":[{"name":"fritzy","email":"fritzy@github.com"},{"name":"darcyclarke","email":"darcy@darcyclarke.me"},{"name":"nlf","email":"quitlahok@gmail.com"},{"name":"gar","email":"gar+npm@danger.computer"},{"name":"lukekarrys","email":"luke@lukekarrys.com"}],"homepage":"https://github.com/iarna/unique-filename","bugs":{"url":"https://github.com/iarna/unique-filename/issues"},"dist":{"shasum":"e785f8675a9a7589e0ac77e0b5c34d2eaeac6da2","tarball":"http://localhost:4260/unique-filename/unique-filename-2.0.1.tgz","fileCount":4,"integrity":"sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==","signatures":[{"sig":"MEQCIEB43r0/4Sf3gesSTDQYy6is4TdVhf7HIrozTcQ6BZWrAiAVqQStaAPRAE35swdWsJYpairld5pbPHtp+wakK0yg0g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3450,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjB+JvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrLdg/+JFpDq/+mDWuuU7Dha63a8OQPomUwE30ncAgfoNbB1hh2sa9P\r\nnznKHRMi38Qlh4sH+C0dYQEFR+YO9QRxMeJ9P7U9gZxISc7c5zh96Nj1tMCT\r\nV2xY+REgo3VDEgAV429j8iiwYA5ftQMhpfqDY5nbtEYgC9dU21xWh4FanC+K\r\nbIXh17VZTkBLATDNmyeoorXht2FRzDz+brnIFqlapBJs0u0KYWtBz3zggNnD\r\nlfj4tQFBjGT12uik1uG518jzowqvpMxTQcgYBmCq+2yyCzTa5ejQEjFsxteR\r\nJQfCc5PTG/Lqg8zH0TWhmlwI1f8I1T0WpAKypqv65r8C7QDowxDt8Gb0Dmcn\r\nyMlIUD1Zu88lAZUCWwmK05HFcuXYZ7eJ6o6wyKwsaIwjiX+ZZyr05ZBkFn/H\r\npcRe0n3Mg+J76blW1Ack1gBrP4ukYCNkUSdPuQoex8y+pl0yoDeLTx21w2vf\r\n+n/Gxi3bUG5Rc3DNACPO7J/ly8aOTO6SVjxEh5lvQXSn+rte5OeJk0Fp/Hkk\r\nwg050pjlhbVXRkkSMDroLHaFfgrgHJPrYEp3bnBHFr7SIiumgg0i510sy5km\r\nHjnLkI0mnOQgtlVgkRsjHTreHJcKcT2xvWBKwxF9rwdOoGG3bnnrhQAzpG4Q\r\n8FxZCWpEMD0hizbGCOmGckNzFL+suqA7EKY=\r\n=YdSB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","engines":{"node":"^12.13.0 || ^14.15.0 || >=16.0.0"},"gitHead":"a4a30d0febf64707bcfd3b8a03b1a0a2adf31fc7","scripts":{"lint":"eslint \"**/*.js\"","snap":"tap","test":"tap","lintfix":"npm run lint -- --fix","postlint":"template-oss-check","posttest":"npm run lint","preversion":"npm test","postversion":"npm publish","prepublishOnly":"git push origin --follow-tags","template-oss-apply":"template-oss-apply --force"},"_npmUser":{"name":"lukekarrys","email":"luke@lukekarrys.com"},"repository":{"url":"git+https://github.com/npm/unique-filename.git","type":"git"},"_npmVersion":"8.18.0","description":"Generate a unique filename for use in temporary directories or caches.","directories":{},"templateOSS":{"version":"3.5.0","//@npmcli/template-oss":"This file is partially managed by @npmcli/template-oss. Edits may be overwritten."},"_nodeVersion":"18.7.0","dependencies":{"unique-slug":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^16.3.0","@npmcli/template-oss":"3.5.0","@npmcli/eslint-config":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/unique-filename_2.0.1_1661461102804_0.45215455602527466","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"unique-filename","version":"3.0.0","keywords":[],"author":{"name":"GitHub Inc."},"license":"ISC","_id":"unique-filename@3.0.0","maintainers":[{"name":"fritzy","email":"fritzy@github.com"},{"name":"darcyclarke","email":"darcy@darcyclarke.me"},{"name":"nlf","email":"quitlahok@gmail.com"},{"name":"gar","email":"gar+npm@danger.computer"},{"name":"lukekarrys","email":"luke@lukekarrys.com"}],"homepage":"https://github.com/iarna/unique-filename","bugs":{"url":"https://github.com/iarna/unique-filename/issues"},"tap":{"nyc-arg":["--exclude","tap-snapshots/**"]},"dist":{"shasum":"48ba7a5a16849f5080d26c760c86cf5cf05770ea","tarball":"http://localhost:4260/unique-filename/unique-filename-3.0.0.tgz","fileCount":4,"integrity":"sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==","signatures":[{"sig":"MEUCIQC7AsCFOeTGcFtlnipoV/Cz7Ipqw6YjUhL11AQ19OQAogIgJpCmdRGqvybP0RZ3EOsOKNoT1qXW1Pc44wYejZL/KUM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3414,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjSaHcACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq99BAAkitPZqFX+xTRAdYaiPc6gxswhetNXAA2qAEjkTlHWvlO4c+o\r\nzFi9EUNF/hH8ecrxT+Fo2vu7hyojkMAaHdhrAK43YuEcUzaTcJUyQJsv/psk\r\nb4lNsyt7oO11JPxJ4eUJ53iM2dbZDOD5GlBaI4v0mdN+IFDldAwqNK6+XaE2\r\n3B0Q+fFJ7oEH608To1WxOKzm/6/pvt5YyClM+6ZQnd60Mj6CEy72yrPhpfCZ\r\nnx3UJkS8RzF/QLcJMIrk5dc+xSu6B7m4XHSLGNuobs1u4viEYw8Cf7Svg99t\r\nsWoHbuPJBniC/jRwyj4c1S+SgyUo0Ov00Lwt7qh7wJQHgptKgE9MidrOAX0o\r\nIFZiR2v6VBIrXb4M7qJwwgbo2bw6pQcDtsNzJ2A1STNIwH71/4h4cH3OPLKg\r\n8QgzzTh+4y2Ll9Ys4WokrrgBb1h8Sm4yAu7Me1LWVCrAn2PgpzUFtGLHbDmj\r\nKAgbg26lGi6QTR6J7BD0f2LgzMLQ/BeDRZV69TyCofTjKSyll+/e7aUux8bs\r\nmRCjGR77+az/6fH85NdYUBv3VTGTPpBijFWrbJ7IZG3KlBQlRZgCR7n507iG\r\njDh15JJkcf29g/syvLxACIYXg5ynmR5jXv0opTHe/HWLkfKDUUBzJJTX6slx\r\ngxe9TBAJ707IvbqGHmjZXshHiBAXwslhXhc=\r\n=KEBJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","engines":{"node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"gitHead":"49d999ed740c2455755fd19f774571e81454a75e","scripts":{"lint":"eslint \"**/*.js\"","snap":"tap","test":"tap","lintfix":"npm run lint -- --fix","postlint":"template-oss-check","posttest":"npm run lint","template-oss-apply":"template-oss-apply --force"},"_npmUser":{"name":"lukekarrys","email":"luke@lukekarrys.com"},"repository":{"url":"git+https://github.com/npm/unique-filename.git","type":"git"},"_npmVersion":"8.19.2","description":"Generate a unique filename for use in temporary directories or caches.","directories":{},"templateOSS":{"version":"4.5.1","//@npmcli/template-oss":"This file is partially managed by @npmcli/template-oss. Edits may be overwritten."},"_nodeVersion":"18.10.0","dependencies":{"unique-slug":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^16.3.0","@npmcli/template-oss":"4.5.1","@npmcli/eslint-config":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/unique-filename_3.0.0_1665769948758_0.4243542363597814","host":"s3://npm-registry-packages"}}},"time":{"created":"2015-05-07T23:12:09.667Z","modified":"2024-05-30T15:09:48.178Z","1.0.0":"2015-05-07T23:12:09.667Z","1.1.0":"2015-12-03T23:00:37.437Z","1.1.1":"2018-09-20T16:42:14.396Z","2.0.0":"2022-08-22T21:41:17.826Z","2.0.1":"2022-08-25T20:58:22.978Z","3.0.0":"2022-10-14T17:52:28.921Z"},"maintainers":[{"email":"reggi@github.com","name":"reggi"},{"email":"npm-cli+bot@github.com","name":"npm-cli-ops"},{"email":"saquibkhan@github.com","name":"saquibkhan"},{"email":"fritzy@github.com","name":"fritzy"},{"email":"gar+npm@danger.computer","name":"gar"}],"author":{"name":"GitHub Inc."},"repository":{"url":"git+https://github.com/npm/unique-filename.git","type":"git"},"keywords":[],"license":"ISC","homepage":"https://github.com/iarna/unique-filename","bugs":{"url":"https://github.com/iarna/unique-filename/issues"},"readme":"unique-filename\n===============\n\nGenerate a unique filename for use in temporary directories or caches.\n\n```js\nconst uniqueFilename = require('unique-filename')\n\n// returns something like: '/tmp/c5b28f47'\nconst randomTmpfile = uniqueFilename(os.tmpdir())\n\n// returns something like: '/tmp/my-test-51a7b48d'\nconst randomPrefixedTmpfile = uniqueFilename(os.tmpdir(), 'my-test')\n\n// returns something like: '/my-tmp-dir/testing-7ddd44c0'\nconst uniqueTmpfile = uniqueFilename('/my-tmp-dir', 'testing', '/my/thing/to/uniq/on')\n```\n\n### uniqueFilename(*dir*, *fileprefix*, *uniqstr*) → String\n\nReturns the full path of a unique filename that looks like:\n`dir/prefix-7ddd44c0`\nor `dir/7ddd44c0`\n\n*dir* The path you want the filename in. `os.tmpdir()` is a good choice for this.\n\n*fileprefix* A string to append prior to the unique part of the filename.\nThe parameter is required if *uniqstr* is also passed in but is otherwise\noptional and can be `undefined`/`null`/`''`. If present and not empty\nthen this string plus a hyphen are prepended to the unique part.\n\n*uniqstr* Optional, if not passed the unique part of the resulting\nfilename will be random. If passed in it will be generated from this string\nin a reproducible way.\n","readmeFilename":"README.md","users":{"iarna":true,"shiva127":true,"flumpus-dev":true,"mattmcfarland":true}}