Align CLI behavior with go-jsonnet - #1068
Merged
stephenamar-db merged 1 commit intoJul 2, 2026
Merged
Conversation
He-Pin
marked this pull request as draft
June 29, 2026 03:17
He-Pin
force-pushed
the
codex/go-jsonnet-cli-compat
branch
from
June 29, 2026 03:39
4664627 to
e335c1e
Compare
He-Pin
added a commit
to He-Pin/sjsonnet
that referenced
this pull request
Jun 29, 2026
Motivation: Close CLI compatibility gaps with go-jsonnet, including option parsing, output behavior, environment/JPATH handling, and stack accounting semantics. Modification: Update CLI config and main flow, add JVM CLI compatibility tests, and keep tail-call trampolines from consuming the user-facing maxStack budget while preserving maxStack failures for non-tail recursion. Result: The PR branch is represented as one cohesive commit and the JVM CI failure is fixed by aligning tests with the intended tail-recursive stack behavior. References: databricks#1068
He-Pin
force-pushed
the
codex/go-jsonnet-cli-compat
branch
from
June 29, 2026 05:45
c2ac117 to
d82f180
Compare
He-Pin
marked this pull request as ready for review
June 29, 2026 17:57
Motivation: Close CLI compatibility gaps with go-jsonnet, including option parsing, output behavior, environment/JPATH handling, and stack accounting semantics. Modification: Update CLI config and main flow, add JVM CLI compatibility tests, and keep tail-call trampolines from consuming the user-facing maxStack budget while preserving maxStack failures for non-tail recursion. Result: The PR branch is represented as one cohesive commit and the JVM CI failure is fixed by aligning tests with the intended tail-recursive stack behavior. References: databricks#1068
He-Pin
force-pushed
the
codex/go-jsonnet-cli-compat
branch
from
June 30, 2026 19:36
ba7f67a to
3547b3f
Compare
He-Pin
marked this pull request as draft
July 2, 2026 04:36
He-Pin
marked this pull request as ready for review
July 2, 2026 09:58
stephenamar-db
approved these changes
Jul 2, 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.
Motivation
sjsonnet CLI should be a go-jsonnet-compatible superset for applicable CLI behavior, while making remaining intentional differences explicit.
Modification
--help/--versionwithout an input file and keep control flags inactive when they are option values or after--.-Jpriority with go-jsonnet right-most-wins behavior while keepingJSONNET_PATHlower priority.--terminator behavior with go-jsonnet where applicable.-Jdirand-n4.Result
--versionwithout inputSjsonnet 0.7.1-SNAPSHOT--helpwithout input-- --versionwith file named--version-J a -J bduplicate import pathbbab--yaml-stream -e '[{a:1},{b:2}]'--------max-stack 2non-tail recursion--max-stack 2tail recursion0via TCO0via TCO-Jdir/-n4attached values-JdirReferences