hijak
v0.4.4
Published
A tool for hijacking an npm project's build system.
Downloads
13
Readme
hijak
An tool for hijacking another project's npm scripts for the greater good.
But Why?
Because these things make me sad:
- Maintaining a build pipeline for each project really sucks.
- Most code boilerplates (except for the big boys) are decoupled from the project from which they are based the moment you start changing them.
- Build systems will inevitably be replaced. When it happens it shouldn't grind everything to a halt.
- Security vulnerabilities in the build pipeline (within jest for example) are taking up an increasing amount of my time. Every single project I wrote using jest needs to be updated. I'm ready to flip a table over this.
The Hijak Approach
Your code is a patch on a hijacked project. It performs the patch, then starts a synchronizer and watches the scripts run, duplicating changes in your project.
A nice little flowchart of what happens when you run hijak run build
: https://code2flow.com/z9duzS
Hijak in 5 minutes (or less)
Step 1 - install hijak
npm install --global hijak
Step 2 - write a simple project (or clone one like we do below)
The one below uses, jest and import both a prod and dev dependency.
git clone [email protected]:allain/example-hijak-js.git example
cd example
Step 3 - Perform the hijack
In this case the hijacked template offers esm module support, tree shaking of generated bundles, and jest out of the box.
hijak [email protected]:allain/template-nodejs-project.git
Step 4 - Profit
All of the hijacked npm run scripts are now available to you through the hijak
tool.
In this case
# to get a list of available npm run scripts
hijak run
# to run tests in watch mode and generate code coverage reports
hijak test --watchAll --coverage
# to run build in watch mode
hijak run build --watch
# to clean your project of any generate build artifacts
hijak run clean