Skip to content

feat: TypeScript pipeline DSL#11

Merged
markovejnovic merged 39 commits into
mainfrom
feat/js-dsl
May 24, 2026
Merged

feat: TypeScript pipeline DSL#11
markovejnovic merged 39 commits into
mainfrom
feat/js-dsl

Conversation

@markovejnovic
Copy link
Copy Markdown
Contributor

@markovejnovic markovejnovic commented May 24, 2026

No description provided.

Users shouldn't know about the IR layer — the field holds the result
of calling pipeline() so .pipeline is the natural name.
14 tests: 8 per-scenario deserialization (4 Python + 4 TS), 1 structural
invariant check, 5 parity assertions (node count, edge kinds, step labels,
default image, env keys).
The package() method was resolving *.cabal globs against the local
filesystem at DSL evaluation time, producing empty paths when the dirs
don't exist. Now emits pattern strings like the TS toolchain does.

Also removes unused imports in TS e2e test.
The on_change handler now expands glob patterns (*, ?, [) via
Path.glob() and silently skips non-existent literal paths. This
supports toolchains emitting declarative patterns instead of
resolving them at DSL eval time.
@markovejnovic markovejnovic marked this pull request as ready for review May 24, 2026 06:36
@markovejnovic markovejnovic merged commit 0a1a318 into main May 24, 2026
25 checks passed
@markovejnovic markovejnovic deleted the feat/js-dsl branch May 24, 2026 06:36
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