Repository navigation
fix(cli): stop rejecting older @dataform/core versions after a CLI version bump - #2376
Merged
Merged
Conversation
rafal-hawrylak
approved these changes
Oct 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Problem
The CLI checks that the installed
@dataform/coreis compatible with it. The minimum Core versionwas computed from the CLI's own version (
<major>.<minor>.0). While the CLI was on 3.0.x this onlymeant "Core 3.x", but after bumping
DF_VERSIONto 3.1.0 the CLI rejects every project that usesCore 3.0.x. It also makes the caller-file shim for Core < 3.0.57 unreachable.
This is why
compile succeeds with @dataform/core <= 3.0.56 via caller-file shimfails onchore/bump-version-3.1.0:Solution
MIN_SUPPORTED_CORE_VERSION = "3.0.0"andcheckCoreCompatibility()tocli/vm/compile.ts.Core is accepted when it has the same major version as the CLI and is at least
MIN_SUPPORTED_CORE_VERSION. Newer Core versions with the same major are still accepted, and thecheck is still skipped when the CLI version is unknown (
0.0.0).is now a deliberate one-line change (plus tests).
dataform installonly applies when Core is pinned inpackage.json(it fails when
dataformCoreVersionis set inworkflow_settings.yaml).New error message:
Tests
cli/vm/compile_test.ts: table-driven unit tests forcheckCoreCompatibility(). They don't neednpm and don't depend on
DF_VERSION, so they catch this problem before the next version bump(they include future CLI versions such as 3.9.4 and 4.0.0).
cli/index_compile_test.ts: the caller-file shim e2e test now runs for Core 3.0.0 (the minimum)and 3.0.50. The 2.9.0 rejection test checks the new message.
After this is merged,
chore/bump-version-3.1.0only needs a rebase.