create-turbo 1.4.4-canary.0 → 1.4.4-canary.3
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/index.js +92 -87
- package/package.json +6 -5
- package/templates/_shared_ts/apps/docs/package.json +1 -1
- package/templates/_shared_ts/apps/web/package.json +1 -1
- package/templates/_shared_ts/package.json +0 -1
- package/templates/_shared_ts/packages/eslint-config-custom/package.json +1 -1
- package/templates/_shared_ts/packages/tsconfig/package.json +0 -1
- package/templates/berry/.yarnrc.yml +1 -0
- package/templates/berry/README.md +73 -0
- package/templates/npm/README.md +2 -6
- package/templates/pnpm/README.md +5 -9
- package/templates/pnpm/apps/docs/package.json +1 -1
- package/templates/pnpm/apps/web/package.json +1 -1
- package/templates/pnpm/package.json +3 -0
- package/templates/yarn/README.md +1 -5
- package/templates/npm/package.json +0 -19
- package/templates/npm/turbo.json +0 -15
- package/templates/pnpm/turbo.json +0 -15
- package/templates/yarn/turbo.json +0 -15
package/dist/index.js
CHANGED
@@ -19,10 +19,11 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
19
19
|
// src/index.ts
|
20
20
|
var path2 = __toESM(require("path"));
|
21
21
|
var import_execa = __toESM(require("execa"));
|
22
|
-
var
|
22
|
+
var import_fs = __toESM(require("fs"));
|
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_semver = require("semver");
|
26
27
|
var import_gradient_string = __toESM(require("gradient-string"));
|
27
28
|
var import_update_check = __toESM(require("update-check"));
|
28
29
|
var import_chalk = __toESM(require("chalk"));
|
@@ -30,7 +31,7 @@ var import_chalk = __toESM(require("chalk"));
|
|
30
31
|
// package.json
|
31
32
|
var package_default = {
|
32
33
|
name: "create-turbo",
|
33
|
-
version: "1.4.3",
|
34
|
+
version: "1.4.4-canary.3",
|
34
35
|
description: "Create a new Turborepo",
|
35
36
|
homepage: "https://turborepo.org",
|
36
37
|
license: "MPL-2.0",
|
@@ -46,14 +47,14 @@ var package_default = {
|
|
46
47
|
"create-turbo": "dist/index.js"
|
47
48
|
},
|
48
49
|
scripts: {
|
49
|
-
build: "tsup
|
50
|
+
build: "tsup",
|
50
51
|
test: "jest",
|
51
|
-
lint: "eslint src/**/*.ts"
|
52
|
+
lint: "eslint src/**/*.ts",
|
53
|
+
"check-types": "tsc --noEmit"
|
52
54
|
},
|
53
55
|
dependencies: {
|
54
56
|
chalk: "2.4.2",
|
55
57
|
execa: "5.1.1",
|
56
|
-
"fs-extra": "^10.0.0",
|
57
58
|
"gradient-string": "^2.0.0",
|
58
59
|
inquirer: "^8.0.0",
|
59
60
|
meow: "^7.1.1",
|
@@ -64,17 +65,18 @@ var package_default = {
|
|
64
65
|
},
|
65
66
|
devDependencies: {
|
66
67
|
"@types/chalk-animation": "^1.6.0",
|
67
|
-
"@types/fs-extra": "^9.0.13",
|
68
68
|
"@types/gradient-string": "^1.1.2",
|
69
69
|
"@types/inquirer": "^7.3.1",
|
70
70
|
"@types/jest": "^27.4.0",
|
71
71
|
"@types/node": "^16.11.12",
|
72
|
+
"@types/rimraf": "^3.0.2",
|
72
73
|
"@types/semver": "^7.3.9",
|
73
74
|
eslint: "^7.23.0",
|
74
75
|
jest: "^27.4.3",
|
75
76
|
semver: "^7.3.5",
|
76
77
|
"strip-ansi": "^6.0.1",
|
77
78
|
"ts-jest": "^27.1.1",
|
79
|
+
tsconfig: "workspace:*",
|
78
80
|
tsup: "^5.10.3",
|
79
81
|
typescript: "^4.5.5"
|
80
82
|
},
|
@@ -113,10 +115,6 @@ function shouldUsePnpm() {
|
|
113
115
|
return false;
|
114
116
|
}
|
115
117
|
}
|
116
|
-
function getNpxCommandOfPnpm() {
|
117
|
-
const currentVersion = (0, import_child_process2.execSync)("pnpm --version").toString();
|
118
|
-
return Number(currentVersion.split(".")[0]) >= 6 ? "pnpm dlx" : "pnpx";
|
119
|
-
}
|
120
118
|
|
121
119
|
// src/git.ts
|
122
120
|
var import_child_process3 = require("child_process");
|
@@ -166,38 +164,54 @@ function tryGitInit(root) {
|
|
166
164
|
|
167
165
|
// src/constants.ts
|
168
166
|
var PACKAGE_MANAGERS = {
|
169
|
-
npm:
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
167
|
+
npm: [
|
168
|
+
{
|
169
|
+
name: "npm",
|
170
|
+
template: "npm",
|
171
|
+
command: "npm",
|
172
|
+
installArgs: ["install"],
|
173
|
+
version: "latest",
|
174
|
+
executable: "npx",
|
175
|
+
semver: "*"
|
176
|
+
}
|
177
|
+
],
|
178
|
+
pnpm: [
|
179
|
+
{
|
180
|
+
name: "pnpm",
|
181
|
+
template: "pnpm",
|
182
|
+
command: "pnpm",
|
183
|
+
installArgs: ["install"],
|
184
|
+
version: "latest",
|
185
|
+
executable: "pnpm dlx",
|
186
|
+
semver: ">=7"
|
187
|
+
}
|
188
|
+
],
|
189
|
+
yarn: [
|
190
|
+
{
|
191
|
+
name: "yarn",
|
192
|
+
template: "yarn",
|
193
|
+
command: "yarn",
|
194
|
+
installArgs: ["install"],
|
195
|
+
version: "1.x",
|
196
|
+
executable: "npx",
|
197
|
+
semver: "<2"
|
198
|
+
},
|
199
|
+
{
|
200
|
+
name: "berry",
|
201
|
+
template: "berry",
|
202
|
+
command: "yarn",
|
203
|
+
installArgs: ["install", "--no-immutable"],
|
204
|
+
version: "stable",
|
205
|
+
executable: "yarn dlx",
|
206
|
+
semver: ">=2"
|
207
|
+
}
|
208
|
+
]
|
185
209
|
};
|
186
210
|
|
187
211
|
// src/getPackageManagerVersion.ts
|
188
212
|
var import_child_process4 = require("child_process");
|
189
|
-
var getPackageManagerVersion = (
|
190
|
-
|
191
|
-
case "berry":
|
192
|
-
case "yarn":
|
193
|
-
return (0, import_child_process4.execSync)("yarn --version").toString().trim();
|
194
|
-
case "pnpm":
|
195
|
-
return (0, import_child_process4.execSync)("pnpm --version").toString().trim();
|
196
|
-
case "npm":
|
197
|
-
return (0, import_child_process4.execSync)("npm --version").toString().trim();
|
198
|
-
default:
|
199
|
-
throw new Error(`${ws} is not supported`);
|
200
|
-
}
|
213
|
+
var getPackageManagerVersion = (command) => {
|
214
|
+
return (0, import_child_process4.execSync)(`${command} --version`).toString().trim();
|
201
215
|
};
|
202
216
|
|
203
217
|
// src/index.ts
|
@@ -264,11 +278,11 @@ async function run() {
|
|
264
278
|
const isPnpmInstalled = shouldUsePnpm();
|
265
279
|
let answers;
|
266
280
|
if (flags.useNpm) {
|
267
|
-
answers = { packageManager:
|
281
|
+
answers = { packageManager: "npm" };
|
268
282
|
} else if (flags.usePnpm) {
|
269
|
-
answers = { packageManager:
|
283
|
+
answers = { packageManager: "pnpm" };
|
270
284
|
} else if (flags.useYarn) {
|
271
|
-
answers = { packageManager:
|
285
|
+
answers = { packageManager: "yarn" };
|
272
286
|
} else {
|
273
287
|
answers = await import_inquirer.default.prompt([
|
274
288
|
{
|
@@ -276,15 +290,15 @@ async function run() {
|
|
276
290
|
type: "list",
|
277
291
|
message: "Which package manager do you want to use?",
|
278
292
|
choices: [
|
279
|
-
{ name: "npm", value:
|
293
|
+
{ name: "npm", value: "npm" },
|
280
294
|
{
|
281
295
|
name: "pnpm",
|
282
|
-
value:
|
296
|
+
value: "pnpm",
|
283
297
|
disabled: !isPnpmInstalled && "not installed"
|
284
298
|
},
|
285
299
|
{
|
286
300
|
name: "yarn",
|
287
|
-
value:
|
301
|
+
value: "yarn",
|
288
302
|
disabled: !isYarnInstalled && "not installed"
|
289
303
|
}
|
290
304
|
]
|
@@ -294,20 +308,29 @@ async function run() {
|
|
294
308
|
let relativeProjectDir = path2.relative(process.cwd(), projectDir);
|
295
309
|
let projectDirIsCurrentDir = relativeProjectDir === "";
|
296
310
|
if (!projectDirIsCurrentDir) {
|
297
|
-
if (
|
311
|
+
if (import_fs.default.existsSync(projectDir) && import_fs.default.readdirSync(projectDir).length !== 0) {
|
298
312
|
console.log(`\uFE0F\u{1F6A8} Oops, "${relativeProjectDir}" already exists. Please try again with a different directory.`);
|
299
313
|
process.exit(1);
|
300
314
|
} else {
|
301
|
-
|
315
|
+
import_fs.default.mkdirSync(projectDir, { recursive: true });
|
302
316
|
}
|
303
317
|
}
|
304
318
|
let sharedTemplate = path2.resolve(__dirname, "../templates", `_shared_ts`);
|
305
|
-
|
306
|
-
let
|
307
|
-
|
308
|
-
|
319
|
+
import_fs.default.cpSync(sharedTemplate, projectDir, { recursive: true });
|
320
|
+
let packageManagerVersion = getPackageManagerVersion(answers.packageManager);
|
321
|
+
let packageManagerConfigs = PACKAGE_MANAGERS[answers.packageManager];
|
322
|
+
let packageManager = packageManagerConfigs.find((packageManager2) => (0, import_semver.satisfies)(packageManagerVersion, packageManager2.semver));
|
323
|
+
if (!packageManager) {
|
324
|
+
throw new Error("Unsupported package manager version.");
|
325
|
+
}
|
326
|
+
let packageManagerTemplate = path2.resolve(__dirname, "../templates", packageManager.template);
|
327
|
+
if (import_fs.default.existsSync(packageManagerTemplate)) {
|
328
|
+
import_fs.default.cpSync(packageManagerTemplate, projectDir, {
|
329
|
+
recursive: true,
|
330
|
+
force: true
|
331
|
+
});
|
309
332
|
}
|
310
|
-
|
333
|
+
import_fs.default.renameSync(path2.join(projectDir, "gitignore"), path2.join(projectDir, ".gitignore"));
|
311
334
|
let sharedPkg = require(path2.join(sharedTemplate, "package.json"));
|
312
335
|
let projectPkg = require(path2.join(projectDir, "package.json"));
|
313
336
|
["dependencies", "devDependencies"].forEach((pkgKey) => {
|
@@ -316,70 +339,59 @@ async function run() {
|
|
316
339
|
...projectPkg[pkgKey]
|
317
340
|
};
|
318
341
|
});
|
319
|
-
sharedPkg.packageManager = `${
|
342
|
+
sharedPkg.packageManager = `${packageManager.command}@${packageManagerVersion}`;
|
320
343
|
sharedPkg.name = projectName;
|
321
|
-
|
344
|
+
import_fs.default.writeFileSync(path2.join(projectDir, "package.json"), JSON.stringify(sharedPkg, null, 2));
|
345
|
+
console.log();
|
346
|
+
console.log(`>>> Created a new turborepo with the following:`);
|
347
|
+
console.log();
|
348
|
+
console.log(` - ${import_chalk.default.bold("apps/web")}: Next.js with TypeScript`);
|
349
|
+
console.log(` - ${import_chalk.default.bold("apps/docs")}: Next.js with TypeScript`);
|
350
|
+
console.log(` - ${import_chalk.default.bold("packages/ui")}: Shared React component library`);
|
351
|
+
console.log(` - ${import_chalk.default.bold("packages/eslint-config-custom")}: Shared configuration (ESLint)`);
|
352
|
+
console.log(` - ${import_chalk.default.bold("packages/tsconfig")}: Shared TypeScript \`tsconfig.json\``);
|
353
|
+
console.log();
|
322
354
|
if (flags.install) {
|
323
|
-
console.log();
|
324
|
-
console.log(`>>> Creating a new turborepo with the following:`);
|
325
|
-
console.log();
|
326
|
-
console.log(` - ${import_chalk.default.bold("apps/web")}: Next.js with TypeScript`);
|
327
|
-
console.log(` - ${import_chalk.default.bold("apps/docs")}: Next.js with TypeScript`);
|
328
|
-
console.log(` - ${import_chalk.default.bold("packages/ui")}: Shared React component library`);
|
329
|
-
console.log(` - ${import_chalk.default.bold("packages/eslint-config-custom")}: Shared configuration (ESLint)`);
|
330
|
-
console.log(` - ${import_chalk.default.bold("packages/tsconfig")}: Shared TypeScript \`tsconfig.json\``);
|
331
|
-
console.log();
|
332
355
|
const spinner = (0, import_ora.default)({
|
333
356
|
text: "Installing dependencies...",
|
334
357
|
spinner: {
|
335
358
|
frames: [" ", "> ", ">> ", ">>>"]
|
336
359
|
}
|
337
360
|
}).start();
|
338
|
-
|
339
|
-
await (0, import_execa.default)(`${answers.packageManager.command}`, installArgs, {
|
361
|
+
await (0, import_execa.default)(`${packageManager.command}`, packageManager.installArgs, {
|
340
362
|
stdio: "ignore",
|
341
363
|
cwd: projectDir
|
342
364
|
});
|
343
365
|
spinner.stop();
|
344
|
-
} else {
|
345
|
-
console.log();
|
346
|
-
console.log(`>>> Bootstrapped a new turborepo with the following:`);
|
347
|
-
console.log();
|
348
|
-
console.log(` - ${import_chalk.default.bold("apps/web")}: Next.js with TypeScript`);
|
349
|
-
console.log(` - ${import_chalk.default.bold("apps/docs")}: Next.js with TypeScript`);
|
350
|
-
console.log(` - ${import_chalk.default.bold("packages/ui")}: Shared React component library`);
|
351
|
-
console.log(` - ${import_chalk.default.bold("packages/config")}: Shared configuration (ESLint)`);
|
352
|
-
console.log(` - ${import_chalk.default.bold("packages/tsconfig")}: Shared TypeScript \`tsconfig.json\``);
|
353
|
-
console.log();
|
354
366
|
}
|
355
367
|
process.chdir(projectDir);
|
356
368
|
tryGitInit(relativeProjectDir);
|
357
369
|
if (projectDirIsCurrentDir) {
|
358
|
-
console.log(`${import_chalk.default.bold(turboGradient(">>> Success!"))} Your new Turborepo is ready
|
370
|
+
console.log(`${import_chalk.default.bold(turboGradient(">>> Success!"))} Your new Turborepo is ready.`);
|
359
371
|
console.log("Inside this directory, you can run several commands:");
|
360
372
|
} else {
|
361
|
-
console.log(`${import_chalk.default.bold(turboGradient(">>> Success!"))} Created a new Turborepo at "${relativeProjectDir}"
|
373
|
+
console.log(`${import_chalk.default.bold(turboGradient(">>> Success!"))} Created a new Turborepo at "${relativeProjectDir}".`);
|
362
374
|
console.log("Inside that directory, you can run several commands:");
|
363
375
|
}
|
364
376
|
console.log();
|
365
|
-
console.log(import_chalk.default.cyan(` ${
|
377
|
+
console.log(import_chalk.default.cyan(` ${packageManager.command} run build`));
|
366
378
|
console.log(` Build all apps and packages`);
|
367
379
|
console.log();
|
368
|
-
console.log(import_chalk.default.cyan(` ${
|
380
|
+
console.log(import_chalk.default.cyan(` ${packageManager.command} run dev`));
|
369
381
|
console.log(` Develop all apps and packages`);
|
370
382
|
console.log();
|
371
383
|
console.log(`Turborepo will cache locally by default. For an additional`);
|
372
384
|
console.log(`speed boost, enable Remote Caching with Vercel by`);
|
373
385
|
console.log(`entering the following command:`);
|
374
386
|
console.log();
|
375
|
-
console.log(import_chalk.default.cyan(` ${
|
387
|
+
console.log(import_chalk.default.cyan(` ${packageManager.executable} turbo login`));
|
376
388
|
console.log();
|
377
389
|
console.log(`We suggest that you begin by typing:`);
|
378
390
|
console.log();
|
379
391
|
if (!projectDirIsCurrentDir) {
|
380
392
|
console.log(` ${import_chalk.default.cyan("cd")} ${relativeProjectDir}`);
|
381
393
|
}
|
382
|
-
console.log(import_chalk.default.cyan(` ${
|
394
|
+
console.log(import_chalk.default.cyan(` ${packageManager.executable} turbo login`));
|
383
395
|
console.log();
|
384
396
|
}
|
385
397
|
var update = (0, import_update_check.default)(package_default).catch(() => null);
|
@@ -397,10 +409,3 @@ async function notifyUpdate() {
|
|
397
409
|
} catch {
|
398
410
|
}
|
399
411
|
}
|
400
|
-
function getNpxCommand(pkgManager) {
|
401
|
-
if (pkgManager.command === "pnpm") {
|
402
|
-
return getNpxCommandOfPnpm();
|
403
|
-
} else {
|
404
|
-
return "npx";
|
405
|
-
}
|
406
|
-
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "create-turbo",
|
3
|
-
"version": "1.4.4-canary.
|
3
|
+
"version": "1.4.4-canary.3",
|
4
4
|
"description": "Create a new Turborepo",
|
5
5
|
"homepage": "https://turborepo.org",
|
6
6
|
"license": "MPL-2.0",
|
@@ -16,14 +16,14 @@
|
|
16
16
|
"create-turbo": "dist/index.js"
|
17
17
|
},
|
18
18
|
"scripts": {
|
19
|
-
"build": "tsup
|
19
|
+
"build": "tsup",
|
20
20
|
"test": "jest",
|
21
|
-
"lint": "eslint src/**/*.ts"
|
21
|
+
"lint": "eslint src/**/*.ts",
|
22
|
+
"check-types": "tsc --noEmit"
|
22
23
|
},
|
23
24
|
"dependencies": {
|
24
25
|
"chalk": "2.4.2",
|
25
26
|
"execa": "5.1.1",
|
26
|
-
"fs-extra": "^10.0.0",
|
27
27
|
"gradient-string": "^2.0.0",
|
28
28
|
"inquirer": "^8.0.0",
|
29
29
|
"meow": "^7.1.1",
|
@@ -34,17 +34,18 @@
|
|
34
34
|
},
|
35
35
|
"devDependencies": {
|
36
36
|
"@types/chalk-animation": "^1.6.0",
|
37
|
-
"@types/fs-extra": "^9.0.13",
|
38
37
|
"@types/gradient-string": "^1.1.2",
|
39
38
|
"@types/inquirer": "^7.3.1",
|
40
39
|
"@types/jest": "^27.4.0",
|
41
40
|
"@types/node": "^16.11.12",
|
41
|
+
"@types/rimraf": "^3.0.2",
|
42
42
|
"@types/semver": "^7.3.9",
|
43
43
|
"eslint": "^7.23.0",
|
44
44
|
"jest": "^27.4.3",
|
45
45
|
"semver": "^7.3.5",
|
46
46
|
"strip-ansi": "^6.0.1",
|
47
47
|
"ts-jest": "^27.1.1",
|
48
|
+
"tsconfig": "workspace:*",
|
48
49
|
"tsup": "^5.10.3",
|
49
50
|
"typescript": "^4.5.5"
|
50
51
|
},
|
@@ -0,0 +1 @@
|
|
1
|
+
nodeLinker: "node-modules"
|
@@ -0,0 +1,73 @@
|
|
1
|
+
# Turborepo starter
|
2
|
+
|
3
|
+
This is an official Yarn (Berry) starter turborepo.
|
4
|
+
|
5
|
+
## What's inside?
|
6
|
+
|
7
|
+
This turborepo uses [Yarn](https://yarnpkg.com/) as a package manager. It includes the following packages/apps:
|
8
|
+
|
9
|
+
### Apps and Packages
|
10
|
+
|
11
|
+
- `docs`: a [Next.js](https://nextjs.org) app
|
12
|
+
- `web`: another [Next.js](https://nextjs.org) app
|
13
|
+
- `ui`: a stub React component library shared by both `web` and `docs` applications
|
14
|
+
- `eslint-config-custom`: `eslint` configurations (includes `eslint-config-next` and `eslint-config-prettier`)
|
15
|
+
- `tsconfig`: `tsconfig.json`s used throughout the monorepo
|
16
|
+
|
17
|
+
Each package/app is 100% [TypeScript](https://www.typescriptlang.org/).
|
18
|
+
|
19
|
+
### Utilities
|
20
|
+
|
21
|
+
This turborepo has some additional tools already setup for you:
|
22
|
+
|
23
|
+
- [TypeScript](https://www.typescriptlang.org/) for static type checking
|
24
|
+
- [ESLint](https://eslint.org/) for code linting
|
25
|
+
- [Prettier](https://prettier.io) for code formatting
|
26
|
+
|
27
|
+
### Build
|
28
|
+
|
29
|
+
To build all apps and packages, run the following command:
|
30
|
+
|
31
|
+
```
|
32
|
+
cd my-turborepo
|
33
|
+
yarn run build
|
34
|
+
```
|
35
|
+
|
36
|
+
### Develop
|
37
|
+
|
38
|
+
To develop all apps and packages, run the following command:
|
39
|
+
|
40
|
+
```
|
41
|
+
cd my-turborepo
|
42
|
+
yarn run dev
|
43
|
+
```
|
44
|
+
|
45
|
+
### Remote Caching
|
46
|
+
|
47
|
+
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.
|
48
|
+
|
49
|
+
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:
|
50
|
+
|
51
|
+
```
|
52
|
+
cd my-turborepo
|
53
|
+
yarn dlx turbo login
|
54
|
+
```
|
55
|
+
|
56
|
+
This will authenticate the Turborepo CLI with your [Vercel account](https://vercel.com/docs/concepts/personal-accounts/overview).
|
57
|
+
|
58
|
+
Next, you can link your Turborepo to your Remote Cache by running the following command from the root of your turborepo:
|
59
|
+
|
60
|
+
```
|
61
|
+
yarn dlx turbo link
|
62
|
+
```
|
63
|
+
|
64
|
+
## Useful Links
|
65
|
+
|
66
|
+
Learn more about the power of Turborepo:
|
67
|
+
|
68
|
+
- [Pipelines](https://turborepo.org/docs/core-concepts/pipelines)
|
69
|
+
- [Caching](https://turborepo.org/docs/core-concepts/caching)
|
70
|
+
- [Remote Caching](https://turborepo.org/docs/core-concepts/remote-caching)
|
71
|
+
- [Scoped Tasks](https://turborepo.org/docs/core-concepts/scopes)
|
72
|
+
- [Configuration Options](https://turborepo.org/docs/reference/configuration)
|
73
|
+
- [CLI Usage](https://turborepo.org/docs/reference/command-line-reference)
|
package/templates/npm/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
# Turborepo starter
|
1
|
+
# Turborepo starter
|
2
2
|
|
3
|
-
This is an official starter turborepo.
|
3
|
+
This is an official npm starter turborepo.
|
4
4
|
|
5
5
|
## What's inside?
|
6
6
|
|
@@ -24,10 +24,6 @@ This turborepo has some additional tools already setup for you:
|
|
24
24
|
- [ESLint](https://eslint.org/) for code linting
|
25
25
|
- [Prettier](https://prettier.io) for code formatting
|
26
26
|
|
27
|
-
## Setup
|
28
|
-
|
29
|
-
This repository is used in the `npx create-turbo@latest` command, and selected when choosing which package manager you wish to use with your monorepo (npm).
|
30
|
-
|
31
27
|
### Build
|
32
28
|
|
33
29
|
To build all apps and packages, run the following command:
|
package/templates/pnpm/README.md
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
# Turborepo starter
|
1
|
+
# Turborepo starter
|
2
2
|
|
3
|
-
This is an official starter turborepo.
|
3
|
+
This is an official pnpm starter turborepo.
|
4
4
|
|
5
5
|
## What's inside?
|
6
6
|
|
7
|
-
This turborepo uses [pnpm](https://pnpm.io) as a
|
7
|
+
This turborepo uses [pnpm](https://pnpm.io) as a package manager. It includes the following packages/apps:
|
8
8
|
|
9
9
|
### Apps and Packages
|
10
10
|
|
@@ -24,10 +24,6 @@ This turborepo has some additional tools already setup for you:
|
|
24
24
|
- [ESLint](https://eslint.org/) for code linting
|
25
25
|
- [Prettier](https://prettier.io) for code formatting
|
26
26
|
|
27
|
-
## Setup
|
28
|
-
|
29
|
-
This repository is used in the `npx create-turbo@latest` command, and selected when choosing which package manager you wish to use with your monorepo (pnpm).
|
30
|
-
|
31
27
|
### Build
|
32
28
|
|
33
29
|
To build all apps and packages, run the following command:
|
@@ -54,7 +50,7 @@ By default, Turborepo will cache locally. To enable Remote Caching you will need
|
|
54
50
|
|
55
51
|
```
|
56
52
|
cd my-turborepo
|
57
|
-
|
53
|
+
pnpm dlx turbo login
|
58
54
|
```
|
59
55
|
|
60
56
|
This will authenticate the Turborepo CLI with your [Vercel account](https://vercel.com/docs/concepts/personal-accounts/overview).
|
@@ -62,7 +58,7 @@ This will authenticate the Turborepo CLI with your [Vercel account](https://verc
|
|
62
58
|
Next, you can link your Turborepo to your Remote Cache by running the following command from the root of your turborepo:
|
63
59
|
|
64
60
|
```
|
65
|
-
|
61
|
+
pnpm dlx turbo link
|
66
62
|
```
|
67
63
|
|
68
64
|
## Useful Links
|
package/templates/yarn/README.md
CHANGED
@@ -4,7 +4,7 @@ This is an official Yarn v1 starter turborepo.
|
|
4
4
|
|
5
5
|
## What's inside?
|
6
6
|
|
7
|
-
This turborepo uses [Yarn](https://classic.yarnpkg.com/
|
7
|
+
This turborepo uses [Yarn](https://classic.yarnpkg.com/) as a package manager. It includes the following packages/apps:
|
8
8
|
|
9
9
|
### Apps and Packages
|
10
10
|
|
@@ -24,10 +24,6 @@ This turborepo has some additional tools already setup for you:
|
|
24
24
|
- [ESLint](https://eslint.org/) for code linting
|
25
25
|
- [Prettier](https://prettier.io) for code formatting
|
26
26
|
|
27
|
-
## Setup
|
28
|
-
|
29
|
-
This repository is used in the `npx create-turbo` command, and selected when choosing which package manager you wish to use with your monorepo (Yarn).
|
30
|
-
|
31
27
|
### Build
|
32
28
|
|
33
29
|
To build all apps and packages, run the following command:
|
@@ -1,19 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"name": "turborepo-basic-npm",
|
3
|
-
"version": "0.0.0",
|
4
|
-
"private": true,
|
5
|
-
"workspaces": [
|
6
|
-
"apps/*",
|
7
|
-
"packages/*"
|
8
|
-
],
|
9
|
-
"scripts": {
|
10
|
-
"build": "turbo run build",
|
11
|
-
"dev": "turbo run dev --parallel",
|
12
|
-
"lint": "turbo run lint",
|
13
|
-
"format": "prettier --write \"**/*.{ts,tsx,md}\""
|
14
|
-
},
|
15
|
-
"devDependencies": {
|
16
|
-
"prettier": "latest",
|
17
|
-
"turbo": "latest"
|
18
|
-
}
|
19
|
-
}
|
package/templates/npm/turbo.json
DELETED