feat: Introduce featuresAvailable into gen.lock #60
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Reference: https://linear.app/speakeasy/issue/SPE-4333/regenerate-ast-on-changes-to-availablefeatures
This change adds a new mapping of target-available feature versions to the
gen.lock
file, to augment the currently used target feature versions. This would be used to detect changes to the target itself, such as new features, that should always cause target regeneration instead of potentially loading a cached AST.Alternatively, this change could be avoided by having an overall, singular "target version" for tracking when any change is made to a target, however the overhead of managing that more global version in addition to the individual feature versions would be quite cumbersome.
Alternatively, this change could be avoided by using the existing features field to store all feature versions instead of only used features, but having the ability to inspect used features helps guide product and customer success decisions. It also would break existing niceties, such as only showing changelog entries relevant for used features.