watchman-make(1)

πŸ’– watchman-make β€” from the watchman-make(1) manual, bestie edition πŸ’–

okay so you know how you're sitting there editing files and then you have to like... remember to run make? yeah. no. we don't do that anymore. this is the manual page for watchman-make, and it's about to change your whole workflow, fr fr. πŸ¦‹

✨ NAME ✨

watchman-make β€” automatically invoke a build tool or script in response to files changing.

like. it watches. it builds. you vibe. periodt. πŸ‘‘


🌸 SYNOPSIS 🌸

watchman-make [ -h ] [ -t TARGET [TARGET ...]] [-s SETTLE] [--make MAKE]
         [ -p PATTERN [PATTERN ...]] [--root ROOT] [-r RUN]

πŸŽ€ DESCRIPTION πŸŽ€

watchman-make waits for changes to files and then invokes a build tool (by default, make) or provided script to process those changes. It uses the watchman service to efficiently watch the appropriate files. 🫢

Events are consolidated and settled before they are dispatched to your build tool, so that it won't start executing until after the files have stopped changing. that's the settle thing, and it's lowkey the best part β€” no more seventeen builds firing off while you're still mid-save. 😭✨

You can tell watchman-make about one or more build targets and dependencies for those targets or provide a script to run. watchman-make will then trigger the build for the given targets or run the provided script as changes are detected. literally just tell it what you want and it handles the rest. πŸ’…


🌈 USAGE 🌈

⭐ OPTIONAL ARGUMENTS ⭐

  • -h, --help β€” Show this help πŸ’–
  • -h, --help β€” show this help message and exit πŸ’–
yes bestie, -h is listed twice in the original and we are keeping both, no cap. both are real, both are in the manual, and I am not about to erase one just because it's giving dΓ©jΓ  vu. πŸ™ˆ
  • -t TARGET [TARGET ...], --target TARGET [TARGET ...] β€” Specify a list of target(s) to pass to the make tool. The --make and --pattern options that precede --target are used to define the trigger condition. πŸ‘‘
  • -s SETTLE, --settle SETTLE β€” How long to wait to allow changes to settle before invoking targets 🧚
  • --make MAKE β€” The name of the make tool to use for the next --target. The default is make. You may include additional arguments; you are not limited to just the path to a tool or script. πŸ”₯
  • -p PATTERN [PATTERN ...], --pattern PATTERN [PATTERN ...] β€” Define filename matching patterns that will be used to trigger the next --target definition. The pattern syntax is wildmatch style; globbing with recursive matching via '**'. --pattern is reset to empty after each --target argument. 🌸
  • --root ROOT β€” Define the root of the project. The default is to use the PWD. All patterns are considered to be relative to this root, and the build tool is executed with this location set as its PWD. πŸŽ€
  • -r RUN, --run β€” RUN The script that should be run when changes are detected πŸ¦‹

πŸ’œ SEE ALSO πŸ’œ

watchman(1), watchman-wait(1) πŸ‘‘

For more information, please refer the online documentation ✨


and that's the whole page, bestie β€” go forth and never type make by hand again πŸ’…βœ¨

this little legend came from the watchman-make manual, Linux edition, dated 8 Oct 2019 πŸŽ€ (and yeah, the manual name is watchman-make(1) in case you forgot already, love u 🫢)