Skip to content

feat(engine-config): decouple Miragon preset from engine in getDefaultLintConfig - #36

Merged
emaarco merged 1 commit into
mainfrom
emaarco/getdefaultlintconfig-preset-param
Aug 22, 2026
Merged

feat(engine-config): decouple Miragon preset from engine in getDefaultLintConfig#36
emaarco merged 1 commit into
mainfrom
emaarco/getdefaultlintconfig-preset-param

Conversation

@emaarco

@emaarco emaarco commented Aug 22, 2026

Copy link
Copy Markdown
Member

What

Adds a preset option ('modeling' | 'automation') to getDefaultLintConfig that selects the Miragon opinion layer independently of the engine.

  • engine → Camunda deployability layer + typed moddle (unchanged)
  • preset → Miragon opinion layer, now decoupled

When preset is omitted the previous behaviour is preserved (defaults to automation for an engine-bound config, modeling otherwise), so this is additive and non-breaking — no existing call changes and no error-level finding is introduced.

Why

Using getDefaultLintConfig({ engine: 'c7' | 'c8' }) in a modeler is too strict: passing an engine forced the recommended-for-automation layer (every Miragon rule at error). Now a modeler can keep the engine's typed properties + deployability checks while using the relaxed modeling layer:

getDefaultLintConfig({ engine: 'c8', preset: 'modeling' });

Changes

  • src/config/engineConfig.ts — new exported Preset type; preset decoupled from engine
  • src/index.ts — export Preset
  • README.md — document preset in "Programmatic use"
  • test/rules/resolver-integration.spec.ts — 3 tests: default derivation, explicit preset overrides engine, engine layer + moddle retained under forced modeling

Verify

Full gate green: typecheck, lint, format:check, knip, lint:deps, test (148 passed), build, test:distro.

…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.
@emaarco
emaarco enabled auto-merge (squash) August 22, 2026 11:12
@emaarco
emaarco merged commit 559c7d4 into main Aug 22, 2026
3 checks passed
@emaarco
emaarco deleted the emaarco/getdefaultlintconfig-preset-param branch August 22, 2026 11:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant