diff --git a/Makefile.toml b/Makefile.toml new file mode 100644 index 0000000..da40cac --- /dev/null +++ b/Makefile.toml @@ -0,0 +1,41 @@ +[env] +# Set BROWSER="firefox" if not already defined. +BROWSER = { condition = { env_not_set = ["BROWSER"] }, value = "firefox" } + +# Start a browser instance that will reload the extension when changes are made. +[tasks.dev] +clear = true +env = { NODE_ENV = "development" } +dependencies = ["build"] +command = "pnpm" +args = ["conc", "-c=auto", "-k", "makers watch", "makers run"] + +# Build the WebExtension. +[tasks.build] +clear = true +command = "pnpm" +args = ["tsx", "build.ts"] + +# Remove build directories. +[tasks.clean] +clear = true +command = "pnpm" +args = ["trash", "build/${BROWSER}"] + +# Re-build and pack the WebExtension for publishing. +[tasks.pack] +clear = true +dependencies = ["clean", "build"] +command = "pnpm" +args = ["web-ext", "build", "--config=build/web-ext-${BROWSER}.json"] + +# Start a browser instance with the extension loaded. +[tasks.run] +clear = true +command = "pnpm" +args = ["web-ext", "run", "--config=build/web-ext-${BROWSER}.json"] + +# Alias for `WATCH=true makers build`. +[tasks.watch] +env = { WATCH="true" } +extend = "build"