temporarily

1.1.0 • Public • Published

temporarily

Create temporary directories and files.

npm version npm version Build Status Coverage Status dependencies Status


Install

npm install --save temporarily

Why

There are a few other temporary file creation utilities. Here's why I made my own.

  • cleanup by default (on process exit), no opt-out (though you may clean up early if necessary)
  • sync by default, meant for testing
  • easy nested dir / file scaffolding with content

Usage

const temp = require('temporarily');
// or
const { dir, file, filepath } = require('temporarily');
// or
import { dir, file, filepath } from 'temporarily';

API

filepath

Generate a filepath. No file is created.

filepath( [options:object] )

  • options.dir :string – default os.tmpdir()
  • options.ext :string
  • options.name :string – default temporarily-{wwwwdddd}
filepath();
// '/var/folders/30/T/temporarily-tkEK6023'
 
filepath({ ext: 'json' });
// '/var/folders/30/T/temporarily-tkEK6023.json'
 
filepath({ dir: os.homedir() });
// '/home/myuser/temporarily-tkEK6023'
 
filepath({ name: 'file-{wwdd}' });
// '/var/folders/30/T/file-tk60'

file

Create a temporary file.

file( [options:object] )

  • options.data :string|Buffer – default ''
  • options.encoding :string – default 'utf8'
  • options.mode :string – default 0o666

All options from filepath can be applied as well.

file();
// { data: '',
//   filepath: '/var/folders/30/T/temporarily-RdgC6481',
//   mode: 438,
//   cleanup: [Function: cleanup] }
 
file({ mode: 0o777 });
// { data: '',
//   filepath: '/var/folders/30/T/temporarily-RdgC6481',
//   mode: 511,
//   cleanup: [Function: cleanup] }
 
file({ data: 'Hello World!' }); // write file contents
// { data: 'Hello World!',
//   filepath: '/var/folders/30/T/temporarily-RdgC6481',
//   mode: 438,
//   cleanup: [Function: cleanup] }

dir

Create a temporary directory.

dir( [options:object], [children:Array<object>] )

  • options.mode :string – default 0o777

All options from filepath can be applied as well.

dir();
// { filepath: '/var/folders/30/T/temporarily-tkEK6023',
//   mode: 511,
//   cleanup: [Function: cleanup] }
 
dir({ dir: os.homedir() });
// { filepath: '/home/myuser/temporarily-tkEK6023',
//   mode: 511,
//   cleanup: [Function: cleanup] }
 
dir({ mode: 0o666 });
// { filepath: '/var/folders/30/T/temporarily-tkEK6023',
//   mode: 438,
//   cleanup: [Function: cleanup] }
 
dir({ name: 'tempo' }, [
  dir([
    file({ name: 'nestedFile' }),
  ]),
  file({ data: 'Hello World!' }),
])
// { filepath: '/var/folders/30/T/tempo',
//   mode: 511,
//   cleanup: [Function: cleanup],
//   children:
//    [ { filepath: '/var/folders/30/T/tempo/temporarily-MwpX5662',
//        mode: 511,
//        cleanup: [Function: cleanup],
//        children:
//         [ { data: '',
//             filepath: '/var/folders/30/T/tempo/temporarily-MwpX5662/nestedFile',
//             mode: 438,
//             cleanup: [Function: cleanup] } ] },
//      { data: 'Hello World!',
//        filepath: '/var/folders/30/T/tempo/temporarily-yxYz6104',
//        mode: 438,
//        cleanup: [Function: cleanup] } ] }

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 1.1.0
    10
    • latest

Version History

Package Sidebar

Install

npm i temporarily

Weekly Downloads

11

Version

1.1.0

License

MIT

Unpacked Size

33.4 kB

Total Files

6

Last publish

Collaborators

  • moeriki