Skip to content

Comment on Makefiles for Web Work (2022)parent

Comments

I use this all the time, though not called a Taskfile. I recommend changing the shebang to:

  #!/usr/bin/env bash
  [ "${DEBUG:-0}" = "1" ] && set -x
  if [ "${FORCE:-0}" = "1" ]; then set +eu ; else set -eu ; fi
  export PATH="$(cd -P "$(dirname "${BASH_SOURCE[0]}")")/node_modules/.bin:$PATH"
This will do the following:
  1. Use whatever Bash executable is in your path, which is necessary for portability (fixes many bugs)
  2. If env var DEBUG is "1", turn on bash tracing
  3. If env var FORCE is not "1", die on non-zero return status or unset variables
  4. Prepend to the PATH the "node_modules/.bin" path, but find that directory from where this script lives, not the current working directory of wherever you executed this script from
AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.