hijak

0.4.4 • Public • Published

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 git@github.com: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 git@github.com: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

Readme

Keywords

Package Sidebar

Install

npm i hijak

Weekly Downloads

4

Version

0.4.4

License

ISC

Unpacked Size

45.6 kB

Total Files

5

Last publish

Collaborators

  • allain