feat(engine-config): decouple Miragon preset from engine in getDefaultLintConfig - #36
Merged
Merged
Conversation
…tLintConfig
Add a `preset` option ('modeling' | 'automation') to getDefaultLintConfig
that selects the Miragon opinion layer independently of the engine. When
omitted it keeps the previous behaviour (automation for engine-bound configs,
modeling otherwise), so this is additive and non-breaking.
This lets a modeler request an engine's typed moddle + deployability rules
while keeping the relaxed modeling opinion layer.
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.
What
Adds a
presetoption ('modeling' | 'automation') togetDefaultLintConfigthat selects the Miragon opinion layer independently of the engine.engine→ Camunda deployability layer + typed moddle (unchanged)preset→ Miragon opinion layer, now decoupledWhen
presetis omitted the previous behaviour is preserved (defaults toautomationfor an engine-bound config,modelingotherwise), so this is additive and non-breaking — no existing call changes and noerror-level finding is introduced.Why
Using
getDefaultLintConfig({ engine: 'c7' | 'c8' })in a modeler is too strict: passing an engine forced therecommended-for-automationlayer (every Miragon rule aterror). Now a modeler can keep the engine's typed properties + deployability checks while using the relaxed modeling layer:Changes
src/config/engineConfig.ts— new exportedPresettype; preset decoupled from enginesrc/index.ts— exportPresetREADME.md— documentpresetin "Programmatic use"test/rules/resolver-integration.spec.ts— 3 tests: default derivation, explicit preset overrides engine, engine layer + moddle retained under forcedmodelingVerify
Full gate green:
typecheck,lint,format:check,knip,lint:deps,test(148 passed),build,test:distro.