Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


A Universal Makefile for JavaScript projects that proxies to your npm scripts.


After installing, you can type mak<TAB><TAB> for autocompletion. Fakefile then quickly enumerates any npm scripts in your package.json and presents these. It does this at runtime, so it won't need any maintenance as your project changes its npm scripts.


This gets us the best of both worlds. Codify your tasks in a system (npm scripts) that won't be obsolete within the year, that's straightforward to people on Windows (they can ignore the Makefile and use npm run or yarn), and unix folks alike.

  • Profit from instant autocomplete (Makefile's autocomplete is much faster than npm's)
  • Offer polite and consistent convenience shortcuts to non-js folk into your project.

I wrote a blog post that goes into more detail why this makes for a great JavaScript task running environment.


After installing into your project, you can type make test which will map to npm run test or yarn test depending on wether you have a yarn.lock file in your project root.

Makefiles cannot handle : characters well so it will offer npm run build:production to you as make build-production.


First, make sure Makefiles autocomplete on your system. Then install via:

yarn add fakefile # or: npm i fakefile

This will save a ./Makefile into your project root.

If the installer detects a Makefile that it does not recognize by its sha1 hash, it will warn you instead of overwriting it. The installer is happy to overwrite known sha1s, so that we can upgrade Makefiles that weren't customized by you.



Copyright (c) 2016 Kevin van Zonneveld,
Licensed under MIT:

You can’t perform that action at this time.