Skip to content

chore: depend on the workspace @effect-app/cli - #913

Merged
patroza merged 2 commits into
mainfrom
t3code/pin-cli-workspace
Oct 6, 2026
Merged

patroza merged 2 commits into
mainfrom
t3code/pin-cli-workspace

Conversation

@omegent-app

@omegent-app omegent-app Bot commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Point the root devDependency @effect-app/cli at the workspace package (workspace:*) instead of the published 2.1.0-beta.35 tarball.

That package now runs from TypeScript source. Node 24 strips types by default, the workspace bin loads packages/cli/src/index.ts, and the package exports point at src/*.ts, so pnpm effa works before any build. The root build script no longer compiles the CLI before the other packages. tsconfig.all.json still includes the CLI, so pnpm build emits dist for publish and rewrites declaration imports to .js.

The published manifest keeps bin, exports, and typesVersions on dist JavaScript. Node will not run TypeScript files whose real path is inside node_modules, so the npm package stays compiled. The repo requires Node >=24, which matches CI.

Test plan

  • With packages/cli/dist removed, node packages/cli/bin.js --help and the effa shim print help
  • import '@effect-app/cli/argv-patch' loads the source export through the workspace link
  • tsgo --build in packages/cli emits dist/index.js with a shebang and .js relative imports
  • Publish staging points bin, exports, and typesVersions at dist, and node packages/cli/dist/index.js --version runs
  • pnpm --dir packages/cli test:run passes

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

The root devDependency was still the published 2.1.0-beta.35 tarball, which did not match the workspace package.

Co-authored-by: Patrick Roza <42661+patroza@users.noreply.github.com>
@omegent-app
omegent-app Bot marked this pull request as ready for review October 6, 2026 10:26
@pkg-pr-new

pkg-pr-new Bot commented Oct 6, 2026 •

Copy link
Copy Markdown

Open in StackBlitz

@effect-app/cli

npm i https://pkg.pr.new/@effect-app/cli@913

effect-app

npm i https://pkg.pr.new/effect-app@913

@effect-app/eslint-codegen-model

npm i https://pkg.pr.new/@effect-app/eslint-codegen-model@913

@effect-app/eslint-shared-config

npm i https://pkg.pr.new/@effect-app/eslint-shared-config@913

@effect-app/infra

npm i https://pkg.pr.new/@effect-app/infra@913

@effect-app/vue

npm i https://pkg.pr.new/@effect-app/vue@913

@effect-app/vue-components

npm i https://pkg.pr.new/@effect-app/vue-components@913

commit: b2a6d64

Node 24 strips types, so the workspace entry loads packages/cli/src and the root build no longer compiles the CLI before the other packages. The published manifest still points at dist JavaScript, because Node will not run TypeScript inside node_modules.

Co-authored-by: Patrick Roza <42661+patroza@users.noreply.github.com>
@patroza
patroza merged commit 995b4e6 into main Oct 6, 2026
6 checks passed
@patroza
patroza deleted the t3code/pin-cli-workspace branch October 6, 2026 12:02
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