Skip to content

OpenINF/openinf-tempy

 
 
OpenINF logo

@openinf/tempy

Get a random temporary file or directory path


'View on npm' 'License: MIT/Apache-2.0'


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!


Platform: Node.js LTS

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)

Code Style: Prettier Commit Style: Conventional Commits Chat on Matrix





Table of Contents





Installation Corepack logo


@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

Usage

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'



API

temporaryFile(options?)

Get a temporary file path you can write to.

temporaryFileTask(callback, options?)

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.

callback

Type: (tempPath: string) => void

A callback that is executed with the temp file path. Can be asynchronous.

options

Type: object

You usually won't need either the extension or name option. Specify them only when actually needed.

extension

Type: string

File extension.

name

Type: string

Filename. Mutually exclusive with the extension option.

temporaryDirectory(options?)

Get a temporary directory path. The directory is created for you.

temporaryDirectoryTask(callback, options?)

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.

callback

Type: (tempPath: string) => void

A callback that is executed with the temp directory path. Can be asynchronous.

options

Type: Object

prefix

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.

temporaryWrite(fileContent, options?)

Write data to a random temp file.

temporaryWriteTask(fileContent, callback, options?)

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.

fileContent

Type: string | Buffer | TypedArray | DataView | stream.Readable

Data to write to the temp file.

callback

Type: (tempPath: string) => void

A callback that is executed with the temp file path. Can be asynchronous.

options

See options.

temporaryWriteSync(fileContent, options?)

Synchronously write data to a random temp file.

fileContent

Type: string | Buffer | TypedArray | DataView

Data to write to the temp file.

options

See options.

rootTemporaryDirectory

Get the root temporary directory path. For example: /private/var/folders/3x/jf5977fn79jbglr7rk0tq4d00000gn/T





Contributing

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.


License

This project is licensed under either of

at your option.

The SPDX license identifier for this project is MIT OR Apache-2.0.





Show Your Support


If you like the project (or want to bookmark it) —
— give it a star ⭐️ — it will greatly encourage us.



The OpenINF logo

About

Get a random temporary file or directory path

Resources

License

Unknown and 2 other licenses found

Licenses found

Unknown
LICENSE.md
Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%