create-turbo 1.0.10 → 1.0.14
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 +59 -50
- package/package.json +3 -2
- package/templates/_shared_ts/apps/docs/package.json +2 -2
- package/templates/_shared_ts/apps/web/package.json +2 -2
- package/templates/_shared_ts/packages/config/eslint-preset.js +1 -7
- package/templates/_shared_ts/packages/config/package.json +1 -1
- package/templates/_shared_ts/packages/tsconfig/README.md +1 -1
- package/templates/_shared_ts/packages/tsconfig/react-library.json +2 -5
- package/templates/_shared_ts/packages/ui/index.tsx +1 -0
- package/templates/_shared_ts/packages/ui/package.json +10 -4
- package/templates/_shared_ts/packages/ui/tsconfig.json +5 -0
package/dist/index.js
CHANGED
@@ -31,7 +31,7 @@ var import_chalk = __toModule(require("chalk"));
|
|
31
31
|
|
32
32
|
// package.json
|
33
33
|
var name = "create-turbo";
|
34
|
-
var version = "1.0.
|
34
|
+
var version = "1.0.14";
|
35
35
|
var description = "Create a new Turborepo";
|
36
36
|
var homepage = "https://turborepo.org";
|
37
37
|
var license = "MPL-2.0";
|
@@ -48,7 +48,8 @@ var bin = {
|
|
48
48
|
};
|
49
49
|
var scripts = {
|
50
50
|
build: "tsup src/index.ts --format cjs",
|
51
|
-
test: "jest"
|
51
|
+
test: "jest",
|
52
|
+
lint: "eslint src/**/*.ts"
|
52
53
|
};
|
53
54
|
var dependencies = {
|
54
55
|
chalk: "2.4.2",
|
@@ -101,8 +102,8 @@ var import_child_process = __toModule(require("child_process"));
|
|
101
102
|
function shouldUseYarn() {
|
102
103
|
try {
|
103
104
|
const userAgent = process.env.npm_config_user_agent;
|
104
|
-
if (userAgent) {
|
105
|
-
return
|
105
|
+
if (userAgent && userAgent.startsWith("yarn")) {
|
106
|
+
return true;
|
106
107
|
}
|
107
108
|
(0, import_child_process.execSync)("yarnpkg --version", { stdio: "ignore" });
|
108
109
|
return true;
|
@@ -165,7 +166,9 @@ var help = `
|
|
165
166
|
|
166
167
|
If <dir> is not provided up front you will be prompted for it.
|
167
168
|
|
168
|
-
Flags:
|
169
|
+
Flags:
|
170
|
+
--use-npm Explicitly tell the CLI to bootstrap the app using npm.
|
171
|
+
--no-install Explicitly do not run the package mananger's install command
|
169
172
|
--help, -h Show this help message
|
170
173
|
--version, -v Show the version of this script
|
171
174
|
`;
|
@@ -184,8 +187,11 @@ run().then(notifyUpdate).catch(async (reason) => {
|
|
184
187
|
});
|
185
188
|
async function run() {
|
186
189
|
let { input, flags, showHelp, showVersion } = (0, import_meow.default)(help, {
|
190
|
+
booleanDefault: void 0,
|
187
191
|
flags: {
|
188
192
|
help: { type: "boolean", default: false, alias: "h" },
|
193
|
+
useNpm: { type: "boolean", default: false },
|
194
|
+
install: { type: "boolean", default: true },
|
189
195
|
version: { type: "boolean", default: false, alias: "v" }
|
190
196
|
}
|
191
197
|
});
|
@@ -208,29 +214,26 @@ async function run() {
|
|
208
214
|
}
|
209
215
|
])).dir);
|
210
216
|
const isYarnInstalled = shouldUseYarn();
|
211
|
-
let answers
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
default: true
|
232
|
-
}
|
233
|
-
]);
|
217
|
+
let answers;
|
218
|
+
if (flags.useNpm) {
|
219
|
+
answers = { packageManager: "npm" };
|
220
|
+
} else {
|
221
|
+
answers = await import_inquirer.default.prompt([
|
222
|
+
{
|
223
|
+
name: "packageManager",
|
224
|
+
type: "list",
|
225
|
+
message: "Which package manager do you want to use?",
|
226
|
+
choices: [
|
227
|
+
{
|
228
|
+
name: "Yarn",
|
229
|
+
value: "yarn",
|
230
|
+
disabled: !isYarnInstalled && "not installed"
|
231
|
+
},
|
232
|
+
{ name: "NPM", value: "npm" }
|
233
|
+
]
|
234
|
+
}
|
235
|
+
]);
|
236
|
+
}
|
234
237
|
let relativeProjectDir = path2.relative(process.cwd(), projectDir);
|
235
238
|
let projectDirIsCurrentDir = relativeProjectDir === "";
|
236
239
|
if (!projectDirIsCurrentDir) {
|
@@ -257,7 +260,7 @@ async function run() {
|
|
257
260
|
}
|
258
261
|
});
|
259
262
|
await import_fs_extra.default.writeFile(path2.join(projectDir, "package.json"), JSON.stringify(appPkg, null, 2));
|
260
|
-
if (
|
263
|
+
if (flags.install) {
|
261
264
|
console.log();
|
262
265
|
console.log(`>>> Bootstrapping a new turborepo with the following:`);
|
263
266
|
console.log();
|
@@ -278,40 +281,46 @@ async function run() {
|
|
278
281
|
cwd: projectDir
|
279
282
|
});
|
280
283
|
spinner.stop();
|
284
|
+
} else {
|
285
|
+
console.log();
|
286
|
+
console.log(`>>> Bootstrapped a new turborepo with the following:`);
|
287
|
+
console.log();
|
288
|
+
console.log(` - ${import_chalk.default.bold("apps/web")}: Next.js with TypeScript`);
|
289
|
+
console.log(` - ${import_chalk.default.bold("apps/docs")}: Next.js with TypeScript`);
|
290
|
+
console.log(` - ${import_chalk.default.bold("packages/ui")}: Shared React component library`);
|
291
|
+
console.log(` - ${import_chalk.default.bold("packages/config")}: Shared configuration (ESLint)`);
|
292
|
+
console.log(` - ${import_chalk.default.bold("packages/tsconfig")}: Shared TypeScript \`tsconfig.json\``);
|
293
|
+
console.log();
|
281
294
|
}
|
282
295
|
process.chdir(projectDir);
|
283
296
|
tryGitInit(relativeProjectDir);
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
console.log(
|
297
|
+
if (projectDirIsCurrentDir) {
|
298
|
+
console.log(`${import_chalk.default.bold(turboGradient(">>> Success!"))} Your new Turborepo is ready. `);
|
299
|
+
console.log("Inside this directory, you can run several commands:");
|
300
|
+
} else {
|
301
|
+
console.log(`${import_chalk.default.bold(turboGradient(">>> Success!"))} Created a new Turborepo at "${relativeProjectDir}". `);
|
302
|
+
console.log("Inside that directory, you can run several commands:");
|
290
303
|
}
|
291
|
-
console.log(` ${answers.packageManager} run build`);
|
292
304
|
console.log();
|
293
|
-
console.log(`
|
305
|
+
console.log(import_chalk.default.cyan(` ${answers.packageManager} run build`));
|
306
|
+
console.log(` Build all apps and packages`);
|
294
307
|
console.log();
|
295
|
-
|
296
|
-
|
297
|
-
}
|
298
|
-
console.log(` ${answers.packageManager} run dev`);
|
308
|
+
console.log(import_chalk.default.cyan(` ${answers.packageManager} run dev`));
|
309
|
+
console.log(` Develop all apps and packages`);
|
299
310
|
console.log();
|
300
311
|
console.log(`Turborepo will cache locally by default. For an additional`);
|
301
312
|
console.log(`speed boost, enable Remote Caching (beta) with Vercel by`);
|
302
|
-
console.log(`entering the following
|
313
|
+
console.log(`entering the following command:`);
|
314
|
+
console.log();
|
315
|
+
console.log(import_chalk.default.cyan(` npx turbo login`));
|
316
|
+
console.log();
|
317
|
+
console.log(`We suggest that you begin by typing:`);
|
303
318
|
console.log();
|
304
319
|
if (!projectDirIsCurrentDir) {
|
305
|
-
console.log(` cd ${relativeProjectDir}`);
|
320
|
+
console.log(` ${import_chalk.default.cyan("cd")} ${relativeProjectDir}`);
|
306
321
|
}
|
307
|
-
console.log(` npx turbo login`);
|
322
|
+
console.log(import_chalk.default.cyan(` npx turbo login`));
|
308
323
|
console.log();
|
309
|
-
if (projectDirIsCurrentDir) {
|
310
|
-
console.log(`For more info, checkout the README`);
|
311
|
-
} else {
|
312
|
-
console.log(`For more info, checkout the README in ${import_chalk.default.bold(relativeProjectDir)}`);
|
313
|
-
}
|
314
|
-
console.log(`as well as the official Turborepo docs ${import_chalk.default.underline("https://turborepo.org/docs")}`);
|
315
324
|
}
|
316
325
|
var update = (0, import_update_check.default)(package_default).catch(() => null);
|
317
326
|
async function notifyUpdate() {
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "create-turbo",
|
3
|
-
"version": "1.0.
|
3
|
+
"version": "1.0.14",
|
4
4
|
"description": "Create a new Turborepo",
|
5
5
|
"homepage": "https://turborepo.org",
|
6
6
|
"license": "MPL-2.0",
|
@@ -17,7 +17,8 @@
|
|
17
17
|
},
|
18
18
|
"scripts": {
|
19
19
|
"build": "tsup src/index.ts --format cjs",
|
20
|
-
"test": "jest"
|
20
|
+
"test": "jest",
|
21
|
+
"lint": "eslint src/**/*.ts"
|
21
22
|
},
|
22
23
|
"dependencies": {
|
23
24
|
"chalk": "2.4.2",
|
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "docs",
|
3
|
-
"version": "
|
3
|
+
"version": "0.0.0",
|
4
4
|
"private": true,
|
5
5
|
"scripts": {
|
6
6
|
"dev": "next dev --port 3001",
|
@@ -20,6 +20,6 @@
|
|
20
20
|
"next-transpile-modules": "9.0.0",
|
21
21
|
"tsconfig": "*",
|
22
22
|
"@types/react": "17.0.37",
|
23
|
-
"typescript": "4.5.
|
23
|
+
"typescript": "^4.5.3"
|
24
24
|
}
|
25
25
|
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "web",
|
3
|
-
"version": "
|
3
|
+
"version": "0.0.0",
|
4
4
|
"private": true,
|
5
5
|
"scripts": {
|
6
6
|
"dev": "next dev",
|
@@ -20,6 +20,6 @@
|
|
20
20
|
"next-transpile-modules": "9.0.0",
|
21
21
|
"tsconfig": "*",
|
22
22
|
"@types/react": "17.0.37",
|
23
|
-
"typescript": "4.5.
|
23
|
+
"typescript": "^4.5.3"
|
24
24
|
}
|
25
25
|
}
|
@@ -2,13 +2,10 @@
|
|
2
2
|
"$schema": "https://json.schemastore.org/tsconfig",
|
3
3
|
"display": "React Library",
|
4
4
|
"extends": "./base.json",
|
5
|
-
"include": ["src"],
|
6
|
-
"exclude": ["node_modules"],
|
7
5
|
"compilerOptions": {
|
8
6
|
"lib": ["ES2015"],
|
9
7
|
"module": "ESNext",
|
10
|
-
"
|
11
|
-
"
|
12
|
-
"jsx": "react"
|
8
|
+
"target": "ES6",
|
9
|
+
"jsx": "react-jsx"
|
13
10
|
}
|
14
11
|
}
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from "./Button";
|
@@ -1,7 +1,13 @@
|
|
1
1
|
{
|
2
2
|
"name": "ui",
|
3
|
-
"version": "
|
4
|
-
"main": "./
|
5
|
-
"types": "./
|
6
|
-
"license": "MIT"
|
3
|
+
"version": "0.0.0",
|
4
|
+
"main": "./index.tsx",
|
5
|
+
"types": "./index.tsx",
|
6
|
+
"license": "MIT",
|
7
|
+
"devDependencies": {
|
8
|
+
"@types/react": "^17.0.37",
|
9
|
+
"@types/react-dom": "^17.0.11",
|
10
|
+
"tsconfig": "*",
|
11
|
+
"typescript": "^4.5.3"
|
12
|
+
}
|
7
13
|
}
|