
Security News
Open Source CAI Framework Handles Pen Testing Tasks up to 3,600× Faster Than Humans
CAI is a new open source AI framework that automates penetration testing tasks like scanning and exploitation up to 3,600× faster than humans.
json-perf-loader
Advanced tools
A loader for webpack to load JSON with performance advice.
See The cost of parsing JSON - V8
Because the JSON grammar is much simpler than JavaScript’s grammar, JSON can be parsed more efficiently than JavaScript. This knowledge can be applied to improve start-up performance for web apps that ship large JSON-like configuration object literals (such as inline Redux stores). Instead of inlining the data as a JavaScript object literal.
As long as the JSON string is only evaluated once, the
JSON.parse
approach is much faster compared to the JavaScript object literal, especially for cold loads. A good rule of thumb is to apply this technique for objects of 10 kB or larger — but as always with performance advice, measure the actual impact before making any changes.
To begin, you'll need to install json-perf-loader
:
$ npm install json-perf-loader --save-dev
json-perf-loader
works like
json-loader
, but much faster.
index.js
import json from './file.json'
webpack.config.js
module.exports = {
module: {
rules: [
{
test: /\.json$/i,
type: 'javascript/auto',
use: [
{
loader: 'json-perf-loader',
options: {
limit: 4096,
},
},
],
},
],
},
}
And run webpack
via your preferred method.
Note: type: "javascript/auto"
is require. See https://webpack.js.org/configuration/module/#ruletype
Rule.type
sets the type for a matching module. This prevents defaultRules and their default importing behaviors from occurring. For example, if you want to load a.json
file through a custom loader, you'd need to set thetype
tojavascript/auto
to bypass webpack's built-in json importing.
limit
Type: Number|String
Default: 1024 * 10
The limit can be specified via loader options and defaults to 1024 * 10
. This is the recommended value for the V8 team.
Number
A Number
specifying the maximum size of a file in bytes. If the file size is
equal or greater than the limit JSON.parse
will be used.
webpack.config.js
module.exports = {
module: {
rules: [
{
test: /\.json$/i,
type: 'javascript/auto',
use: [
{
loader: 'json-perf-loader',
options: {
limit: 10,
},
},
],
},
],
},
}
1.1.0 - [2021-02-25]
FAQs
A loader for webpack to load JSON with performance advice
We found that json-perf-loader 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.
Security News
CAI is a new open source AI framework that automates penetration testing tasks like scanning and exploitation up to 3,600× faster than humans.
Security News
Deno 2.4 brings back bundling, improves dependency updates and telemetry, and makes the runtime more practical for real-world JavaScript projects.
Security News
CVEForecast.org uses machine learning to project a record-breaking surge in vulnerability disclosures in 2025.