create-turbo 1.4.2 → 1.4.4-canary.0

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/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  To get started, open a new shell and run:
6
6
 
7
7
  ```sh
8
- $ npx create-turbo@latest
8
+ npx create-turbo@latest
9
9
  ```
10
10
 
11
11
  Then follow the prompts you see in your terminal.
package/dist/index.js CHANGED
@@ -23,7 +23,6 @@ var import_fs_extra = __toESM(require("fs-extra"));
23
23
  var import_inquirer = __toESM(require("inquirer"));
24
24
  var import_ora = __toESM(require("ora"));
25
25
  var import_meow = __toESM(require("meow"));
26
- var import_lt = __toESM(require("semver/functions/lt"));
27
26
  var import_gradient_string = __toESM(require("gradient-string"));
28
27
  var import_update_check = __toESM(require("update-check"));
29
28
  var import_chalk = __toESM(require("chalk"));
@@ -31,7 +30,7 @@ var import_chalk = __toESM(require("chalk"));
31
30
  // package.json
32
31
  var package_default = {
33
32
  name: "create-turbo",
34
- version: "1.4.1-canary.1",
33
+ version: "1.4.3",
35
34
  description: "Create a new Turborepo",
36
35
  homepage: "https://turborepo.org",
37
36
  license: "MPL-2.0",
@@ -165,10 +164,31 @@ function tryGitInit(root) {
165
164
  }
166
165
  }
167
166
 
167
+ // src/constants.ts
168
+ var PACKAGE_MANAGERS = {
169
+ npm: {
170
+ name: "npm",
171
+ command: "npm"
172
+ },
173
+ pnpm: {
174
+ name: "pnpm",
175
+ command: "pnpm"
176
+ },
177
+ yarn: {
178
+ name: "yarn",
179
+ command: "yarn"
180
+ },
181
+ berry: {
182
+ name: "berry",
183
+ command: "yarn"
184
+ }
185
+ };
186
+
168
187
  // src/getPackageManagerVersion.ts
169
188
  var import_child_process4 = require("child_process");
170
189
  var getPackageManagerVersion = (ws) => {
171
- switch (ws) {
190
+ switch (ws.name) {
191
+ case "berry":
172
192
  case "yarn":
173
193
  return (0, import_child_process4.execSync)("yarn --version").toString().trim();
174
194
  case "pnpm":
@@ -244,11 +264,11 @@ async function run() {
244
264
  const isPnpmInstalled = shouldUsePnpm();
245
265
  let answers;
246
266
  if (flags.useNpm) {
247
- answers = { packageManager: "npm" };
267
+ answers = { packageManager: PACKAGE_MANAGERS["npm"] };
248
268
  } else if (flags.usePnpm) {
249
- answers = { packageManager: "pnpm" };
269
+ answers = { packageManager: PACKAGE_MANAGERS["pnpm"] };
250
270
  } else if (flags.useYarn) {
251
- answers = { packageManager: "yarn" };
271
+ answers = { packageManager: PACKAGE_MANAGERS["yarn"] };
252
272
  } else {
253
273
  answers = await import_inquirer.default.prompt([
254
274
  {
@@ -256,15 +276,15 @@ async function run() {
256
276
  type: "list",
257
277
  message: "Which package manager do you want to use?",
258
278
  choices: [
259
- { name: "npm", value: "npm" },
279
+ { name: "npm", value: PACKAGE_MANAGERS["npm"] },
260
280
  {
261
281
  name: "pnpm",
262
- value: "pnpm",
282
+ value: PACKAGE_MANAGERS["pnpm"],
263
283
  disabled: !isPnpmInstalled && "not installed"
264
284
  },
265
285
  {
266
286
  name: "yarn",
267
- value: "yarn",
287
+ value: PACKAGE_MANAGERS["yarn"],
268
288
  disabled: !isYarnInstalled && "not installed"
269
289
  }
270
290
  ]
@@ -283,7 +303,7 @@ async function run() {
283
303
  }
284
304
  let sharedTemplate = path2.resolve(__dirname, "../templates", `_shared_ts`);
285
305
  await import_fs_extra.default.copy(sharedTemplate, projectDir);
286
- let serverTemplate = path2.resolve(__dirname, "../templates", answers.packageManager);
306
+ let serverTemplate = path2.resolve(__dirname, "../templates", answers.packageManager.command);
287
307
  if (import_fs_extra.default.existsSync(serverTemplate)) {
288
308
  await import_fs_extra.default.copy(serverTemplate, projectDir, { overwrite: true });
289
309
  }
@@ -296,7 +316,7 @@ async function run() {
296
316
  ...projectPkg[pkgKey]
297
317
  };
298
318
  });
299
- sharedPkg.packageManager = `${answers.packageManager}@${getPackageManagerVersion(answers.packageManager)}`;
319
+ sharedPkg.packageManager = `${answers.packageManager.command}@${getPackageManagerVersion(answers.packageManager)}`;
300
320
  sharedPkg.name = projectName;
301
321
  await import_fs_extra.default.writeFile(path2.join(projectDir, "package.json"), JSON.stringify(sharedPkg, null, 2));
302
322
  if (flags.install) {
@@ -315,17 +335,8 @@ async function run() {
315
335
  frames: [" ", "> ", ">> ", ">>>"]
316
336
  }
317
337
  }).start();
318
- let supportsRegistryArg = false;
319
- try {
320
- supportsRegistryArg = (0, import_lt.default)(getPackageManagerVersion(answers.packageManager), "2.0.0");
321
- } catch (err) {
322
- }
323
338
  const installArgs = ["install"];
324
- if (supportsRegistryArg) {
325
- const npmRegistry = await getNpmRegistry(answers.packageManager);
326
- installArgs.push(`--registry=${npmRegistry}`);
327
- }
328
- await (0, import_execa.default)(`${answers.packageManager}`, installArgs, {
339
+ await (0, import_execa.default)(`${answers.packageManager.command}`, installArgs, {
329
340
  stdio: "ignore",
330
341
  cwd: projectDir
331
342
  });
@@ -351,10 +362,10 @@ async function run() {
351
362
  console.log("Inside that directory, you can run several commands:");
352
363
  }
353
364
  console.log();
354
- console.log(import_chalk.default.cyan(` ${answers.packageManager} run build`));
365
+ console.log(import_chalk.default.cyan(` ${answers.packageManager.command} run build`));
355
366
  console.log(` Build all apps and packages`);
356
367
  console.log();
357
- console.log(import_chalk.default.cyan(` ${answers.packageManager} run dev`));
368
+ console.log(import_chalk.default.cyan(` ${answers.packageManager.command} run dev`));
358
369
  console.log(` Develop all apps and packages`);
359
370
  console.log();
360
371
  console.log(`Turborepo will cache locally by default. For an additional`);
@@ -371,18 +382,6 @@ async function run() {
371
382
  console.log(import_chalk.default.cyan(` ${getNpxCommand(answers.packageManager)} turbo login`));
372
383
  console.log();
373
384
  }
374
- async function getNpmRegistry(pkgManager) {
375
- try {
376
- const { stdout: registry } = await (0, import_execa.default)(pkgManager, [
377
- "config",
378
- "get",
379
- "registry"
380
- ]);
381
- return registry;
382
- } catch (error) {
383
- return "";
384
- }
385
- }
386
385
  var update = (0, import_update_check.default)(package_default).catch(() => null);
387
386
  async function notifyUpdate() {
388
387
  try {
@@ -399,9 +398,7 @@ async function notifyUpdate() {
399
398
  }
400
399
  }
401
400
  function getNpxCommand(pkgManager) {
402
- if (pkgManager === "yarn") {
403
- return "npx";
404
- } else if (pkgManager === "pnpm") {
401
+ if (pkgManager.command === "pnpm") {
405
402
  return getNpxCommandOfPnpm();
406
403
  } else {
407
404
  return "npx";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-turbo",
3
- "version": "1.4.2",
3
+ "version": "1.4.4-canary.0",
4
4
  "description": "Create a new Turborepo",
5
5
  "homepage": "https://turborepo.org",
6
6
  "license": "MPL-2.0",
@@ -9,9 +9,9 @@
9
9
  "lint": "next lint"
10
10
  },
11
11
  "dependencies": {
12
- "next": "12.2.3",
13
- "react": "17.0.2",
14
- "react-dom": "17.0.2",
12
+ "next": "12.2.4",
13
+ "react": "18.2.0",
14
+ "react-dom": "18.2.0",
15
15
  "ui": "*"
16
16
  },
17
17
  "devDependencies": {
@@ -21,7 +21,7 @@
21
21
  "next-transpile-modules": "9.0.0",
22
22
  "tsconfig": "*",
23
23
  "@types/node": "^17.0.12",
24
- "@types/react": "17.0.47",
24
+ "@types/react": "18.0.17",
25
25
  "typescript": "^4.5.3"
26
26
  }
27
27
  }
@@ -9,9 +9,9 @@
9
9
  "lint": "next lint"
10
10
  },
11
11
  "dependencies": {
12
- "next": "12.2.3",
13
- "react": "17.0.2",
14
- "react-dom": "17.0.2",
12
+ "next": "12.2.4",
13
+ "react": "18.2.0",
14
+ "react-dom": "18.2.0",
15
15
  "ui": "*"
16
16
  },
17
17
  "devDependencies": {
@@ -21,7 +21,7 @@
21
21
  "next-transpile-modules": "9.0.0",
22
22
  "tsconfig": "*",
23
23
  "@types/node": "^17.0.12",
24
- "@types/react": "17.0.47",
24
+ "@types/react": "18.0.17",
25
25
  "typescript": "^4.5.3"
26
26
  }
27
27
  }
@@ -1,5 +1,5 @@
1
1
  module.exports = {
2
- extends: ["next", "prettier"],
2
+ extends: ["next", "turbo", "prettier"],
3
3
  rules: {
4
4
  "@next/next/no-html-link-for-pages": "off",
5
5
  "react/jsx-key": "off",
@@ -7,7 +7,8 @@
7
7
  "eslint": "^7.23.0",
8
8
  "eslint-config-next": "^12.0.8",
9
9
  "eslint-config-prettier": "^8.3.0",
10
- "eslint-plugin-react": "7.28.0"
10
+ "eslint-plugin-react": "7.28.0",
11
+ "eslint-config-turbo": "latest"
11
12
  },
12
13
  "devDependencies": {
13
14
  "typescript": "^4.7.4"
@@ -12,7 +12,7 @@
12
12
  "@types/react-dom": "^17.0.11",
13
13
  "eslint": "^7.32.0",
14
14
  "eslint-config-custom": "*",
15
- "react": "^17.0.2",
15
+ "react": "^18.2.0",
16
16
  "tsconfig": "*",
17
17
  "typescript": "^4.5.2"
18
18
  }
@@ -9,9 +9,9 @@
9
9
  "lint": "next lint"
10
10
  },
11
11
  "dependencies": {
12
- "next": "12.2.3",
13
- "react": "17.0.2",
14
- "react-dom": "17.0.2",
12
+ "next": "12.2.4",
13
+ "react": "18.2.0",
14
+ "react-dom": "18.2.0",
15
15
  "ui": "workspace:*"
16
16
  },
17
17
  "devDependencies": {
@@ -21,7 +21,7 @@
21
21
  "next-transpile-modules": "9.0.0",
22
22
  "tsconfig": "workspace:*",
23
23
  "@types/node": "^17.0.12",
24
- "@types/react": "17.0.47",
24
+ "@types/react": "18.0.17",
25
25
  "typescript": "^4.5.3"
26
26
  }
27
27
  }
@@ -9,9 +9,9 @@
9
9
  "lint": "next lint"
10
10
  },
11
11
  "dependencies": {
12
- "next": "12.2.3",
13
- "react": "17.0.2",
14
- "react-dom": "17.0.2",
12
+ "next": "12.2.4",
13
+ "react": "18.2.0",
14
+ "react-dom": "18.2.0",
15
15
  "ui": "workspace:*"
16
16
  },
17
17
  "devDependencies": {
@@ -21,7 +21,7 @@
21
21
  "next-transpile-modules": "9.0.0",
22
22
  "tsconfig": "workspace:*",
23
23
  "@types/node": "^17.0.12",
24
- "@types/react": "17.0.47",
24
+ "@types/react": "18.0.17",
25
25
  "typescript": "^4.5.3"
26
26
  }
27
27
  }
@@ -8,11 +8,11 @@
8
8
  "lint": "eslint *.ts*"
9
9
  },
10
10
  "devDependencies": {
11
- "@types/react": "^17.0.37",
12
- "@types/react-dom": "^17.0.11",
11
+ "@types/react": "^18.0.17",
12
+ "@types/react-dom": "^18.0.6",
13
13
  "eslint": "^7.32.0",
14
14
  "eslint-config-custom": "workspace:*",
15
- "react": "^17.0.2",
15
+ "react": "^18.2.0",
16
16
  "tsconfig": "workspace:*",
17
17
  "typescript": "^4.5.2"
18
18
  }