quicken
v1.1.1
Published
Speed up slow-to-start CLI commands
Downloads
2
Readme
quicken
Speed up slow-to-start CLI commands
CLI tools like ESLint, and its many wrappers, are slow mainly due to how long it takes to load all of the configured plugins. This loading cost is incurred every time the command is run.
quicken
caches the loaded code in a long-running process so that the loading
cost is incurred exactly once.
Usage
Install quicken
by running:
yarn add quicken
quicken
assumes that the command is a bin provided by a package installed in
the current project, e.g., ./node_modules/.bin/xo
provided the by xo
package. It also assumes that the bin is a JavaScript file.
Node.js caches all imported files; so, after running a command once, running it
again requires first clearing from cache the files that need to be re-evaluated.
quicken
will clear the executable file but will not know about other files
that need to be cleared. Let quicken
know about these files, by module path,
by adding to package.json
:
{
"quicken": {
"xo": [
"xo/cli-main.js"
]
}
}
If no additional files need to be cleared, leave the array empty.
Then, create wrappers for the configured commands by running:
quicken
The wrapped commands should behave exactly like the original commands.
The wrapped commands spawn a background process. To stop that process, run:
quicken stop