create-video 4.0.526 → 4.0.528

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,6 +8,7 @@ var listOfRemotionPackages = [
8
8
  "@remotion/bugs",
9
9
  "@remotion/brand",
10
10
  "@remotion/bundler",
11
+ "@remotion/browser-bundler",
11
12
  "@remotion/browser-studio",
12
13
  "@remotion/canvas",
13
14
  "@remotion/claude-code-plugin",
@@ -71,7 +72,7 @@ var listOfRemotionPackages = [
71
72
  "@remotion/serverless-client",
72
73
  "@remotion/skills",
73
74
  "@remotion/skills-evals",
74
- "@remotion/studio-codemods",
75
+ "@remotion/codemods",
75
76
  "@remotion/studio-server",
76
77
  "@remotion/studio-shared",
77
78
  "@remotion/studio",
@@ -206,52 +207,6 @@ var FEATURED_TEMPLATES = [
206
207
  showStackblitz: false,
207
208
  previewLabel: "Live Demo"
208
209
  },
209
- {
210
- homePageLabel: "Next.js (No Tailwind)",
211
- shortName: "Next.js (No Tailwind)",
212
- org: "remotion-dev",
213
- repoName: "template-next-app-dir",
214
- description: "SaaS template for video generation apps",
215
- longerDescription: "A SaaS starter kit which has the Remotion Player and rendering via Remotion Lambda built-in. Our recommended choice for people who want to build an app that can generate videos.",
216
- promoVideo: {
217
- width: 1280,
218
- height: 720,
219
- muxId: "RufnZIJZh6L1MAaeG02jnXuM9pK96tNuHRxmXHbWqCBI"
220
- },
221
- cliId: "next-no-tailwind",
222
- type: "video",
223
- defaultBranch: "main",
224
- featuredOnHomePage: null,
225
- previewURL: "https://next.remotion.dev",
226
- templateInMonorepo: "template-next-app",
227
- previewLabel: "Live Demo",
228
- allowEnableTailwind: false,
229
- contributedBy: null,
230
- showStackblitz: true
231
- },
232
- {
233
- homePageLabel: "Next.js (Pages dir)",
234
- shortName: "Next.js (Pages dir)",
235
- org: "remotion-dev",
236
- repoName: "template-next-pages-dir",
237
- description: "SaaS template for video generation apps",
238
- longerDescription: "A SaaS starter kit which has the Remotion Player and rendering via Remotion Lambda built-in. Our recommended choice for people who want to build an app that can generate videos.",
239
- promoVideo: {
240
- width: 1280,
241
- height: 720,
242
- muxId: "RufnZIJZh6L1MAaeG02jnXuM9pK96tNuHRxmXHbWqCBI"
243
- },
244
- cliId: "next-pages-dir",
245
- type: "video",
246
- defaultBranch: "main",
247
- featuredOnHomePage: null,
248
- previewURL: "https://next.remotion.dev",
249
- previewLabel: "Live Demo",
250
- templateInMonorepo: "template-next-pages",
251
- allowEnableTailwind: false,
252
- contributedBy: null,
253
- showStackblitz: true
254
- },
255
210
  {
256
211
  homePageLabel: "Recorder",
257
212
  shortName: "Recorder",
@@ -298,29 +253,6 @@ var FEATURED_TEMPLATES = [
298
253
  contributedBy: "ASchwad",
299
254
  showStackblitz: false
300
255
  },
301
- {
302
- homePageLabel: "JavaScript",
303
- shortName: "Hello World (JavaScript)",
304
- org: "remotion-dev",
305
- repoName: "template-helloworld-javascript",
306
- description: "The default starter template in plain JS",
307
- longerDescription: "The Hello World template, but in plain JavaScript. Recommended for people who detest TypeScript.",
308
- promoVideo: {
309
- muxId: "dRIuc00f8QWnKedM8GBGPqXJWqU01DPJFgPTHpJgixxas",
310
- width: 1920,
311
- height: 1080
312
- },
313
- cliId: "javascript",
314
- type: "video",
315
- defaultBranch: "main",
316
- featuredOnHomePage: null,
317
- previewURL: "https://template-helloworld-javascript.vercel.app/?/HelloWorld",
318
- previewLabel: null,
319
- templateInMonorepo: "template-javascript",
320
- allowEnableTailwind: true,
321
- contributedBy: null,
322
- showStackblitz: true
323
- },
324
256
  {
325
257
  homePageLabel: "Render Server (Express.js)",
326
258
  shortName: "Render Server",
@@ -11,6 +11,7 @@ exports.listOfRemotionPackages = [
11
11
  '@remotion/bugs',
12
12
  '@remotion/brand',
13
13
  '@remotion/bundler',
14
+ '@remotion/browser-bundler',
14
15
  '@remotion/browser-studio',
15
16
  '@remotion/canvas',
16
17
  '@remotion/claude-code-plugin',
@@ -74,7 +75,7 @@ exports.listOfRemotionPackages = [
74
75
  '@remotion/serverless-client',
75
76
  '@remotion/skills',
76
77
  '@remotion/skills-evals',
77
- '@remotion/studio-codemods',
78
+ '@remotion/codemods',
78
79
  '@remotion/studio-server',
79
80
  '@remotion/studio-shared',
80
81
  '@remotion/studio',
@@ -4,9 +4,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.openInEditorFlow = void 0;
7
- const node_path_1 = __importDefault(require("node:path"));
8
7
  const log_1 = require("./log");
9
8
  const open_in_editor_1 = require("./open-in-editor");
9
+ const patch_readme_1 = require("./patch-readme");
10
10
  const prompts_1 = __importDefault(require("./prompts"));
11
11
  const openInEditorFlow = async (projectRoot) => {
12
12
  const editors = await (0, open_in_editor_1.guessEditor)();
@@ -31,14 +31,15 @@ const openInEditorFlow = async (projectRoot) => {
31
31
  vsCodeNewWindow: true,
32
32
  lineNumber: 1,
33
33
  });
34
- if ((0, open_in_editor_1.isVsCodeDerivative)(guiEditor.command)) {
34
+ const readme = (0, patch_readme_1.findReadme)(projectRoot);
35
+ if (readme !== null && (0, open_in_editor_1.isVsCodeDerivative)(guiEditor.command)) {
35
36
  await new Promise((resolve) => {
36
37
  setTimeout(resolve, 1000);
37
38
  });
38
39
  await (0, open_in_editor_1.launchEditor)({
39
40
  colNumber: 1,
40
41
  editor: guiEditor,
41
- fileName: node_path_1.default.join(projectRoot, 'README.md'),
42
+ fileName: readme,
42
43
  vsCodeNewWindow: false,
43
44
  lineNumber: 1,
44
45
  });
@@ -1,3 +1,4 @@
1
1
  import type { PackageManager } from './pkg-managers';
2
2
  import type { Template } from './templates';
3
+ export declare const findReadme: (projectRoot: string) => string | null;
3
4
  export declare const patchReadmeMd: (projectRoot: string, packageManager: PackageManager, template: Template) => void;
@@ -3,12 +3,23 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.patchReadmeMd = void 0;
6
+ exports.patchReadmeMd = exports.findReadme = void 0;
7
7
  const node_fs_1 = __importDefault(require("node:fs"));
8
8
  const node_path_1 = __importDefault(require("node:path"));
9
9
  const pkg_managers_1 = require("./pkg-managers");
10
+ // Templates name it README.md or readme.md; only case-insensitive filesystems treat those as the same file
11
+ const findReadme = (projectRoot) => {
12
+ const readme = node_fs_1.default
13
+ .readdirSync(projectRoot)
14
+ .find((f) => f.toLowerCase() === 'readme.md');
15
+ return readme === undefined ? null : node_path_1.default.join(projectRoot, readme);
16
+ };
17
+ exports.findReadme = findReadme;
10
18
  const patchReadmeMd = (projectRoot, packageManager, template) => {
11
- const fileName = node_path_1.default.join(projectRoot, 'README.md');
19
+ const fileName = (0, exports.findReadme)(projectRoot);
20
+ if (fileName === null) {
21
+ return;
22
+ }
12
23
  const contents = node_fs_1.default.readFileSync(fileName, 'utf8');
13
24
  const newContents = contents
14
25
  .split('\n')
@@ -145,10 +145,7 @@ const getUpgradeCommand = (manager) => {
145
145
  };
146
146
  exports.getUpgradeCommand = getUpgradeCommand;
147
147
  const getDevCommand = (manager, template) => {
148
- if (template.cliId === 'react-router' ||
149
- template.cliId === 'next' ||
150
- template.cliId === 'next-no-tailwind' ||
151
- template.cliId === 'next-pages-dir') {
148
+ if (template.cliId === 'react-router' || template.cliId === 'next') {
152
149
  return `${(0, exports.getRunCommand)(manager)} dev`;
153
150
  }
154
151
  return getStartCommand(manager);
@@ -20,7 +20,7 @@ export type Template = {
20
20
  repoName: string;
21
21
  homePageLabel: string;
22
22
  longerDescription: string;
23
- cliId: 'hello-world' | 'javascript' | 'blank' | 'next' | 'next-no-tailwind' | 'next-pages-dir' | 'react-router' | 'three' | 'still' | 'audiogram' | 'music-visualization' | 'prompt-to-video' | 'skia' | 'overlay' | 'stargazer' | 'tiktok' | 'code-hike' | 'render-server' | 'recorder' | 'prompt-to-motion-graphics' | 'electron' | 'vercel';
23
+ cliId: 'hello-world' | 'blank' | 'next' | 'react-router' | 'three' | 'still' | 'audiogram' | 'music-visualization' | 'prompt-to-video' | 'skia' | 'overlay' | 'stargazer' | 'tiktok' | 'code-hike' | 'render-server' | 'recorder' | 'prompt-to-motion-graphics' | 'electron' | 'vercel';
24
24
  defaultBranch: string;
25
25
  featuredOnHomePage: string | null;
26
26
  previewURL: string | null;
package/dist/templates.js CHANGED
@@ -97,52 +97,6 @@ exports.FEATURED_TEMPLATES = [
97
97
  showStackblitz: false,
98
98
  previewLabel: 'Live Demo',
99
99
  },
100
- {
101
- homePageLabel: 'Next.js (No Tailwind)',
102
- shortName: 'Next.js (No Tailwind)',
103
- org: 'remotion-dev',
104
- repoName: 'template-next-app-dir',
105
- description: 'SaaS template for video generation apps',
106
- longerDescription: 'A SaaS starter kit which has the Remotion Player and rendering via Remotion Lambda built-in. Our recommended choice for people who want to build an app that can generate videos.',
107
- promoVideo: {
108
- width: 1280,
109
- height: 720,
110
- muxId: 'RufnZIJZh6L1MAaeG02jnXuM9pK96tNuHRxmXHbWqCBI',
111
- },
112
- cliId: 'next-no-tailwind',
113
- type: 'video',
114
- defaultBranch: 'main',
115
- featuredOnHomePage: null,
116
- previewURL: 'https://next.remotion.dev',
117
- templateInMonorepo: 'template-next-app',
118
- previewLabel: 'Live Demo',
119
- allowEnableTailwind: false,
120
- contributedBy: null,
121
- showStackblitz: true,
122
- },
123
- {
124
- homePageLabel: 'Next.js (Pages dir)',
125
- shortName: 'Next.js (Pages dir)',
126
- org: 'remotion-dev',
127
- repoName: 'template-next-pages-dir',
128
- description: 'SaaS template for video generation apps',
129
- longerDescription: 'A SaaS starter kit which has the Remotion Player and rendering via Remotion Lambda built-in. Our recommended choice for people who want to build an app that can generate videos.',
130
- promoVideo: {
131
- width: 1280,
132
- height: 720,
133
- muxId: 'RufnZIJZh6L1MAaeG02jnXuM9pK96tNuHRxmXHbWqCBI',
134
- },
135
- cliId: 'next-pages-dir',
136
- type: 'video',
137
- defaultBranch: 'main',
138
- featuredOnHomePage: null,
139
- previewURL: 'https://next.remotion.dev',
140
- previewLabel: 'Live Demo',
141
- templateInMonorepo: 'template-next-pages',
142
- allowEnableTailwind: false,
143
- contributedBy: null,
144
- showStackblitz: true,
145
- },
146
100
  {
147
101
  homePageLabel: 'Recorder',
148
102
  shortName: 'Recorder',
@@ -189,29 +143,6 @@ exports.FEATURED_TEMPLATES = [
189
143
  contributedBy: 'ASchwad',
190
144
  showStackblitz: false,
191
145
  },
192
- {
193
- homePageLabel: 'JavaScript',
194
- shortName: 'Hello World (JavaScript)',
195
- org: 'remotion-dev',
196
- repoName: 'template-helloworld-javascript',
197
- description: 'The default starter template in plain JS',
198
- longerDescription: 'The Hello World template, but in plain JavaScript. Recommended for people who detest TypeScript.',
199
- promoVideo: {
200
- muxId: 'dRIuc00f8QWnKedM8GBGPqXJWqU01DPJFgPTHpJgixxas',
201
- width: 1920,
202
- height: 1080,
203
- },
204
- cliId: 'javascript',
205
- type: 'video',
206
- defaultBranch: 'main',
207
- featuredOnHomePage: null,
208
- previewURL: 'https://template-helloworld-javascript.vercel.app/?/HelloWorld',
209
- previewLabel: null,
210
- templateInMonorepo: 'template-javascript',
211
- allowEnableTailwind: true,
212
- contributedBy: null,
213
- showStackblitz: true,
214
- },
215
146
  {
216
147
  homePageLabel: 'Render Server (Express.js)',
217
148
  shortName: 'Render Server',
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "url": "https://github.com/remotion-dev/remotion/tree/main/packages/create-video"
4
4
  },
5
5
  "name": "create-video",
6
- "version": "4.0.526",
6
+ "version": "4.0.528",
7
7
  "description": "Create a new Remotion project",
8
8
  "main": "dist/index.js",
9
9
  "bin": {
@@ -29,7 +29,7 @@
29
29
  "@types/minimist": "1.2.2",
30
30
  "@types/prompts": "2.4.9",
31
31
  "react": "19.2.3",
32
- "@remotion/eslint-config-internal": "4.0.526",
32
+ "@remotion/eslint-config-internal": "4.0.528",
33
33
  "eslint": "9.19.0",
34
34
  "@typescript/native-preview": "7.0.0-dev.20260217.1"
35
35
  },