Skip to content
Write data to the file system, creating any intermediate directories if they don't already exist. Used by flat-cache and many others!
JavaScript
Branch: master
Clone or download
Latest commit 4cd516f Aug 12, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.editorconfig run update and lint-deps Jul 9, 2017
.eslintrc.json run update and lint-deps Jul 9, 2017
.gitattributes run update Apr 7, 2015
.gitignore run update and lint-deps Jul 9, 2017
.travis.yml
.verb.md improve description, docs. run verb to generate readme documentation Jul 11, 2017
LICENSE run update and lint-deps Jul 9, 2017
README.md
example.js stream example Jul 9, 2017
index.js Introduce ensureNewLine option parameter Mar 26, 2018
package.json 1.0.3 Jul 11, 2017
test.js Introduce ensureNewLine option parameter Mar 26, 2018

README.md

write NPM version NPM monthly downloads NPM total downloads Build Status

Write data to a file, replacing the file if it already exists and creating any intermediate directories if they don't already exist. Thin wrapper around node's native fs methods.

Install

Install with npm:

$ npm install --save write

Usage

var writeFile = require('write');

API

writeFile

Asynchronously writes data to a file, replacing the file if it already exists and creating any intermediate directories if they don't already exist. Data can be a string or a buffer. Returns a promise if a callback function is not passed.

Params

  • filepath {string|Buffer|integer}: filepath or file descriptor.
  • data {string|Buffer|Uint8Array}: String to write to disk.
  • options {object}: Options to pass to fs.writeFile and/or mkdirp. Some extra options can also be passed (see below)
  • callback {Function}: (optional) If no callback is provided, a promise is returned.

Custom options:

In addition to fs.writeFile and mkdirp options, you can also pass some write specific options:

  • ensureNewLine: force a new line (\n) at the end of the file

Example

var writeFile = require('write');
writeFile('foo.txt', 'This is content...', function(err) {
  if (err) console.log(err);
});

// promise
writeFile('foo.txt', 'This is content...')
  .then(function() {
    // do stuff
  });

.promise

The promise version of writeFile. Returns a promise.

Params

  • filepath {string|Buffer|integer}: filepath or file descriptor.
  • val {string|Buffer|Uint8Array}: String or buffer to write to disk.
  • options {object}: Options to pass to fs.writeFile and/or mkdirp
  • returns {Promise}

Example

var writeFile = require('write');
writeFile.promise('foo.txt', 'This is content...')
  .then(function() {
    // do stuff
  });

.sync

The synchronous version of writeFile. Returns undefined.

Params

  • filepath {string|Buffer|integer}: filepath or file descriptor.
  • data {string|Buffer|Uint8Array}: String or buffer to write to disk.
  • options {object}: Options to pass to fs.writeFileSync and/or mkdirp
  • returns {undefined}

Example

var writeFile = require('write');
writeFile.sync('foo.txt', 'This is content...');

.stream

Uses fs.createWriteStream to write data to a file, replacing the file if it already exists and creating any intermediate directories if they don't already exist. Data can be a string or a buffer. Returns a new WriteStream object.

Params

Example

var fs = require('fs');
var writeFile = require('write');
fs.createReadStream('README.md')
  .pipe(writeFile.stream('a/b/c/other-file.md'))
  .on('close', function() {
    // do stuff
  });

Release history

v1.0.2 - 2017-07-11

  • improved documentation

v1.0.0 - 2017-07-09

Added

Changed

  • The main export will now return a promise if no callback is passed

About

Related projects

  • delete: Delete files and folders and any intermediate directories if they exist (sync and async). | homepage
  • read-data: Read JSON or YAML files. | homepage
  • read-yaml: Very thin wrapper around js-yaml for directly reading in YAML files. | homepage
  • write-data: Write a YAML or JSON file to disk. Automatically detects the format to write based… more | homepage
  • write-json: Write a JSON file to disk, also creates intermediate directories in the destination path if… more | homepage
  • write-yaml: Write YAML. Converts JSON to YAML writes it to the specified file. | homepage

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.

Contributors

Commits Contributor
33 jonschlinkert
1 tunnckoCore

Building docs

(This project's readme.md is generated by verb, please don't edit the readme directly. Any changes to the readme must be made in the .verb.md readme template.)

To generate the readme, run the following command:

$ npm install -g verbose/verb#dev verb-generate-readme && verb

Running tests

Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:

$ npm install && npm test

Author

Jon Schlinkert

License

Copyright © 2017, Jon Schlinkert. Released under the MIT License.


This file was generated by verb-generate-readme, v0.6.0, on July 11, 2017.

You can’t perform that action at this time.