-
Notifications
You must be signed in to change notification settings - Fork 5.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve deno tasks by integrating wireit features #26462
Comments
This commit adds support for "dependencies" in `deno task` subcommand: ```jsonc { "tasks": { "build": "deno run -RW build.ts", "generate": "deno run -RW generate.ts", "serve": { "command": "deno run -RN server.ts", "dependencies": ["build", "generate"] } } } ``` Executing `deno task serve` will first execute `build` and `generate` tasks (in parallel) and once both complete the `serve` task will be executed. Number of tasks run in parallel is equal to the no of cores on the machine, and respects `DENO_JOBS` env var if one is specified. Part of #26462 --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com> Co-authored-by: Marvin Hagemeister <marvin@deno.com>
With #26467 landed this is now partially addressed. I will close this issue later and open more focused issues for remaining features. |
Apologies I have just looked at the 2.1 release notes: https://deno.com/blog/v2.1#workspace-support, and this is included. :) |
We learned a lot from node/npm and the value of npm tasks. Ultimately it won over the other tasks managers because a lot of the work was moved over to bundlers (webpack and now vite) but as we add more code and moved to mono repo tooling we still need all the advanced task management features we lost.
Wireit developed by Google shows us yet another example of providing everything we learned from mono repo tooling and caching tasks. And I propose we increase the scope of deno tasks to merge this api. And can technically be backwards compatible by simply adding an object or not
https://github.com/google/wireit
here is an example of tasks in one of my nodejs projects
mock up version with only "dependencies" feature
here's a version with more wireit features
while we don't need everything in wireit right away. I think simply adding dep tracking will go a long way and the local/remote caching with github actions or if the developer is on deno-deploy then ideally deno-deploy can offer this remote caching for longer than the github-action cache limits. If deno already has a better task manager than npm that will be huge for everyone migrating from nodejs to deno2
The text was updated successfully, but these errors were encountered: