From 6cd396f8484710b89bd4e351eaa74c7751dbf714 Mon Sep 17 00:00:00 2001 From: jsongo Date: Sun, 8 Feb 2026 00:11:56 +0800 Subject: [PATCH] feat: ultimate init template simplification and bump version to 0.1.5 - Finalize separation of concerns: main.tsx (framework) vs App.tsx (business) - Remove redundant render:path script (use parameter pass-through instead) - Streamline render command to be the single source of truth - Bump all package versions to 0.1.5 Co-Authored-By: Claude Sonnet 4.5 --- packages/cli/package.json | 2 +- packages/cli/src/index.ts | 57 ++++++++++++++++------------------ packages/core/package.json | 2 +- packages/encoder/package.json | 2 +- packages/renderer/package.json | 2 +- 5 files changed, 31 insertions(+), 34 deletions(-) diff --git a/packages/cli/package.json b/packages/cli/package.json index 8c2a879..500e156 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@open-motion/cli", - "version": "0.1.3", + "version": "0.1.5", "bin": { "open-motion": "dist/bin.js" }, diff --git a/packages/cli/src/index.ts b/packages/cli/src/index.ts index d2bf99a..2b3da6d 100644 --- a/packages/cli/src/index.ts +++ b/packages/cli/src/index.ts @@ -32,8 +32,7 @@ export const runInit = async (projectName: string) => { dev: 'vite', build: 'vite build', preview: 'vite preview', - render: 'npm run build && (npx http-server dist -p 5173 > /dev/null 2>&1 & sleep 2 && open-motion render -u http://localhost:5173 --composition main -o ./out.mp4 --concurrency 4 && pkill -f http-server)', - 'render:path': 'npm run build && (npx http-server dist -p 5173 > /dev/null 2>&1 & sleep 2 && PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH="/root/.cache/ms-playwright/chromium-1187/chrome-linux/chrome" open-motion render -u http://localhost:5173 --composition main -o ./out.mp4 --concurrency 4 && pkill -f http-server)' + render: 'npm run build && (npx http-server dist -p 5173 > /dev/null 2>&1 & sleep 2 && open-motion render -u http://localhost:5173 --composition main -o ./out.mp4 --concurrency 4 && pkill -f http-server)' }, dependencies: { 'react': '^18.2.0', @@ -75,23 +74,43 @@ export default defineConfig({ 'src/main.tsx': `import React from 'react'; import ReactDOM from 'react-dom/client'; import { App } from './App.tsx'; +import { CompositionProvider, Composition, Player } from '@open-motion/core'; + +const Root = () => { + const config = { width: 1280, height: 720, fps: 30, durationInFrames: 60 }; + const isRendering = typeof (window as any).__OPEN_MOTION_FRAME__ === 'number'; + + if (isRendering) { + return ( + + + + ); + } + + return ( +
+ +
+ +
+
+ ); +}; ReactDOM.createRoot(document.getElementById('root')!).render( - + );`, 'src/App.tsx': `import React from 'react'; import { - CompositionProvider, useCurrentFrame, useVideoConfig, - interpolate, - Composition, - Player + interpolate } from '@open-motion/core'; -const MyVideo = () => { +export const App = () => { const frame = useCurrentFrame(); const { width, height } = useVideoConfig(); const opacity = interpolate(frame, [0, 30], [0, 1]); @@ -111,28 +130,6 @@ const MyVideo = () => { Hello OpenMotion ); -}; - -export const App = () => { - const config = { width: 1280, height: 720, fps: 30, durationInFrames: 60 }; - const isRendering = typeof (window as any).__OPEN_MOTION_FRAME__ === 'number'; - - if (isRendering) { - return ( - - - - ); - } - - return ( -
- -
- -
-
- ); };` }; diff --git a/packages/core/package.json b/packages/core/package.json index 6cd7375..6a9fa6d 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@open-motion/core", - "version": "0.1.3", + "version": "0.1.5", "main": "dist/index.js", "types": "dist/index.d.ts", "license": "MIT", diff --git a/packages/encoder/package.json b/packages/encoder/package.json index 3c6ce4e..c99ae99 100644 --- a/packages/encoder/package.json +++ b/packages/encoder/package.json @@ -1,6 +1,6 @@ { "name": "@open-motion/encoder", - "version": "0.1.3", + "version": "0.1.5", "main": "dist/index.js", "types": "dist/index.d.ts", "license": "MIT", diff --git a/packages/renderer/package.json b/packages/renderer/package.json index 1ab2da2..e7c8c57 100644 --- a/packages/renderer/package.json +++ b/packages/renderer/package.json @@ -1,6 +1,6 @@ { "name": "@open-motion/renderer", - "version": "0.1.3", + "version": "0.1.5", "main": "dist/index.js", "types": "dist/index.d.ts", "license": "MIT",