Security News
New Proposed CISA Mandate Would Require Critical Infrastructure to Report Ransom Payments Within 24 Hours
CISA has proposed a set of new rules that would require critical infrastructure to report cyber incidents and ransom payments.
unique-filename
Advanced tools
Generate a unique filename for use in temporary directories or caches.
Weekly downloads
Package description
The unique-filename npm package is a simple utility that generates a unique filename with an optional file path and extension. It can be used to ensure that files written to a directory do not clash with existing filenames.
Generate a unique filename
This feature generates a unique filename within the specified directory. The result is a random filename that is unlikely to clash with existing files.
const uniqueFilename = require('unique-filename');
const randomFilePath = uniqueFilename('/some/path');
console.log(randomFilePath);
Generate a unique filename with a specific extension
This feature generates a unique filename with a specified file extension, ensuring that the file fits the desired format.
const uniqueFilename = require('unique-filename');
const randomFilePath = uniqueFilename('/some/path', '.txt');
console.log(randomFilePath);
Generate a unique filename with a custom random string generator
This feature allows for a custom random string generator to be used, providing control over the randomness and format of the generated filename.
const uniqueFilename = require('unique-filename');
const customRandom = () => 'custom-string';
const randomFilePath = uniqueFilename('/some/path', '.txt', customRandom);
console.log(randomFilePath);
The 'tmp' package offers the creation of temporary files and directories. It can generate unique file names, similar to unique-filename, but also provides additional features such as automatic cleanup of the temporary files.
The 'tempfile' package is another utility for generating unique file paths, but it focuses on temporary files. It automatically appends a random string to a given file prefix, which is a simpler approach compared to unique-filename's more flexible API.
The 'mktemp' package creates unique temporary filenames or directories, similar to the Unix command of the same name. It is more complex than unique-filename, as it includes template-based filename generation and directory creation.
Readme
Generate a unique filename for use in temporary directories or caches.
const uniqueFilename = require('unique-filename')
// returns something like: '/tmp/c5b28f47'
const randomTmpfile = uniqueFilename(os.tmpdir())
// returns something like: '/tmp/my-test-51a7b48d'
const randomPrefixedTmpfile = uniqueFilename(os.tmpdir(), 'my-test')
// returns something like: '/my-tmp-dir/testing-7ddd44c0'
const uniqueTmpfile = uniqueFilename('/my-tmp-dir', 'testing', '/my/thing/to/uniq/on')
Returns the full path of a unique filename that looks like:
dir/prefix-7ddd44c0
or dir/7ddd44c0
dir – The path you want the filename in. os.tmpdir()
is a good choice for this.
fileprefix – A string to append prior to the unique part of the filename.
The parameter is required if uniqstr is also passed in but is otherwise
optional and can be undefined
/null
/''
. If present and not empty
then this string plus a hyphen are prepended to the unique part.
uniqstr – Optional, if not passed the unique part of the resulting filename will be random. If passed in it will be generated from this string in a reproducible way.
FAQs
Generate a unique filename for use in temporary directories or caches.
The npm package unique-filename receives a total of 15,917,918 weekly downloads. As such, unique-filename popularity was classified as popular.
We found that unique-filename demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 5 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CISA has proposed a set of new rules that would require critical infrastructure to report cyber incidents and ransom payments.
Security News
Redis is no longer OSS, breaking its explicit commitment to remain under the BSD 3-Clause License forever. This has angered contributors who are now working to fork the software.
Product
Socket AI now enables 'AI detected potential malware' alerts by default, ensuring users benefit from AI-powered state-of-the-art malware detection without needing to opt-in.