
Research
2025 Report: Destructive Malware in Open Source Packages
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.
fake-json-api-server
Advanced tools
Simple json-api server running on client. Useful for test runners and setting up fake backend api server for client applications.
Simple json-api server running in browser or node environment. Intercepts client XHR requests for defined routes when running in browser. Useful for test runners and setting up fake backend api server for client applications.
Fake json api server processes data per json:api specification. It can be easily configured to handle (paginated) get, post, put and delete requests for user defined resources. Define dataset, filters and validation rules for each entity. Loaded dataset can be persisted to localStorage in browser.
Create fake server instance with configuration object.
new FakeJsonApiServer({
baseApiUrl: '/api',
resources: {
tag: {
data: [{
type: 'tag',
id: '1',
attributes: {title: 'Tag 1'}},
{
type: 'tag',
id: '2',
attributes: {title: 'Tag 2'}
}]
}
}
});
$.get('/api/tag', function(tagList) {
// process tags json:api formatted data
});
$.get('/api/tag/1', function(tagData) {
// process api data of tag with id 1
});
Persisting data to localStorage, setting up filters and validation rules for post and put request can be defined like so:
new FakeJsonApiServer({
baseApiUrl: '/api',
storageKey: 'fakeServerStorage',
resources: {
article: {
filters: {
title: function(title, query) {
return title.toLowerCase().indexOf(query.toLowerCase()) >= 0;
}
},
validationRules: {
title: {
rule: function(title) {
return title.length > 0;
},
message: 'Please enter title.'
}
},
data: function(random) {
return _.chain(_.range(1, 9)).map(function(index) {
return {
type: 'article',
id: String(index),
attributes: {
title: 'Article title ' + index,
leadTitle: 'Article lead title ' + index,
published: random.boolean()
},
relationships: {
author: {data: {id: random.id(1, 5), type: 'user'}},
tags: {
data: [
{id: random.id(1, 5), type: 'tag'},
{id: random.id(6, 10), type: 'tag'},
{id: random.id(1, 10), type: 'tag'}
]
}
}
};
}).value();
}
}
}
});
Following code will run fake json api server on localhost port 3000.
// server.js
var FakeServer = require 'fake-json-api-server/src/nodeServer';
new FakeServer({
port: 3000,
resources: {
tag: {
data: [{
type: 'tag',
id: '1',
attributes: {title: 'Tag 1'}},
{
type: 'tag',
id: '2',
attributes: {title: 'Tag 2'}
}]
}
}
});
node server.js
Api is now setuped to serve tag resources in json-api format on http://localhost:3000/tag
FakeJsonApiServer is packaged as UMD library so you can use it in CommonJS and AMD environment or with browser globals.
npm install fake-json-api-server --save
// with bundlers
var FakeJsonApiServer = require('fake-json-api-server');
// with browser globals
var FakeJsonApiServer = window.FakeJsonApiServer;
FAQs
Simple json-api server running on client. Useful for test runners and setting up fake backend api server for client applications.
The npm package fake-json-api-server receives a total of 30 weekly downloads. As such, fake-json-api-server popularity was classified as not popular.
We found that fake-json-api-server 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
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.

Security News
Socket CTO Ahmad Nassri shares practical AI coding techniques, tools, and team workflows, plus what still feels noisy and why shipping remains human-led.

Research
/Security News
A five-month operation turned 27 npm packages into durable hosting for browser-run lures that mimic document-sharing portals and Microsoft sign-in, targeting 25 organizations across manufacturing, industrial automation, plastics, and healthcare for credential theft.