Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sindresorhus/write-json-file
Stringify and write JSON to a file atomically
https://github.com/sindresorhus/write-json-file
Last synced: about 1 month ago
JSON representation
Stringify and write JSON to a file atomically
- Host: GitHub
- URL: https://github.com/sindresorhus/write-json-file
- Owner: sindresorhus
- License: mit
- Created: 2015-09-02T06:26:04.000Z (about 9 years ago)
- Default Branch: main
- Last Pushed: 2022-10-16T07:53:03.000Z (about 2 years ago)
- Last Synced: 2024-05-22T21:32:16.558Z (6 months ago)
- Language: JavaScript
- Size: 42 KB
- Stars: 209
- Watchers: 7
- Forks: 40
- Open Issues: 1
-
Metadata Files:
- Readme: readme.md
- Funding: .github/funding.yml
- License: license
- Security: .github/security.md
Awesome Lists containing this project
- awesome-nodejs-cn - write-json-file - 自动将 JSON 序列化写入到文件 (包 / 文件系统)
- awesome-nodejs - write-json-file - Stringify and write JSON to a file atomically. ![](https://img.shields.io/github/stars/sindresorhus/write-json-file.svg?style=social&label=Star) (Repository / Object / JSON / JSON Schema)
- awesome-nodejs-cn - write-json-file - **star:211** 将JSON原子化并写入文件 (包 / 文件系统)
- awesome-nodejs - write-json-file - Stringify and write JSON to a file atomically. (Packages / Filesystem)
- awesome-nodejs - write-json-file - Stringify and write JSON to a file atomically - ★ 109 (Filesystem)
- awesome-node - write-json-file - Stringify and write JSON to a file atomically. (Packages / Filesystem)
- awesome-nodejs-cn - write-json-file - 自动序列化写入JSON到文件. (目录 / 文件系统)
- awesome-nodejs - write-json-file - Stringify and write JSON to a file atomically (Uncategorized / Uncategorized)
README
# write-json-file
> Stringify and write JSON to a file [atomically](https://github.com/npm/write-file-atomic)
Creates directories for you as needed.
## Install
```sh
npm install write-json-file
```## Usage
```js
import {writeJsonFile} from 'write-json-file';await writeJsonFile('foo.json', {foo: true});
```## API
### writeJsonFile(filePath, data, options?)
Returns a `Promise`.
### writeJsonFileSync(filePath, data, options?)
#### options
Type: `object`
##### indent
Type: `string | number | undefined`\
Default: `'\t'`Indentation as a string or number of spaces.
Pass in `undefined` for no formatting.
If you set both this and `detectIndent`, this value will be used when the indentation cannot be detected.
##### detectIndent
Type: `boolean`\
Default: `false`Detect indentation automatically if the file exists.
##### 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: `0o666`The [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
- [make-dir](https://github.com/sindresorhus/make-dir) - Make a directory and its parents if needed