Skip to content

Turn pulumi/esc into a re-export shim for the monorepo engine#663

Draft
borisschlosser wants to merge 1 commit into
mainfrom
merge-esc-engine
Draft

Turn pulumi/esc into a re-export shim for the monorepo engine#663
borisschlosser wants to merge 1 commit into
mainfrom
merge-esc-engine

Conversation

@borisschlosser

Copy link
Copy Markdown
Contributor

Draft. Part of consolidating ESC into the pulumi monorepo. Pairs with pulumi/pulumi#23405. No release.

The ESC engine now lives in github.com/pulumi/pulumi at sdk/v3/go/esc. This repo becomes a thin re-export shim so every existing import of github.com/pulumi/esc/... keeps working unchanged — no consumer needs to migrate.

  • Each engine package (esc, ast, eval, syntax, syntax/encoding, schema, diags, analysis) is generated re-export aliases (type X = canonical.X) + hand-written wrappers for the few generic functions. Type aliases preserve type identity, so values cross the boundary transparently.
  • Removed the engine implementation, internal/, and cmd/ (the CLI, REST client and standalone binary moved to the monorepo). pulumi esc is the entry point.
  • go.mod depends on the pulumi SDK at a development pseudo-version; no local replace directives, so CI resolves it. Pin to the release version once the consolidation ships.

Verified: go build ./... and go vet ./... clean.

🤖 Generated with Claude Code

The ESC engine now lives in github.com/pulumi/pulumi at sdk/v3/go/esc. This repo
becomes a thin re-export shim so existing imports of github.com/pulumi/esc/... keep
working unchanged for all consumers.

- Every engine package (esc, ast, eval, syntax, syntax/encoding, schema, diags,
  analysis) is generated re-export aliases (type X = canonical.X) plus hand-written
  wrappers for generic functions. Type aliases preserve type identity.
- Removed the engine implementation, internal/, and cmd/ (the CLI, REST client and
  standalone binary moved to github.com/pulumi/pulumi). `pulumi esc` is the entry
  point.
- go.mod depends on the pulumi SDK; no local replace directives.

The pulumi dependency is pinned to a development commit until the consolidation is
released.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@borisschlosser borisschlosser added the impact/no-changelog-required This issue doesn't require a CHANGELOG update label Jun 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

impact/no-changelog-required This issue doesn't require a CHANGELOG update

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant