create-turbo 1.2.14 → 1.2.17-canary.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/index.js +40 -13
- package/package.json +1 -1
- package/templates/_shared_ts/package.json +1 -0
- package/templates/_shared_ts/packages/{eslint-config-acme → eslint-config-custom}/index.js +0 -0
- package/templates/_shared_ts/packages/{eslint-config-acme → eslint-config-custom}/package.json +0 -0
- package/templates/npm/README.md +3 -3
- package/templates/pnpm/README.md +3 -3
- package/templates/yarn/README.md +3 -3
package/dist/index.js
CHANGED
@@ -3,8 +3,22 @@ var __create = Object.create;
|
|
3
3
|
var __defProp = Object.defineProperty;
|
4
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
5
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
6
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
6
7
|
var __getProtoOf = Object.getPrototypeOf;
|
7
8
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
9
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
10
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
11
|
+
var __spreadValues = (a, b) => {
|
12
|
+
for (var prop in b || (b = {}))
|
13
|
+
if (__hasOwnProp.call(b, prop))
|
14
|
+
__defNormalProp(a, prop, b[prop]);
|
15
|
+
if (__getOwnPropSymbols)
|
16
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
17
|
+
if (__propIsEnum.call(b, prop))
|
18
|
+
__defNormalProp(a, prop, b[prop]);
|
19
|
+
}
|
20
|
+
return a;
|
21
|
+
};
|
8
22
|
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
|
9
23
|
var __reExport = (target, module2, copyDefault, desc) => {
|
10
24
|
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
|
@@ -25,13 +39,14 @@ var import_fs_extra = __toESM(require("fs-extra"));
|
|
25
39
|
var import_inquirer = __toESM(require("inquirer"));
|
26
40
|
var import_ora = __toESM(require("ora"));
|
27
41
|
var import_meow = __toESM(require("meow"));
|
42
|
+
var import_lt = __toESM(require("semver/functions/lt"));
|
28
43
|
var import_gradient_string = __toESM(require("gradient-string"));
|
29
44
|
var import_update_check = __toESM(require("update-check"));
|
30
45
|
var import_chalk = __toESM(require("chalk"));
|
31
46
|
|
32
47
|
// package.json
|
33
48
|
var name = "create-turbo";
|
34
|
-
var version = "1.2.
|
49
|
+
var version = "1.2.17-canary.0";
|
35
50
|
var description = "Create a new Turborepo";
|
36
51
|
var homepage = "https://turborepo.org";
|
37
52
|
var license = "MPL-2.0";
|
@@ -204,6 +219,7 @@ var help = `
|
|
204
219
|
Flags:
|
205
220
|
--use-npm Explicitly tell the CLI to bootstrap the app using npm
|
206
221
|
--use-pnpm Explicitly tell the CLI to bootstrap the app using pnpm
|
222
|
+
--use-yarn Explicitly tell the CLI to bootstrap the app using yarn
|
207
223
|
--no-install Explicitly do not run the package manager's install command
|
208
224
|
--help, -h Show this help message
|
209
225
|
--version, -v Show the version of this script
|
@@ -228,6 +244,7 @@ async function run() {
|
|
228
244
|
help: { type: "boolean", default: false, alias: "h" },
|
229
245
|
useNpm: { type: "boolean", default: false },
|
230
246
|
usePnpm: { type: "boolean", default: false },
|
247
|
+
useYarn: { type: "boolean", default: false },
|
231
248
|
install: { type: "boolean", default: true },
|
232
249
|
version: { type: "boolean", default: false, alias: "v" }
|
233
250
|
}
|
@@ -250,6 +267,7 @@ async function run() {
|
|
250
267
|
default: "./my-turborepo"
|
251
268
|
}
|
252
269
|
])).dir);
|
270
|
+
const projectName = path2.basename(projectDir);
|
253
271
|
const isYarnInstalled = shouldUseYarn();
|
254
272
|
const isPnpmInstalled = shouldUsePnpm();
|
255
273
|
let answers;
|
@@ -257,6 +275,8 @@ async function run() {
|
|
257
275
|
answers = { packageManager: "npm" };
|
258
276
|
} else if (flags.usePnpm) {
|
259
277
|
answers = { packageManager: "pnpm" };
|
278
|
+
} else if (flags.useYarn) {
|
279
|
+
answers = { packageManager: "yarn" };
|
260
280
|
} else {
|
261
281
|
answers = await import_inquirer.default.prompt([
|
262
282
|
{
|
@@ -296,16 +316,14 @@ async function run() {
|
|
296
316
|
await import_fs_extra.default.copy(serverTemplate, projectDir, { overwrite: true });
|
297
317
|
}
|
298
318
|
await import_fs_extra.default.move(path2.join(projectDir, "gitignore"), path2.join(projectDir, ".gitignore"));
|
299
|
-
let
|
319
|
+
let sharedPkg = require(path2.join(sharedTemplate, "package.json"));
|
320
|
+
let projectPkg = require(path2.join(projectDir, "package.json"));
|
300
321
|
["dependencies", "devDependencies"].forEach((pkgKey) => {
|
301
|
-
|
302
|
-
if (appPkg[pkgKey][key] === "*") {
|
303
|
-
appPkg[pkgKey][key] = `latest`;
|
304
|
-
}
|
305
|
-
}
|
322
|
+
sharedPkg[pkgKey] = __spreadValues(__spreadValues({}, sharedPkg[pkgKey]), projectPkg[pkgKey]);
|
306
323
|
});
|
307
|
-
|
308
|
-
|
324
|
+
sharedPkg.packageManager = `${answers.packageManager}@${getPackageManagerVersion(answers.packageManager)}`;
|
325
|
+
sharedPkg.name = projectName;
|
326
|
+
await import_fs_extra.default.writeFile(path2.join(projectDir, "package.json"), JSON.stringify(sharedPkg, null, 2));
|
309
327
|
if (flags.install) {
|
310
328
|
console.log();
|
311
329
|
console.log(`>>> Creating a new turborepo with the following:`);
|
@@ -313,7 +331,7 @@ async function run() {
|
|
313
331
|
console.log(` - ${import_chalk.default.bold("apps/web")}: Next.js with TypeScript`);
|
314
332
|
console.log(` - ${import_chalk.default.bold("apps/docs")}: Next.js with TypeScript`);
|
315
333
|
console.log(` - ${import_chalk.default.bold("packages/ui")}: Shared React component library`);
|
316
|
-
console.log(` - ${import_chalk.default.bold("packages/config")}: Shared configuration (ESLint)`);
|
334
|
+
console.log(` - ${import_chalk.default.bold("packages/eslint-config-custom")}: Shared configuration (ESLint)`);
|
317
335
|
console.log(` - ${import_chalk.default.bold("packages/tsconfig")}: Shared TypeScript \`tsconfig.json\``);
|
318
336
|
console.log();
|
319
337
|
const spinner = (0, import_ora.default)({
|
@@ -322,8 +340,17 @@ async function run() {
|
|
322
340
|
frames: [" ", "> ", ">> ", ">>>"]
|
323
341
|
}
|
324
342
|
}).start();
|
325
|
-
|
326
|
-
|
343
|
+
let supportsRegistryArg = false;
|
344
|
+
try {
|
345
|
+
supportsRegistryArg = (0, import_lt.default)(getPackageManagerVersion(answers.packageManager), "2.0.0");
|
346
|
+
} catch (err) {
|
347
|
+
}
|
348
|
+
const installArgs = ["install"];
|
349
|
+
if (supportsRegistryArg) {
|
350
|
+
const npmRegistry = await getNpmRegistry(answers.packageManager);
|
351
|
+
installArgs.push(`--registry=${npmRegistry}`);
|
352
|
+
}
|
353
|
+
await (0, import_execa.default)(`${answers.packageManager}`, installArgs, {
|
327
354
|
stdio: "ignore",
|
328
355
|
cwd: projectDir
|
329
356
|
});
|
@@ -356,7 +383,7 @@ async function run() {
|
|
356
383
|
console.log(` Develop all apps and packages`);
|
357
384
|
console.log();
|
358
385
|
console.log(`Turborepo will cache locally by default. For an additional`);
|
359
|
-
console.log(`speed boost, enable Remote Caching
|
386
|
+
console.log(`speed boost, enable Remote Caching with Vercel by`);
|
360
387
|
console.log(`entering the following command:`);
|
361
388
|
console.log();
|
362
389
|
console.log(import_chalk.default.cyan(` ${getNpxCommand(answers.packageManager)} turbo login`));
|
package/package.json
CHANGED
File without changes
|
package/templates/_shared_ts/packages/{eslint-config-acme → eslint-config-custom}/package.json
RENAMED
File without changes
|
package/templates/npm/README.md
CHANGED
@@ -48,9 +48,9 @@ npm run dev
|
|
48
48
|
|
49
49
|
### Remote Caching
|
50
50
|
|
51
|
-
Turborepo can use a technique known as [Remote Caching
|
51
|
+
Turborepo can use a technique known as [Remote Caching](https://turborepo.org/docs/core-concepts/remote-caching) to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines.
|
52
52
|
|
53
|
-
By default, Turborepo will cache locally. To enable Remote Caching
|
53
|
+
By default, Turborepo will cache locally. To enable Remote Caching you will need an account with Vercel. If you don't have an account you can [create one](https://vercel.com/signup), then enter the following commands:
|
54
54
|
|
55
55
|
```
|
56
56
|
cd my-turborepo
|
@@ -71,7 +71,7 @@ Learn more about the power of Turborepo:
|
|
71
71
|
|
72
72
|
- [Pipelines](https://turborepo.org/docs/core-concepts/pipelines)
|
73
73
|
- [Caching](https://turborepo.org/docs/core-concepts/caching)
|
74
|
-
- [Remote Caching
|
74
|
+
- [Remote Caching](https://turborepo.org/docs/core-concepts/remote-caching)
|
75
75
|
- [Scoped Tasks](https://turborepo.org/docs/core-concepts/scopes)
|
76
76
|
- [Configuration Options](https://turborepo.org/docs/reference/configuration)
|
77
77
|
- [CLI Usage](https://turborepo.org/docs/reference/command-line-reference)
|
package/templates/pnpm/README.md
CHANGED
@@ -48,9 +48,9 @@ pnpm run dev
|
|
48
48
|
|
49
49
|
### Remote Caching
|
50
50
|
|
51
|
-
Turborepo can use a technique known as [Remote Caching
|
51
|
+
Turborepo can use a technique known as [Remote Caching](https://turborepo.org/docs/core-concepts/remote-caching) to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines.
|
52
52
|
|
53
|
-
By default, Turborepo will cache locally. To enable Remote Caching
|
53
|
+
By default, Turborepo will cache locally. To enable Remote Caching you will need an account with Vercel. If you don't have an account you can [create one](https://vercel.com/signup), then enter the following commands:
|
54
54
|
|
55
55
|
```
|
56
56
|
cd my-turborepo
|
@@ -71,7 +71,7 @@ Learn more about the power of Turborepo:
|
|
71
71
|
|
72
72
|
- [Pipelines](https://turborepo.org/docs/core-concepts/pipelines)
|
73
73
|
- [Caching](https://turborepo.org/docs/core-concepts/caching)
|
74
|
-
- [Remote Caching
|
74
|
+
- [Remote Caching](https://turborepo.org/docs/core-concepts/remote-caching)
|
75
75
|
- [Scoped Tasks](https://turborepo.org/docs/core-concepts/scopes)
|
76
76
|
- [Configuration Options](https://turborepo.org/docs/reference/configuration)
|
77
77
|
- [CLI Usage](https://turborepo.org/docs/reference/command-line-reference)
|
package/templates/yarn/README.md
CHANGED
@@ -48,9 +48,9 @@ yarn run dev
|
|
48
48
|
|
49
49
|
### Remote Caching
|
50
50
|
|
51
|
-
Turborepo can use a technique known as [Remote Caching
|
51
|
+
Turborepo can use a technique known as [Remote Caching](https://turborepo.org/docs/core-concepts/remote-caching) to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines.
|
52
52
|
|
53
|
-
By default, Turborepo will cache locally. To enable Remote Caching
|
53
|
+
By default, Turborepo will cache locally. To enable Remote Caching you will need an account with Vercel. If you don't have an account you can [create one](https://vercel.com/signup), then enter the following commands:
|
54
54
|
|
55
55
|
```
|
56
56
|
cd my-turborepo
|
@@ -71,7 +71,7 @@ Learn more about the power of Turborepo:
|
|
71
71
|
|
72
72
|
- [Pipelines](https://turborepo.org/docs/core-concepts/pipelines)
|
73
73
|
- [Caching](https://turborepo.org/docs/core-concepts/caching)
|
74
|
-
- [Remote Caching
|
74
|
+
- [Remote Caching](https://turborepo.org/docs/core-concepts/remote-caching)
|
75
75
|
- [Scoped Tasks](https://turborepo.org/docs/core-concepts/scopes)
|
76
76
|
- [Configuration Options](https://turborepo.org/docs/reference/configuration)
|
77
77
|
- [CLI Usage](https://turborepo.org/docs/reference/command-line-reference)
|