Skip to content

Latest commit

 

History

History
73 lines (47 loc) · 1.92 KB

README.md

File metadata and controls

73 lines (47 loc) · 1.92 KB

🚧 This is an experimental project in early development. 🚧

In carpentry, a jig is a thing you make to help you make the thing you're making. One example would be a frame or clamp setup to help cut wood consistently. As such, a jig empowers efficient craftsmanship.

Jigs is a CLI program to build static sites, PWAs and Electron apps. It's tailored to my preferred front-end stack:

Why?

That's a kind of a long story… Part of it is that I got sick of installing the same build tooling on my system, over-and-over, and I got sick of maintaining it in different projects, over-and-over.

Jigs is installed globally and can build a variety of projects. Simpler projects won't even need a node_modules folder.

I'm experimenting to see just how far I can take this. It could get sticky if some projects require different versions of dependencies than the ones built into the current version of Jigs. However, the way Jigs sets up pathing, any modules installed into a project will override those installed in Jigs.

Installation

Linux/Mac only, Windows support comming…

# clone this repo to your machine
npm i --production
npm run build
./install-jigs

Development

watch mode

cd project-directory
jigs
# or
jigs dev

Building

production mode

cd project-directory
jigs build

Project Scaffolding

cd project-directory
jigs init

To-Do

  1. Code errors are being logged twice?

  2. Try MDX's vue-loader.

  3. Not returning exit code in launch.js

  4. Figure out how to embed source-code highlighting styles.

  5. Document jigs.config.js

  6. Document jigs init

  7. Document everything