🚧 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:
- Vue
- PostCSS with plugins to behave like SASS + TailwindCSS
- Webpack
- markdown-it
- Jest
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.
Linux/Mac only, Windows support comming…
# clone this repo to your machine
npm i --production
npm run build
./install-jigs
watch mode
cd project-directory
jigs
# or
jigs dev
production mode
cd project-directory
jigs build
cd project-directory
jigs init
-
Code errors are being logged twice?
-
Try MDX's vue-loader.
-
Not returning exit code in launch.js
-
Figure out how to embed source-code highlighting styles.
-
Document
jigs.config.js
-
Document
jigs init
-
Document everything