Skip to content

Conversation

@kvz
Copy link
Member

@kvz kvz commented Jan 16, 2026

This introduces:

  • @transloadit/zod (/v3 and /v4, the latter generated from v3)
  • @transloadit/node (the new home of the scopeless “transloadit” module, that will for the timebeing just be clone of this scoped node module so consumers don’t have to switch over
  • @transloadit/types (generated from v3)

refs #263 (as indicated zod v3 schemas remain our single source of truth, while much of the ecosystem has not switched at, it is synced with many other repos, and it would be harder to write transformers from v4 to v3 because some features are just not supported. The best time is when the majority of the js ecosystem is no longer on v3)

this paves the way for

  • other js runtimes having their own modules, while sharing core code from this repo
  • projects like Uppy and Convex using types without dragging in zod, or the entire node-sdk
  • housing more modules in this monorepo such as @transloadit/mcp-server

@kvz kvz self-assigned this Jan 16, 2026
@kvz kvz requested a review from mifi January 17, 2026 10:07
@kvz kvz marked this pull request as ready for review January 17, 2026 10:07
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c4bfdb1111

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment on lines 26 to 30
"scripts": {
"generate": "node scripts/emit-types.ts",
"lint:ts": "yarn generate && tsc --build tsconfig.build.json",
"test:unit": "node scripts/emit-types.test.ts",
"build": "yarn generate && tsc --build tsconfig.build.json",

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Add a publish-time build hook for @transloadit/types

In packages/types/package.json, the scripts block defines generate/build but there is no prepack/prepare hook to ensure dist exists at publish time. Because dist/ is gitignored and the release workflow now runs changeset publish without a separate build step, publishing will produce a tarball that omits the generated .d.ts files, breaking consumers of @transloadit/types. Consider adding a prepack/prepare (or a release build step) that runs yarn generate && tsc --build before publishing.

Useful? React with 👍 / 👎.

Comment on lines 30 to 34
"scripts": {
"sync:v3": "node scripts/sync-v3.ts",
"sync:v4": "node scripts/sync-v4.ts",
"sync": "yarn sync:v3 && yarn sync:v4",
"lint:ts": "yarn sync && tsc --build tsconfig.build.json",

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Add a publish-time build hook for @transloadit/zod

In packages/zod/package.json, the scripts block only defines sync/build tasks, but there is no prepack/prepare hook to ensure dist exists when publishing. Since dist/ is not tracked and the release workflow now calls changeset publish without a build step, @transloadit/zod would be published without its compiled dist/v3 and dist/v4 exports. Add a publish-time build hook or run yarn sync && tsc --build in the release workflow before publishing.

Useful? React with 👍 / 👎.

@kvz kvz merged commit 002890a into main Jan 17, 2026
10 checks passed
@kvz kvz deleted the proposal/multi-module branch January 17, 2026 16:43
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.

2 participants