Security News
Node.js EOL Versions CVE Dubbed the "Worst CVE of the Year" by Security Experts
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
Helps minimize the amount of fs
read and write logic, try/catch
logic, writes clean UTF8 json content, and cleans up byte order mark and newline characters to cleanly read and parse json content.
npm install --save file-it
OR
yarn add file-it
import fileIt from "file-it";
OR
const fileIt = require("file-it");
setJsonValue(filename, key, value, [options])
getJsonValue(filename, key)
readJsonArraySync(filename)
readJsonLinesSync(filename)
readContentFile(filename)
readContentFileSync(filename)
readJsonFile(filename, callback)
readJsonFileSync(filename)
appendJsonFileSync(filename, obj, [options])
writeContentFile(filename, content, callback)
writeContentFileSync(filename, content)
writeJsonFile(filename, obj, [options], callback)
writeJsonFileSync(filename, obj, [options])
findSortedJsonElement(filename, attribute, direction)
filename
the full file pathkey
the name of the element in the json filevalue
the value you want to setconst fileIt = require('file-it')
const file = '/tmp/data.json'
fileIt.setJsonValue(file, "hello", "universe", {spaces: 2});
filename
the full file pathkey
the name of the element in the json fileconst fileIt = require('file-it')
const file = '/tmp/data.json'
await fileIt.setJsonValue(file, "hello", "universe", {spaces: 2});
const val = await fileIt.getJsonValue(file, "hello");
console.log("val: ", val); // prints out "universe"
filename
the full file path
throws
If JSON.parse
throws an error, pass this error to the callbackconst fileIt = require('file-it')
const file = '/tmp/jsonArrayFile.json'
fileIt.readJsonArraySync(file, function (err, data) {
if (err) console.error(err)
else console.log(data)
})
filename
the full file path
throws
If JSON.parse
throws an error, pass this error to the callbackconst fileIt = require('file-it')
const file = '/tmp/linesOfJsonData.json'
fileIt.readJsonLinesSync(file, function (err, data) {
if (err) console.error(err)
else console.log(data)
})
filename
the full file pathconst fileIt = require('file-it')
const file = '/tmp/data.json'
fileIt.readContentFile(file, function (err, data) {
if (err) console.error(err)
else console.log(data)
})
filename
the full file pathconst fileIt = require('file-it')
const file = '/tmp/data.json'
console.log(fileIt.readContentFileSync(file))
filename
the full file path
throws
If JSON.parse
throws an error, pass this error to the callbackconst fileIt = require('file-it')
const file = '/tmp/data.json'
fileIt.readJsonFile(file, function (err, data) {
if (err) console.error(err)
else console.log(data)
})
You can also use this method with promises. The readJsonFile
method will return a promise if you do not pass a callback function.
const fileIt = require('file-it')
const file = '/tmp/data.json'
fileIt.readJsonFile(file)
.then(data => console.log(data))
.catch(error => console.error(error))
filename
: the full file pathcontent
: The string object to write
throws
If an error is encountered reading or parsing the file, throw the errorconst fileIt = require('file-it')
const file = '/tmp/data.json'
console.log(fileIt.readJsonFileSync(file))
filename
: the full file pathobj
: The json object to append to the fileoptions
: Pass in any fs.appendFileSync
options or set replacer
for a JSON replacer. Can also pass in spaces
and override EOL
string.const fileIt = require('file-it')
const file = '/tmp/data.json'
const obj = { hello: 'World' }
fileIt.appendJsonFileSync(filename, content, function (err) {
if (err) console.error(err)
})
filename
: the full file pathcontent
: The string object to writeconst fileIt = require('file-it')
const file = '/tmp/data.txt'
const content = "hello world"
fileIt.writeContentFile(filename, content, function (err) {
if (err) console.error(err)
})
const fileIt = require('file-it')
const file = '/tmp/data.txt'
const content = "hello world"
fileIt.writeContentFile(filename, content)
filename
: the full file pathobj
: The json object to writeoptions
: Pass in any fs.writeFile
options or set replacer
for a JSON replacer. Can also pass in spaces
and override EOL
string.const fileIt = require('file-it')
const file = '/tmp/data.json'
const obj = { hello: 'World' }
fileIt.writeJsonFile(file, obj, function (err) {
if (err) console.error(err)
})
Or use with promises as follows:
const fileIt = require('file-it')
const file = '/tmp/data.json'
const obj = { hello: 'World' }
fileIt.writeJsonFile(file, obj)
.then(res => {
console.log('Write complete')
})
.catch(error => console.error(error))
formatting with spaces:
const fileIt = require('file-it')
const file = '/tmp/data.json'
const obj = { hello: 'World' }
fileIt.writeJsonFile(file, obj, { spaces: 2 }, function (err) {
if (err) console.error(err)
})
overriding EOL:
const fileIt = require('file-it')
const file = '/tmp/data.json'
const obj = { hello: 'World' }
fileIt.writeJsonFile(file, obj, { spaces: 2, EOL: '\r\n' }, function (err) {
if (err) console.error(err)
})
appending to an existing JSON file:
You can use fs.writeFile
option { flag: 'a' }
to achieve this.
const fileIt = require('file-it')
const file = '/tmp/data.json'
const obj = { hello: 'World' }
fileIt.writeJsonFile(file, obj, { flag: 'a' }, function (err) {
if (err) console.error(err)
})
filename
: the full file pathobj
: The json object to writeoptions
: Pass in any fs.writeFileSync
options or set replacer
for a JSON replacer. Can also pass in spaces
and override EOL
string.const fileIt = require('file-it')
const file = '/tmp/data.json'
const obj = { hello: 'World' }
fileIt.writeJsonFileSync(file, obj)
formatting with spaces:
const fileIt = require('file-it')
const file = '/tmp/data.json'
const obj = { hello: 'World' }
fileIt.writeJsonFileSync(file, obj, { spaces: 2 })
overriding EOL:
const fileIt = require('file-it')
const file = '/tmp/data.json'
const obj = { hello: 'World' }
fileIt.writeJsonFileSync(file, obj, { spaces: 2, EOL: '\r\n' })
appending to an existing JSON file:
You can use fs.writeFileSync
option { flag: 'a' }
to achieve this.
const fileIt = require('file-it')
const file = '/tmp/data.json'
const obj = { hello: 'World' }
fileIt.writeJsonFileSync(file, obj, { flag: 'a' })
filename
: the full file pathattribute
: the name of the attribute within a json elementdirection
: the sort direction ["asc" | "desc"] - default is descconst fileIt = require('file-it')
const file = '/tmp/data.json'
const topElement = fileIt.findSortedJsonElement(file, "count")
const fileIt = require('file-it')
const file = '/tmp/data.json'
const bottomElement = fileIt.findSortedJsonElement(file, "count", "asc")
FAQs
Easily read/write/update JSON files
The npm package file-it receives a total of 6 weekly downloads. As such, file-it popularity was classified as not popular.
We found that file-it demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 6 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
Security News
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.