diff --git a/.claude/commands/add-bug.md b/.claude/commands/add-bug.md index 57af37f2392..9a27aa171ff 100644 --- a/.claude/commands/add-bug.md +++ b/.claude/commands/add-bug.md @@ -12,6 +12,7 @@ The user will describe the bug and the affected version(s). Add the new entry at ``` Rules: + - The description should tell users which version to upgrade to. - The link should be `https://remotion.dev/changelog` unless the user provides a specific link. - Add the entry at the top of the array so the most recent bugs come first. diff --git a/.claude/skills/pr/SKILL.md b/.claude/skills/pr/SKILL.md index 305aadc4b11..cd7c96b0ca5 100644 --- a/.claude/skills/pr/SKILL.md +++ b/.claude/skills/pr/SKILL.md @@ -4,10 +4,10 @@ description: Open a pull request for the current feature --- Ensure we are not on the main branch, make a branch if necessary. -For all packages affected, run Prettier to format the code: +For all packages affected, run Oxfmt to format the code: ``` -bunx prettier src --write +bunx oxfmt src --write ``` Commit the changes, use the following format: diff --git a/.cursor/mcp.json b/.cursor/mcp.json index 6f8917c69c6..61b8110a2ae 100644 --- a/.cursor/mcp.json +++ b/.cursor/mcp.json @@ -1,10 +1,8 @@ { "mcpServers": { - "remotion-documentation-own": { + "remotion-documentation-own": { "command": "npx", - "args": [ - "@remotion/mcp@latest" - ] + "args": ["@remotion/mcp@latest"] } } } diff --git a/.github/workflows/copilot-setup-steps.yml b/.github/workflows/copilot-setup-steps.yml index f244ccf7cd1..0a90acd1e1d 100644 --- a/.github/workflows/copilot-setup-steps.yml +++ b/.github/workflows/copilot-setup-steps.yml @@ -1,4 +1,4 @@ -name: "Copilot Coding agent setup" +name: 'Copilot Coding agent setup' on: workflow_dispatch: push: diff --git a/.github/workflows/pullfrog.yml b/.github/workflows/pullfrog.yml index 0eb1d2309e6..28a19446ba3 100644 --- a/.github/workflows/pullfrog.yml +++ b/.github/workflows/pullfrog.yml @@ -55,4 +55,3 @@ jobs: GROQ_API_KEY: ${{ secrets.GROQ_API_KEY }} DEEPSEEK_API_KEY: ${{ secrets.DEEPSEEK_API_KEY }} OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }} - diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 00c8f1ab0d8..090deff4f07 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -114,14 +114,14 @@ jobs: - name: Setup Python uses: actions/setup-python@v6 with: - python-version: "3.11" + python-version: '3.11' - uses: ruby/setup-ruby@master with: - ruby-version: "3.1" + ruby-version: '3.1' - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: "8.4" + php-version: '8.4' - run: pip install pylint boto3 pytest - name: Cache Turbo uses: rharkor/caching-for-turbo@v2.3.11 diff --git a/.oxfmtrc.json b/.oxfmtrc.json new file mode 100644 index 00000000000..6fa5f721a49 --- /dev/null +++ b/.oxfmtrc.json @@ -0,0 +1,25 @@ +{ + "$schema": "./node_modules/oxfmt/configuration_schema.json", + "singleQuote": true, + "bracketSpacing": false, + "useTabs": true, + "printWidth": 80, + "sortImports": {"newlinesBetween": false}, + "sortPackageJson": false, + "ignorePatterns": [ + "packages/template-*/**", + "packages/example/**", + "packages/player-example/**", + "packages/example-videos/**" + ], + "overrides": [ + { + "files": ["*.md", "*.mdx"], + "options": { + "useTabs": false, + "printWidth": 300, + "embeddedLanguageFormatting": "off" + } + } + ] +} diff --git a/.vscode/extensions.json b/.vscode/extensions.json index d7df89c9cd0..23b964744d8 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,3 +1,3 @@ { - "recommendations": ["esbenp.prettier-vscode", "dbaeumer.vscode-eslint"] + "recommendations": ["esbenp.prettier-vscode", "dbaeumer.vscode-eslint"] } diff --git a/.vscode/settings.json b/.vscode/settings.json index a7f4cf05a9c..abb85d3e2c1 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -4,7 +4,7 @@ "source.organizeImports": "never", "source.fixAll": "explicit" }, - "editor.defaultFormatter": "esbenp.prettier-vscode", + "editor.defaultFormatter": "oxc.oxc-vscode", "[rust]": { "editor.defaultFormatter": "rust-lang.rust-analyzer" }, @@ -17,15 +17,15 @@ }, "[javascript]": { "editor.formatOnSave": true, - "editor.defaultFormatter": "esbenp.prettier-vscode" + "editor.defaultFormatter": "oxc.oxc-vscode" }, "[typescript]": { "editor.formatOnSave": true, - "editor.defaultFormatter": "esbenp.prettier-vscode" + "editor.defaultFormatter": "oxc.oxc-vscode" }, "[typescriptreact]": { "editor.formatOnSave": true, - "editor.defaultFormatter": "esbenp.prettier-vscode" + "editor.defaultFormatter": "oxc.oxc-vscode" }, "[go]": { "editor.defaultFormatter": "golang.go" diff --git a/bun.lock b/bun.lock index 9db7ccc52a3..914ad9c232b 100644 --- a/bun.lock +++ b/bun.lock @@ -15,6 +15,7 @@ "@types/deno": "2.0.0", "@types/react": "catalog:", "@types/react-dom": "catalog:", + "oxfmt": "0.35.0", "prettier": "catalog:", "prettier-plugin-organize-imports": "3.2.4", }, @@ -678,6 +679,7 @@ "@typescript/native-preview": "catalog:", "dotenv": "17.3.1", "eslint": "catalog:", + "prettier": "catalog:", }, }, "packages/example-without-zod": { @@ -733,7 +735,6 @@ "@types/prettier": "^2.7.1", "@typescript/native-preview": "catalog:", "postcss": "8.4.47", - "prettier": "catalog:", }, }, "packages/install-whisper-cpp": { @@ -1118,6 +1119,7 @@ "devDependencies": { "@types/node": "catalog:", "eslint": "catalog:", + "prettier": "catalog:", }, }, "packages/preload": { @@ -1408,6 +1410,7 @@ "@remotion/studio-shared": "workspace:*", "memfs": "3.4.3", "open": "^8.4.2", + "prettier": "catalog:", "recast": "0.23.11", "remotion": "workspace:*", "semver": "7.5.3", @@ -3453,6 +3456,44 @@ "@oven/bun-windows-x64-baseline": ["@oven/bun-windows-x64-baseline@1.3.3", "", { "os": "win32", "cpu": "x64" }, "sha512-u5eZHKq6TPJSE282KyBOicGQ2trkFml0RoUfqkPOJVo7TXGrsGYYzdsugZRnVQY/WEmnxGtBy4T3PAaPqgQViA=="], + "@oxfmt/binding-android-arm-eabi": ["@oxfmt/binding-android-arm-eabi@0.35.0", "", { "os": "android", "cpu": "arm" }, "sha512-BaRKlM3DyG81y/xWTsE6gZiv89F/3pHe2BqX2H4JbiB8HNVlWWtplzgATAE5IDSdwChdeuWLDTQzJ92Lglw3ZA=="], + + "@oxfmt/binding-android-arm64": ["@oxfmt/binding-android-arm64@0.35.0", "", { "os": "android", "cpu": "arm64" }, "sha512-/O+EbuAJYs6nde/anv+aID6uHsGQApyE9JtYBo/79KyU8e6RBN3DMbT0ix97y1SOnCglurmL2iZ+hlohjP2PnQ=="], + + "@oxfmt/binding-darwin-arm64": ["@oxfmt/binding-darwin-arm64@0.35.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-pGqRtqlNdn9d4VrmGUWVyQjkw79ryhI6je9y2jfqNUIZCfqceob+R97YYAoG7C5TFyt8ILdLVoN+L2vw/hSFyA=="], + + "@oxfmt/binding-darwin-x64": ["@oxfmt/binding-darwin-x64@0.35.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-8GmsDcSozTPjrCJeGpp+sCmS9+9V5yRrdEZ1p/sTWxPG5nYeAfSLuS0nuEYjXSO+CtdSbStIW6dxa+4NM58yRw=="], + + "@oxfmt/binding-freebsd-x64": ["@oxfmt/binding-freebsd-x64@0.35.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-QyfKfTe0ytHpFKHAcHCGQEzN45QSqq1AHJOYYxQMgLM3KY4xu8OsXHpCnINjDsV4XGnQzczJDU9e04Zmd8XqIQ=="], + + "@oxfmt/binding-linux-arm-gnueabihf": ["@oxfmt/binding-linux-arm-gnueabihf@0.35.0", "", { "os": "linux", "cpu": "arm" }, "sha512-u+kv3JD6P3J38oOyUaiCqgY5TNESzBRZJ5lyZQ6c2czUW2v5SIN9E/KWWa9vxoc+P8AFXQFUVrdzGy1tK+nbPQ=="], + + "@oxfmt/binding-linux-arm-musleabihf": ["@oxfmt/binding-linux-arm-musleabihf@0.35.0", "", { "os": "linux", "cpu": "arm" }, "sha512-1NiZroCiV57I7Pf8kOH4XGR366kW5zir3VfSMBU2D0V14GpYjiYmPYFAoJboZvp8ACnZKUReWyMkNKSa5ad58A=="], + + "@oxfmt/binding-linux-arm64-gnu": ["@oxfmt/binding-linux-arm64-gnu@0.35.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-7Q0Xeg7ZnW2nxnZ4R7aF6DEbCFls4skgHZg+I63XitpNvJCbVIU8MFOTZlvZGRsY9+rPgWPQGeUpLHlyx0wvMA=="], + + "@oxfmt/binding-linux-arm64-musl": ["@oxfmt/binding-linux-arm64-musl@0.35.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-5Okqi+uhYFxwKz8hcnUftNNwdm8BCkf6GSCbcz9xJxYMm87k1E4p7PEmAAbhLTk7cjSdDre6TDL0pDzNX+Y22Q=="], + + "@oxfmt/binding-linux-ppc64-gnu": ["@oxfmt/binding-linux-ppc64-gnu@0.35.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-9k66pbZQXM/lBJWys3Xbc5yhl4JexyfqkEf/tvtq8976VIJnLAAL3M127xHA3ifYSqxdVHfVGTg84eiBHCGcNw=="], + + "@oxfmt/binding-linux-riscv64-gnu": ["@oxfmt/binding-linux-riscv64-gnu@0.35.0", "", { "os": "linux", "cpu": "none" }, "sha512-aUcY9ofKPtjO52idT6t0SAQvEF6ctjzUQa1lLp7GDsRpSBvuTrBQGeq0rYKz3gN8dMIQ7mtMdGD9tT4LhR8jAQ=="], + + "@oxfmt/binding-linux-riscv64-musl": ["@oxfmt/binding-linux-riscv64-musl@0.35.0", "", { "os": "linux", "cpu": "none" }, "sha512-C6yhY5Hvc2sGM+mCPek9ZLe5xRUOC/BvhAt2qIWFAeXMn4il04EYIjl3DsWiJr0xDMTJhvMOmD55xTRPlNp39w=="], + + "@oxfmt/binding-linux-s390x-gnu": ["@oxfmt/binding-linux-s390x-gnu@0.35.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-RG2hlvOMK4OMZpO3mt8MpxLQ0AAezlFqhn5mI/g5YrVbPFyoCv9a34AAvbSJS501ocOxlFIRcKEuw5hFvddf9g=="], + + "@oxfmt/binding-linux-x64-gnu": ["@oxfmt/binding-linux-x64-gnu@0.35.0", "", { "os": "linux", "cpu": "x64" }, "sha512-wzmh90Pwvqj9xOKHJjkQYBpydRkaXG77ZvDz+iFDRRQpnqIEqGm5gmim2s6vnZIkDGsvKCuTdtxm0GFmBjM1+w=="], + + "@oxfmt/binding-linux-x64-musl": ["@oxfmt/binding-linux-x64-musl@0.35.0", "", { "os": "linux", "cpu": "x64" }, "sha512-+HCqYCJPCUy5I+b2cf+gUVaApfgtoQT3HdnSg/l7NIcLHOhKstlYaGyrFZLmUpQt4WkFbpGKZZayG6zjRU0KFA=="], + + "@oxfmt/binding-openharmony-arm64": ["@oxfmt/binding-openharmony-arm64@0.35.0", "", { "os": "none", "cpu": "arm64" }, "sha512-kFYmWfR9YL78XyO5ws+1dsxNvZoD973qfVMNFOS4e9bcHXGF7DvGC2tY5UDFwyMCeB33t3sDIuGONKggnVNSJA=="], + + "@oxfmt/binding-win32-arm64-msvc": ["@oxfmt/binding-win32-arm64-msvc@0.35.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-uD/NGdM65eKNCDGyTGdO8e9n3IHX+wwuorBvEYrPJXhDXL9qz6gzddmXH8EN04ejUXUujlq4FsoSeCfbg0Y+Jg=="], + + "@oxfmt/binding-win32-ia32-msvc": ["@oxfmt/binding-win32-ia32-msvc@0.35.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-oSRD2k8J2uxYDEKR2nAE/YTY9PobOEnhZgCmspHu0+yBQ665yH8lFErQVSTE7fcGJmJp/cC6322/gc8VFuQf7g=="], + + "@oxfmt/binding-win32-x64-msvc": ["@oxfmt/binding-win32-x64-msvc@0.35.0", "", { "os": "win32", "cpu": "x64" }, "sha512-WCDJjlS95NboR0ugI2BEwzt1tYvRDorDRM9Lvctls1SLyKYuNRCyrPwp1urUPFBnwgBNn9p2/gnmo7gFMySRoQ=="], + "@parcel/watcher": ["@parcel/watcher@2.5.1", "", { "dependencies": { "detect-libc": "1.0.3", "is-glob": "4.0.3", "micromatch": "4.0.8", "node-addon-api": "7.1.1" }, "optionalDependencies": { "@parcel/watcher-android-arm64": "2.5.1", "@parcel/watcher-darwin-arm64": "2.5.1", "@parcel/watcher-darwin-x64": "2.5.1", "@parcel/watcher-freebsd-x64": "2.5.1", "@parcel/watcher-linux-arm-glibc": "2.5.1", "@parcel/watcher-linux-arm-musl": "2.5.1", "@parcel/watcher-linux-arm64-glibc": "2.5.1", "@parcel/watcher-linux-arm64-musl": "2.5.1", "@parcel/watcher-linux-x64-glibc": "2.5.1", "@parcel/watcher-linux-x64-musl": "2.5.1", "@parcel/watcher-win32-arm64": "2.5.1", "@parcel/watcher-win32-ia32": "2.5.1", "@parcel/watcher-win32-x64": "2.5.1" } }, "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg=="], "@parcel/watcher-android-arm64": ["@parcel/watcher-android-arm64@2.5.1", "", { "os": "android", "cpu": "arm64" }, "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA=="], @@ -6551,6 +6592,8 @@ "own-keys": ["own-keys@1.0.1", "", { "dependencies": { "get-intrinsic": "1.2.7", "object-keys": "1.1.1", "safe-push-apply": "1.0.0" } }, "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg=="], + "oxfmt": ["oxfmt@0.35.0", "", { "dependencies": { "tinypool": "2.1.0" }, "optionalDependencies": { "@oxfmt/binding-android-arm-eabi": "0.35.0", "@oxfmt/binding-android-arm64": "0.35.0", "@oxfmt/binding-darwin-arm64": "0.35.0", "@oxfmt/binding-darwin-x64": "0.35.0", "@oxfmt/binding-freebsd-x64": "0.35.0", "@oxfmt/binding-linux-arm-gnueabihf": "0.35.0", "@oxfmt/binding-linux-arm-musleabihf": "0.35.0", "@oxfmt/binding-linux-arm64-gnu": "0.35.0", "@oxfmt/binding-linux-arm64-musl": "0.35.0", "@oxfmt/binding-linux-ppc64-gnu": "0.35.0", "@oxfmt/binding-linux-riscv64-gnu": "0.35.0", "@oxfmt/binding-linux-riscv64-musl": "0.35.0", "@oxfmt/binding-linux-s390x-gnu": "0.35.0", "@oxfmt/binding-linux-x64-gnu": "0.35.0", "@oxfmt/binding-linux-x64-musl": "0.35.0", "@oxfmt/binding-openharmony-arm64": "0.35.0", "@oxfmt/binding-win32-arm64-msvc": "0.35.0", "@oxfmt/binding-win32-ia32-msvc": "0.35.0", "@oxfmt/binding-win32-x64-msvc": "0.35.0" }, "bin": { "oxfmt": "bin/oxfmt" } }, "sha512-QYeXWkP+aLt7utt5SLivNIk09glWx9QE235ODjgcEZ3sd1VMaUBSpLymh6ZRCA76gD2rMP4bXanUz/fx+nLM9Q=="], + "p-cancelable": ["p-cancelable@3.0.0", "", {}, "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw=="], "p-finally": ["p-finally@1.0.0", "", {}, "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow=="], @@ -7475,7 +7518,7 @@ "tinyglobby": ["tinyglobby@0.2.14", "", { "dependencies": { "fdir": "6.5.0", "picomatch": "4.0.2" } }, "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ=="], - "tinypool": ["tinypool@1.1.1", "", {}, "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg=="], + "tinypool": ["tinypool@2.1.0", "", {}, "sha512-Pugqs6M0m7Lv1I7FtxN4aoyToKg1C4tu+/381vH35y8oENM/Ai7f7C4StcoK4/+BSw9ebcS8jRiVrORFKCALLw=="], "tinyqueue": ["tinyqueue@3.0.0", "", {}, "sha512-gRa9gwYU3ECmQYv3lslts5hxuIa90veaEcxDYuu3QGOIAEM2mOZkVHp48ANJuu1CURtRdHKUBY5Lm1tHV+sD4g=="], @@ -8243,6 +8286,8 @@ "@docusaurus/core/semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], + "@docusaurus/core/tinypool": ["tinypool@1.1.1", "", {}, "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg=="], + "@docusaurus/core/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], "@docusaurus/core/webpack": ["webpack@5.96.1", "", { "dependencies": { "@types/eslint-scope": "3.7.7", "@types/estree": "1.0.7", "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/wasm-edit": "1.12.1", "@webassemblyjs/wasm-parser": "1.12.1", "acorn": "8.14.0", "browserslist": "4.25.0", "chrome-trace-event": "1.0.3", "enhanced-resolve": "5.18.1", "es-module-lexer": "1.5.4", "eslint-scope": "5.1.1", "events": "3.3.0", "glob-to-regexp": "0.4.1", "graceful-fs": "4.2.11", "json-parse-even-better-errors": "2.3.1", "loader-runner": "4.2.0", "mime-types": "2.1.34", "neo-async": "2.6.2", "schema-utils": "3.3.0", "tapable": "2.2.1", "terser-webpack-plugin": "5.3.10", "watchpack": "2.4.1", "webpack-sources": "3.2.3" }, "bin": { "webpack": "bin/webpack.js" } }, "sha512-l2LlBSvVZGhL4ZrPwyr8+37AunkcYj5qh8o6u2/2rzoPc8gxFJkLj1WxNgooi9pnoc06jh0BjuXnamM4qlujZA=="], diff --git a/bunfig.toml b/bunfig.toml index 22c04153ef0..641e878fd33 100644 --- a/bunfig.toml +++ b/bunfig.toml @@ -1,2 +1,2 @@ [install] -linker = "isolated" \ No newline at end of file +linker = "isolated" diff --git a/package.json b/package.json index cd15e30012c..0a78d40baaf 100644 --- a/package.json +++ b/package.json @@ -51,6 +51,7 @@ "@types/deno": "2.0.0", "@types/react": "catalog:", "@types/react-dom": "catalog:", + "oxfmt": "0.35.0", "prettier": "catalog:", "prettier-plugin-organize-imports": "3.2.4" }, diff --git a/packages/.monorepo/builder.ts b/packages/.monorepo/builder.ts index c0b887315d6..5571fe87305 100644 --- a/packages/.monorepo/builder.ts +++ b/packages/.monorepo/builder.ts @@ -1,5 +1,5 @@ -import {build} from 'bun'; import path from 'path'; +import {build} from 'bun'; import {Exports, validateExports} from './validate-exports'; if (process.env.NODE_ENV !== 'production') { diff --git a/packages/STATS.md b/packages/STATS.md index a214f028b96..3f9ee9d7dd2 100644 --- a/packages/STATS.md +++ b/packages/STATS.md @@ -1,4 +1,5 @@ # Download statistics + Monthly downloads of Remotion packages [![NPM Downloads](https://img.shields.io/npm/dm/@remotion/animated-emoji.svg?style=flat&color=black&label=@remotion/animated-emoji)](https://npmcharts.com/compare/@remotion/animated-emoji?minimal=true) [![NPM Downloads](https://img.shields.io/npm/dm/@remotion/animation-utils.svg?style=flat&color=black&label=@remotion/animation-utils)](https://npmcharts.com/compare/@remotion/animation-utils?minimal=true) @@ -62,4 +63,4 @@ Monthly downloads of Remotion packages [![NPM Downloads](https://img.shields.io/npm/dm/@remotion/webcodecs.svg?style=flat&color=black&label=@remotion/webcodecs)](https://npmcharts.com/compare/@remotion/webcodecs?minimal=true) [![NPM Downloads](https://img.shields.io/npm/dm/@remotion/whisper-web.svg?style=flat&color=black&label=@remotion/whisper-web)](https://npmcharts.com/compare/@remotion/whisper-web?minimal=true) [![NPM Downloads](https://img.shields.io/npm/dm/@remotion/zod-types.svg?style=flat&color=black&label=@remotion/zod-types)](https://npmcharts.com/compare/@remotion/zod-types?minimal=true) -[![NPM Downloads](https://img.shields.io/npm/dm/@remotion/zod-types-v3.svg?style=flat&color=black&label=@remotion/zod-types-v3)](https://npmcharts.com/compare/@remotion/zod-types-v3?minimal=true) +[![NPM Downloads](https://img.shields.io/npm/dm/@remotion/zod-types-v3.svg?style=flat&color=black&label=@remotion/zod-types-v3)](https://npmcharts.com/compare/@remotion/zod-types-v3?minimal=true) diff --git a/packages/animated-emoji/README.md b/packages/animated-emoji/README.md index 3542b367ca5..35ae7a00724 100644 --- a/packages/animated-emoji/README.md +++ b/packages/animated-emoji/README.md @@ -1,18 +1,18 @@ # @remotion/animated-emoji - + Google Fonts Animated Emojis as Remotion components - + [![NPM Downloads](https://img.shields.io/npm/dm/@remotion/animated-emoji.svg?style=flat&color=black&label=Downloads)](https://npmcharts.com/compare/@remotion/animated-emoji?minimal=true) - + ## Installation - + ```bash npm install @remotion/animated-emoji --save-exact ``` - + When installing a Remotion package, make sure to align the version of all `remotion` and `@remotion/*` packages to the same version. Remove the `^` character from the version number to use the exact version. - + ## Usage - + See the [documentation](https://www.remotion.dev/docs/animated-emoji) for more information. diff --git a/packages/animated-emoji/package.json b/packages/animated-emoji/package.json index d3f818a2975..10383d7dc2f 100644 --- a/packages/animated-emoji/package.json +++ b/packages/animated-emoji/package.json @@ -6,7 +6,7 @@ "module": "dist/esm/index.mjs", "sideEffects": false, "scripts": { - "formatting": "prettier src --check", + "formatting": "oxfmt src --check", "lint": "eslint src", "make": "tsgo -d && bun --env-file=../.env.bundle bundle.ts" }, diff --git a/packages/animation-utils/README.md b/packages/animation-utils/README.md index 41fc8937047..db21565bf2c 100644 --- a/packages/animation-utils/README.md +++ b/packages/animation-utils/README.md @@ -1,18 +1,18 @@ # @remotion/animation-utils - + Helpers for animating CSS properties - + [![NPM Downloads](https://img.shields.io/npm/dm/@remotion/animation-utils.svg?style=flat&color=black&label=Downloads)](https://npmcharts.com/compare/@remotion/animation-utils?minimal=true) - + ## Installation - + ```bash npm install @remotion/animation-utils --save-exact ``` - + When installing a Remotion package, make sure to align the version of all `remotion` and `@remotion/*` packages to the same version. Remove the `^` character from the version number to use the exact version. - + ## Usage - + See the [documentation](https://www.remotion.dev/docs/animation-utils/) for more information. diff --git a/packages/animation-utils/package.json b/packages/animation-utils/package.json index 91179fed151..efd74c60122 100644 --- a/packages/animation-utils/package.json +++ b/packages/animation-utils/package.json @@ -13,7 +13,7 @@ "module": "./dist/index.mjs", "types": "./dist/index.d.ts", "scripts": { - "formatting": "prettier src --check", + "formatting": "oxfmt src --check", "lint": "eslint src", "make": "tsgo -d && bun --env-file=../.env.bundle bundle.ts", "test": "bun test src" diff --git a/packages/astro-example/README.md b/packages/astro-example/README.md index 7f735746625..aa7333f3db6 100644 --- a/packages/astro-example/README.md +++ b/packages/astro-example/README.md @@ -1,5 +1,5 @@ # @remotion/astro-example - + ## Usage - + This is an internal package and has no documentation. diff --git a/packages/astro-example/astro.config.mjs b/packages/astro-example/astro.config.mjs index 4b5a68ec00b..a5ac14439e0 100644 --- a/packages/astro-example/astro.config.mjs +++ b/packages/astro-example/astro.config.mjs @@ -1,5 +1,5 @@ -import { defineConfig } from 'astro/config'; import react from '@astrojs/react'; +import {defineConfig} from 'astro/config'; // https://astro.build/config export default defineConfig({ diff --git a/packages/astro-example/test.cjs b/packages/astro-example/test.cjs index 428ded07a26..b2a17276d18 100644 --- a/packages/astro-example/test.cjs +++ b/packages/astro-example/test.cjs @@ -1,20 +1,20 @@ -const assert = require("assert"); -const { interpolate } = require("remotion"); -const { Player } = require("@remotion/player"); -const { VERSION } = require("remotion/version"); -const { enableSkia } = require("@remotion/skia/enable"); -const { Gif } = require("@remotion/gif"); -const { CameraMotionBlur } = require("@remotion/motion-blur"); -const { ThreeCanvas } = require("@remotion/three"); +const assert = require('assert'); +const {interpolate} = require('remotion'); +const {Player} = require('@remotion/player'); +const {VERSION} = require('remotion/version'); +const {enableSkia} = require('@remotion/skia/enable'); +const {Gif} = require('@remotion/gif'); +const {CameraMotionBlur} = require('@remotion/motion-blur'); +const {ThreeCanvas} = require('@remotion/three'); const val = interpolate(1, [0, 1], [0, 100]); assert(val === 100); assert(Boolean(Player)); -assert(typeof VERSION === "string"); +assert(typeof VERSION === 'string'); assert(Boolean(enableSkia)); assert(Boolean(Gif)); assert(Boolean(CameraMotionBlur)); assert(Boolean(ThreeCanvas)); -console.log("CommonJS works!"); +console.log('CommonJS works!'); diff --git a/packages/astro-example/test.js b/packages/astro-example/test.js index c33a1684a63..d2cb9bd503e 100644 --- a/packages/astro-example/test.js +++ b/packages/astro-example/test.js @@ -1,20 +1,20 @@ -const assert = require("assert"); -const { interpolate } = require("remotion"); -const { Player } = require("@remotion/player"); -const { VERSION } = require("remotion/version"); -const { enableSkia } = require("@remotion/skia/enable"); -const { Gif } = require("@remotion/gif"); -const { CameraMotionBlur } = require("@remotion/motion-blur"); -const { ThreeCanvas } = require("@remotion/three"); +const assert = require('assert'); +const {interpolate} = require('remotion'); +const {Player} = require('@remotion/player'); +const {VERSION} = require('remotion/version'); +const {enableSkia} = require('@remotion/skia/enable'); +const {Gif} = require('@remotion/gif'); +const {CameraMotionBlur} = require('@remotion/motion-blur'); +const {ThreeCanvas} = require('@remotion/three'); const val = interpolate(1, [0, 1], [0, 100]); assert(val === 100); assert(Boolean(Player)); -assert(typeof VERSION === "string"); +assert(typeof VERSION === 'string'); assert(Boolean(enableSkia)); assert(Boolean(Gif)); assert(Boolean(CameraMotionBlur)); assert(Boolean(ThreeCanvas)); -console.log("ESM Wallaby works!"); +console.log('ESM Wallaby works!'); diff --git a/packages/astro-example/test.mjs b/packages/astro-example/test.mjs index a30141d085c..e882769a5d0 100644 --- a/packages/astro-example/test.mjs +++ b/packages/astro-example/test.mjs @@ -1,22 +1,22 @@ -import assert from "assert"; -import { interpolate } from "remotion"; -import { Player } from "@remotion/player"; -import { VERSION } from "remotion/version"; -import { enableSkia } from "@remotion/skia/enable"; -import { Trail } from "@remotion/motion-blur"; -import { ThreeCanvas } from "@remotion/three"; -import { TransitionSeries } from "@remotion/transitions"; -import { Gif } from "@remotion/gif"; +import assert from 'assert'; +import {Gif} from '@remotion/gif'; +import {Trail} from '@remotion/motion-blur'; +import {Player} from '@remotion/player'; +import {enableSkia} from '@remotion/skia/enable'; +import {ThreeCanvas} from '@remotion/three'; +import {TransitionSeries} from '@remotion/transitions'; +import {interpolate} from 'remotion'; +import {VERSION} from 'remotion/version'; const val = interpolate(1, [0, 1], [0, 100]); assert(val === 100); assert(Boolean(Player)); -assert(typeof VERSION === "string"); +assert(typeof VERSION === 'string'); assert(Boolean(enableSkia)); assert(Boolean(Gif)); assert(Boolean(ThreeCanvas)); assert(Boolean(Trail)); assert(Boolean(TransitionSeries)); -console.log("ESM works!"); +console.log('ESM works!'); diff --git a/packages/astro-example/tsconfig.json b/packages/astro-example/tsconfig.json index ed1b12cadc5..578e3b46af6 100644 --- a/packages/astro-example/tsconfig.json +++ b/packages/astro-example/tsconfig.json @@ -1,7 +1,7 @@ { - "extends": "astro/tsconfigs/strictest", - "compilerOptions": { - "jsx": "react-jsx" - }, - "references": [{ "path": "../player" }, { "path": "../core" }] + "extends": "astro/tsconfigs/strictest", + "compilerOptions": { + "jsx": "react-jsx" + }, + "references": [{"path": "../player"}, {"path": "../core"}] } diff --git a/packages/babel-loader/README.md b/packages/babel-loader/README.md index 2cfe0e07fcf..fcb211f4503 100644 --- a/packages/babel-loader/README.md +++ b/packages/babel-loader/README.md @@ -1,18 +1,18 @@ # @remotion/babel-loader - + Babel loader for Remotion - + [![NPM Downloads](https://img.shields.io/npm/dm/@remotion/babel-loader.svg?style=flat&color=black&label=Downloads)](https://npmcharts.com/compare/@remotion/babel-loader?minimal=true) - + ## Installation - + ```bash npm install @remotion/babel-loader --save-exact ``` - + When installing a Remotion package, make sure to align the version of all `remotion` and `@remotion/*` packages to the same version. Remove the `^` character from the version number to use the exact version. - + ## Usage - + See the [documentation](https://www.remotion.dev/docs/legacy-babel) for more information. diff --git a/packages/babel-loader/package.json b/packages/babel-loader/package.json index f1fe11046c5..d3ba3fb05ff 100644 --- a/packages/babel-loader/package.json +++ b/packages/babel-loader/package.json @@ -7,7 +7,7 @@ "description": "Babel loader for Remotion", "main": "dist/index.js", "scripts": { - "formatting": "prettier src --check", + "formatting": "oxfmt src --check", "lint": "eslint src", "make": "tsgo -d" }, diff --git a/packages/bugs/README.md b/packages/bugs/README.md index 2c5552186e9..784c6c62e12 100644 --- a/packages/bugs/README.md +++ b/packages/bugs/README.md @@ -1,5 +1,5 @@ # @remotion/bugs - + ## Usage - + This is an internal package and has no documentation. diff --git a/packages/bugs/api/index.ts b/packages/bugs/api/index.ts index fda3014ac1f..202dae588b9 100644 --- a/packages/bugs/api/index.ts +++ b/packages/bugs/api/index.ts @@ -1,15 +1,15 @@ export default async function handler() { - return new Response( - `

Remotion Bugs

Add a version to query bugs, e.g https://bugs.remotion.dev/v4.0.36

`, - { - status: 200, - headers: { - "content-type": "text/html", - }, - } - ); + return new Response( + `

Remotion Bugs

Add a version to query bugs, e.g https://bugs.remotion.dev/v4.0.36

`, + { + status: 200, + headers: { + 'content-type': 'text/html', + }, + }, + ); } export const config = { - runtime: "edge", + runtime: 'edge', }; diff --git a/packages/bugs/deprecate-versions.ts b/packages/bugs/deprecate-versions.ts index b4451b527a1..d3b3b56043a 100644 --- a/packages/bugs/deprecate-versions.ts +++ b/packages/bugs/deprecate-versions.ts @@ -1,16 +1,16 @@ -import { bugs } from "./api/[v]"; -import { $ } from "bun"; +import {$} from 'bun'; +import {bugs} from './api/[v]'; const buggyRelease: string[] = []; for (const bug of bugs) { - buggyRelease.push(...bug.versions); + buggyRelease.push(...bug.versions); } const uniqueVersions = [...new Set(buggyRelease)]; console.log(uniqueVersions); for (const version of uniqueVersions) { - await $`npm deprecate remotion@${version} "This version contains bugs: https://bugs.remotion.dev/${version}"`; - console.log(`Deprecated version ${version}`); + await $`npm deprecate remotion@${version} "This version contains bugs: https://bugs.remotion.dev/${version}"`; + console.log(`Deprecated version ${version}`); } diff --git a/packages/bugs/vercel.json b/packages/bugs/vercel.json index a7da5e13641..6cac419b5ad 100644 --- a/packages/bugs/vercel.json +++ b/packages/bugs/vercel.json @@ -1,12 +1,12 @@ { - "redirects": [ - { - "source": "/:path", - "destination": "/api/:path" - }, - { - "source": "/", - "destination": "/api" - } - ] + "redirects": [ + { + "source": "/:path", + "destination": "/api/:path" + }, + { + "source": "/", + "destination": "/api" + } + ] } diff --git a/packages/bundler/README.md b/packages/bundler/README.md index ca70f64b73e..660f565e947 100644 --- a/packages/bundler/README.md +++ b/packages/bundler/README.md @@ -1,18 +1,18 @@ # @remotion/bundler - + Bundle Remotion compositions using Webpack - + [![NPM Downloads](https://img.shields.io/npm/dm/@remotion/bundler.svg?style=flat&color=black&label=Downloads)](https://npmcharts.com/compare/@remotion/bundler?minimal=true) - + ## Installation - + ```bash npm install @remotion/bundler --save-exact ``` - + When installing a Remotion package, make sure to align the version of all `remotion` and `@remotion/*` packages to the same version. Remove the `^` character from the version number to use the exact version. - + ## Usage - + See the [documentation](https://www.remotion.dev/docs/bundler) for more information. diff --git a/packages/bundler/package.json b/packages/bundler/package.json index 6f30c73350b..9ab8e780500 100644 --- a/packages/bundler/package.json +++ b/packages/bundler/package.json @@ -11,7 +11,7 @@ "url": "https://github.com/remotion-dev/remotion/issues" }, "scripts": { - "formatting": "prettier src --check", + "formatting": "oxfmt src --check", "lint": "eslint src", "test": "bun test src", "make": "tsgo -d" diff --git a/packages/bundler/src/bundle.ts b/packages/bundler/src/bundle.ts index 7ba39db9b23..7927146b19e 100644 --- a/packages/bundler/src/bundle.ts +++ b/packages/bundler/src/bundle.ts @@ -1,10 +1,10 @@ -import type {GitSource, RenderDefaults} from '@remotion/studio-shared'; -import {getProjectName, SOURCE_MAP_ENDPOINT} from '@remotion/studio-shared'; import fs, {promises} from 'node:fs'; import os from 'node:os'; import path from 'node:path'; import {promisify} from 'node:util'; import {isMainThread} from 'node:worker_threads'; +import type {GitSource, RenderDefaults} from '@remotion/studio-shared'; +import {getProjectName, SOURCE_MAP_ENDPOINT} from '@remotion/studio-shared'; import webpack from 'webpack'; import {copyDir} from './copy-dir'; import {indexHtml} from './index-html'; diff --git a/packages/bundler/src/esbuild-loader/index.ts b/packages/bundler/src/esbuild-loader/index.ts index 4d4172cb695..6f2e2acc4d9 100644 --- a/packages/bundler/src/esbuild-loader/index.ts +++ b/packages/bundler/src/esbuild-loader/index.ts @@ -1,5 +1,5 @@ -import {transform as defaultEsbuildTransform} from 'esbuild'; import path from 'node:path'; +import {transform as defaultEsbuildTransform} from 'esbuild'; import type webpack from 'webpack'; import type {LoaderOptions} from './interfaces'; diff --git a/packages/captions/README.md b/packages/captions/README.md index 318585cf41c..75c141b5a24 100644 --- a/packages/captions/README.md +++ b/packages/captions/README.md @@ -1,18 +1,18 @@ # @remotion/captions - + Primitives for dealing with captions - + [![NPM Downloads](https://img.shields.io/npm/dm/@remotion/captions.svg?style=flat&color=black&label=Downloads)](https://npmcharts.com/compare/@remotion/captions?minimal=true) - + ## Installation - + ```bash npm install @remotion/captions --save-exact ``` - + When installing a Remotion package, make sure to align the version of all `remotion` and `@remotion/*` packages to the same version. Remove the `^` character from the version number to use the exact version. - + ## Usage - + See the [documentation](https://remotion.dev/docs/captions/api) for more information. diff --git a/packages/captions/package.json b/packages/captions/package.json index 6f540a2fd5a..6950aacbc63 100644 --- a/packages/captions/package.json +++ b/packages/captions/package.json @@ -11,7 +11,7 @@ "url": "https://github.com/remotion-dev/remotion/issues" }, "scripts": { - "formatting": "prettier src --check", + "formatting": "oxfmt src --check", "lint": "eslint src", "test": "bun test src", "make": "tsgo -d" diff --git a/packages/cli/README.md b/packages/cli/README.md index 16c024fa1fe..fce0b379698 100644 --- a/packages/cli/README.md +++ b/packages/cli/README.md @@ -1,18 +1,18 @@ # @remotion/cli - + Control Remotion features using the `npx remotion` command - + [![NPM Downloads](https://img.shields.io/npm/dm/@remotion/cli.svg?style=flat&color=black&label=Downloads)](https://npmcharts.com/compare/@remotion/cli?minimal=true) - + ## Installation - + ```bash npm install @remotion/cli --save-exact ``` - + When installing a Remotion package, make sure to align the version of all `remotion` and `@remotion/*` packages to the same version. Remove the `^` character from the version number to use the exact version. - + ## Usage - + See the [documentation](https://www.remotion.dev/docs/cli) for more information. diff --git a/packages/cli/package.json b/packages/cli/package.json index fae31681f9f..985dd08186c 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -13,7 +13,7 @@ "remotiond": "remotiond-cli.js" }, "scripts": { - "formatting": "prettier src --check", + "formatting": "oxfmt src --check", "lint": "eslint src", "test": "bun test src", "make": "tsgo -d" diff --git a/packages/cli/src/add.ts b/packages/cli/src/add.ts index 86b4e757d16..404892dcd7e 100644 --- a/packages/cli/src/add.ts +++ b/packages/cli/src/add.ts @@ -1,7 +1,7 @@ -import {RenderInternals, type LogLevel} from '@remotion/renderer'; -import {StudioServerInternals} from '@remotion/studio-server'; import {spawn} from 'node:child_process'; import fs from 'node:fs'; +import {RenderInternals, type LogLevel} from '@remotion/renderer'; +import {StudioServerInternals} from '@remotion/studio-server'; import {chalk} from './chalk'; import {EXTRA_PACKAGES} from './extra-packages'; import {listOfRemotionPackages} from './list-of-remotion-packages'; diff --git a/packages/cli/src/bundle.ts b/packages/cli/src/bundle.ts index a8e5ba9a27f..aac53753c07 100644 --- a/packages/cli/src/bundle.ts +++ b/packages/cli/src/bundle.ts @@ -1,9 +1,9 @@ +import {existsSync, readdirSync, readFileSync, rmSync, writeFileSync} from 'fs'; +import path from 'path'; import {BundlerInternals} from '@remotion/bundler'; import type {LogLevel} from '@remotion/renderer'; import {BrowserSafeApis} from '@remotion/renderer/client'; import {StudioServerInternals} from '@remotion/studio-server'; -import {existsSync, readdirSync, readFileSync, rmSync, writeFileSync} from 'fs'; -import path from 'path'; import {chalk} from './chalk'; import {findEntryPoint} from './entry-point'; import {getGitSource} from './get-github-repository'; diff --git a/packages/cli/src/config/index.ts b/packages/cli/src/config/index.ts index a45826667a0..26f1f072dfe 100644 --- a/packages/cli/src/config/index.ts +++ b/packages/cli/src/config/index.ts @@ -1,20 +1,3 @@ -import {getBrowser} from './browser'; -import {getConcurrency} from './concurrency'; -import {getDotEnvLocation} from './env-file'; -import {getShouldOutputImageSequence} from './image-sequence'; -import {getOutputLocation} from './output-location'; -import { - defaultOverrideFunction, - getWebpackOverrideFn, -} from './override-webpack'; -import { - getRendererPortFromConfigFile, - getRendererPortFromConfigFileAndCliFlag, - getStudioPort, -} from './preview-server'; -import {getStillFrame, setStillFrame} from './still-frame'; -import {getWebpackCaching} from './webpack-caching'; - import type {WebpackConfiguration} from '@remotion/bundler'; import type { BrowserExecutable, @@ -31,21 +14,37 @@ import type { import type {HardwareAccelerationOption} from '@remotion/renderer/client'; import {BrowserSafeApis} from '@remotion/renderer/client'; import {StudioServerInternals} from '@remotion/studio-server'; +import {getBrowser} from './browser'; import { getBufferStateDelayInMilliseconds, setBufferStateDelayInMilliseconds, } from './buffer-state-delay-in-milliseconds'; +import {getConcurrency} from './concurrency'; import type {Concurrency} from './concurrency'; import {getEntryPoint, setEntryPoint} from './entry-point'; +import {getDotEnvLocation} from './env-file'; import { getFfmpegOverrideFunction, setFfmpegOverrideFunction, } from './ffmpeg-override'; +import {getShouldOutputImageSequence} from './image-sequence'; import {getMetadata, setMetadata} from './metadata'; +import {getOutputLocation} from './output-location'; import {setOutputLocation} from './output-location'; +import { + defaultOverrideFunction, + getWebpackOverrideFn, +} from './override-webpack'; import type {WebpackOverrideFn} from './override-webpack'; import {overrideWebpackConfig} from './override-webpack'; +import { + getRendererPortFromConfigFile, + getRendererPortFromConfigFileAndCliFlag, + getStudioPort, +} from './preview-server'; import {setPort, setRendererPort, setStudioPort} from './preview-server'; +import {getStillFrame, setStillFrame} from './still-frame'; +import {getWebpackCaching} from './webpack-caching'; import {getWebpackPolling} from './webpack-poll'; export type {Concurrency, WebpackConfiguration, WebpackOverrideFn}; diff --git a/packages/cli/src/convert-entry-point-to-serve-url.ts b/packages/cli/src/convert-entry-point-to-serve-url.ts index 25c15e4b045..a73dcfda8f7 100644 --- a/packages/cli/src/convert-entry-point-to-serve-url.ts +++ b/packages/cli/src/convert-entry-point-to-serve-url.ts @@ -1,5 +1,5 @@ -import {RenderInternals} from '@remotion/renderer'; import path from 'node:path'; +import {RenderInternals} from '@remotion/renderer'; export const convertEntryPointToServeUrl = (entryPoint: string) => { const fullPath = RenderInternals.isServeUrl(entryPoint) diff --git a/packages/cli/src/entry-point.ts b/packages/cli/src/entry-point.ts index 1c3af4dd064..24e6e34f31c 100644 --- a/packages/cli/src/entry-point.ts +++ b/packages/cli/src/entry-point.ts @@ -1,7 +1,7 @@ -import type {LogLevel} from '@remotion/renderer'; -import {RenderInternals} from '@remotion/renderer'; import {existsSync} from 'node:fs'; import path from 'node:path'; +import type {LogLevel} from '@remotion/renderer'; +import {RenderInternals} from '@remotion/renderer'; import {ConfigInternals} from './config'; import {Log} from './log'; diff --git a/packages/cli/src/ffmpeg.ts b/packages/cli/src/ffmpeg.ts index e9624a895b6..7594a9837a9 100644 --- a/packages/cli/src/ffmpeg.ts +++ b/packages/cli/src/ffmpeg.ts @@ -1,8 +1,8 @@ +import {spawnSync} from 'node:child_process'; +import path from 'node:path'; import type {LogLevel} from '@remotion/renderer'; import {RenderInternals} from '@remotion/renderer'; import {BrowserSafeApis} from '@remotion/renderer/client'; -import {spawnSync} from 'node:child_process'; -import path from 'node:path'; import {parsedCli} from './parsed-cli'; export const dynamicLibEnv = ( diff --git a/packages/cli/src/get-cli-options.ts b/packages/cli/src/get-cli-options.ts index 83401d64472..9e527c8960a 100644 --- a/packages/cli/src/get-cli-options.ts +++ b/packages/cli/src/get-cli-options.ts @@ -1,7 +1,7 @@ -import type {LogLevel} from '@remotion/renderer'; -import {BrowserSafeApis} from '@remotion/renderer/client'; import fs from 'node:fs'; import path from 'node:path'; +import type {LogLevel} from '@remotion/renderer'; +import {BrowserSafeApis} from '@remotion/renderer/client'; import {ConfigInternals} from './config'; import {getEnvironmentVariables} from './get-env'; import {getInputProps} from './get-input-props'; diff --git a/packages/cli/src/get-config-file-name.ts b/packages/cli/src/get-config-file-name.ts index 789fc6640ac..84278972ae7 100644 --- a/packages/cli/src/get-config-file-name.ts +++ b/packages/cli/src/get-config-file-name.ts @@ -1,6 +1,6 @@ -import {BrowserSafeApis} from '@remotion/renderer/client'; import {existsSync} from 'node:fs'; import path from 'node:path'; +import {BrowserSafeApis} from '@remotion/renderer/client'; import {loadConfigFile} from './load-config'; import {Log} from './log'; import {parsedCli} from './parsed-cli'; diff --git a/packages/cli/src/get-env.ts b/packages/cli/src/get-env.ts index 42464d3ad89..7fd2d3105cd 100644 --- a/packages/cli/src/get-env.ts +++ b/packages/cli/src/get-env.ts @@ -1,10 +1,10 @@ +import fs, {readFileSync} from 'node:fs'; +import path from 'node:path'; import type {LogLevel} from '@remotion/renderer'; import {RenderInternals} from '@remotion/renderer'; import {BrowserSafeApis} from '@remotion/renderer/client'; import {StudioServerInternals} from '@remotion/studio-server'; import dotenv from 'dotenv'; -import fs, {readFileSync} from 'node:fs'; -import path from 'node:path'; import {chalk} from './chalk'; import {makeHyperlink} from './hyperlinks/make-link'; import {Log} from './log'; diff --git a/packages/cli/src/get-github-repository.ts b/packages/cli/src/get-github-repository.ts index d7e212752a1..4cba19c3b40 100644 --- a/packages/cli/src/get-github-repository.ts +++ b/packages/cli/src/get-github-repository.ts @@ -1,9 +1,9 @@ -import {BundlerInternals} from '@remotion/bundler'; -import type {LogLevel} from '@remotion/renderer'; -import type {GitSource} from '@remotion/studio-shared'; import {execSync} from 'child_process'; import {existsSync, readFileSync} from 'fs'; import path from 'path'; +import {BundlerInternals} from '@remotion/bundler'; +import type {LogLevel} from '@remotion/renderer'; +import type {GitSource} from '@remotion/studio-shared'; import {Log} from './log'; export type ParsedGitRemote = { diff --git a/packages/cli/src/get-input-props.ts b/packages/cli/src/get-input-props.ts index 0297e229be7..eec942cf982 100644 --- a/packages/cli/src/get-input-props.ts +++ b/packages/cli/src/get-input-props.ts @@ -1,8 +1,8 @@ -import type {LogLevel, LogOptions} from '@remotion/renderer'; -import {BrowserSafeApis} from '@remotion/renderer/client'; import fs from 'node:fs'; import os from 'node:os'; import path from 'node:path'; +import type {LogLevel, LogOptions} from '@remotion/renderer'; +import {BrowserSafeApis} from '@remotion/renderer/client'; import {Log} from './log'; import {parsedCli} from './parsed-cli'; diff --git a/packages/cli/src/initialize-cli.ts b/packages/cli/src/initialize-cli.ts index 624ea2cbdbf..37bf1ecf533 100644 --- a/packages/cli/src/initialize-cli.ts +++ b/packages/cli/src/initialize-cli.ts @@ -1,6 +1,6 @@ +import path from 'path'; import type {LogLevel} from '@remotion/renderer'; import {BrowserSafeApis} from '@remotion/renderer/client'; -import path from 'path'; import {loadConfig} from './get-config-file-name'; import {makeHyperlink} from './hyperlinks/make-link'; import {Log} from './log'; diff --git a/packages/cli/src/load-config.ts b/packages/cli/src/load-config.ts index b7044998009..09949f96052 100644 --- a/packages/cli/src/load-config.ts +++ b/packages/cli/src/load-config.ts @@ -1,7 +1,7 @@ -import {BundlerInternals} from '@remotion/bundler'; import fs from 'node:fs'; import path from 'node:path'; import {isMainThread} from 'node:worker_threads'; +import {BundlerInternals} from '@remotion/bundler'; import {Log} from './log'; export const loadConfigFile = async ( diff --git a/packages/cli/src/on-artifact.ts b/packages/cli/src/on-artifact.ts index 0ed587898e7..53a2aea8c3c 100644 --- a/packages/cli/src/on-artifact.ts +++ b/packages/cli/src/on-artifact.ts @@ -1,7 +1,7 @@ -import type {OnArtifact} from '@remotion/renderer'; -import type {ArtifactProgress} from '@remotion/studio-shared'; import {existsSync, mkdirSync, writeFileSync} from 'fs'; import path from 'path'; +import type {OnArtifact} from '@remotion/renderer'; +import type {ArtifactProgress} from '@remotion/studio-shared'; export const handleOnArtifact = ({ artifactState, diff --git a/packages/cli/src/render-flows/render.ts b/packages/cli/src/render-flows/render.ts index 13152e0d0bd..e4c2be71bc4 100644 --- a/packages/cli/src/render-flows/render.ts +++ b/packages/cli/src/render-flows/render.ts @@ -1,3 +1,6 @@ +import fs, {existsSync} from 'node:fs'; +import os from 'node:os'; +import path from 'node:path'; import type { AudioCodec, Browser, @@ -35,9 +38,6 @@ import { type ArtifactProgress, type BrowserDownloadState, } from '@remotion/studio-shared'; -import fs, {existsSync} from 'node:fs'; -import os from 'node:os'; -import path from 'node:path'; import type {_InternalTypes} from 'remotion'; import {NoReactInternals} from 'remotion/no-react'; import {defaultBrowserDownloadProgress} from '../browser-download-bar'; diff --git a/packages/cli/src/render-flows/still.ts b/packages/cli/src/render-flows/still.ts index 69437bf9123..da874e75153 100644 --- a/packages/cli/src/render-flows/still.ts +++ b/packages/cli/src/render-flows/still.ts @@ -1,5 +1,7 @@ // Prints to CLI and also reports back to browser +import {existsSync, mkdirSync} from 'node:fs'; +import path from 'node:path'; import type { Browser, BrowserExecutable, @@ -17,8 +19,6 @@ import type { JobProgressCallback, } from '@remotion/studio-server'; import type {BrowserDownloadState} from '@remotion/studio-shared'; -import {existsSync, mkdirSync} from 'node:fs'; -import path from 'node:path'; import {NoReactInternals} from 'remotion/no-react'; import {defaultBrowserDownloadProgress} from '../browser-download-bar'; import {chalk} from '../chalk'; diff --git a/packages/cli/src/render-queue/queue.ts b/packages/cli/src/render-queue/queue.ts index 15ca3f743b4..f5ab2c87d46 100644 --- a/packages/cli/src/render-queue/queue.ts +++ b/packages/cli/src/render-queue/queue.ts @@ -1,3 +1,4 @@ +import path from 'node:path'; import type {LogLevel} from '@remotion/renderer'; import type { AggregateRenderProgress, @@ -6,7 +7,6 @@ import type { RenderJobWithCleanup, } from '@remotion/studio-server'; import {StudioServerInternals} from '@remotion/studio-server'; -import path from 'node:path'; import {chalk} from '../chalk'; import {Log} from '../log'; import {printError} from '../print-error'; diff --git a/packages/cli/src/setup-cache.ts b/packages/cli/src/setup-cache.ts index 64fa6b66308..28e0924711f 100644 --- a/packages/cli/src/setup-cache.ts +++ b/packages/cli/src/setup-cache.ts @@ -1,11 +1,11 @@ +import {existsSync} from 'fs'; +import path from 'path'; import type {MandatoryLegacyBundleOptions} from '@remotion/bundler'; import {BundlerInternals} from '@remotion/bundler'; import type {LogLevel} from '@remotion/renderer'; import {RenderInternals} from '@remotion/renderer'; import type {BundlingState, CopyingState} from '@remotion/studio-server'; import type {GitSource} from '@remotion/studio-shared'; -import {existsSync} from 'fs'; -import path from 'path'; import {ConfigInternals} from './config'; import {getRenderDefaults} from './get-render-defaults'; import {Log} from './log'; diff --git a/packages/cli/src/show-compositions-picker.ts b/packages/cli/src/show-compositions-picker.ts index ed418cea6bc..c7e3c6d6f08 100644 --- a/packages/cli/src/show-compositions-picker.ts +++ b/packages/cli/src/show-compositions-picker.ts @@ -1,7 +1,6 @@ -import {selectAsync} from './composition-prompts'; - import type {getCompositions, LogLevel} from '@remotion/renderer'; import {chalk} from './chalk'; +import {selectAsync} from './composition-prompts'; type Await = T extends PromiseLike ? U : T; export const showSingleCompositionsPicker = async ( diff --git a/packages/cli/src/skills.ts b/packages/cli/src/skills.ts index 9d204e07f2d..c408ba97d04 100644 --- a/packages/cli/src/skills.ts +++ b/packages/cli/src/skills.ts @@ -1,5 +1,5 @@ -import type {LogLevel} from '@remotion/renderer'; import {spawn} from 'node:child_process'; +import type {LogLevel} from '@remotion/renderer'; import {chalk} from './chalk'; import {Log} from './log'; diff --git a/packages/cli/src/test/codec.test.ts b/packages/cli/src/test/codec.test.ts index 69eb639b956..0e9c239207a 100644 --- a/packages/cli/src/test/codec.test.ts +++ b/packages/cli/src/test/codec.test.ts @@ -1,6 +1,6 @@ +import {describe, expect, test} from 'bun:test'; import type {CodecOrUndefined} from '@remotion/renderer'; import {BrowserSafeApis} from '@remotion/renderer/client'; -import {describe, expect, test} from 'bun:test'; import {expectToThrow} from './expect-to-throw'; // setCodec diff --git a/packages/cli/src/test/config-chromium.test.ts b/packages/cli/src/test/config-chromium.test.ts index 2968f2d2422..e160ea1a370 100644 --- a/packages/cli/src/test/config-chromium.test.ts +++ b/packages/cli/src/test/config-chromium.test.ts @@ -1,5 +1,5 @@ -import {BrowserSafeApis} from '@remotion/renderer/client'; import {expect, test} from 'bun:test'; +import {BrowserSafeApis} from '@remotion/renderer/client'; import {Config} from '../config'; test('getChromiumOpenGlRenderer from Config - angle value', () => { diff --git a/packages/cli/src/test/crf.test.ts b/packages/cli/src/test/crf.test.ts index 4e5056ec663..4f6ee339946 100644 --- a/packages/cli/src/test/crf.test.ts +++ b/packages/cli/src/test/crf.test.ts @@ -1,5 +1,5 @@ -import {BrowserSafeApis} from '@remotion/renderer/client'; import {describe, test} from 'bun:test'; +import {BrowserSafeApis} from '@remotion/renderer/client'; import {expectToThrow} from './expect-to-throw'; describe('set crf invalid input', () => { diff --git a/packages/cli/src/test/final-output-codec.test.ts b/packages/cli/src/test/final-output-codec.test.ts index 93f5c1544a4..080127b8abd 100644 --- a/packages/cli/src/test/final-output-codec.test.ts +++ b/packages/cli/src/test/final-output-codec.test.ts @@ -1,6 +1,6 @@ +import {describe, expect, test} from 'bun:test'; import type {Codec, CodecOrUndefined} from '@remotion/renderer'; import {BrowserSafeApis} from '@remotion/renderer/client'; -import {describe, expect, test} from 'bun:test'; const {videoCodecOption} = BrowserSafeApis.options; diff --git a/packages/cli/src/test/log.test.ts b/packages/cli/src/test/log.test.ts index c8d8d2a7388..81e62c69e4e 100644 --- a/packages/cli/src/test/log.test.ts +++ b/packages/cli/src/test/log.test.ts @@ -1,7 +1,7 @@ +import {describe, expect, test} from 'bun:test'; import type {LogLevel} from '@remotion/renderer'; import {RenderInternals} from '@remotion/renderer'; import {BrowserSafeApis} from '@remotion/renderer/client'; -import {describe, expect, test} from 'bun:test'; const {logLevelOption} = BrowserSafeApis.options; diff --git a/packages/cli/src/test/overwrite.test.ts b/packages/cli/src/test/overwrite.test.ts index 064c2cd90d1..bdad7fc309d 100644 --- a/packages/cli/src/test/overwrite.test.ts +++ b/packages/cli/src/test/overwrite.test.ts @@ -1,5 +1,5 @@ -import {BrowserSafeApis} from '@remotion/renderer/client'; import {afterEach, beforeAll, expect, test} from 'bun:test'; +import {BrowserSafeApis} from '@remotion/renderer/client'; import {expectToThrow} from './expect-to-throw'; const invalidOverwrite = 555; diff --git a/packages/cli/src/test/pixel-format.test.ts b/packages/cli/src/test/pixel-format.test.ts index 6d8bbcaf364..820d6e0ca35 100644 --- a/packages/cli/src/test/pixel-format.test.ts +++ b/packages/cli/src/test/pixel-format.test.ts @@ -1,6 +1,6 @@ +import {describe, expect, test} from 'bun:test'; import type {PixelFormat} from '@remotion/renderer'; import {BrowserSafeApis} from '@remotion/renderer/client'; -import {describe, expect, test} from 'bun:test'; import {expectToThrow} from './expect-to-throw'; const {pixelFormatOption} = BrowserSafeApis.options; diff --git a/packages/cli/src/test/quality.test.ts b/packages/cli/src/test/quality.test.ts index ceb85f75084..320d6ada7c3 100644 --- a/packages/cli/src/test/quality.test.ts +++ b/packages/cli/src/test/quality.test.ts @@ -1,5 +1,5 @@ -import {BrowserSafeApis} from '@remotion/renderer/client'; import {describe, expect, test} from 'bun:test'; +import {BrowserSafeApis} from '@remotion/renderer/client'; import {expectToThrow} from './expect-to-throw'; const setJpegQuality = BrowserSafeApis.options.jpegQualityOption.setConfig; diff --git a/packages/cli/src/test/range.test.tsx b/packages/cli/src/test/range.test.tsx index 82053bda428..ebb41bec053 100644 --- a/packages/cli/src/test/range.test.tsx +++ b/packages/cli/src/test/range.test.tsx @@ -1,6 +1,6 @@ +import {describe, expect, test} from 'bun:test'; import {RenderInternals} from '@remotion/renderer'; import {BrowserSafeApis} from '@remotion/renderer/client'; -import {describe, expect, test} from 'bun:test'; import {expectToThrow} from './expect-to-throw'; const {framesOption} = BrowserSafeApis.options; diff --git a/packages/cli/src/upgrade.ts b/packages/cli/src/upgrade.ts index 5a7a440d263..464454bb2b8 100644 --- a/packages/cli/src/upgrade.ts +++ b/packages/cli/src/upgrade.ts @@ -1,6 +1,6 @@ +import {execSync, spawn} from 'node:child_process'; import {RenderInternals, type LogLevel} from '@remotion/renderer'; import {StudioServerInternals} from '@remotion/studio-server'; -import {execSync, spawn} from 'node:child_process'; import {chalk} from './chalk'; import {EXTRA_PACKAGES} from './extra-packages'; import {listOfRemotionPackages} from './list-of-remotion-packages'; diff --git a/packages/cli/src/versions.ts b/packages/cli/src/versions.ts index 8e27cc7a091..a7b4dacb53a 100644 --- a/packages/cli/src/versions.ts +++ b/packages/cli/src/versions.ts @@ -1,7 +1,7 @@ -import type {LogLevel, LogOptions} from '@remotion/renderer'; -import {RenderInternals} from '@remotion/renderer'; import fs from 'node:fs'; import path from 'node:path'; +import type {LogLevel, LogOptions} from '@remotion/renderer'; +import {RenderInternals} from '@remotion/renderer'; import {chalk} from './chalk'; import {EXTRA_PACKAGES, EXTRA_PACKAGES_DOCS} from './extra-packages'; import {listOfRemotionPackages} from './list-of-remotion-packages'; diff --git a/packages/cloudrun/readme.md b/packages/cloudrun/readme.md index 52bc2041272..6d3a166d574 100644 --- a/packages/cloudrun/readme.md +++ b/packages/cloudrun/readme.md @@ -1,18 +1,18 @@ # @remotion/cloudrun - + Render Remotion videos on Google Cloud Run - + [![NPM Downloads](https://img.shields.io/npm/dm/@remotion/cloudrun.svg?style=flat&color=black&label=Downloads)](https://npmcharts.com/compare/@remotion/cloudrun?minimal=true) - + ## Installation - + ```bash npm install @remotion/cloudrun --save-exact ``` - + When installing a Remotion package, make sure to align the version of all `remotion` and `@remotion/*` packages to the same version. Remove the `^` character from the version number to use the exact version. - + ## Usage - + See the [documentation](https://www.remotion.dev/docs/cloudrun) for more information. diff --git a/packages/cloudrun/src/admin/bundle-installer.ts b/packages/cloudrun/src/admin/bundle-installer.ts index d06775d1a6d..8f73e12ad7f 100644 --- a/packages/cloudrun/src/admin/bundle-installer.ts +++ b/packages/cloudrun/src/admin/bundle-installer.ts @@ -1,7 +1,7 @@ -import {BundlerInternals} from '@remotion/bundler'; import {execSync} from 'child_process'; import {copyFileSync, mkdirSync, rmSync} from 'fs'; import path from 'path'; +import {BundlerInternals} from '@remotion/bundler'; export const hasGTar = () => { try { diff --git a/packages/cloudrun/src/admin/bundle-renderLogic.ts b/packages/cloudrun/src/admin/bundle-renderLogic.ts index 6b6eb8a2836..30d4345c3d8 100644 --- a/packages/cloudrun/src/admin/bundle-renderLogic.ts +++ b/packages/cloudrun/src/admin/bundle-renderLogic.ts @@ -1,7 +1,7 @@ -import {BundlerInternals} from '@remotion/bundler'; -import {dir} from '@remotion/compositor-linux-x64-gnu'; import fs from 'fs'; import path from 'path'; +import {BundlerInternals} from '@remotion/bundler'; +import {dir} from '@remotion/compositor-linux-x64-gnu'; export const bundleRenderLogic = async () => { const outdir = path.join(__dirname, '../../container/dist'); diff --git a/packages/cloudrun/src/api/download-file.ts b/packages/cloudrun/src/api/download-file.ts index 08fe6dcf672..27c4019669c 100644 --- a/packages/cloudrun/src/api/download-file.ts +++ b/packages/cloudrun/src/api/download-file.ts @@ -1,5 +1,5 @@ -import {RenderInternals} from '@remotion/renderer'; import path from 'node:path'; +import {RenderInternals} from '@remotion/renderer'; import {getCloudStorageClient} from './helpers/get-cloud-storage-client'; /** diff --git a/packages/cloudrun/src/cli/args.ts b/packages/cloudrun/src/cli/args.ts index 7e81841f31f..54cb115dd71 100644 --- a/packages/cloudrun/src/cli/args.ts +++ b/packages/cloudrun/src/cli/args.ts @@ -1,5 +1,4 @@ import {CliInternals} from '@remotion/cli'; - import type {Privacy} from '../defaults'; import type {GcpRegion} from '../pricing/gcp-regions'; diff --git a/packages/cloudrun/src/cli/commands/sites/create.ts b/packages/cloudrun/src/cli/commands/sites/create.ts index ade660d47f5..a9e48666c01 100644 --- a/packages/cloudrun/src/cli/commands/sites/create.ts +++ b/packages/cloudrun/src/cli/commands/sites/create.ts @@ -1,8 +1,8 @@ +import {existsSync, lstatSync} from 'fs'; import {CliInternals} from '@remotion/cli'; import {ConfigInternals} from '@remotion/cli/config'; import type {LogLevel} from '@remotion/renderer'; import {BrowserSafeApis} from '@remotion/renderer/client'; -import {existsSync, lstatSync} from 'fs'; import {Internals} from 'remotion'; import {displaySiteInfo} from '.'; import {internalDeploySiteRaw} from '../../../api/deploy-site'; diff --git a/packages/cloudrun/src/functions/helpers/write-cloudrun-error.ts b/packages/cloudrun/src/functions/helpers/write-cloudrun-error.ts index 81cc9c9554c..9443c426c12 100644 --- a/packages/cloudrun/src/functions/helpers/write-cloudrun-error.ts +++ b/packages/cloudrun/src/functions/helpers/write-cloudrun-error.ts @@ -1,5 +1,5 @@ -import {Storage} from '@google-cloud/storage'; import fs from 'node:fs'; +import {Storage} from '@google-cloud/storage'; export type CloudrunErrorInfo = { type: 'renderer' | 'browser' | 'stitcher' | 'webhook'; diff --git a/packages/compositor-darwin-arm64/README.md b/packages/compositor-darwin-arm64/README.md index fc907d94b98..e720b3a25ef 100644 --- a/packages/compositor-darwin-arm64/README.md +++ b/packages/compositor-darwin-arm64/README.md @@ -1,7 +1,7 @@ # @remotion/compositor-darwin-arm64 - + MacOS Apple Silicon binary for the Remotion Rust code - + ## Usage - + This is an internal package and has no documentation. diff --git a/packages/compositor-darwin-arm64/index.mjs b/packages/compositor-darwin-arm64/index.mjs index ee5750400ec..1f49f39ea6c 100644 --- a/packages/compositor-darwin-arm64/index.mjs +++ b/packages/compositor-darwin-arm64/index.mjs @@ -1,4 +1,4 @@ -import * as url from "node:url"; -const __dirname = url.fileURLToPath(new URL(".", import.meta.url)); +import * as url from 'node:url'; +const __dirname = url.fileURLToPath(new URL('.', import.meta.url)); export const dir = __dirname; diff --git a/packages/compositor-darwin-x64/README.md b/packages/compositor-darwin-x64/README.md index 2e6487332a5..0801a942922 100644 --- a/packages/compositor-darwin-x64/README.md +++ b/packages/compositor-darwin-x64/README.md @@ -1,7 +1,7 @@ # @remotion/compositor-darwin-x64 - + MacOS x64 binary for the Remotion Rust code - + ## Usage - + This is an internal package and has no documentation. diff --git a/packages/compositor-darwin-x64/index.mjs b/packages/compositor-darwin-x64/index.mjs index ee5750400ec..1f49f39ea6c 100644 --- a/packages/compositor-darwin-x64/index.mjs +++ b/packages/compositor-darwin-x64/index.mjs @@ -1,4 +1,4 @@ -import * as url from "node:url"; -const __dirname = url.fileURLToPath(new URL(".", import.meta.url)); +import * as url from 'node:url'; +const __dirname = url.fileURLToPath(new URL('.', import.meta.url)); export const dir = __dirname; diff --git a/packages/compositor-linux-arm64-gnu/README.md b/packages/compositor-linux-arm64-gnu/README.md index 9166c9dbc82..7ca9abed789 100644 --- a/packages/compositor-linux-arm64-gnu/README.md +++ b/packages/compositor-linux-arm64-gnu/README.md @@ -1,7 +1,7 @@ # @remotion/compositor-linux-arm64-gnu - + Linux ARM64 binary for the Remotion Rust code - + ## Usage - + This is an internal package and has no documentation. diff --git a/packages/compositor-linux-arm64-gnu/index.mjs b/packages/compositor-linux-arm64-gnu/index.mjs index ee5750400ec..1f49f39ea6c 100644 --- a/packages/compositor-linux-arm64-gnu/index.mjs +++ b/packages/compositor-linux-arm64-gnu/index.mjs @@ -1,4 +1,4 @@ -import * as url from "node:url"; -const __dirname = url.fileURLToPath(new URL(".", import.meta.url)); +import * as url from 'node:url'; +const __dirname = url.fileURLToPath(new URL('.', import.meta.url)); export const dir = __dirname; diff --git a/packages/compositor-linux-arm64-musl/README.md b/packages/compositor-linux-arm64-musl/README.md index 9c2be84e5fc..944a6dcdab8 100644 --- a/packages/compositor-linux-arm64-musl/README.md +++ b/packages/compositor-linux-arm64-musl/README.md @@ -1,7 +1,7 @@ # @remotion/compositor-linux-arm64-musl - + Linux ARM64 binary for the Remotion Rust code - + ## Usage - + This is an internal package and has no documentation. diff --git a/packages/compositor-linux-arm64-musl/index.mjs b/packages/compositor-linux-arm64-musl/index.mjs index ee5750400ec..1f49f39ea6c 100644 --- a/packages/compositor-linux-arm64-musl/index.mjs +++ b/packages/compositor-linux-arm64-musl/index.mjs @@ -1,4 +1,4 @@ -import * as url from "node:url"; -const __dirname = url.fileURLToPath(new URL(".", import.meta.url)); +import * as url from 'node:url'; +const __dirname = url.fileURLToPath(new URL('.', import.meta.url)); export const dir = __dirname; diff --git a/packages/compositor-linux-x64-gnu/README.md b/packages/compositor-linux-x64-gnu/README.md index a3a0c631310..52a78cdfc05 100644 --- a/packages/compositor-linux-x64-gnu/README.md +++ b/packages/compositor-linux-x64-gnu/README.md @@ -1,7 +1,7 @@ # @remotion/compositor-linux-x64-gnu - + Linux x64 binary for the Remotion Rust code - + ## Usage - + This is an internal package and has no documentation. diff --git a/packages/compositor-linux-x64-gnu/index.mjs b/packages/compositor-linux-x64-gnu/index.mjs index ee5750400ec..1f49f39ea6c 100644 --- a/packages/compositor-linux-x64-gnu/index.mjs +++ b/packages/compositor-linux-x64-gnu/index.mjs @@ -1,4 +1,4 @@ -import * as url from "node:url"; -const __dirname = url.fileURLToPath(new URL(".", import.meta.url)); +import * as url from 'node:url'; +const __dirname = url.fileURLToPath(new URL('.', import.meta.url)); export const dir = __dirname; diff --git a/packages/compositor-linux-x64-musl/README.md b/packages/compositor-linux-x64-musl/README.md index 8ed614f0496..5d64ac55257 100644 --- a/packages/compositor-linux-x64-musl/README.md +++ b/packages/compositor-linux-x64-musl/README.md @@ -1,7 +1,7 @@ # @remotion/compositor-linux-x64-musl - + Linux x64 binary for the Remotion Rust code - + ## Usage - + This is an internal package and has no documentation. diff --git a/packages/compositor-linux-x64-musl/index.mjs b/packages/compositor-linux-x64-musl/index.mjs index ee5750400ec..1f49f39ea6c 100644 --- a/packages/compositor-linux-x64-musl/index.mjs +++ b/packages/compositor-linux-x64-musl/index.mjs @@ -1,4 +1,4 @@ -import * as url from "node:url"; -const __dirname = url.fileURLToPath(new URL(".", import.meta.url)); +import * as url from 'node:url'; +const __dirname = url.fileURLToPath(new URL('.', import.meta.url)); export const dir = __dirname; diff --git a/packages/compositor-win32-x64-msvc/README.md b/packages/compositor-win32-x64-msvc/README.md index 777ff4c881b..efeef5bf344 100644 --- a/packages/compositor-win32-x64-msvc/README.md +++ b/packages/compositor-win32-x64-msvc/README.md @@ -1,5 +1,5 @@ # @remotion/compositor-win32-x64-msvc - + ## Usage - + This is an internal package and has no documentation. diff --git a/packages/compositor-win32-x64-msvc/index.mjs b/packages/compositor-win32-x64-msvc/index.mjs index ee5750400ec..1f49f39ea6c 100644 --- a/packages/compositor-win32-x64-msvc/index.mjs +++ b/packages/compositor-win32-x64-msvc/index.mjs @@ -1,4 +1,4 @@ -import * as url from "node:url"; -const __dirname = url.fileURLToPath(new URL(".", import.meta.url)); +import * as url from 'node:url'; +const __dirname = url.fileURLToPath(new URL('.', import.meta.url)); export const dir = __dirname; diff --git a/packages/compositor/Cargo.toml b/packages/compositor/Cargo.toml index 4bee211a5ac..38784d7b00c 100644 --- a/packages/compositor/Cargo.toml +++ b/packages/compositor/Cargo.toml @@ -9,13 +9,13 @@ edition = "2021" [dependencies] png = "0.17.13" -serde = {version = "1.0.151", features = ["derive"]} +serde = { version = "1.0.151", features = ["derive"] } serde_json = "1.0.89" lazy_static = "1.4" rayon-core = "1.12.1" sysinfo = "0.30.7" -mp4 = {git = "https://github.com/jonnyburger/mp4-rust", rev = "92ba375738cc2f05a4d754e1f968cf2e97d06641"} -ffmpeg-next = {git = "https://github.com/remotion-dev/rust-ffmpeg", rev ="cd80e32bc6e0d00a59f4373a67966d9173b38d98"} +mp4 = { git = "https://github.com/jonnyburger/mp4-rust", rev = "92ba375738cc2f05a4d754e1f968cf2e97d06641" } +ffmpeg-next = { git = "https://github.com/remotion-dev/rust-ffmpeg", rev = "cd80e32bc6e0d00a59f4373a67966d9173b38d98" } [[bin]] name = "remotion" diff --git a/packages/compositor/README.md b/packages/compositor/README.md index 190215cf7af..fbdda26f590 100644 --- a/packages/compositor/README.md +++ b/packages/compositor/README.md @@ -1,7 +1,7 @@ # @remotion/compositor - + Rust binary for Remotion - + ## Usage - + This is an internal package and has no documentation. diff --git a/packages/convert/app/components/AudioCodecSelection.tsx b/packages/convert/app/components/AudioCodecSelection.tsx index c552292e68c..bb22bb3db6c 100644 --- a/packages/convert/app/components/AudioCodecSelection.tsx +++ b/packages/convert/app/components/AudioCodecSelection.tsx @@ -1,9 +1,3 @@ -import type {InputAudioTrack} from 'mediabunny'; -import React from 'react'; -import type {AudioOperation} from '~/lib/audio-operation'; -import {getAudioOperationId} from '~/lib/operation-key'; -import {AudioCodecDropWarning} from './AudioCodecDropWarning'; -import {AudioOperationOption} from './AudioOperationOption'; import { Select, SelectContent, @@ -12,6 +6,12 @@ import { SelectTrigger, SelectValue, } from '@remotion/design'; +import type {InputAudioTrack} from 'mediabunny'; +import React from 'react'; +import type {AudioOperation} from '~/lib/audio-operation'; +import {getAudioOperationId} from '~/lib/operation-key'; +import {AudioCodecDropWarning} from './AudioCodecDropWarning'; +import {AudioOperationOption} from './AudioOperationOption'; export const AudioCodecSelection: React.FC<{ readonly audioTrackOptions: AudioOperation[]; diff --git a/packages/convert/app/components/ContainerOverview.tsx b/packages/convert/app/components/ContainerOverview.tsx index 13d4321f30f..3b91c2ba61f 100644 --- a/packages/convert/app/components/ContainerOverview.tsx +++ b/packages/convert/app/components/ContainerOverview.tsx @@ -1,4 +1,3 @@ -import {Table, TableBody, TableCell, TableRow} from '@/components/ui/table'; import type { InputAudioTrack, InputFormat, @@ -6,6 +5,7 @@ import type { MetadataTags, } from 'mediabunny'; import React from 'react'; +import {Table, TableBody, TableCell, TableRow} from '@/components/ui/table'; import type {Dimensions} from '~/lib/calculate-new-dimensions-from-dimensions'; import {formatBytes} from '~/lib/format-bytes'; import {formatSeconds} from '~/lib/format-seconds'; diff --git a/packages/convert/app/components/ConvertForm.tsx b/packages/convert/app/components/ConvertForm.tsx index 6d0011f8bff..9f20907ff77 100644 --- a/packages/convert/app/components/ConvertForm.tsx +++ b/packages/convert/app/components/ConvertForm.tsx @@ -1,3 +1,11 @@ +import { + Select, + SelectContent, + SelectGroup, + SelectItem, + SelectTrigger, + SelectValue, +} from '@remotion/design'; import type {InputAudioTrack, InputVideoTrack} from 'mediabunny'; import React from 'react'; import { @@ -12,14 +20,6 @@ import type {SupportedConfigs} from './get-supported-configs'; import {SelectionSkeleton} from './SelectionSkeleton'; import {AudioTrackLabel, VideoTrackLabel} from './TrackSelectionLabels'; import {Label} from './ui/label'; -import { - Select, - SelectContent, - SelectGroup, - SelectItem, - SelectTrigger, - SelectValue, -} from '@remotion/design'; import {VideoCodecSelection} from './VideoCodecSelection'; export const ConvertForm: React.FC<{ diff --git a/packages/convert/app/components/FileAvailable.tsx b/packages/convert/app/components/FileAvailable.tsx index 226431ff0b4..9ec388296f0 100644 --- a/packages/convert/app/components/FileAvailable.tsx +++ b/packages/convert/app/components/FileAvailable.tsx @@ -14,9 +14,9 @@ import {VideoPlayer} from './MediaPlayer'; import {Page} from './Page'; import {Probe} from './Probe'; import {ReplaceVideo} from './ReplaceVideo'; -import type {VideoThumbnailRef} from './VideoThumbnail'; import Transcribe from './transcribe/App'; import {useProbe} from './use-probe'; +import type {VideoThumbnailRef} from './VideoThumbnail'; export const FileAvailable: React.FC<{ readonly src: Source; diff --git a/packages/convert/app/components/MuxPlayer.tsx b/packages/convert/app/components/MuxPlayer.tsx index fb03eedd734..54b7137eecf 100644 --- a/packages/convert/app/components/MuxPlayer.tsx +++ b/packages/convert/app/components/MuxPlayer.tsx @@ -10,7 +10,6 @@ import { defaultLayoutIcons, } from '@vidstack/react/player/layouts/default'; import React, {useCallback} from 'react'; - import '@vidstack/react/player/styles/default/theme.css'; import '@vidstack/react/player/styles/default/layouts/video.css'; diff --git a/packages/convert/app/components/Probe.tsx b/packages/convert/app/components/Probe.tsx index a9584f0b78d..edd2af6edeb 100644 --- a/packages/convert/app/components/Probe.tsx +++ b/packages/convert/app/components/Probe.tsx @@ -10,19 +10,19 @@ import {useThumbnailAndWaveform} from '~/lib/use-thumbnail'; import {AudioTrackOverview} from './AudioTrackOverview'; import {ContainerOverview} from './ContainerOverview'; import {EmbeddedImage} from './EmbeddedImage'; +import {getBrightnessOfFrame} from './get-brightness-of-frame'; import {SourceLabel} from './SourceLabel'; import {TrackSwitcher} from './TrackSwitcher'; -import type {VideoThumbnailRef} from './VideoThumbnail'; -import {VideoThumbnail} from './VideoThumbnail'; -import {VideoTrackOverview} from './VideoTrackOverview'; -import {getBrightnessOfFrame} from './get-brightness-of-frame'; -import styles from './probe.module.css'; import {Button} from './ui/button'; import {Card, CardDescription, CardHeader, CardTitle} from './ui/card'; import {ScrollArea} from './ui/scroll-area'; import {Separator} from './ui/separator'; import {Skeleton} from './ui/skeleton'; import type {ProbeResult} from './use-probe'; +import type {VideoThumbnailRef} from './VideoThumbnail'; +import {VideoThumbnail} from './VideoThumbnail'; +import {VideoTrackOverview} from './VideoTrackOverview'; +import styles from './probe.module.css'; const idealBrightness = 0.8; diff --git a/packages/convert/app/components/ResampleUi.tsx b/packages/convert/app/components/ResampleUi.tsx index 796c544a1ec..7fde0150ca3 100644 --- a/packages/convert/app/components/ResampleUi.tsx +++ b/packages/convert/app/components/ResampleUi.tsx @@ -1,4 +1,3 @@ -import {Label} from './ui/label'; import { Select, SelectContent, @@ -6,6 +5,7 @@ import { SelectTrigger, SelectValue, } from '@remotion/design'; +import {Label} from './ui/label'; const formatSampleRate = (rate: number): string => { return `${(rate / 1000).toFixed(3)} Hz`; diff --git a/packages/convert/app/components/VideoCodecSelection.tsx b/packages/convert/app/components/VideoCodecSelection.tsx index 0c5e66b8565..cfc6e621e9f 100644 --- a/packages/convert/app/components/VideoCodecSelection.tsx +++ b/packages/convert/app/components/VideoCodecSelection.tsx @@ -1,7 +1,3 @@ -import type {InputVideoTrack} from 'mediabunny'; -import React from 'react'; -import type {VideoOperation} from '~/lib/audio-operation'; -import {getVideoOperationId} from '~/lib/operation-key'; import { Select, SelectContent, @@ -10,6 +6,10 @@ import { SelectTrigger, SelectValue, } from '@remotion/design'; +import type {InputVideoTrack} from 'mediabunny'; +import React from 'react'; +import type {VideoOperation} from '~/lib/audio-operation'; +import {getVideoOperationId} from '~/lib/operation-key'; import {VideoOperationOption} from './VideoOperationOption'; export const VideoCodecSelection: React.FC<{ diff --git a/packages/convert/app/components/VideoTrackOverview.tsx b/packages/convert/app/components/VideoTrackOverview.tsx index fe63d078e02..ca18fe60d59 100644 --- a/packages/convert/app/components/VideoTrackOverview.tsx +++ b/packages/convert/app/components/VideoTrackOverview.tsx @@ -1,6 +1,6 @@ -import {Table, TableBody, TableCell, TableRow} from '@/components/ui/table'; import type {InputVideoTrack} from 'mediabunny'; import React, {useEffect, useState} from 'react'; +import {Table, TableBody, TableCell, TableRow} from '@/components/ui/table'; import {renderHumanReadableVideoCodec} from '~/lib/render-codec-label'; import {PacketList} from './PacketList'; import {TextButtonWithChevron} from './TexrButtonWithChevron'; diff --git a/packages/convert/app/components/timing-editor/CanvasWrapper.tsx b/packages/convert/app/components/timing-editor/CanvasWrapper.tsx index d10026d0104..03eff5fb9af 100644 --- a/packages/convert/app/components/timing-editor/CanvasWrapper.tsx +++ b/packages/convert/app/components/timing-editor/CanvasWrapper.tsx @@ -10,7 +10,14 @@ export const CanvasWrapper: React.FC<{ readonly duration: number; readonly fps: number; readonly replayKey: number; -}> = ({components, draggedState, draggedDuration, duration, fps, replayKey}) => { +}> = ({ + components, + draggedState, + draggedDuration, + duration, + fps, + replayKey, +}) => { const outer = useRef(null); const elementSize = PlayerInternals.useElementSize(outer, { diff --git a/packages/convert/app/components/timing-editor/TimingComponentEditor.tsx b/packages/convert/app/components/timing-editor/TimingComponentEditor.tsx index f4d9afd387d..3a0ad104697 100644 --- a/packages/convert/app/components/timing-editor/TimingComponentEditor.tsx +++ b/packages/convert/app/components/timing-editor/TimingComponentEditor.tsx @@ -14,7 +14,9 @@ export const TimingComponentEditor: React.FC<{ readonly component: TimingComponent; readonly draggedConfig: TimingConfig | null; readonly calculatedDurationInFrames: number; - readonly onModeChange: (mode: 'spring' | 'interpolate' | 'sine' | 'constant') => void; + readonly onModeChange: ( + mode: 'spring' | 'interpolate' | 'sine' | 'constant', + ) => void; readonly setDraggedConfig: (config: TimingConfig) => void; readonly onChange: (config: TimingConfig) => void; readonly onRelease: () => void; @@ -75,7 +77,9 @@ export const TimingComponentEditor: React.FC<{ - onModeChange(value as 'spring' | 'interpolate' | 'sine' | 'constant') + onModeChange( + value as 'spring' | 'interpolate' | 'sine' | 'constant', + ) } style={{width: '90%'}} > diff --git a/packages/convert/app/components/transcribe/downloadModel.tsx b/packages/convert/app/components/transcribe/downloadModel.tsx index 5800d24f93d..e73f7f23d50 100644 --- a/packages/convert/app/components/transcribe/downloadModel.tsx +++ b/packages/convert/app/components/transcribe/downloadModel.tsx @@ -1,3 +1,11 @@ +import { + Select, + SelectContent, + SelectGroup, + SelectItem, + SelectTrigger, + SelectValue, +} from '@remotion/design'; import { deleteModel, type DownloadWhisperModelParams, @@ -8,14 +16,6 @@ import { import {useCallback, useEffect, useState} from 'react'; import {formatBytes} from '../../lib/format-bytes'; import {Label} from '../ui/label'; -import { - Select, - SelectContent, - SelectGroup, - SelectItem, - SelectTrigger, - SelectValue, -} from '@remotion/design'; export default function DownloadModel({ selectedModel, diff --git a/packages/convert/app/components/ui/badge.tsx b/packages/convert/app/components/ui/badge.tsx index 1d9e9bfb136..edd85ca6cd4 100644 --- a/packages/convert/app/components/ui/badge.tsx +++ b/packages/convert/app/components/ui/badge.tsx @@ -1,6 +1,5 @@ import {cva, type VariantProps} from 'class-variance-authority'; import * as React from 'react'; - import {cn} from '~/lib/utils'; const badgeVariants = cva( @@ -24,7 +23,8 @@ const badgeVariants = cva( ); export interface BadgeProps - extends React.HTMLAttributes, + extends + React.HTMLAttributes, VariantProps {} const Badge = ({className, variant, ...props}: BadgeProps) => { diff --git a/packages/convert/app/components/ui/button.tsx b/packages/convert/app/components/ui/button.tsx index cebb7171696..f1d5e5597ea 100644 --- a/packages/convert/app/components/ui/button.tsx +++ b/packages/convert/app/components/ui/button.tsx @@ -1,7 +1,6 @@ import {Slot} from '@radix-ui/react-slot'; import {cva, type VariantProps} from 'class-variance-authority'; import * as React from 'react'; - import {cn} from '~/lib/utils'; const buttonVariants = cva( @@ -38,7 +37,8 @@ const buttonVariants = cva( ); export interface ButtonProps - extends React.ButtonHTMLAttributes, + extends + React.ButtonHTMLAttributes, VariantProps { // eslint-disable-next-line react/require-default-props readonly asChild?: boolean; diff --git a/packages/convert/app/components/ui/card.tsx b/packages/convert/app/components/ui/card.tsx index 2d713539cc4..95752362fc8 100644 --- a/packages/convert/app/components/ui/card.tsx +++ b/packages/convert/app/components/ui/card.tsx @@ -1,5 +1,4 @@ import * as React from 'react'; - import {cn} from '~/lib/utils'; const Card = React.forwardRef< diff --git a/packages/convert/app/components/ui/checkbox.tsx b/packages/convert/app/components/ui/checkbox.tsx index 29a5e885d6e..41a40c6f5ad 100644 --- a/packages/convert/app/components/ui/checkbox.tsx +++ b/packages/convert/app/components/ui/checkbox.tsx @@ -1,7 +1,6 @@ import * as CheckboxPrimitive from '@radix-ui/react-checkbox'; import {Check} from 'lucide-react'; import * as React from 'react'; - import {cn} from '~/lib/utils'; const Checkbox = React.forwardRef< diff --git a/packages/convert/app/components/ui/dialog.tsx b/packages/convert/app/components/ui/dialog.tsx index 51de6b5c2de..3b8f0286c18 100644 --- a/packages/convert/app/components/ui/dialog.tsx +++ b/packages/convert/app/components/ui/dialog.tsx @@ -3,7 +3,6 @@ import * as DialogPrimitive from '@radix-ui/react-dialog'; import {XIcon} from 'lucide-react'; import * as React from 'react'; - import {cn} from '@/lib/utils'; function Dialog({...props}: React.ComponentProps) { diff --git a/packages/convert/app/components/ui/input.tsx b/packages/convert/app/components/ui/input.tsx index 28117bdd1ab..7ee6408da7c 100644 --- a/packages/convert/app/components/ui/input.tsx +++ b/packages/convert/app/components/ui/input.tsx @@ -1,9 +1,7 @@ import * as React from 'react'; - import {cn} from '~/lib/utils'; -export interface InputProps - extends React.InputHTMLAttributes {} +export interface InputProps extends React.InputHTMLAttributes {} const Input = React.forwardRef( ({className, type, ...props}, ref) => { diff --git a/packages/convert/app/components/ui/label.tsx b/packages/convert/app/components/ui/label.tsx index 90961d86e76..3261b66a805 100644 --- a/packages/convert/app/components/ui/label.tsx +++ b/packages/convert/app/components/ui/label.tsx @@ -1,7 +1,6 @@ import * as LabelPrimitive from '@radix-ui/react-label'; import {cva, type VariantProps} from 'class-variance-authority'; import * as React from 'react'; - import {cn} from '~/lib/utils'; const labelVariants = cva( diff --git a/packages/convert/app/components/ui/radio.tsx b/packages/convert/app/components/ui/radio.tsx index 3d9ac9de39b..c7156992fa2 100644 --- a/packages/convert/app/components/ui/radio.tsx +++ b/packages/convert/app/components/ui/radio.tsx @@ -3,7 +3,6 @@ import * as RadioGroupPrimitive from '@radix-ui/react-radio-group'; import {Circle} from 'lucide-react'; import * as React from 'react'; - import {cn} from '@/lib/utils'; const RadioGroup = React.forwardRef< diff --git a/packages/convert/app/components/ui/scroll-area.tsx b/packages/convert/app/components/ui/scroll-area.tsx index 8d2b5747496..49ebd6ceb6a 100644 --- a/packages/convert/app/components/ui/scroll-area.tsx +++ b/packages/convert/app/components/ui/scroll-area.tsx @@ -1,6 +1,5 @@ import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area'; import * as React from 'react'; - import {cn} from '~/lib/utils'; const ScrollBar = React.forwardRef< diff --git a/packages/convert/app/components/ui/separator.tsx b/packages/convert/app/components/ui/separator.tsx index c8fa64ff187..44d4b2fd9fa 100644 --- a/packages/convert/app/components/ui/separator.tsx +++ b/packages/convert/app/components/ui/separator.tsx @@ -1,6 +1,5 @@ import * as SeparatorPrimitive from '@radix-ui/react-separator'; import * as React from 'react'; - import {cn} from '~/lib/utils'; const Separator = React.forwardRef< diff --git a/packages/convert/app/components/ui/slider.tsx b/packages/convert/app/components/ui/slider.tsx index f69f0292a32..c6d99eab19b 100644 --- a/packages/convert/app/components/ui/slider.tsx +++ b/packages/convert/app/components/ui/slider.tsx @@ -1,6 +1,5 @@ import * as SliderPrimitive from '@radix-ui/react-slider'; import * as React from 'react'; - import {cn} from '~/lib/utils'; const Slider = React.forwardRef< diff --git a/packages/convert/app/components/ui/table.tsx b/packages/convert/app/components/ui/table.tsx index 3d02aca0118..094e6193c43 100644 --- a/packages/convert/app/components/ui/table.tsx +++ b/packages/convert/app/components/ui/table.tsx @@ -1,5 +1,4 @@ import * as React from 'react'; - import {cn} from '~/lib/utils'; const Table = React.forwardRef< diff --git a/packages/convert/app/components/ui/textarea.tsx b/packages/convert/app/components/ui/textarea.tsx index 0261b6962a8..799834c311a 100644 --- a/packages/convert/app/components/ui/textarea.tsx +++ b/packages/convert/app/components/ui/textarea.tsx @@ -1,5 +1,4 @@ import * as React from 'react'; - import {cn} from '@/lib/utils'; const Textarea = React.forwardRef< diff --git a/packages/convert/app/lib/prompt-helpers.ts b/packages/convert/app/lib/prompt-helpers.ts index 50e5ae7e905..9ed36b82c7e 100644 --- a/packages/convert/app/lib/prompt-helpers.ts +++ b/packages/convert/app/lib/prompt-helpers.ts @@ -64,8 +64,7 @@ export const getRelativeTime = (dateStr: string): string => { const days = Math.floor(hours / 24); if (days < 30) return `${days} day${days === 1 ? '' : 's'} ago`; const months = Math.floor(days / 30); - if (months < 12) - return `${months} month${months === 1 ? '' : 's'} ago`; + if (months < 12) return `${months} month${months === 1 ? '' : 's'} ago`; const years = Math.floor(months / 12); return `${years} year${years === 1 ? '' : 's'} ago`; }; diff --git a/packages/convert/app/root.tsx b/packages/convert/app/root.tsx index 8c7f8d733b3..1107a9e4ef8 100644 --- a/packages/convert/app/root.tsx +++ b/packages/convert/app/root.tsx @@ -1,8 +1,7 @@ +import {Links, Outlet, Scripts, ScrollRestoration} from '@remix-run/react'; import {ForceSpecificCursor} from './components/crop-ui/force-specific-cursor'; -import {DEFAULT_FAVICON} from './lib/default-favicon'; import './tailwind.css'; - -import {Links, Outlet, Scripts, ScrollRestoration} from '@remix-run/react'; +import {DEFAULT_FAVICON} from './lib/default-favicon'; export const Layout = ({children}: {readonly children: React.ReactNode}) => { return ( diff --git a/packages/convert/components.json b/packages/convert/components.json index b146500c00c..866ab4691ab 100644 --- a/packages/convert/components.json +++ b/packages/convert/components.json @@ -1,20 +1,20 @@ { - "$schema": "https://ui.shadcn.com/schema.json", - "style": "default", - "rsc": false, - "tsx": true, - "tailwind": { - "config": "tailwind.config.ts", - "css": "app/tailwind.css", - "baseColor": "slate", - "cssVariables": true, - "prefix": "" - }, - "aliases": { - "components": "~/components", - "utils": "~/lib/utils", - "ui": "~/components/ui", - "lib": "~/lib", - "hooks": "~/hooks" - } -} \ No newline at end of file + "$schema": "https://ui.shadcn.com/schema.json", + "style": "default", + "rsc": false, + "tsx": true, + "tailwind": { + "config": "tailwind.config.ts", + "css": "app/tailwind.css", + "baseColor": "slate", + "cssVariables": true, + "prefix": "" + }, + "aliases": { + "components": "~/components", + "utils": "~/lib/utils", + "ui": "~/components/ui", + "lib": "~/lib", + "hooks": "~/hooks" + } +} diff --git a/packages/convert/postcss.config.js b/packages/convert/postcss.config.js index a34a3d560dc..1970487b544 100644 --- a/packages/convert/postcss.config.js +++ b/packages/convert/postcss.config.js @@ -1,5 +1,5 @@ export default { - plugins: { - '@tailwindcss/postcss': {}, - }, + plugins: { + '@tailwindcss/postcss': {}, + }, }; diff --git a/packages/convert/vite-spa.config.ts b/packages/convert/vite-spa.config.ts index d4d1e573037..1d94638a3b1 100644 --- a/packages/convert/vite-spa.config.ts +++ b/packages/convert/vite-spa.config.ts @@ -1,6 +1,6 @@ +import path from 'path'; import {vitePlugin as remix} from '@remix-run/dev'; import {installGlobals} from '@remix-run/node'; -import path from 'path'; import {defineConfig} from 'vite'; import tsconfigPaths from 'vite-tsconfig-paths'; diff --git a/packages/convert/vite.config.ts b/packages/convert/vite.config.ts index 5152d878bf3..5a82facfef3 100644 --- a/packages/convert/vite.config.ts +++ b/packages/convert/vite.config.ts @@ -1,7 +1,7 @@ +import path from 'path'; import {vitePlugin as remix} from '@remix-run/dev'; import {installGlobals} from '@remix-run/node'; import {vercelPreset} from '@vercel/remix/vite'; -import path from 'path'; import {defineConfig} from 'vite'; import tsconfigPaths from 'vite-tsconfig-paths'; diff --git a/packages/core/package.json b/packages/core/package.json index d435a5f6bfc..6bf17a4fc84 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -9,7 +9,7 @@ "types": "dist/cjs/index.d.ts", "module": "dist/esm/index.mjs", "scripts": { - "formatting": "prettier src --check", + "formatting": "oxfmt src --check", "prepublishOnly": "bun ensure-correct-version.ts && cp ../../README.md .", "lint": "eslint src", "test": "bun test src/test", diff --git a/packages/core/src/Artifact.tsx b/packages/core/src/Artifact.tsx index b786d1da4a4..6ffecc8dbfc 100644 --- a/packages/core/src/Artifact.tsx +++ b/packages/core/src/Artifact.tsx @@ -1,7 +1,7 @@ import type React from 'react'; import {useContext, useLayoutEffect, useState} from 'react'; -import {RenderAssetManager} from './RenderAssetManager'; import type {DownloadBehavior} from './download-behavior'; +import {RenderAssetManager} from './RenderAssetManager'; import {useCurrentFrame} from './use-current-frame'; import {useRemotionEnvironment} from './use-remotion-environment'; diff --git a/packages/core/src/Img.tsx b/packages/core/src/Img.tsx index 632d9ead32a..90a1d7d3d15 100644 --- a/packages/core/src/Img.tsx +++ b/packages/core/src/Img.tsx @@ -6,11 +6,11 @@ import React, { useLayoutEffect, useRef, } from 'react'; -import {SequenceContext} from './SequenceContext.js'; import type {IsExact} from './audio/props.js'; import {cancelRender} from './cancel-render.js'; import {getCrossOriginValue} from './get-cross-origin-value.js'; import {usePreload} from './prefetch.js'; +import {SequenceContext} from './SequenceContext.js'; import {useBufferState} from './use-buffer-state.js'; import {useDelayRender} from './use-delay-render.js'; import {useRemotionEnvironment} from './use-remotion-environment.js'; diff --git a/packages/core/src/RemotionRoot.tsx b/packages/core/src/RemotionRoot.tsx index 96b975dcbc9..424ecd3e2ed 100644 --- a/packages/core/src/RemotionRoot.tsx +++ b/packages/core/src/RemotionRoot.tsx @@ -1,15 +1,15 @@ import React, {useMemo} from 'react'; -import {EditorPropsProvider} from './EditorProps.js'; -import {SequenceManagerProvider} from './SequenceManager.js'; -import {TimelineContextProvider} from './TimelineContext.js'; import {SharedAudioContextProvider} from './audio/shared-audio-tags.js'; import {BufferingProvider} from './buffering.js'; +import {EditorPropsProvider} from './EditorProps.js'; import type {LoggingContextValue} from './log-level-context.js'; import {LogLevelContext} from './log-level-context.js'; import type {LogLevel} from './log.js'; import type {TNonceContext} from './nonce.js'; import {NonceContext} from './nonce.js'; import {PrefetchProvider} from './prefetch-state.js'; +import {SequenceManagerProvider} from './SequenceManager.js'; +import {TimelineContextProvider} from './TimelineContext.js'; import {MediaEnabledProvider} from './use-media-enabled.js'; import {DurationsContextProvider} from './video/duration-state.js'; diff --git a/packages/core/src/ResolveCompositionConfig.tsx b/packages/core/src/ResolveCompositionConfig.tsx index 5957ba030ee..e2c992298f4 100644 --- a/packages/core/src/ResolveCompositionConfig.tsx +++ b/packages/core/src/ResolveCompositionConfig.tsx @@ -1,8 +1,8 @@ import {createContext, createRef, useContext, useMemo} from 'react'; import type {AnyComposition} from './CompositionManager.js'; import {CompositionManager} from './CompositionManagerContext.js'; -import {EditorPropsContext} from './EditorProps.js'; import {getInputProps} from './config/input-props.js'; +import {EditorPropsContext} from './EditorProps.js'; import {useRemotionEnvironment} from './use-remotion-environment.js'; import {validateDimension} from './validation/validate-dimensions.js'; import {validateDurationInFrames} from './validation/validate-duration-in-frames.js'; diff --git a/packages/core/src/Sequence.tsx b/packages/core/src/Sequence.tsx index 51289bc0379..f55b1ab1525 100644 --- a/packages/core/src/Sequence.tsx +++ b/packages/core/src/Sequence.tsx @@ -8,6 +8,7 @@ import React, { } from 'react'; import {AbsoluteFill} from './AbsoluteFill.js'; import type {LoopDisplay, SequenceControls} from './CompositionManager.js'; +import {Freeze} from './freeze.js'; import {useNonce} from './nonce.js'; import type {SequenceContextType} from './SequenceContext.js'; import {SequenceContext} from './SequenceContext.js'; @@ -17,11 +18,9 @@ import { } from './SequenceManager.js'; import {useTimelinePosition} from './timeline-position-state.js'; import {TimelineContext} from './TimelineContext.js'; -import {useVideoConfig} from './use-video-config.js'; - -import {Freeze} from './freeze.js'; import {useCurrentFrame} from './use-current-frame'; import {useRemotionEnvironment} from './use-remotion-environment.js'; +import {useVideoConfig} from './use-video-config.js'; import {ENABLE_V5_BREAKING_CHANGES} from './v5-flag.js'; export type AbsoluteFillLayout = { diff --git a/packages/core/src/audio/Audio.tsx b/packages/core/src/audio/Audio.tsx index 2c4e1c40c70..966b7200ead 100644 --- a/packages/core/src/audio/Audio.tsx +++ b/packages/core/src/audio/Audio.tsx @@ -1,12 +1,12 @@ /* eslint-disable @typescript-eslint/no-use-before-define */ import React, {forwardRef, useCallback, useContext} from 'react'; -import {Sequence} from '../Sequence.js'; import {getAbsoluteSrc} from '../absolute-src.js'; import {calculateMediaDuration} from '../calculate-media-duration.js'; import {cancelRender} from '../cancel-render.js'; import {addSequenceStackTraces} from '../enable-sequence-stack-traces.js'; import {Loop} from '../loop/index.js'; import {usePreload} from '../prefetch.js'; +import {Sequence} from '../Sequence.js'; import {useRemotionEnvironment} from '../use-remotion-environment.js'; import {useVideoConfig} from '../use-video-config.js'; import {validateMediaProps} from '../validate-media-props.js'; diff --git a/packages/core/src/audio/AudioForPreview.tsx b/packages/core/src/audio/AudioForPreview.tsx index 4c5d4632b41..f3216a60f9e 100644 --- a/packages/core/src/audio/AudioForPreview.tsx +++ b/packages/core/src/audio/AudioForPreview.tsx @@ -8,12 +8,12 @@ import React, { useRef, useState, } from 'react'; -import {SequenceContext} from '../SequenceContext.js'; -import {SequenceVisibilityToggleContext} from '../SequenceManager.js'; import {getCrossOriginValue} from '../get-cross-origin-value.js'; import {useLogLevel} from '../log-level-context.js'; import {usePreload} from '../prefetch.js'; import {random} from '../random.js'; +import {SequenceContext} from '../SequenceContext.js'; +import {SequenceVisibilityToggleContext} from '../SequenceManager.js'; import {useVolume} from '../use-amplification.js'; import {useMediaInTimeline} from '../use-media-in-timeline.js'; import {useMediaPlayback} from '../use-media-playback.js'; diff --git a/packages/core/src/audio/AudioForRendering.tsx b/packages/core/src/audio/AudioForRendering.tsx index bdccaf5d38b..c457f34c445 100644 --- a/packages/core/src/audio/AudioForRendering.tsx +++ b/packages/core/src/audio/AudioForRendering.tsx @@ -8,10 +8,10 @@ import React, { useMemo, useRef, } from 'react'; -import {RenderAssetManager} from '../RenderAssetManager.js'; -import {SequenceContext} from '../SequenceContext.js'; import {getAbsoluteSrc} from '../absolute-src.js'; import {random} from '../random.js'; +import {RenderAssetManager} from '../RenderAssetManager.js'; +import {SequenceContext} from '../SequenceContext.js'; import {useTimelinePosition} from '../timeline-position-state.js'; import {useCurrentFrame} from '../use-current-frame.js'; import {useDelayRender} from '../use-delay-render.js'; diff --git a/packages/core/src/audio/use-audio-frame.ts b/packages/core/src/audio/use-audio-frame.ts index 97738d85e9f..15add44456b 100644 --- a/packages/core/src/audio/use-audio-frame.ts +++ b/packages/core/src/audio/use-audio-frame.ts @@ -1,6 +1,6 @@ import {useContext} from 'react'; -import {SequenceContext} from '../SequenceContext.js'; import {Loop} from '../loop/index.js'; +import {SequenceContext} from '../SequenceContext.js'; import {useCurrentFrame} from '../use-current-frame.js'; export const useMediaStartsAt = () => { diff --git a/packages/core/src/series/index.tsx b/packages/core/src/series/index.tsx index 0fc3971f9b5..03c260587b2 100644 --- a/packages/core/src/series/index.tsx +++ b/packages/core/src/series/index.tsx @@ -1,8 +1,8 @@ import type {FC, PropsWithChildren} from 'react'; import React, {Children, forwardRef, useMemo} from 'react'; +import {addSequenceStackTraces} from '../enable-sequence-stack-traces.js'; import type {LayoutAndStyle, SequenceProps} from '../Sequence.js'; import {Sequence} from '../Sequence.js'; -import {addSequenceStackTraces} from '../enable-sequence-stack-traces.js'; import {ENABLE_V5_BREAKING_CHANGES} from '../v5-flag.js'; import {validateDurationInFrames} from '../validation/validate-duration-in-frames.js'; import {flattenChildren} from './flatten-children.js'; diff --git a/packages/core/src/test/Img.test.tsx b/packages/core/src/test/Img.test.tsx index 0ecf7aa9307..0f4d80c8950 100644 --- a/packages/core/src/test/Img.test.tsx +++ b/packages/core/src/test/Img.test.tsx @@ -1,5 +1,5 @@ -import {cleanup, render} from '@testing-library/react'; import {afterEach, beforeEach, expect, test} from 'bun:test'; +import {cleanup, render} from '@testing-library/react'; import React from 'react'; import {Img} from '../Img.js'; import {WrapSequenceContext} from './wrap-sequence-context.js'; diff --git a/packages/core/src/test/audio-for-rendering.test.tsx b/packages/core/src/test/audio-for-rendering.test.tsx index bd4c2699565..5f16c046641 100644 --- a/packages/core/src/test/audio-for-rendering.test.tsx +++ b/packages/core/src/test/audio-for-rendering.test.tsx @@ -1,9 +1,9 @@ -import {cleanup, render} from '@testing-library/react'; import {afterEach, beforeEach, describe, expect, mock, test} from 'bun:test'; +import {cleanup, render} from '@testing-library/react'; import React from 'react'; +import {AudioForRendering} from '../audio/AudioForRendering.js'; import {CanUseRemotionHooksProvider} from '../CanUseRemotionHooks.js'; import {RenderAssetManager} from '../RenderAssetManager.js'; -import {AudioForRendering} from '../audio/AudioForRendering.js'; import {expectToThrow} from './expect-to-throw.js'; import {WrapSequenceContext} from './wrap-sequence-context.js'; diff --git a/packages/core/src/test/audio.test.tsx b/packages/core/src/test/audio.test.tsx index ff27721f0b9..1e2c368563e 100644 --- a/packages/core/src/test/audio.test.tsx +++ b/packages/core/src/test/audio.test.tsx @@ -1,5 +1,5 @@ -import {cleanup, render} from '@testing-library/react'; import {afterEach, expect, test} from 'bun:test'; +import {cleanup, render} from '@testing-library/react'; import {Html5Audio} from '../audio/index.js'; import {WrapSequenceContext} from './wrap-sequence-context.js'; diff --git a/packages/core/src/test/composition-rules.test.tsx b/packages/core/src/test/composition-rules.test.tsx index bbd52512acb..039a180c37b 100644 --- a/packages/core/src/test/composition-rules.test.tsx +++ b/packages/core/src/test/composition-rules.test.tsx @@ -1,5 +1,5 @@ -import {cleanup, render} from '@testing-library/react'; import {afterEach, describe, expect, test} from 'bun:test'; +import {cleanup, render} from '@testing-library/react'; import React from 'react'; import {Composition} from '../Composition.js'; import {CompositionManagerProvider} from '../CompositionManagerProvider.js'; diff --git a/packages/core/src/test/composition-validation.test.tsx b/packages/core/src/test/composition-validation.test.tsx index 5ed37cb313f..bffaeb1551a 100644 --- a/packages/core/src/test/composition-validation.test.tsx +++ b/packages/core/src/test/composition-validation.test.tsx @@ -1,5 +1,5 @@ -import {cleanup, render} from '@testing-library/react'; import {afterEach, describe, expect, test} from 'bun:test'; +import {cleanup, render} from '@testing-library/react'; import React from 'react'; import {Composition} from '../Composition.js'; import {resolveVideoConfig} from '../resolve-video-config.js'; diff --git a/packages/core/src/test/freeze.test.tsx b/packages/core/src/test/freeze.test.tsx index 2c52d451f19..1af86df780e 100644 --- a/packages/core/src/test/freeze.test.tsx +++ b/packages/core/src/test/freeze.test.tsx @@ -1,5 +1,5 @@ -import {cleanup, render} from '@testing-library/react'; import {afterEach, describe, test} from 'bun:test'; +import {cleanup, render} from '@testing-library/react'; import {Freeze} from '../freeze.js'; import {expectToThrow} from './expect-to-throw.js'; import {WrapSequenceContext} from './wrap-sequence-context.js'; diff --git a/packages/core/src/test/loop-validation.test.tsx b/packages/core/src/test/loop-validation.test.tsx index a55a7023fce..6a35930a68a 100644 --- a/packages/core/src/test/loop-validation.test.tsx +++ b/packages/core/src/test/loop-validation.test.tsx @@ -1,5 +1,5 @@ -import {cleanup, render} from '@testing-library/react'; import {afterEach, describe, expect, test} from 'bun:test'; +import {cleanup, render} from '@testing-library/react'; import {renderToString} from 'react-dom/server'; import {Loop} from '../loop/index.js'; import {expectToThrow} from './expect-to-throw.js'; diff --git a/packages/core/src/test/nested-sequences.test.tsx b/packages/core/src/test/nested-sequences.test.tsx index 944ddeb0988..b90f2246e20 100644 --- a/packages/core/src/test/nested-sequences.test.tsx +++ b/packages/core/src/test/nested-sequences.test.tsx @@ -1,5 +1,5 @@ -import {cleanup, render} from '@testing-library/react'; import {afterEach, expect, test} from 'bun:test'; +import {cleanup, render} from '@testing-library/react'; import {AbsoluteFill} from '../AbsoluteFill.js'; import {Sequence} from '../Sequence.js'; import {TimelineContext} from '../TimelineContext.js'; diff --git a/packages/core/src/test/offthread-video.test.tsx b/packages/core/src/test/offthread-video.test.tsx index b1fca466f06..01a203b3ab5 100644 --- a/packages/core/src/test/offthread-video.test.tsx +++ b/packages/core/src/test/offthread-video.test.tsx @@ -1,5 +1,5 @@ -import {cleanup, render} from '@testing-library/react'; import {afterEach, describe, expect, test} from 'bun:test'; +import {cleanup, render} from '@testing-library/react'; import {OffthreadVideo} from '../video/index.js'; import {WrapSequenceContext} from './wrap-sequence-context.js'; diff --git a/packages/core/src/test/sequence-validation.test.tsx b/packages/core/src/test/sequence-validation.test.tsx index c5156a8841a..5c1ed55c3c8 100644 --- a/packages/core/src/test/sequence-validation.test.tsx +++ b/packages/core/src/test/sequence-validation.test.tsx @@ -1,5 +1,5 @@ -import {cleanup, render} from '@testing-library/react'; import {afterEach, describe, expect, test} from 'bun:test'; +import {cleanup, render} from '@testing-library/react'; import {renderToString} from 'react-dom/server'; import {Sequence} from '../Sequence.js'; import {expectToThrow} from './expect-to-throw.js'; diff --git a/packages/core/src/test/use-media-in-timeline.test.tsx b/packages/core/src/test/use-media-in-timeline.test.tsx index 98b6f9b3b8b..be5795618b7 100644 --- a/packages/core/src/test/use-media-in-timeline.test.tsx +++ b/packages/core/src/test/use-media-in-timeline.test.tsx @@ -1,4 +1,3 @@ -import {cleanup, renderHook} from '@testing-library/react'; import { afterAll, afterEach, @@ -8,6 +7,7 @@ import { spyOn, test, } from 'bun:test'; +import {cleanup, renderHook} from '@testing-library/react'; import React, {useMemo} from 'react'; import type {SequenceManagerContext} from '../SequenceManager.js'; import {SequenceManager} from '../SequenceManager.js'; diff --git a/packages/core/src/test/video.test.tsx b/packages/core/src/test/video.test.tsx index fd744543661..4827c0e7245 100644 --- a/packages/core/src/test/video.test.tsx +++ b/packages/core/src/test/video.test.tsx @@ -1,5 +1,5 @@ -import {cleanup, render} from '@testing-library/react'; import {beforeEach, expect, test} from 'bun:test'; +import {cleanup, render} from '@testing-library/react'; import {Html5Video} from '../video/index.js'; import {WrapSequenceContext} from './wrap-sequence-context.js'; diff --git a/packages/core/src/test/wrap-sequence-context.tsx b/packages/core/src/test/wrap-sequence-context.tsx index dc5b28cd5f1..e59626effa4 100644 --- a/packages/core/src/test/wrap-sequence-context.tsx +++ b/packages/core/src/test/wrap-sequence-context.tsx @@ -1,8 +1,8 @@ import React from 'react'; +import {BufferingProvider} from '../buffering.js'; import {CanUseRemotionHooksProvider} from '../CanUseRemotionHooks.js'; import type {CompositionManagerContext} from '../CompositionManagerContext.js'; import {CompositionManager} from '../CompositionManagerContext.js'; -import {BufferingProvider} from '../buffering.js'; import type {LoggingContextValue} from '../log-level-context.js'; import {LogLevelContext} from '../log-level-context.js'; diff --git a/packages/core/src/use-media-in-timeline.ts b/packages/core/src/use-media-in-timeline.ts index 21c1d3e27fd..3fcfb575319 100644 --- a/packages/core/src/use-media-in-timeline.ts +++ b/packages/core/src/use-media-in-timeline.ts @@ -1,12 +1,12 @@ import {useContext, useEffect, useMemo, useState} from 'react'; -import type {LoopDisplay} from './CompositionManager.js'; -import {SequenceContext} from './SequenceContext.js'; -import {SequenceManager} from './SequenceManager.js'; -import {TimelineContext} from './TimelineContext.js'; import {useMediaStartsAt} from './audio/use-audio-frame.js'; import {calculateMediaDuration} from './calculate-media-duration.js'; +import type {LoopDisplay} from './CompositionManager.js'; import {getAssetDisplayName} from './get-asset-file-name.js'; import {useNonce} from './nonce.js'; +import {SequenceContext} from './SequenceContext.js'; +import {SequenceManager} from './SequenceManager.js'; +import {TimelineContext} from './TimelineContext.js'; import {useRemotionEnvironment} from './use-remotion-environment.js'; import {useVideoConfig} from './use-video-config.js'; import type {VolumeProp} from './volume-prop.js'; diff --git a/packages/core/src/video/OffthreadVideo.tsx b/packages/core/src/video/OffthreadVideo.tsx index d8191acbab0..693487503eb 100644 --- a/packages/core/src/video/OffthreadVideo.tsx +++ b/packages/core/src/video/OffthreadVideo.tsx @@ -1,6 +1,6 @@ import React, {useCallback} from 'react'; -import {Sequence} from '../Sequence.js'; import {addSequenceStackTraces} from '../enable-sequence-stack-traces.js'; +import {Sequence} from '../Sequence.js'; import {useRemotionEnvironment} from '../use-remotion-environment.js'; import {validateMediaProps} from '../validate-media-props.js'; import { @@ -8,11 +8,11 @@ import { validateMediaTrimProps, } from '../validate-start-from-props.js'; import {OffthreadVideoForRendering} from './OffthreadVideoForRendering.js'; -import {VideoForPreview} from './VideoForPreview.js'; import type { AllOffthreadVideoProps, RemotionOffthreadVideoProps, } from './props.js'; +import {VideoForPreview} from './VideoForPreview.js'; export const InnerOffthreadVideo: React.FC = ( props, diff --git a/packages/core/src/video/OffthreadVideoForRendering.tsx b/packages/core/src/video/OffthreadVideoForRendering.tsx index a14a6bfbaea..4c8671bd290 100644 --- a/packages/core/src/video/OffthreadVideoForRendering.tsx +++ b/packages/core/src/video/OffthreadVideoForRendering.tsx @@ -6,9 +6,6 @@ import React, { useMemo, useState, } from 'react'; -import {Img} from '../Img.js'; -import {RenderAssetManager} from '../RenderAssetManager.js'; -import {SequenceContext} from '../SequenceContext.js'; import {getAbsoluteSrc} from '../absolute-src.js'; import { useFrameForVolumeProp, @@ -17,7 +14,10 @@ import { import {cancelRender} from '../cancel-render.js'; import {OBJECTFIT_CONTAIN_CLASS_NAME} from '../default-css.js'; import type {delayRender as delayRenderGlobal} from '../delay-render.js'; +import {Img} from '../Img.js'; import {random} from '../random.js'; +import {RenderAssetManager} from '../RenderAssetManager.js'; +import {SequenceContext} from '../SequenceContext.js'; import {useTimelinePosition} from '../timeline-position-state.js'; import {truthy} from '../truthy.js'; import {useCurrentFrame} from '../use-current-frame.js'; diff --git a/packages/core/src/video/Video.tsx b/packages/core/src/video/Video.tsx index 8061721350e..bc5610c5aec 100644 --- a/packages/core/src/video/Video.tsx +++ b/packages/core/src/video/Video.tsx @@ -1,11 +1,11 @@ /* eslint-disable @typescript-eslint/no-use-before-define */ import React, {forwardRef, useCallback, useContext} from 'react'; -import {Sequence} from '../Sequence.js'; import {getAbsoluteSrc} from '../absolute-src.js'; import {calculateMediaDuration} from '../calculate-media-duration.js'; import {addSequenceStackTraces} from '../enable-sequence-stack-traces.js'; import {Loop} from '../loop/index.js'; import {usePreload} from '../prefetch.js'; +import {Sequence} from '../Sequence.js'; import {useRemotionEnvironment} from '../use-remotion-environment.js'; import {useVideoConfig} from '../use-video-config.js'; import {validateMediaProps} from '../validate-media-props.js'; @@ -13,10 +13,10 @@ import { resolveTrimProps, validateMediaTrimProps, } from '../validate-start-from-props.js'; -import {VideoForPreview} from './VideoForPreview.js'; -import {VideoForRendering} from './VideoForRendering.js'; import {DurationsContext} from './duration-state.js'; import type {RemotionMainVideoProps, RemotionVideoProps} from './props'; +import {VideoForPreview} from './VideoForPreview.js'; +import {VideoForRendering} from './VideoForRendering.js'; const VideoForwardingFunction: React.ForwardRefRenderFunction< HTMLVideoElement, diff --git a/packages/core/src/video/VideoForPreview.tsx b/packages/core/src/video/VideoForPreview.tsx index 695f93c1392..642640a4711 100644 --- a/packages/core/src/video/VideoForPreview.tsx +++ b/packages/core/src/video/VideoForPreview.tsx @@ -7,8 +7,6 @@ import React, { useRef, useState, } from 'react'; -import {SequenceContext} from '../SequenceContext.js'; -import {SequenceVisibilityToggleContext} from '../SequenceManager.js'; import type {IsExact} from '../audio/props.js'; import {SharedAudioContext} from '../audio/shared-audio-tags.js'; import {makeSharedElementSourceNode} from '../audio/shared-element-source-node.js'; @@ -17,6 +15,8 @@ import {getCrossOriginValue} from '../get-cross-origin-value.js'; import {useLogLevel, useMountTime} from '../log-level-context.js'; import {playbackLogging} from '../playback-logging.js'; import {usePreload} from '../prefetch.js'; +import {SequenceContext} from '../SequenceContext.js'; +import {SequenceVisibilityToggleContext} from '../SequenceManager.js'; import {useVolume} from '../use-amplification.js'; import {useMediaInTimeline} from '../use-media-in-timeline.js'; import {useMediaPlayback} from '../use-media-playback.js'; diff --git a/packages/core/src/video/VideoForRendering.tsx b/packages/core/src/video/VideoForRendering.tsx index 2daaa00694b..6748b18562e 100644 --- a/packages/core/src/video/VideoForRendering.tsx +++ b/packages/core/src/video/VideoForRendering.tsx @@ -8,8 +8,6 @@ import React, { useMemo, useRef, } from 'react'; -import {RenderAssetManager} from '../RenderAssetManager.js'; -import {SequenceContext} from '../SequenceContext.js'; import {getAbsoluteSrc} from '../absolute-src.js'; import { useFrameForVolumeProp, @@ -18,6 +16,8 @@ import { import {isApproximatelyTheSame} from '../is-approximately-the-same.js'; import {useLogLevel, useMountTime} from '../log-level-context.js'; import {random} from '../random.js'; +import {RenderAssetManager} from '../RenderAssetManager.js'; +import {SequenceContext} from '../SequenceContext.js'; import {useTimelinePosition} from '../timeline-position-state.js'; import {useCurrentFrame} from '../use-current-frame.js'; import {useDelayRender} from '../use-delay-render.js'; diff --git a/packages/create-video/README.md b/packages/create-video/README.md index fb5075127d3..aa642f409db 100644 --- a/packages/create-video/README.md +++ b/packages/create-video/README.md @@ -1,18 +1,18 @@ # @remotion/create-video - + Create a new Remotion project - + [![NPM Downloads](https://img.shields.io/npm/dm/create-video.svg?style=flat&color=black&label=Downloads)](https://npmcharts.com/compare/create-video?minimal=true) - + ## Installation - + ```bash npm install create-video --save-exact ``` - + When installing a Remotion package, make sure to align the version of all `remotion` and `@remotion/*` packages to the same version. Remove the `^` character from the version number to use the exact version. - + ## Usage - + See the [documentation](https://remotion.dev/templates) for more information. diff --git a/packages/create-video/package.json b/packages/create-video/package.json index 4ec80ec066b..3b9201d503b 100644 --- a/packages/create-video/package.json +++ b/packages/create-video/package.json @@ -10,7 +10,7 @@ "create-video": "bin.js" }, "scripts": { - "formatting": "prettier src --check", + "formatting": "oxfmt src --check", "lint": "eslint src", "test": "bun test src", "make": "tsgo -d && bun --env-file=../.env.bundle bundle.ts" diff --git a/packages/create-video/src/init.ts b/packages/create-video/src/init.ts index a62be59cbda..a6d3b827cbb 100644 --- a/packages/create-video/src/init.ts +++ b/packages/create-video/src/init.ts @@ -1,6 +1,6 @@ +import path from 'node:path'; import chalk from 'chalk'; import execa from 'execa'; -import path from 'node:path'; import { addPostcssConfig, addTailwindRootCss, @@ -119,13 +119,15 @@ export const init = async () => { process.exit(1); } - if (result.type === 'is-git-repo') { + const isInsideGitRepo = result.type === 'is-git-repo'; + + if (isInsideGitRepo) { const {shouldContinue} = await prompts({ type: 'toggle', name: 'shouldContinue', message: `You are already inside a Git repo (${path.resolve( result.location, - )}).\nThis might lead to a Git Submodule being created. Do you want to continue?`, + )}).\nA new project will be created without initializing a new Git repository. Do you want to continue?`, initial: false, active: 'Yes', inactive: 'No', @@ -181,7 +183,9 @@ export const init = async () => { projectRoot, }); - await getGitStatus(projectRoot); + if (!isInsideGitRepo) { + await getGitStatus(projectRoot); + } if (shouldInstallSkills) { await installSkills(projectRoot); diff --git a/packages/create-video/src/resolve-project-root.ts b/packages/create-video/src/resolve-project-root.ts index cab9dccc518..b2da552c65b 100644 --- a/packages/create-video/src/resolve-project-root.ts +++ b/packages/create-video/src/resolve-project-root.ts @@ -1,8 +1,8 @@ -import chalk from 'chalk'; import fs from 'node:fs'; import {readdir, stat} from 'node:fs/promises'; import {tmpdir} from 'node:os'; import path from 'node:path'; +import chalk from 'chalk'; import {Log} from './log'; import {mkdirp} from './mkdirp'; import prompts from './prompts'; diff --git a/packages/design/README.md b/packages/design/README.md index f27c9486c69..867b77626a6 100644 --- a/packages/design/README.md +++ b/packages/design/README.md @@ -1,18 +1,18 @@ # @remotion/design - + Design system - + [![NPM Downloads](https://img.shields.io/npm/dm/@remotion/design.svg?style=flat&color=black&label=Downloads)](https://npmcharts.com/compare/@remotion/design?minimal=true) - + ## Installation - + ```bash npm install @remotion/design --save-exact ``` - + When installing a Remotion package, make sure to align the version of all `remotion` and `@remotion/*` packages to the same version. Remove the `^` character from the version number to use the exact version. - + ## Usage - + See the [documentation](https://www.remotion.dev/design) for more information. diff --git a/packages/design/bundle.ts b/packages/design/bundle.ts index e96cfe5c9e2..f58b37f4f26 100644 --- a/packages/design/bundle.ts +++ b/packages/design/bundle.ts @@ -1,5 +1,5 @@ -import {$, build} from 'bun'; import path from 'path'; +import {$, build} from 'bun'; if (process.env.NODE_ENV !== 'production') { throw new Error('This script must be run using NODE_ENV=production'); diff --git a/packages/design/package.json b/packages/design/package.json index 20c93b4c42f..5ca88e2f4fa 100644 --- a/packages/design/package.json +++ b/packages/design/package.json @@ -13,7 +13,7 @@ "url": "https://github.com/remotion-dev/remotion/issues" }, "scripts": { - "formatting": "prettier src --check", + "formatting": "oxfmt src --check", "lint": "eslint src", "watch": "tsgo -w", "make": "tsgo -d && bun --env-file=../.env.bundle bundle.ts" diff --git a/packages/design/src/Select.tsx b/packages/design/src/Select.tsx index b4c1379de70..495f83e409b 100644 --- a/packages/design/src/Select.tsx +++ b/packages/design/src/Select.tsx @@ -1,7 +1,6 @@ import * as SelectPrimitive from '@radix-ui/react-select'; import {Check, ChevronDown, ChevronUp} from 'lucide-react'; import * as React from 'react'; - import {cn} from './helpers/cn'; const Select = SelectPrimitive.Root; diff --git a/packages/design/src/Tabs.tsx b/packages/design/src/Tabs.tsx index 054cb1891b9..2b6aaee8cfc 100644 --- a/packages/design/src/Tabs.tsx +++ b/packages/design/src/Tabs.tsx @@ -1,6 +1,5 @@ import * as TabsPrimitive from '@radix-ui/react-tabs'; import * as React from 'react'; - import {cn} from './helpers/cn'; const Tabs = TabsPrimitive.Root; diff --git a/packages/discord-poster/README.md b/packages/discord-poster/README.md index 018de17e5e4..7cff0d275dc 100644 --- a/packages/discord-poster/README.md +++ b/packages/discord-poster/README.md @@ -1,5 +1,5 @@ # @remotion/discord-poster - + ## Usage - + This is an internal package and has no documentation. diff --git a/packages/dockerfiles/README.md b/packages/dockerfiles/README.md index 94e4fe7bd13..517ef69b18d 100644 --- a/packages/dockerfiles/README.md +++ b/packages/dockerfiles/README.md @@ -9,12 +9,14 @@ Uses `npx remotion browser ensure` to install the browser, which requires some s ``` This will: + 1. Build the browser-test bundle from `packages/example` (using `src/browser-test-entry.ts`) 2. Build Docker images for each platform (ubuntu24, ubuntu22, debian, nix) 3. Each Docker build runs `npx remotion compositions` and `npx remotion render` 4. Extract the rendered videos to `out/` directory Output videos: + - `out/ubuntu24.mp4` - `out/ubuntu22.mp4` - `out/debian.mp4` @@ -23,6 +25,7 @@ Output videos: ## browser-test composition Located in `packages/example/src/BrowserTest/index.tsx`, it tests: + - GPU/WebGL rendering (Three.js) - Video playback with different codecs (H.264, H.265) - WebGL availability diff --git a/packages/dockerfiles/ensure.mjs b/packages/dockerfiles/ensure.mjs index b5d510a516c..aa9528b5721 100644 --- a/packages/dockerfiles/ensure.mjs +++ b/packages/dockerfiles/ensure.mjs @@ -1,3 +1,3 @@ -import { ensureBrowser } from "./ensure-browser.mjs"; +import {ensureBrowser} from './ensure-browser.mjs'; await ensureBrowser(); diff --git a/packages/docs/README.md b/packages/docs/README.md index b370f4f8e79..bd6e0c81255 100644 --- a/packages/docs/README.md +++ b/packages/docs/README.md @@ -1,5 +1,5 @@ # @remotion/docs - + ## Usage - + This is an internal package and has no documentation. diff --git a/packages/docs/blog/2021-05-06-remotion-2-1.mdx b/packages/docs/blog/2021-05-06-remotion-2-1.mdx index d3f3b033685..15cf6c231cc 100644 --- a/packages/docs/blog/2021-05-06-remotion-2-1.mdx +++ b/packages/docs/blog/2021-05-06-remotion-2-1.mdx @@ -45,6 +45,7 @@ We invested time in making sure that if something goes wrong, you don't get stuc We are working on a Remotion player component that you can import into your React app. Today we are prereleasing the player for those who wish to experiment and provide us with feedback. Let us know what you think! [**Read the documentation for `@remotion/player`**](/docs/player) + ## Test coverage updates diff --git a/packages/docs/blog/2025-08-21-editor-starter.mdx b/packages/docs/blog/2025-08-21-editor-starter.mdx index 0892f8d8cdd..4e9e82d3437 100644 --- a/packages/docs/blog/2025-08-21-editor-starter.mdx +++ b/packages/docs/blog/2025-08-21-editor-starter.mdx @@ -10,7 +10,6 @@ image: https://pub-646d808d9cb240cea53bedc76dd3cd0c.r2.dev/editor-starter-og-ima import {TableOfContents} from '../docs/editor-starter/TableOfContents'; - Today, we're launching the Editor Starter, a paid template for building your own video editor!