The high-level goal of @openinf/tempy
is to serve as a Node.js package
containing utilities for creating random temporary file and directory paths
that are automatically cleaned up once finished with. We are constantly working
to improve this repository, so please feel free to contribute
if you notice any omissions or errors.
Thanks!
Supported Node.js Environments
- v4:Argon (Ar)
- v6:Boron (B)
- v8:Carbon (C)
- v10:Dubnium (Db)
- v12:Erbium (Er)
- v14:Fermium (Fm)
- v16:Gallium (Ga)
- v18:Hydrogen (H)
@openinf/tempy
runs on
supported versions of Node.js and is available via
npm
, pnpm
, or yarn
.
Using the npm CLI
See the official documentation for this command for more information.
npm i @openinf/tempy
Using the pnpm CLI
See the official documentation for this command for more information.
pnpm add @openinf/tempy
Using the Yarn 1 CLI (Classic)
See the official documentation for this command for more information.
yarn add @openinf/tempy
import { temporaryFile, temporaryDirectory } from '@openinf/tempy';
temporaryFile();
//=> '/private/var/folders/3x/jf5977fn79jbglr7rk0tq4d00000gn/T/4f504b9edb5ba0e89451617bf9f971dd'
temporaryFile({ extension: 'png' });
//=> '/private/var/folders/3x/jf5977fn79jbglr7rk0tq4d00000gn/T/a9fb0decd08179eb6cf4691568aa2018.png'
temporaryFile({ name: 'unicorn.png' });
//=> '/private/var/folders/3x/jf5977fn79jbglr7rk0tq4d00000gn/T/f7f62bfd4e2a05f1589947647ed3f9ec/unicorn.png'
temporaryDirectory();
//=> '/private/var/folders/3x/jf5977fn79jbglr7rk0tq4d00000gn/T/2f3d094aec2cb1b93bb0f4cffce5ebd6'
temporaryDirectory({ prefix: 'name' });
//=> '/private/var/folders/3x/jf5977fn79jbglr7rk0tq4d00000gn/T/name_3c085674ad31223b9653c88f725d6b41'
Get a temporary file path you can write to.
The callback
resolves with a temporary file path you can write to. The file is automatically cleaned up after the callback is executed. Returns a promise that resolves with the return value of the callback after it is executed and the file is cleaned up.
Type: (tempPath: string) => void
A callback that is executed with the temp file path. Can be asynchronous.
Type: object
You usually won't need either the extension
or name
option. Specify them only when actually needed.
Type: string
File extension.
Type: string
Filename. Mutually exclusive with the extension
option.
Get a temporary directory path. The directory is created for you.
The callback
resolves with a temporary directory path you can write to. The directory is automatically cleaned up after the callback is executed. Returns a promise that resolves with the return value of the callback after it is executed and the directory is cleaned up.
Type: (tempPath: string) => void
A callback that is executed with the temp directory path. Can be asynchronous.
Type: Object
Type: string
Directory prefix.
Useful for testing by making it easier to identify cache directories that are created.
You usually won't need this option. Specify it only when actually needed.
Write data to a random temp file.
Write data to a random temp file. The file is automatically cleaned up after the callback is executed. Returns a promise that resolves with the return value of the callback after it is executed and the file is cleaned up.
Type: string | Buffer | TypedArray | DataView | stream.Readable
Data to write to the temp file.
Type: (tempPath: string) => void
A callback that is executed with the temp file path. Can be asynchronous.
See options.
Synchronously write data to a random temp file.
Type: string | Buffer | TypedArray | DataView
Data to write to the temp file.
See options.
Get the root temporary directory path. For example: /private/var/folders/3x/jf5977fn79jbglr7rk0tq4d00000gn/T
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. If for whatever reason you spot something to fix but cannot patch it yourself, please open an issue.
This project is licensed under either of
at your option.
The SPDX license identifier for this project is
MIT OR Apache-2.0
.
If you like the project (or want to bookmark it) —
— give it a star ⭐️ — it will greatly encourage
us.