create-turbo 1.0.11 → 1.0.12
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 +57 -49
- package/package.json +1 -1
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.12";
|
35
35
|
var description = "Create a new Turborepo";
|
36
36
|
var homepage = "https://turborepo.org";
|
37
37
|
var license = "MPL-2.0";
|
@@ -101,8 +101,8 @@ var import_child_process = __toModule(require("child_process"));
|
|
101
101
|
function shouldUseYarn() {
|
102
102
|
try {
|
103
103
|
const userAgent = process.env.npm_config_user_agent;
|
104
|
-
if (userAgent) {
|
105
|
-
return
|
104
|
+
if (userAgent && userAgent.startsWith("yarn")) {
|
105
|
+
return true;
|
106
106
|
}
|
107
107
|
(0, import_child_process.execSync)("yarnpkg --version", { stdio: "ignore" });
|
108
108
|
return true;
|
@@ -165,7 +165,9 @@ var help = `
|
|
165
165
|
|
166
166
|
If <dir> is not provided up front you will be prompted for it.
|
167
167
|
|
168
|
-
Flags:
|
168
|
+
Flags:
|
169
|
+
--use-npm Explicitly tell the CLI to bootstrap the app using npm.
|
170
|
+
--no-install Explicitly do not run the package mananger's install command
|
169
171
|
--help, -h Show this help message
|
170
172
|
--version, -v Show the version of this script
|
171
173
|
`;
|
@@ -184,8 +186,11 @@ run().then(notifyUpdate).catch(async (reason) => {
|
|
184
186
|
});
|
185
187
|
async function run() {
|
186
188
|
let { input, flags, showHelp, showVersion } = (0, import_meow.default)(help, {
|
189
|
+
booleanDefault: void 0,
|
187
190
|
flags: {
|
188
191
|
help: { type: "boolean", default: false, alias: "h" },
|
192
|
+
useNpm: { type: "boolean", default: false },
|
193
|
+
install: { type: "boolean", default: true },
|
189
194
|
version: { type: "boolean", default: false, alias: "v" }
|
190
195
|
}
|
191
196
|
});
|
@@ -208,29 +213,26 @@ async function run() {
|
|
208
213
|
}
|
209
214
|
])).dir);
|
210
215
|
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
|
-
]);
|
216
|
+
let answers;
|
217
|
+
if (flags.useNpm) {
|
218
|
+
answers = { packageManager: "npm" };
|
219
|
+
} else {
|
220
|
+
answers = await import_inquirer.default.prompt([
|
221
|
+
{
|
222
|
+
name: "packageManager",
|
223
|
+
type: "list",
|
224
|
+
message: "Which package manager do you want to use?",
|
225
|
+
choices: [
|
226
|
+
{
|
227
|
+
name: "Yarn",
|
228
|
+
value: "yarn",
|
229
|
+
disabled: !isYarnInstalled && "not installed"
|
230
|
+
},
|
231
|
+
{ name: "NPM", value: "npm" }
|
232
|
+
]
|
233
|
+
}
|
234
|
+
]);
|
235
|
+
}
|
234
236
|
let relativeProjectDir = path2.relative(process.cwd(), projectDir);
|
235
237
|
let projectDirIsCurrentDir = relativeProjectDir === "";
|
236
238
|
if (!projectDirIsCurrentDir) {
|
@@ -257,7 +259,7 @@ async function run() {
|
|
257
259
|
}
|
258
260
|
});
|
259
261
|
await import_fs_extra.default.writeFile(path2.join(projectDir, "package.json"), JSON.stringify(appPkg, null, 2));
|
260
|
-
if (
|
262
|
+
if (flags.install) {
|
261
263
|
console.log();
|
262
264
|
console.log(`>>> Bootstrapping a new turborepo with the following:`);
|
263
265
|
console.log();
|
@@ -278,40 +280,46 @@ async function run() {
|
|
278
280
|
cwd: projectDir
|
279
281
|
});
|
280
282
|
spinner.stop();
|
283
|
+
} else {
|
284
|
+
console.log();
|
285
|
+
console.log(`>>> Bootstrapped a new turborepo with the following:`);
|
286
|
+
console.log();
|
287
|
+
console.log(` - ${import_chalk.default.bold("apps/web")}: Next.js with TypeScript`);
|
288
|
+
console.log(` - ${import_chalk.default.bold("apps/docs")}: Next.js with TypeScript`);
|
289
|
+
console.log(` - ${import_chalk.default.bold("packages/ui")}: Shared React component library`);
|
290
|
+
console.log(` - ${import_chalk.default.bold("packages/config")}: Shared configuration (ESLint)`);
|
291
|
+
console.log(` - ${import_chalk.default.bold("packages/tsconfig")}: Shared TypeScript \`tsconfig.json\``);
|
292
|
+
console.log();
|
281
293
|
}
|
282
294
|
process.chdir(projectDir);
|
283
295
|
tryGitInit(relativeProjectDir);
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
console.log(
|
296
|
+
if (projectDirIsCurrentDir) {
|
297
|
+
console.log(`${import_chalk.default.bold(turboGradient(">>> Success!"))} Your new Turborepo is ready. `);
|
298
|
+
console.log("Inside this directory, you can run several commands:");
|
299
|
+
} else {
|
300
|
+
console.log(`${import_chalk.default.bold(turboGradient(">>> Success!"))} Created a new Turborepo at "${relativeProjectDir}". `);
|
301
|
+
console.log("Inside that directory, you can run several commands:");
|
290
302
|
}
|
291
|
-
console.log(` ${answers.packageManager} run build`);
|
292
303
|
console.log();
|
293
|
-
console.log(`
|
304
|
+
console.log(import_chalk.default.cyan(` ${answers.packageManager} run build`));
|
305
|
+
console.log(` Build all apps and packages`);
|
294
306
|
console.log();
|
295
|
-
|
296
|
-
|
297
|
-
}
|
298
|
-
console.log(` ${answers.packageManager} run dev`);
|
307
|
+
console.log(import_chalk.default.cyan(` ${answers.packageManager} run dev`));
|
308
|
+
console.log(` Develop all apps and packages`);
|
299
309
|
console.log();
|
300
310
|
console.log(`Turborepo will cache locally by default. For an additional`);
|
301
311
|
console.log(`speed boost, enable Remote Caching (beta) with Vercel by`);
|
302
|
-
console.log(`entering the following
|
312
|
+
console.log(`entering the following command:`);
|
313
|
+
console.log();
|
314
|
+
console.log(import_chalk.default.cyan(` npx turbo login`));
|
315
|
+
console.log();
|
316
|
+
console.log(`We suggest that you begin by typing:`);
|
303
317
|
console.log();
|
304
318
|
if (!projectDirIsCurrentDir) {
|
305
|
-
console.log(` cd ${relativeProjectDir}`);
|
319
|
+
console.log(` ${import_chalk.default.cyan("cd")} ${relativeProjectDir}`);
|
306
320
|
}
|
307
|
-
console.log(` npx turbo login`);
|
321
|
+
console.log(import_chalk.default.cyan(` npx turbo login`));
|
308
322
|
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
323
|
}
|
316
324
|
var update = (0, import_update_check.default)(package_default).catch(() => null);
|
317
325
|
async function notifyUpdate() {
|