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

74 lines
1.5 KiB
Markdown

# write-json-file [![Build Status](https://travis-ci.org/sindresorhus/write-json-file.svg?branch=master)](https://travis-ci.org/sindresorhus/write-json-file)
> Stringify and write JSON to a file [atomically](https://github.com/iarna/write-file-atomic)
Creates directories for you as needed.
## Install
```
$ npm install --save write-json-file
```
## Usage
```js
const writeJsonFile = require('write-json-file');
writeJsonFile('foo.json', {foo: true}).then(() => {
console.log('done');
});
```
## API
### writeJsonFile(filepath, data, [options])
Returns a promise.
### writeJsonFile.sync(filepath, data, [options])
#### options
##### indent
Type: `string`, `number`
Default: `\t`
Indentation as a string or number of spaces.
Pass in `null` for no formatting.
##### sortKeys
Type: `boolean`, `function`
Default: `false`
Sort the keys recursively.
Optionally pass in a [`compare`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) function.
##### replacer
Type: `function`
Passed into [`JSON.stringify`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#The_replacer_parameter).
##### mode
Type: `number`
Default `438` *(0666 in octal)*
[Mode](https://en.wikipedia.org/wiki/File_system_permissions#Numeric_notation) used when writing the file.
## Related
- [load-json-file](https://github.com/sindresorhus/load-json-file) - Read and parse a JSON file
## License
MIT © [Sindre Sorhus](http://sindresorhus.com)