Skip to content

Config: Don't validate the options under the engine key - #2000

Merged
marcoroth merged 1 commit into
mainfrom
config-passthrough-engine-key
Aug 4, 2026
Merged

marcoroth merged 1 commit into
mainfrom
config-passthrough-engine-key

Conversation

@marcoroth

Copy link
Copy Markdown
Owner

This pull request updates @herb-tools/config and herb-config to accept the engine section as an opaque mapping, so that engine options shipped by the gem don't make herb-lint and herb-format reject the configuration file.

Both the JavaScript and the Rust config implementations mirrored the engine options and validated them strictly, even though neither of them ever reads anything under engine.

That section is only consumed by Herb::Engine on the Ruby side, where Herb.configuration.engine_option(key, default) is a free-form lookup that doesn't validate keys at all. The result was that any engine option the gem gained had to be added to two more schemas, in two more languages, and released in lockstep before it could be used.

Resolves #1994

@github-actions github-actions Bot added documentation Improvements or additions to documentation typescript TypeScript source across the javascript/ packages config Herb configuration file handling and config options rust Rust bindings and the Herb Rust crate labels Aug 4, 2026
@github-actions

github-actions Bot commented Aug 4, 2026 •

Copy link
Copy Markdown

🌿 Interactive Playground and Documentation Preview

A preview deployment has been built for this pull request. Try out the changes live in the interactive playground:


🌱 Grown from commit cbf12a2


✅ Preview deployment has been cleaned up.

@pkg-pr-new

pkg-pr-new Bot commented Aug 4, 2026

Copy link
Copy Markdown
npx https://pkg.pr.new/@herb-tools/formatter@2000
npx https://pkg.pr.new/@herb-tools/language-server@2000
npx https://pkg.pr.new/@herb-tools/linter@2000

commit: cbf12a2

@marcoroth
marcoroth marked this pull request as ready for review August 4, 2026 19:44
@marcoroth
marcoroth merged commit 252845b into main Aug 4, 2026
22 checks passed
@marcoroth
marcoroth deleted the config-passthrough-engine-key branch August 4, 2026 19:44

This branch was successfully deployed

1 active deployment
herb-tools (Preview) — cbf12a2d Deployed Aug 4, 2026 by github-actions[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

config Herb configuration file handling and config options documentation Improvements or additions to documentation rust Rust bindings and the Herb Rust crate typescript TypeScript source across the javascript/ packages

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Config: herb-format and herb-lint don't accept top-level engine key

1 participant