fs-temp
    TypeScript icon, indicating that this package has built-in type declarations

    2.0.1 • Public • Published

    fs-temp

    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.

    Installation

    npm install --save fs-temp

    Usage

    import 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-'

    Promise support

    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`

    API

    The api mimics the one provided by fs very closely.

    open(flags[, mode], callback)

    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.

    openSync(flags[, mode])

    Synchronous version of .open(), returns obj with fd and path.

    mkdir([mode, ]callback)

    Creates an empty directory.

    The callback gets two arguments (err, path).

    mkdirSync([mode])

    Synchronous version of .mkdir(), returns path.

    writeFile(data[, encoding], callback)

    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).

    writeFileSync(data[, encoding])

    Synchronous version of .writeFileSync(), returns path.

    createWriteStream([options])

    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.

    template(template)

    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'.

    License

    The MIT License (MIT)

    Copyright (c) 2014 Linus Unnebäck

    Keywords

    none

    Install

    npm i fs-temp

    DownloadsWeekly Downloads

    43,371

    Version

    2.0.1

    License

    MIT

    Unpacked Size

    18.1 kB

    Total Files

    10

    Last publish

    Collaborators

    • linusu