fil

filendir

A nodejs module: Write a file and create the directories found in its path if needed.

Showing:

Popularity

Downloads/wk

1.5K

GitHub Stars

10

Maintenance

Last Commit

1yr ago

Contributors

2

Package

Dependencies

1

Size (min+gzip)

1.4KB

License

MIT

Type Definitions

Tree-Shakeable

No?

Categories

Readme

Filendir

Write a file given a full path. Create the missing directories if necessary.


js-standard-style Build Status Node.js >= 10

API

Filendir exposes an asynchronous and a synchronous write method.

It also exposes mkdirp to create directories only, if you need it.

filendir versions node support

  • 1.x for nodejs v4 to v9
  • 2.x for nodejs v10 to now

Synchronous write

  • filendir.ws (shorthand)
  • filendir.writeFileSync

Apart from creating the missing directories, it has the same behaviour and interface than node fs.writeFileSync.

// signature
filendir.writeFileSync(filename, data[, options])

See fs.writeFileSync in Node.js site

Example

var path = require('path')
var filendir = require('filendir')
var filename = path.join('let','s', 'nest','some','directories','myfile.txt')
var content = 'Hello World'

filendir.ws(filename, content)

Asynchronous write

  • filendir.wa (shorthand)
  • filendir.writeFile

Apart from creating the missing directories, it has the same behaviour and interface than node fs.writeFile.

Extra from fs.writefile: you can use promises

// callback use
filendir.writeFile(filename, data[, options], callback)
// with promise
await filendir.writeFile(filename, data[, options])

See fs.writeFile in Node.js site

Example

var path = require('path')
var filendir = require('filendir')
var filename = path.join('let','s', 'nest','some','directories','myfile.txt')
var content = 'Hello World'

filendir.wa(filename, content, function (err) {
  if (!err) {
    console.log('File written!')
  }
})

filendir.mkdirp

Credits to Substack. Would have been harder to do this without it.

See https://www.npmjs.org/package/mkdirp

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100