You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

7.1 KiB

write NPM version NPM monthly downloads NPM total downloads Linux 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
  • callback {Function}: (optional) If no callback is provided, a promise is returned.

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

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