|
2 years ago | |
---|---|---|
.. | ||
LICENSE | 2 years ago | |
README.md | 2 years ago | |
index.js | 2 years ago | |
package.json | 2 years ago |
Synchronously write a file and create its ancestor directories if needed
var fs = require('fs');
var outputFileSync = require('output-file-sync');
outputFileSync('foo/bar/baz.txt', 'Hi!');
fs.readFileSync('foo/bar/baz.txt').toString(); //=> 'Hi!'
This module is very similar to fs-extra's fs.outputFileSync
but they are different in the following points:
output-file-sync accepts mkdirp options.
var fs = require('fs');
var outputFileSync = require('output-file-sync');
outputFileSync('foo/bar', 'content', {mode: 33260});
fs.statSync('foo').mode; //=> 33260
npm install output-file-sync
var outputFileSync = require('output-file-sync');
path: String
data: String
or Buffer
options: Object
or String
(options for fs.writeFile and mkdirp)
Return: String
if it creates more than one directories, otherwise null
It writes the data to a file synchronously. If ancestor directories of the file don't exist, it creates the directories before writing the file.
var fs = require('fs');
var outputFileSync = require('output-file-sync');
// When the directory `foo/bar` exists
outputFileSync('foo/bar/baz/qux.txt', 'Hello', 'utf-8');
fs.statSync('foo/bar/baz').isDirectory(); //=> true
fs.statSync('foo/bar/baz/qux.txt').isFile(); //=> true
It returns the directory path just like mkdirp.sync:
Returns the first directory that had to be created, if any.
var dir = outputFileSync('foo/bar/baz.txt', 'Hello');
dir; //=> Same value as `path.resolve('foo')`
All options for fs.writeFile and mkdirp are available.
Additionally, you can use fileMode
option and dirMode
option to set different permission between the file and directories.
Set modes of a file, overriding mode
option.
Set modes of a directories, overriding mode
option.
outputFileSync('dir/file', 'content', {dirMode: '0745', fileMode: '0644'});
fs.statSync('dir').mode.toString(8); //=> '40745'
fs.statSync('dir/file').mode.toString(8); //=> '100644'
Copyright (c) 2014 Shinnosuke Watanabe
Licensed under the MIT License.