json-file-plus
Advanced tools
Comparing version
113
.jscs.json
{ | ||
"requireCurlyBraces": ["if", "else", "for", "while", "do", "try", "catch"], | ||
"additionalRules": [], | ||
"requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch", "function"], | ||
"requireSemicolons": true, | ||
"disallowSpaceAfterKeywords": [], | ||
"disallowMultipleSpaces": true, | ||
"requireSpacesInAnonymousFunctionExpression": { "beforeOpeningRoundBrace": true, "beforeOpeningCurlyBrace": true }, | ||
"requireSpacesInNamedFunctionExpression": { "beforeOpeningCurlyBrace": true }, | ||
"disallowSpacesInNamedFunctionExpression": { "beforeOpeningRoundBrace": true }, | ||
"requireSpacesInFunctionDeclaration": { "beforeOpeningCurlyBrace": true }, | ||
"disallowSpacesInFunctionDeclaration": { "beforeOpeningRoundBrace": true }, | ||
"disallowIdentifierNames": [], | ||
"disallowSpacesInsideParentheses": true, | ||
"requirePaddingNewLinesBeforeLineComments": true, | ||
"disallowSpacesInsideArrayBrackets": true, | ||
"requireCurlyBraces": ["if", "else", "for", "while", "do", "try", "catch"], | ||
"disallowQuotedKeysInObjects": "allButReserved", | ||
"requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch", "function"], | ||
"disallowSpaceAfterObjectKeys": true, | ||
"disallowSpaceAfterKeywords": [], | ||
"requireCommaBeforeLineBreak": true, | ||
"requireSpacesInAnonymousFunctionExpression": { "beforeOpeningRoundBrace": true, "beforeOpeningCurlyBrace": true }, | ||
"requireSpacesInNamedFunctionExpression": { "beforeOpeningCurlyBrace": true }, | ||
"disallowSpacesInNamedFunctionExpression": { "beforeOpeningRoundBrace": true }, | ||
"requireSpacesInFunctionDeclaration": { "beforeOpeningCurlyBrace": true }, | ||
"disallowSpacesInFunctionDeclaration": { "beforeOpeningRoundBrace": true }, | ||
"disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"], | ||
"requireSpaceAfterPrefixUnaryOperators": [], | ||
"requireSpaceBetweenArguments": true, | ||
"disallowSpaceBeforePostfixUnaryOperators": ["++", "--"], | ||
"requireSpaceBeforePostfixUnaryOperators": [], | ||
"disallowSpacesInsideParentheses": true, | ||
"disallowSpaceBeforeBinaryOperators": [], | ||
"requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="], | ||
"disallowSpacesInsideArrayBrackets": true, | ||
"requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="], | ||
"disallowSpaceAfterBinaryOperators": [], | ||
"disallowQuotedKeysInObjects": "allButReserved", | ||
"disallowImplicitTypeConversion": ["binary", "string"], | ||
"disallowSpaceAfterObjectKeys": true, | ||
"disallowKeywords": ["with", "eval"], | ||
"requireCommaBeforeLineBreak": true, | ||
"validateLineBreaks": "LF", | ||
"disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"], | ||
"requireSpaceAfterPrefixUnaryOperators": [], | ||
"requireKeywordsOnNewLine": [], | ||
"disallowKeywordsOnNewLine": ["else"], | ||
"disallowSpaceBeforePostfixUnaryOperators": ["++", "--"], | ||
"requireSpaceBeforePostfixUnaryOperators": [], | ||
"requireLineFeedAtFileEnd": true, | ||
"disallowSpaceBeforeBinaryOperators": [], | ||
"requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="], | ||
"disallowTrailingWhitespace": true, | ||
"requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="], | ||
"disallowSpaceAfterBinaryOperators": [], | ||
"excludeFiles": ["node_modules/**", "vendor/**"], | ||
"disallowImplicitTypeConversion": ["binary", "string"], | ||
"disallowMultipleLineStrings": true, | ||
"disallowKeywords": ["with", "eval"], | ||
"additionalRules": [] | ||
"requireKeywordsOnNewLine": [], | ||
"disallowKeywordsOnNewLine": ["else"], | ||
"requireLineFeedAtFileEnd": true, | ||
"disallowTrailingWhitespace": true, | ||
"disallowTrailingComma": true, | ||
"excludeFiles": ["node_modules/**", "vendor/**"], | ||
"disallowMultipleLineStrings": true, | ||
"requireDotNotation": true, | ||
"requireParenthesesAroundIIFE": true, | ||
"validateLineBreaks": "LF", | ||
"validateQuoteMarks": { | ||
"escape": true, | ||
"mark": "'" | ||
}, | ||
"disallowOperatorBeforeLineBreak": [], | ||
"requireSpaceBeforeKeywords": [ | ||
"do", | ||
"for", | ||
"if", | ||
"else", | ||
"switch", | ||
"case", | ||
"try", | ||
"catch", | ||
"finally", | ||
"while", | ||
"with", | ||
"return" | ||
], | ||
"validateAlignedFunctionParameters": { | ||
"lineBreakAfterOpeningBraces": true, | ||
"lineBreakBeforeClosingBraces": true | ||
}, | ||
"requirePaddingNewLinesBeforeExport": true, | ||
"validateNewlineAfterArrayElements": { | ||
"maximum": 3 | ||
}, | ||
"requirePaddingNewLinesAfterUseStrict": true | ||
} | ||
@@ -0,4 +1,57 @@ | ||
[3.0.0](https://github.com/ljharb/node-json-file/releases/tag/v3.0.0) / 2015-05-03 | ||
================== | ||
* Make sure to reject the promise if writeFile errors (#7) | ||
* All grade A-supported `node`/`iojs` versions now ship with an `npm` that understands `^` | ||
* Speed up `travis-ci` builds; test on latest `node` and `io.js` versions | ||
* Update `is`, `jscs`, `tape` | ||
[2.0.1](https://github.com/ljharb/node-json-file/releases/tag/v2.0.1) / 2015-02-06 | ||
================== | ||
* Update `is`, `tape`, `jscs`, `node.extend`, `object-keys`, `promiseback` | ||
* Run `travis-ci` tests on `iojs` | ||
[2.0.0](https://github.com/ljharb/node-json-file/releases/tag/v2.0.0) / 2014-09-25 | ||
================== | ||
* Update `jscs`, `tape`, `foreach` | ||
* Use `promiseback` to both take a callback and return a Promise | ||
[1.0.7](https://github.com/ljharb/node-json-file/releases/tag/v1.0.7) / 2014-09-03 | ||
================== | ||
* Update `jscs`, `is`, `object-keys` | ||
[1.0.6](https://github.com/ljharb/node-json-file/releases/tag/v1.0.6) / 2014-09-01 | ||
================== | ||
* Update `jscs`, `node.extend` | ||
* Add badges to README | ||
[1.0.5](https://github.com/ljharb/node-json-file/releases/tag/v1.0.5) / 2014-08-27 | ||
================== | ||
* Update `object-keys` | ||
[1.0.4](https://github.com/ljharb/node-json-file/releases/tag/v1.0.4) / 2014-08-25 | ||
================== | ||
* Update `is` | ||
[1.0.3](https://github.com/ljharb/node-json-file/releases/tag/v1.0.3) / 2014-08-25 | ||
================== | ||
* Update `is` | ||
* clean up README | ||
[1.0.2](https://github.com/ljharb/node-json-file/releases/tag/v1.0.2) / 2014-08-13 | ||
================== | ||
* Oops, `jscs` should be a devDependency | ||
[1.0.1](https://github.com/ljharb/node-json-file/releases/tag/v1.0.1) / 2014-08-11 | ||
================== | ||
* Update `is`, `covert`, `node.extend` | ||
[1.0.0](https://github.com/ljharb/node-json-file/releases/tag/v1.0.0) / 2014-08-07 | ||
================== | ||
* Update `tape`, `object-keys`, `is`, `node.extend` | ||
* Add `npm run coverage` and `npm run lint` | ||
* Updating tests | ||
[0.2.3](https://github.com/ljharb/node-json-file/releases/tag/v0.2.3) / 2013-12-07 | ||
================== | ||
* ensure raw file contents are compared as a string - in node 0.6 and 0.8, it's a Buffer. | ||
* ensure raw file contents are compared as a string - in node 0.6 and 0.8, it’s a Buffer. | ||
* Updating `tape` | ||
@@ -5,0 +58,0 @@ * Adding some badges to `README` |
10
index.js
@@ -38,7 +38,13 @@ var fs = require('fs'); | ||
JSONFile.prototype.save = function (callback) { | ||
var endingNewlines = this.format.trailing ? "\n\n" : "\n"; | ||
var endingNewlines = this.format.trailing ? '\n\n' : '\n'; | ||
var indent = this.format.indent || 2; | ||
var json = new Buffer(JSON.stringify(this.data, null, indent) + endingNewlines); | ||
var deferred = promiseback(callback); | ||
fs.writeFile(this.filename, json, deferred.resolve); | ||
fs.writeFile(this.filename, json, function (err, result) { | ||
if (err) { | ||
deferred.reject(err); | ||
} else { | ||
deferred.resolve(result); | ||
} | ||
}); | ||
return deferred.promise; | ||
@@ -45,0 +51,0 @@ }; |
{ | ||
"name": "json-file-plus", | ||
"version": "2.0.0", | ||
"version": "3.0.0", | ||
"author": "Jordan Harband", | ||
@@ -28,12 +28,12 @@ "description": "Read from and write to a JSON file, minimizing diffs and preserving formatting.", | ||
"dependencies": { | ||
"is": "~2.0.1", | ||
"node.extend": "~1.1.2", | ||
"promiseback": "~2.0.0" | ||
"is": "^3.0.1", | ||
"node.extend": "^1.1.3", | ||
"promiseback": "^2.0.1" | ||
}, | ||
"devDependencies": { | ||
"tape": "~3.0.0", | ||
"foreach": "~2.0.5", | ||
"object-keys": "~1.0.1", | ||
"covert": "~1.0.0", | ||
"jscs": "~1.6.2" | ||
"tape": "^4.0.0", | ||
"foreach": "^2.0.5", | ||
"object-keys": "^1.0.3", | ||
"covert": "^1.0.1", | ||
"jscs": "^1.13.1" | ||
}, | ||
@@ -40,0 +40,0 @@ "engines": { |
@@ -48,3 +48,3 @@ #json-file-plus <sup>[![Version Badge][npm-version-svg]][npm-url]</sup> | ||
console.log('success!'); | ||
}, function (err) { | ||
}).catch(function (err) { | ||
console.log('error!', err); | ||
@@ -51,0 +51,0 @@ }); |
@@ -10,3 +10,3 @@ var test = require('tape'); | ||
var testContents = { | ||
foo: "bar", | ||
foo: 'bar', | ||
null: null, | ||
@@ -55,2 +55,5 @@ true: true, | ||
}; | ||
if (err.hasOwnProperty('syscall')) { | ||
expectedError.syscall = 'open'; | ||
} | ||
t.deepEqual(err, expectedError, 'returns an error'); | ||
@@ -198,5 +201,8 @@ t.equal(file, undefined, 'file is undefined'); | ||
errno: err.errno, | ||
code: "ENOENT", | ||
code: 'ENOENT', | ||
path: filename | ||
}; | ||
if (err.hasOwnProperty('syscall')) { | ||
expectedError.syscall = 'open'; | ||
} | ||
t.deepEqual(err, expectedError, 'returned an error'); | ||
@@ -230,3 +236,3 @@ t.end(); | ||
t.ok(true, 'save promise: success'); | ||
}, function (err) { | ||
})['catch'](function (err) { | ||
t.fail('save promise: error. should not be here.'); | ||
@@ -233,0 +239,0 @@ }); |
Sorry, the diff of this file is not supported yet
Deprecated
MaintenanceThe maintainer of the package marked it as deprecated. This could indicate that a single version should not be used, or that the package is no longer maintained and any new vulnerabilities will not be fixed.
Found 1 instance in 1 package
22569
17.93%380
14.46%0
-100%- Removed
Updated
Updated
Updated