create-video 3.3.5 → 3.3.7

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.
package/dist/init.js CHANGED
@@ -54,6 +54,7 @@ const init = async () => {
54
54
  const latestRemotionVersionPromise = (0, latest_remotion_version_1.getLatestRemotionVersion)();
55
55
  const selectedTemplate = await (0, select_template_1.selectTemplate)();
56
56
  const pkgManager = (0, pkg_managers_1.selectPackageManager)();
57
+ const pkgManagerVersion = await (0, pkg_managers_1.getPackageManagerVersionOrNull)(pkgManager);
57
58
  try {
58
59
  await (0, degit_1.degit)({
59
60
  repoOrg: selectedTemplate.org,
@@ -66,6 +67,9 @@ const init = async () => {
66
67
  projectRoot,
67
68
  projectName: folderName,
68
69
  latestRemotionVersion: latestVersion,
70
+ packageManager: pkgManagerVersion
71
+ ? `${pkgManager}@${pkgManagerVersion}`
72
+ : null,
69
73
  });
70
74
  }
71
75
  catch (e) {
@@ -1,6 +1,11 @@
1
+ import type { PackageManager } from './pkg-managers';
1
2
  export declare const listOfRemotionPackages: string[];
2
- export declare const patchPackageJson: ({ projectRoot, projectName, latestRemotionVersion, }: {
3
+ export declare const patchPackageJson: ({ projectRoot, projectName, latestRemotionVersion, packageManager, }: {
3
4
  projectRoot: string;
4
5
  projectName: string;
5
6
  latestRemotionVersion: string;
7
+ packageManager: `${PackageManager}@${string}` | null;
8
+ }, { getPackageJson, setPackageJson, }?: {
9
+ getPackageJson?: ((filename: string) => string) | undefined;
10
+ setPackageJson?: ((filename: string, content: string) => void) | undefined;
6
11
  }) => void;
@@ -26,9 +26,9 @@ exports.listOfRemotionPackages = [
26
26
  '@remotion/gif',
27
27
  'remotion',
28
28
  ];
29
- const patchPackageJson = ({ projectRoot, projectName, latestRemotionVersion, }) => {
29
+ const patchPackageJson = ({ projectRoot, projectName, latestRemotionVersion, packageManager, }, { getPackageJson = (filename) => fs_1.default.readFileSync(filename, 'utf-8'), setPackageJson = (filename, content) => fs_1.default.writeFileSync(filename, content), } = {}) => {
30
30
  const fileName = path_1.default.join(projectRoot, 'package.json');
31
- const contents = fs_1.default.readFileSync(fileName, 'utf-8');
31
+ const contents = getPackageJson(fileName);
32
32
  const packageJson = JSON.parse(contents);
33
33
  const { name, dependencies, ...others } = packageJson;
34
34
  const newDependencies = Object.keys(dependencies)
@@ -45,7 +45,8 @@ const patchPackageJson = ({ projectRoot, projectName, latestRemotionVersion, })
45
45
  name: projectName,
46
46
  ...others,
47
47
  dependencies: newDependencies,
48
+ ...(packageManager ? { packageManager } : {}),
48
49
  }, undefined, 2);
49
- fs_1.default.writeFileSync(fileName, newPackageJson);
50
+ setPackageJson(fileName, newPackageJson);
50
51
  };
51
52
  exports.patchPackageJson = patchPackageJson;
@@ -7,3 +7,5 @@ export declare const getRenderCommandForTemplate: (manager: PackageManager, temp
7
7
  export declare const getStartCommand: (manager: PackageManager) => "npm start" | "yarn start" | "pnpm start" | undefined;
8
8
  export declare const getRenderCommand: (manager: PackageManager) => "npm run build" | "yarn build" | "pnpm build" | undefined;
9
9
  export declare const getRunCommand: (manager: PackageManager) => "npm run" | "yarn run" | "pnpm run";
10
+ export declare const getPackageManagerVersion: (manager: PackageManager) => Promise<string>;
11
+ export declare const getPackageManagerVersionOrNull: (manager: PackageManager) => Promise<string | null>;
@@ -3,7 +3,8 @@ 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.getRunCommand = exports.getRenderCommand = exports.getStartCommand = exports.getRenderCommandForTemplate = exports.getDevCommand = exports.getInstallCommand = exports.selectPackageManager = void 0;
6
+ exports.getPackageManagerVersionOrNull = exports.getPackageManagerVersion = exports.getRunCommand = exports.getRenderCommand = exports.getStartCommand = exports.getRenderCommandForTemplate = exports.getDevCommand = exports.getInstallCommand = exports.selectPackageManager = void 0;
7
+ const child_process_1 = require("child_process");
7
8
  const path_1 = __importDefault(require("path"));
8
9
  const shouldUseYarn = () => {
9
10
  var _a, _b;
@@ -101,3 +102,31 @@ const getRunCommand = (manager) => {
101
102
  throw new TypeError('unknown package manager');
102
103
  };
103
104
  exports.getRunCommand = getRunCommand;
105
+ const getPackageManagerVersion = (manager) => {
106
+ const cmd = `${manager} -v`;
107
+ return new Promise((resolve, reject) => {
108
+ (0, child_process_1.exec)(cmd, (error, stdout, stderr) => {
109
+ if (error) {
110
+ reject(error);
111
+ return;
112
+ }
113
+ if (stderr) {
114
+ reject(stderr);
115
+ return;
116
+ }
117
+ resolve(stdout.trim());
118
+ });
119
+ });
120
+ };
121
+ exports.getPackageManagerVersion = getPackageManagerVersion;
122
+ const getPackageManagerVersionOrNull = async (manager) => {
123
+ try {
124
+ const version = await (0, exports.getPackageManagerVersion)(manager);
125
+ return version;
126
+ }
127
+ catch (err) {
128
+ console.warn(`Could not determine the version of ${manager}.`);
129
+ return null;
130
+ }
131
+ };
132
+ exports.getPackageManagerVersionOrNull = getPackageManagerVersionOrNull;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const patch_package_json_1 = require("../patch-package-json");
5
+ const packageManagers = ['npm', 'pnpm', 'yarn'];
6
+ for (const packageManager of packageManagers) {
7
+ (0, vitest_1.test)(`Using ${packageManager} package manager provides the correct "packageManager" entry in package.json`, () => {
8
+ const latestRemotionVersion = '1.0.0';
9
+ const packageManagerVersion = '1.22.19';
10
+ const packageJson = {
11
+ name: 'my-video',
12
+ version: '1.0.0',
13
+ description: 'My Remotion video',
14
+ scripts: {
15
+ start: 'remotion preview',
16
+ },
17
+ dependencies: {
18
+ '@remotion/cli': 'stale-remotion-version',
19
+ react: '^18.0.0',
20
+ remotion: 'stale-remotion-version',
21
+ },
22
+ devDependencies: {
23
+ '@types/react': '^18.0.6',
24
+ },
25
+ };
26
+ let newPackageJson = null;
27
+ (0, patch_package_json_1.patchPackageJson)({
28
+ projectRoot: '/path/to/project',
29
+ latestRemotionVersion,
30
+ packageManager: `${packageManager}@${packageManagerVersion}`,
31
+ projectName: 'my-video',
32
+ }, {
33
+ getPackageJson: () => JSON.stringify(packageJson),
34
+ setPackageJson: (_, content) => {
35
+ newPackageJson = JSON.parse(content);
36
+ },
37
+ });
38
+ (0, vitest_1.expect)(newPackageJson).to.deep.equal({
39
+ ...packageJson,
40
+ dependencies: {
41
+ ...packageJson.dependencies,
42
+ '@remotion/cli': latestRemotionVersion,
43
+ remotion: latestRemotionVersion,
44
+ },
45
+ packageManager: `${packageManager}@${packageManagerVersion}`
46
+ });
47
+ });
48
+ }
@@ -18,7 +18,8 @@ for (const template of templates_1.FEATURED_TEMPLATES) {
18
18
  });
19
19
  (0, vitest_1.expect)(res.statusCode).toBe(200);
20
20
  const body = JSON.parse(res.body);
21
- if (!template.shortName.includes('Remix')) {
21
+ if (!template.shortName.includes('Remix') &&
22
+ !template.shortName.includes('Still')) {
22
23
  (0, vitest_1.expect)(body.scripts.build).toMatch(/render/);
23
24
  (0, vitest_1.expect)(body.scripts.build).not.toContain('index');
24
25
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-video",
3
- "version": "3.3.5",
3
+ "version": "3.3.7",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -12,7 +12,8 @@
12
12
  "scripts": {
13
13
  "build": "tsc -d",
14
14
  "watch": "tsc -w",
15
- "lint": "eslint src --ext ts,tsx"
15
+ "lint": "eslint src --ext ts,tsx",
16
+ "test": "vitest --run"
16
17
  },
17
18
  "author": "",
18
19
  "license": "SEE LICENSE IN LICENSE.md",
@@ -36,5 +37,5 @@
36
37
  "typescript": "^4.7.0",
37
38
  "vitest": "0.24.3"
38
39
  },
39
- "gitHead": "0a2d5f0ff4f2abf11b9a5a6d41c1ce8df67df63f"
40
+ "gitHead": "5a9310dd3db431e7a3e2eb2e2b3c508bbc7b258a"
40
41
  }