guybedford / chomp

'JS Make' - parallel task runner for the frontend ecosystem with a JS extension system.
https://chompbuild.com
Apache License 2.0
138 stars 7 forks source link

feat: comprehensive deps expansion #66

Closed guybedford closed 2 years ago

guybedford commented 2 years ago

This updates the deps expansion into the DEPS environment variable for a task to always include the exact list of file dependencies with the following rules:

If a task defines multiple target paths, and another task depends on only one of those target paths, DEPS will be expanded to include the full list of targets defined by the first task. This may be too much, but it is because the task graph does not distinguish between depending on a job and depending only on some files of a job. If it turns out to be an issue, this can possibly be fixed at a later point.

The primary benefit of this PR for now though is that DEPS will always be paths that can be relied upon, and never named, glob or interpolate target strings.