본문으로 건너뛰기
cccskills
무료GitHub에 공개

v5-breaking-changes

Implement or review incompatible changes for Remotion 5 while preserving version 4 compatibility. Use a single compile-time flag to switch runtime behavior and public TypeScript types together, with migration guidance and checks for affected packages.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

원문원문 설명 보기

Implement or review a Remotion 5 breaking change while the v4 and v5 release lines still share code. Use when v4 behavior and public types must remain compatible on main, but flipping the central v5 flag should activate a new runtime behavior, default, or TypeScript API.

설치 방법 보기

이럴 때 유용합니다

  • Implementing v5 defaults while preserving v4 behavior
  • Reviewing changes to public TypeScript types
  • Documenting breaking changes and migration steps
  • Checking runtime behavior and types in both versions

포함된 파일(1)

  • SKILL.md3.4 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Remotion 5 Breaking Changes

Use the central compile-time flag in packages/core/src/v5-flag.ts:

export const ENABLE_V5_BREAKING_CHANGES = false as const;

Preserve the compile-time flag

  • Keep the flag as the literal false as const on the v4/main release line.
  • Do not turn it into an environment variable, runtime option, or general boolean. Its literal type selects the public TypeScript API as well as runtime behavior.
  • Do not introduce another v5 flag.
  • Inside packages/core, import the flag from v5-flag.ts. From another package, use NoReactInternals.ENABLE_V5_BREAKING_CHANGES from remotion/no-react so all packages use the same value.

When the v5 release line is cut, changing this one constant to true as const must activate the v5 runtime behavior and public TypeScript API together.

Gate runtime behavior

Branch defaults and behavior on the central flag while preserving the existing v4 path:

const effectiveValue =
	value ??
	(NoReactInternals.ENABLE_V5_BREAKING_CHANGES ? v5Default : v4Default);

An explicit user value should continue to take precedence unless the v5 API intentionally removes that value. Keep runtime validation aligned with the selected public type so JavaScript callers and callers bypassing TypeScript get the v5 behavior too.

Gate public types

For a breaking signature or options change, select the entire incompatible part with a conditional type based on the literal flag:

type VersionedOptions =
	typeof NoReactInternals.ENABLE_V5_BREAKING_CHANGES extends true
		? V5Options
		: V4Options;

The v4 branch must expose the compatible API. The v5 branch must expose only the intended v5 API; do not leave removed fields optional or union both versions together.

Use these existing implementations as references:

  • packages/renderer/src/v5-required-input-props.ts for required options in v5.
  • packages/renderer/src/open-browser.ts for removing an option from a public type while retaining v4 compatibility.
  • packages/google-fonts/src/base.ts for pairing a conditional public type with runtime enforcement.

Document every user-facing break

Add or update the corresponding entry in packages/docs/docs/5-0-migration.mdx. State:

  • what changed in v5;
  • the v4 behavior or signature;
  • how users should migrate;
  • replacement code or options where useful.

Verify the change

Before finishing, check that:

  1. With the flag left as false as const, v4 runtime behavior and public types remain compatible.
  2. Changing only the central flag to true as const selects both the v5 runtime path and v5 public types.
  3. Runtime validation agrees with the conditional TypeScript API.
  4. The migration guide includes the user-facing change.
  5. Focused builds, existing tests, linting, and formatting pass for every affected package.

Do not commit the flag flipped merely to test v5. Restore it to false as const on the shared v4/main line.

The compatibility branches may be removed after v5 no longer shares its implementation with v4.

Source: Remotion 5.0 masterplan implementation mechanism.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

add-bug

무료

Add a reported Remotion bug to the bugs API with its affected versions, a short title, and upgrade guidance. Follow the existing entry format and place the new record first so recent bugs appear at the top.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Adding a reported bug to the Remotion bugs API
  • Recording which versions a bug affects
  • Including upgrade guidance in a bug description
remotion-dev/remotion6.5만2026년 10월 18일 업데이트

Add a Remotion command-line or configuration option, or convert a hardcoded flag into a shared option definition. Connect parsing, configuration setters, help entries, and generated documentation so the option is consistently available and documented.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Add a new Remotion command-line flag
  • Convert a hardcoded flag into a shared option
  • Connect an option to Config setters
remotion-dev/remotion6.5만2026년 10월 18일 업데이트

Add a new effect to @remotion/effects, including its implementation, package entry points, documentation, interactive demo, and preview images. Follow the package conventions and verify the changes with tests, formatting checks, and builds.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Implementing a new effect for @remotion/effects
  • Registering effect imports and parameter types
  • Creating documentation and an interactive effect demo
remotion-dev/remotion6.5만2026년 10월 18일 업데이트

Add a person to the Remotion experts page by placing their portrait, entering their profile and contact links, and generating an expert card image. The instructions specify file locations, profile fields, and how to verify card generation.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Add a new person to the Remotion experts page
  • Register a portrait, specialties, and contact links
  • Generate an expert card image
remotion-dev/remotion6.5만2026년 10월 18일 업데이트

Create a new @remotion package within the Remotion monorepo, a repository containing multiple packages. Set up its files, register it across the project, and prepare documentation, usage examples, and build configuration.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Creating a new @remotion package
  • Registering a package across the monorepo
  • Adding documentation and usage examples
remotion-dev/remotion6.5만2026년 10월 18일 업데이트

add-sfx

무료

Add a new sound effect to @remotion/sfx, from registering the audio file to exporting its URL and documenting its use. The workflow covers playback examples, attribution, navigation entries, waveform generation, and the package build.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Add a sound effect to @remotion/sfx
  • Create documentation with playback and usage examples
  • Update sound effect navigation and waveform data
remotion-dev/remotion6.5만2026년 10월 18일 업데이트

remotion-dev의 스킬 모두 보기

이 스킬의 문제 신고