Socket
Socket
Sign inDemoInstall

write-json-file

Package Overview
Dependencies
5
Maintainers
1
Versions
20
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.2.0 to 2.0.0

36

index.js
'use strict';
var path = require('path');
var fs = require('graceful-fs');
var writeFileAtomic = require('write-file-atomic');
var sortKeys = require('sort-keys');
var objectAssign = require('object-assign');
var mkdirp = require('mkdirp');
var Promise = require('pinkie-promise');
var pify = require('pify');
const path = require('path');
const fs = require('graceful-fs');
const writeFileAtomic = require('write-file-atomic');
const sortKeys = require('sort-keys');
const mkdirp = require('mkdirp');
const pify = require('pify');
function main(fn, fp, data, opts) {
const main = (fn, fp, data, opts) => {
if (!fp) {

@@ -20,3 +18,3 @@ throw new TypeError('Expected a filepath');

opts = objectAssign({
opts = Object.assign({
indent: '\t',

@@ -33,16 +31,14 @@ sortKeys: false

var json = JSON.stringify(data, opts.replacer, opts.indent) + '\n';
const json = JSON.stringify(data, opts.replacer, opts.indent);
return fn(fp, json, {mode: opts.mode});
}
module.exports = function (fp, data, opts) {
return pify(mkdirp, Promise)(path.dirname(fp), {fs: fs}).then(function () {
return main(pify(writeFileAtomic, Promise), fp, data, opts);
});
return fn(fp, `${json}\n`, {mode: opts.mode});
};
module.exports.sync = function (fp, data, opts) {
mkdirp.sync(path.dirname(fp), {fs: fs});
module.exports = (fp, data, opts) =>
pify(mkdirp)(path.dirname(fp), {fs})
.then(() => main(pify(writeFileAtomic), fp, data, opts));
module.exports.sync = (fp, data, opts) => {
mkdirp.sync(path.dirname(fp), {fs});
main(writeFileAtomic.sync, fp, data, opts);
};
{
"name": "write-json-file",
"version": "1.2.0",
"version": "2.0.0",
"description": "Stringify and write JSON to a file atomically",

@@ -13,3 +13,3 @@ "license": "MIT",

"engines": {
"node": ">=0.10.0"
"node": ">=4"
},

@@ -23,4 +23,4 @@ "scripts": {

"keywords": [
"write",
"json",
"write",
"stringify",

@@ -40,5 +40,3 @@ "file",

"mkdirp": "^0.5.1",
"object-assign": "^4.0.1",
"pify": "^2.0.0",
"pinkie-promise": "^2.0.0",
"sort-keys": "^1.1.1",

@@ -53,6 +51,4 @@ "write-file-atomic": "^1.1.2"

"xo": {
"ignores": [
"test.js"
]
"esnext": true
}
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc