fs-temp is a quick and simple way to create temporary files and directories.
Why another one? I know that there are already libraries doing similar things, but I felt that their implementation was unnecessary complicated. I also wanted a quick way to turn a buffer into a file.
npm install --save fs-tempimport temp from 'fs-temp'
const data = Buffer.from('testing 1 2 3')
const path = temp.writeFileSync(data)
// `path` now holds the path to a file with the specified `data`import temp from 'fs-temp'
const path = temp.template('linusu-%s').mkdirSync()
// `path` now holds the path to a directory with the prefix 'linusu-'If you import fs-temp/promises you'll receive an alternative API where all
functions that takes callbacks are replaced by Promise-returning functions.
import temp from 'fs-temp/promises'
const data = Buffer.from('testing 1 2 3')
const path = await temp.writeFile(data)
// `path` now holds the path to a file with the specified `data`The api mimics the one provided by fs very closely.
Asynchronous file open.
flags is either 'w' (only writing) or 'w+' (writing and reading).
The callback gets two arguments (err, obj). obj has fd and path.
Synchronous version of .open(), returns obj with fd and path.
Creates an empty directory.
The callback gets two arguments (err, path).
Synchronous version of .mkdir(), returns path.
Asynchronously writes data to a file. data can be a string or a buffer. The
encoding argument is ignored if data is a buffer. It defaults to 'utf8'.
The callback gets two arguments (err, path).
Synchronous version of .writeFileSync(), returns path.
Creates and returns a fs.WriteStream that will write it's content to a
temporary file. This functions performs a little bit of blocking IO in order to
open the file initially.
Returns a copy of the module that uses the specified template when generating
file names. template should be a string where %s will be replaced with some
random characters (e.g. 'linusu-%s').
The string should contain %s exactly once. If you want to include a literal
percent sign, escape it with another one, e.g. '%%string' becomes '%string'.
The MIT License (MIT)
Copyright (c) 2014 Linus Unnebäck