{"_id":"unique-filename","_rev":"4130842","name":"unique-filename","description":"Generate a unique filename for use in temporary directories or caches.","dist-tags":{"latest":"5.0.0"},"maintainers":[{"name":"gar","email":""},{"name":"hashtagchris","email":""},{"name":"npm-cli-ops","email":""},{"name":"owlstronaut","email":""},{"name":"reggi","email":""},{"name":"saquibkhan","email":""}],"time":{"modified":"2026-03-01T18:32:59.000Z","created":"2015-05-07T23:12:09.667Z","5.0.0":"2025-10-22T20:33:43.797Z","4.0.0":"2024-09-26T15:20:26.217Z","3.0.0":"2022-10-14T17:52:28.921Z","2.0.1":"2022-08-25T20:58:22.978Z","2.0.0":"2022-08-22T21:41:17.826Z","1.1.1":"2018-09-20T16:42:14.396Z","1.1.0":"2015-12-03T23:00:37.437Z","1.0.0":"2015-05-07T23:12:09.667Z"},"users":{"mattmcfarland":true,"iarna":true,"rethinkflash":true,"shiva127":true},"author":{"name":"GitHub Inc."},"repository":{"type":"git","url":"git+https://github.com/npm/unique-filename.git"},"versions":{"5.0.0":{"name":"unique-filename","version":"5.0.0","description":"Generate a unique filename for use in temporary directories or caches.","main":"lib/index.js","scripts":{"test":"tap","lint":"npm run eslint","postlint":"template-oss-check","template-oss-apply":"template-oss-apply --force","lintfix":"npm run eslint -- --fix","snap":"tap","posttest":"npm run lint","eslint":"eslint \"**/*.{js,cjs,ts,mjs,jsx,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/npm/unique-filename.git"},"keywords":[],"author":{"name":"GitHub Inc."},"license":"ISC","bugs":{"url":"https://github.com/iarna/unique-filename/issues"},"homepage":"https://github.com/iarna/unique-filename","devDependencies":{"@npmcli/eslint-config":"^5.0.0","@npmcli/template-oss":"4.27.1","tap":"^16.3.0"},"dependencies":{"unique-slug":"^6.0.0"},"engines":{"node":"^20.17.0 || >=22.9.0"},"templateOSS":{"//@npmcli/template-oss":"This file is partially managed by @npmcli/template-oss. Edits may be overwritten.","version":"4.27.1","publish":true},"tap":{"nyc-arg":["--exclude","tap-snapshots/**"]},"gitHead":"158a33be82fa87da84224168a383b8afb1948166","_id":"unique-filename@5.0.0","_nodeVersion":"22.20.0","_npmVersion":"11.6.2","dist":{"shasum":"8b17bbde1a7ca322dd1a1d23fe17c2b798c43f8f","size":1856,"noattachment":false,"key":"/unique-filename/-/unique-filename-5.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/unique-filename/download/unique-filename-5.0.0.tgz"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bf2882fa-84ac-4eae-813a-1bfe0323f161"}},"directories":{},"maintainers":[{"name":"gar","email":""},{"name":"hashtagchris","email":""},{"name":"npm-cli-ops","email":""},{"name":"owlstronaut","email":""},{"name":"reggi","email":""},{"name":"saquibkhan","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/unique-filename_5.0.0_1761165223599_0.2452000751818484"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-10-22T20:33:43.797Z","publish_time":1761165223797,"_source_registry_name":"default","_cnpm_publish_time":1761165223797},"4.0.0":{"name":"unique-filename","version":"4.0.0","description":"Generate a unique filename for use in temporary directories or caches.","main":"lib/index.js","scripts":{"test":"tap","lint":"npm run eslint","postlint":"template-oss-check","template-oss-apply":"template-oss-apply --force","lintfix":"npm run eslint -- --fix","snap":"tap","posttest":"npm run lint","eslint":"eslint \"**/*.{js,cjs,ts,mjs,jsx,tsx}\""},"repository":{"type":"git","url":"git+https://github.com/npm/unique-filename.git"},"keywords":[],"author":{"name":"GitHub Inc."},"license":"ISC","bugs":{"url":"https://github.com/iarna/unique-filename/issues"},"homepage":"https://github.com/iarna/unique-filename","devDependencies":{"@npmcli/eslint-config":"^5.0.0","@npmcli/template-oss":"4.23.3","tap":"^16.3.0"},"dependencies":{"unique-slug":"^5.0.0"},"engines":{"node":"^18.17.0 || >=20.5.0"},"templateOSS":{"//@npmcli/template-oss":"This file is partially managed by @npmcli/template-oss. Edits may be overwritten.","version":"4.23.3","publish":true},"tap":{"nyc-arg":["--exclude","tap-snapshots/**"]},"_id":"unique-filename@4.0.0","gitHead":"938ae3b0b32b97f4903acdb0398688cdf4772a57","_nodeVersion":"22.9.0","_npmVersion":"10.8.3","dist":{"shasum":"a06534d370e7c977a939cd1d11f7f0ab8f1fed13","size":1852,"noattachment":false,"key":"/unique-filename/-/unique-filename-4.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/unique-filename/download/unique-filename-4.0.0.tgz"},"_npmUser":{"name":"npm-cli-ops","email":"npm-cli+bot@github.com"},"directories":{},"maintainers":[{"name":"gar","email":""},{"name":"hashtagchris","email":""},{"name":"npm-cli-ops","email":""},{"name":"owlstronaut","email":""},{"name":"reggi","email":""},{"name":"saquibkhan","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/unique-filename_4.0.0_1727364026040_0.11871711974389276"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-09-26T15:20:26.217Z","publish_time":1727364026217,"_source_registry_name":"default","_cnpm_publish_time":1727364026217},"3.0.0":{"name":"unique-filename","version":"3.0.0","description":"Generate a unique filename for use in temporary directories or caches.","main":"lib/index.js","scripts":{"test":"tap","lint":"eslint \"**/*.js\"","postlint":"template-oss-check","template-oss-apply":"template-oss-apply --force","lintfix":"npm run lint -- --fix","snap":"tap","posttest":"npm run lint"},"repository":{"type":"git","url":"git+https://github.com/npm/unique-filename.git"},"keywords":[],"author":{"name":"GitHub Inc."},"license":"ISC","bugs":{"url":"https://github.com/iarna/unique-filename/issues"},"homepage":"https://github.com/iarna/unique-filename","devDependencies":{"@npmcli/eslint-config":"^4.0.0","@npmcli/template-oss":"4.5.1","tap":"^16.3.0"},"dependencies":{"unique-slug":"^4.0.0"},"engines":{"node":"^14.17.0 || ^16.13.0 || >=18.0.0"},"templateOSS":{"//@npmcli/template-oss":"This file is partially managed by @npmcli/template-oss. Edits may be overwritten.","version":"4.5.1"},"tap":{"nyc-arg":["--exclude","tap-snapshots/**"]},"gitHead":"49d999ed740c2455755fd19f774571e81454a75e","_id":"unique-filename@3.0.0","_nodeVersion":"18.10.0","_npmVersion":"8.19.2","dist":{"shasum":"48ba7a5a16849f5080d26c760c86cf5cf05770ea","size":1800,"noattachment":false,"key":"/unique-filename/-/unique-filename-3.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/unique-filename/download/unique-filename-3.0.0.tgz"},"_npmUser":{"name":"lukekarrys","email":"luke@lukekarrys.com"},"directories":{},"maintainers":[{"name":"gar","email":""},{"name":"hashtagchris","email":""},{"name":"npm-cli-ops","email":""},{"name":"owlstronaut","email":""},{"name":"reggi","email":""},{"name":"saquibkhan","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/unique-filename_3.0.0_1665769948758_0.4243542363597814"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-10-18T10:34:04.122Z","publish_time":1665769948921,"_cnpm_publish_time":1665769948921},"2.0.1":{"name":"unique-filename","version":"2.0.1","description":"Generate a unique filename for use in temporary directories or caches.","main":"lib/index.js","scripts":{"test":"tap","lint":"eslint \"**/*.js\"","postlint":"template-oss-check","template-oss-apply":"template-oss-apply --force","lintfix":"npm run lint -- --fix","preversion":"npm test","postversion":"npm publish","prepublishOnly":"git push origin --follow-tags","snap":"tap","posttest":"npm run lint"},"repository":{"type":"git","url":"git+https://github.com/npm/unique-filename.git"},"keywords":[],"author":{"name":"GitHub Inc."},"license":"ISC","bugs":{"url":"https://github.com/iarna/unique-filename/issues"},"homepage":"https://github.com/iarna/unique-filename","devDependencies":{"@npmcli/eslint-config":"^3.1.0","@npmcli/template-oss":"3.5.0","tap":"^16.3.0"},"dependencies":{"unique-slug":"^3.0.0"},"engines":{"node":"^12.13.0 || ^14.15.0 || >=16.0.0"},"templateOSS":{"//@npmcli/template-oss":"This file is partially managed by @npmcli/template-oss. Edits may be overwritten.","version":"3.5.0"},"gitHead":"a4a30d0febf64707bcfd3b8a03b1a0a2adf31fc7","_id":"unique-filename@2.0.1","_nodeVersion":"18.7.0","_npmVersion":"8.18.0","dist":{"shasum":"e785f8675a9a7589e0ac77e0b5c34d2eaeac6da2","size":1811,"noattachment":false,"key":"/unique-filename/-/unique-filename-2.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/unique-filename/download/unique-filename-2.0.1.tgz"},"_npmUser":{"name":"lukekarrys","email":"luke@lukekarrys.com"},"directories":{},"maintainers":[{"name":"gar","email":""},{"name":"hashtagchris","email":""},{"name":"npm-cli-ops","email":""},{"name":"owlstronaut","email":""},{"name":"reggi","email":""},{"name":"saquibkhan","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/unique-filename_2.0.1_1661461102804_0.45215455602527466"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-08-25T20:58:53.592Z","publish_time":1661461102978,"_cnpm_publish_time":1661461102978},"2.0.0":{"name":"unique-filename","version":"2.0.0","description":"Generate a unique filename for use in temporary directories or caches.","main":"lib/index.js","scripts":{"test":"tap","lint":"eslint \"**/*.js\"","postlint":"template-oss-check","template-oss-apply":"template-oss-apply --force","lintfix":"npm run lint -- --fix","preversion":"npm test","postversion":"npm publish","prepublishOnly":"git push origin --follow-tags","snap":"tap","posttest":"npm run lint"},"repository":{"type":"git","url":"git+https://github.com/npm/unique-filename.git"},"keywords":[],"author":{"name":"GitHub Inc."},"license":"ISC","bugs":{"url":"https://github.com/iarna/unique-filename/issues"},"homepage":"https://github.com/iarna/unique-filename","devDependencies":{"@npmcli/eslint-config":"^3.1.0","@npmcli/template-oss":"3.5.0","tap":"^16.3.0"},"dependencies":{"unique-slug":"^2.0.2"},"engines":{"node":"^12.13.0 || ^14.15.0 || >=16.0.0"},"templateOSS":{"//@npmcli/template-oss":"This file is partially managed by @npmcli/template-oss. Edits may be overwritten.","version":"3.5.0"},"gitHead":"06656860015f1b22b7dbeeda57d1a9068e3c81e9","_id":"unique-filename@2.0.0","_nodeVersion":"18.7.0","_npmVersion":"8.18.0","dist":{"shasum":"c844c84c3b22e92038b0c53950f9dc34d2b55490","size":1812,"noattachment":false,"key":"/unique-filename/-/unique-filename-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/unique-filename/download/unique-filename-2.0.0.tgz"},"_npmUser":{"name":"lukekarrys","email":"luke@lukekarrys.com"},"directories":{},"maintainers":[{"name":"gar","email":""},{"name":"hashtagchris","email":""},{"name":"npm-cli-ops","email":""},{"name":"owlstronaut","email":""},{"name":"reggi","email":""},{"name":"saquibkhan","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/unique-filename_2.0.0_1661204477651_0.8236295353510708"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-08-22T21:41:21.189Z","publish_time":1661204477826,"_cnpm_publish_time":1661204477826},"1.1.1":{"name":"unique-filename","version":"1.1.1","description":"Generate a unique filename for use in temporary directories or caches.","main":"index.js","scripts":{"test":"standard && tap test"},"repository":{"type":"git","url":"git+https://github.com/iarna/unique-filename.git"},"keywords":[],"author":{"name":"Rebecca Turner","email":"me@re-becca.org","url":"http://re-becca.org/"},"license":"ISC","bugs":{"url":"https://github.com/iarna/unique-filename/issues"},"homepage":"https://github.com/iarna/unique-filename","devDependencies":{"standard":"^5.4.1","tap":"^2.3.1"},"dependencies":{"unique-slug":"^2.0.0"},"gitHead":"3653bb94c8ae4497636f0767e0a35eb442b27d9f","_id":"unique-filename@1.1.1","_npmVersion":"6.4.1","_nodeVersion":"10.10.0","_npmUser":{"name":"iarna","email":"me@re-becca.org"},"dist":{"shasum":"1d69769369ada0583103a1e6ae87681b56573230","size":13580,"noattachment":false,"key":"/unique-filename/-/unique-filename-1.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/unique-filename/download/unique-filename-1.1.1.tgz"},"maintainers":[{"name":"gar","email":""},{"name":"hashtagchris","email":""},{"name":"npm-cli-ops","email":""},{"name":"owlstronaut","email":""},{"name":"reggi","email":""},{"name":"saquibkhan","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/unique-filename_1.1.1_1537461734124_0.8229183281578927"},"_hasShrinkwrap":false,"publish_time":1537461734396,"_cnpm_publish_time":1537461734396},"1.1.0":{"name":"unique-filename","version":"1.1.0","description":"Generate a unique filename for use in temporary directories or caches.","main":"index.js","scripts":{"test":"standard && tap test"},"repository":{"type":"git","url":"git+https://github.com/iarna/unique-filename.git"},"keywords":[],"author":{"name":"Rebecca Turner","email":"me@re-becca.org","url":"http://re-becca.org/"},"license":"ISC","bugs":{"url":"https://github.com/iarna/unique-filename/issues"},"homepage":"https://github.com/iarna/unique-filename","devDependencies":{"standard":"^5.4.1","tap":"^2.3.1"},"dependencies":{"unique-slug":"^2.0.0"},"gitHead":"cb31644c71f842258a8019e0e6ef8f2b8533a5c0","_id":"unique-filename@1.1.0","_shasum":"d05f2fe4032560871f30e93cbe735eea201514f3","_from":".","_npmVersion":"2.14.13","_nodeVersion":"4.2.2","_npmUser":{"name":"iarna","email":"me@re-becca.org"},"dist":{"shasum":"d05f2fe4032560871f30e93cbe735eea201514f3","size":13666,"noattachment":false,"key":"/unique-filename/-/unique-filename-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/unique-filename/download/unique-filename-1.1.0.tgz"},"maintainers":[{"name":"gar","email":""},{"name":"hashtagchris","email":""},{"name":"npm-cli-ops","email":""},{"name":"owlstronaut","email":""},{"name":"reggi","email":""},{"name":"saquibkhan","email":""}],"directories":{},"publish_time":1449183637437,"_cnpm_publish_time":1449183637437,"_hasShrinkwrap":false},"1.0.0":{"name":"unique-filename","version":"1.0.0","description":"Generate a unique filename for use in temporary directories or caches.","main":"index.js","scripts":{"test":"standard && tap test"},"repository":{"type":"git","url":"https://github.com/iarna/unique-filename.git"},"keywords":[],"author":{"name":"Rebecca Turner","email":"me@re-becca.org","url":"http://re-becca.org/"},"license":"ISC","bugs":{"url":"https://github.com/iarna/unique-filename/issues"},"homepage":"https://github.com/iarna/unique-filename","devDependencies":{"standard":"^3.7.3","tap":"^1.0.0"},"dependencies":{"unique-slug":"^1.0.0"},"gitHead":"935739361f6ecc7b613c5daf66a57b67938796d4","_id":"unique-filename@1.0.0","_shasum":"0bee4219e192e86da3c4ffc0cc6e054d8634eab9","_from":".","_npmVersion":"2.7.6","_nodeVersion":"1.6.2","_npmUser":{"name":"iarna","email":"me@re-becca.org"},"maintainers":[{"name":"gar","email":""},{"name":"hashtagchris","email":""},{"name":"npm-cli-ops","email":""},{"name":"owlstronaut","email":""},{"name":"reggi","email":""},{"name":"saquibkhan","email":""}],"dist":{"shasum":"0bee4219e192e86da3c4ffc0cc6e054d8634eab9","size":1443,"noattachment":false,"key":"/unique-filename/-/unique-filename-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/unique-filename/download/unique-filename-1.0.0.tgz"},"directories":{},"publish_time":1431040329667,"_cnpm_publish_time":1431040329667,"_hasShrinkwrap":false}},"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","_attachments":{},"homepage":"https://github.com/iarna/unique-filename","bugs":{"url":"https://github.com/iarna/unique-filename/issues"},"license":"ISC"}