Tensegritics / Tensegritics/ClojureDart
Analyzer helper cache should include Dart compatibility variant
Nobody has claimed this yet.
- Dominant language
- Clojure
- Stars
- 1.6k
- Forks
- 119
- PR merge metrics
- No merged PRs in 30d
Description
Problem
The analyzer helper cache is keyed only by the ClojureDart Git SHA in clj/src/cljd/build.clj (try-ensure-cljd-analyzer!). The selected analyzer dependency and resource also depend on the Dart SDK.
Switching between Dart 2.19 and Dart 3 with the same ClojureDart SHA can reuse the existing .clojuredart/cache/<sha>/cljd_helper contents, including pubspec.yaml, pubspec.lock, and bin/analyzer.dart, instead of selecting the appropriate compatibility variant.
Expected behavior
The cache should include the Dart/analyzer compatibility variant, or validate the cached helper before reusing it.
Scope
Minor reliability fix; no change to the analyzer compatibility policy.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in clj/src/cljd/build.clj at try-ensure-cljd-analyzer! and trace how the helper cache key and analyzer dependency are selected. Verify behavior when switching between Dart 2.19 and Dart 3 with the same ClojureDart SHA; done means the cached helper no longer reuses an incompatible pubspec.yaml, pubspec.lock, or bin/analyzer.dart.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- clojure, dart
- Domain
- build-system, tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 72/100