Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
json-version-control
Advanced tools
A lightweight and easy-to-use package that provides version control functionality for JSON files.
json-version-control is a lightweight package that provides version control functionality for JSON files. It allows you to save and manage different versions of JSON data, track changes between versions, and apply specific versions to revert or update the JSON data.
Install the json-version-control package using npm:
npm install json-version-control
To use the json-version-control package, you can refer to the following API reference.
The VersionControl
class provides the following methods:
saveNewVersion(targetJson)
: Save a new version by calculating the difference between the source object and the target JSON object.
getHistoryVersions()
: Get the list of available history versions.
getPreviousVersion()
: Get the previous version based on the current version.
getNextVersion()
: Get the next version based on the current version.
applyVersionToSource(version)
: Apply the specified version to the source.
getInitialVersion()
: Get the source object from the initial version.
getLatestVersion()
: Get the source object from the latest version.
applyInitialVersion()
: Apply the initial version to the source.
applyLatestVersion()
: Apply the latest version to the source.
For detailed information about each method and its usage, please refer to the source code documentation.
Here's an example that demonstrates how to use the json-version-control package:
const { VersionControl } = require('json-version-control');
// Initialize the VersionControl instance with the configuration
const config = {
sourceFilePath: './data/source.json',
headFilePath: './data/head.json',
historyDirectory: './data/history',
diffFilePrefix: 'diff_',
};
const vc = new VersionControl(config);
// Save a new version
const newData = { name: 'John Doe', age: 30 };
vc.saveNewVersion(newData);
// Get the list of available history versions
const historyVersions = vc.getHistoryVersions();
console.log('History Versions:', historyVersions);
// Revert to a previous version
const previousVersion = vc.getPreviousVersion();
if (previousVersion) {
vc.applyVersionToSource(previousVersion);
console.log('Reverted to previous version:', previousVersion);
} else {
console.log('No previous version found.');
}
// Apply the next version
const nextVersion = vc.getNextVersion();
if (nextVersion) {
vc.applyVersionToSource(nextVersion);
console.log('Applied next version:', nextVersion);
} else {
console.log('No next version found.');
}
This project is licensed under the ISC License.
FAQs
A lightweight and easy-to-use package that provides version control functionality for JSON files.
The npm package json-version-control receives a total of 5 weekly downloads. As such, json-version-control popularity was classified as not popular.
We found that json-version-control demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.