Skip to content

feat: add task caching with hash-based cache invalidation #1

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

Merged
merged 10 commits into from
Jan 30, 2025
Merged

Conversation

IKatsuba
Copy link
Owner

@IKatsuba IKatsuba commented Jan 30, 2025

This pull request introduces several significant changes to the packages/cli module, including enhancements to caching, logging, and dependency management. The most important changes are grouped by theme below:

Caching Enhancements:

  • Added a new TaskCacheManager class to manage task caching, including methods for saving and retrieving task cache, hash cache, and artifacts (packages/cli/lib/cache.ts).
  • Integrated task caching into the CLI command, with options to enable or disable caching (packages/cli/mod.ts).

Logging Improvements:

  • Introduced a new Logger class using the signale library for improved logging capabilities (packages/cli/lib/logger.ts).
  • Replaced console statements with the new logger in various files to standardize logging (packages/cli/lib/git.ts, packages/cli/mod.ts). [1] [2] [3]

Dependency Management:

  • Enhanced the Graph class to include methods for handling dependency edges and levels, which helps in organizing packages based on their dependencies (packages/cli/lib/graph.ts). [1] [2] [3] [4] [5]
  • Updated PackageJson interface to include optional fields and a runx configuration for task artifacts (packages/cli/lib/graph.ts).

Configuration Updates:

  • Modified deno.json and packages/cli/deno.json to include new permissions and dependencies necessary for the changes (deno.json, packages/cli/deno.json). [1] [2]

Miscellaneous:

  • Added functionality to include staged files in the list of changed files (packages/cli/lib/git.ts).

@IKatsuba IKatsuba merged commit 91936b0 into main Jan 30, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant