1.1.1 • Published 3 years ago

quicken v1.1.1

Weekly downloads
3
License
MIT
Repository
github
Last release
3 years ago

quicken

npm CI Status dependencies Status devDependencies Status

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
1.1.1

3 years ago

1.1.0

4 years ago

1.0.0

4 years ago