Skip to content

Use tsgo everywhere#6535

Merged
JonnyBurger merged 14 commits intomainfrom
tsgo-everywhere
Feb 17, 2026
Merged

Use tsgo everywhere#6535
JonnyBurger merged 14 commits intomainfrom
tsgo-everywhere

Conversation

@JonnyBurger
Copy link
Member

Summary

  • Switch all 56 packages from tsc to tsgo
  • Upgrade @typescript/native-preview from 7.0.0-dev.20260105.1 to 7.0.0-dev.20260217.1
  • Remove unused dotenv dependency from example-videos

Remaining build errors

See PR description — several packages need fixes for TS2742 (declaration portability), TS2307 (missing modules), and TS7016 (missing type declarations).

🤖 Generated with Claude Code

…20260217.1

- Switch all packages from tsc to tsgo
- Upgrade @typescript/native-preview from 7.0.0-dev.20260105.1 to 7.0.0-dev.20260217.1
- Add @typescript/native-preview as devDependency to all packages
- Remove dotenv from example-videos (unused)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@vercel
Copy link
Contributor

vercel bot commented Feb 17, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
bugs Canceled Canceled Feb 17, 2026 11:00am
remotion Ready Ready Preview, Comment Feb 17, 2026 11:00am

Request Review

JonnyBurger and others added 7 commits February 17, 2026 09:31
- Export types directly from @remotion/media-parser instead of via MediaParserInternalTypes
- Update webcodecs to import types directly (SamplePosition, Writer, WriterInterface, etc.)
- Export additional types from media-parser needed for tsgo declaration portability
- Fix serverless-client re-exports with typeof annotations (same pattern as renderer)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- eslint-config-flat: Use Linter.Config[] instead of tseslint.ConfigArray
- studio: Export AnyComposition from remotion, convert zod-dependent fns to declarations
- lambda-client: Convert AWS client factories to function declarations
- lambda: Extract parameter types, convert to function declarations
- tailwind/tailwind-v4: Replace satisfies with explicit type annotations
- template-still: Convert handler to function declaration
- serverless-client: Add typeof annotations for re-exports

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- docusaurus-plugin: Import BuildVisitor from 'unist-util-visit' (not /lib subpath)
- three: Import VideoTexture from 'three' (not /src/textures subpath)
- template-still: Convert handler to function declaration
- lambda: Convert quotasIncreaseCommand to function declaration

tsgo enforces exports field subpath restrictions that tsc ignored.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v9 had no type declarations, causing tsgo TS7016 errors.
v17 includes proper types in its exports field.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v17 includes proper type declarations, so it works with tsgo.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@JonnyBurger JonnyBurger marked this pull request as ready for review February 17, 2026 09:11
Copilot AI review requested due to automatic review settings February 17, 2026 09:11
@vercel vercel bot temporarily deployed to Preview – remotion February 17, 2026 09:12 Inactive
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR migrates the entire Remotion monorepo from using the TypeScript compiler (tsc) to a new experimental TypeScript compiler called tsgo (from the @typescript/native-preview package). The migration affects 56 packages and includes:

Changes:

  • Replace tsc with tsgo in all build scripts across 56 packages
  • Upgrade @typescript/native-preview from 7.0.0-dev.20260105.1 to 7.0.0-dev.20260217.1
  • Add explicit type exports in @remotion/media-parser to make internal types publicly available, fixing TS2742 errors
  • Convert arrow function expressions to function declarations with explicit return types for better type inference with tsgo
  • Update import paths (e.g., three/src/textures/VideoTexturethree, unist-util-visit/libunist-util-visit)
  • Remove unnecessary @ts-expect-error comment in example-videos
  • Update dotenv dependency from 9.0.2 to 17.3.1 in multiple packages
  • Update Go dependency golang.org/x/net from 0.21.0 to 0.25.0
  • Add Go version directive go 1.24.3 to Go modules

Reviewed changes

Copilot reviewed 112 out of 114 changed files in this pull request and generated no comments.

Show a summary per file
File Description
package.json (root) Upgrade @typescript/native-preview to 7.0.0-dev.20260217.1 in catalog
56 package.json files Replace tsc with tsgo in make scripts, add @typescript/native-preview to devDependencies
packages/media-parser/src/index.ts Export internal types publicly to avoid TS2742 errors
packages/webcodecs/src/writers/*.ts Replace MediaParserInternalTypes with direct type imports
packages/webcodecs/src/create/*.ts Replace MediaParserInternalTypes with direct type imports
packages/serverless-client/src/index.ts Use explicit type annotations with eslint-disable to avoid TS2614
packages/lambda-client/src/*.ts Convert arrow functions to function declarations with explicit return types
packages/lambda/src/*.ts Convert arrow functions to function declarations, extract inline types to named types
packages/studio/src/components/get-zod-if-possible.tsx Convert arrow functions to function declarations
packages/studio/src/api/*.ts Update type imports from _InternalTypes to direct imports
packages/core/src/index.ts Export AnyComposition type
packages/tailwind*/src/enable.ts Refactor type annotations for WebpackOverrideFn
packages/template-still/src/server/handler.ts Convert arrow function to function declaration with explicit return type
packages/three/src/use-video-texture.ts Fix import path from three/src/textures/VideoTexture to three
packages/docusaurus-plugin/src/shiki.ts Fix import path from unist-util-visit/lib to unist-util-visit
packages/eslint-config-flat/src/index.ts Replace tseslint.ConfigArray with Linter.Config[]
packages/example-videos/src/remote-videos.ts Remove unnecessary @ts-expect-error comment
packages/example-videos/package.json Move dotenv to devDependencies and upgrade to 17.3.1
packages/example/package.json Upgrade dotenv from 9.0.2 to 17.3.1
packages/cli/package.json Upgrade dotenv from 9.0.2 to 17.3.1
packages/lambda-python/package.json Upgrade dotenv from 9.0.2 to 17.3.1
packages/lambda-go/go.mod Add go version directive 1.24.3
packages/lambda-go/go.sum Update golang.org/x/net to 0.25.0
packages/lambda-go-example/go.mod Add go version directive 1.24.3
bun.lock Update dependencies to reflect all changes

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@vercel vercel bot temporarily deployed to Preview – remotion February 17, 2026 09:16 Inactive
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@vercel vercel bot temporarily deployed to Preview – remotion February 17, 2026 09:23 Inactive
@JonnyBurger JonnyBurger merged commit 08394d3 into main Feb 17, 2026
22 of 23 checks passed
@JonnyBurger JonnyBurger deleted the tsgo-everywhere branch February 17, 2026 11:06
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

Comments