Skip to content

Commit 0113bf3

Browse files
committed
feat(inquirer): if TypeScript is selected, module must be ESM
1 parent d5ca588 commit 0113bf3

File tree

2 files changed

+16
-10
lines changed

2 files changed

+16
-10
lines changed

src/index.ts

+5-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,11 @@ class CreateJavascriptProject extends Command {
2828
await checkPackageJson();
2929
const answers = await collectAnswers();
3030

31-
if (answers.configurations.includes("flow") || answers.framework !== "none") {
31+
if (
32+
answers.configurations.includes("flow") ||
33+
answers.typescript ||
34+
answers.framework !== "none"
35+
) {
3236
answers.module = "esm";
3337
}
3438

src/inquirer.ts

+11-9
Original file line numberDiff line numberDiff line change
@@ -51,22 +51,24 @@ export async function collectAnswers(): Promise<InquirerConfigs> {
5151
{ name: "None", value: "none" },
5252
],
5353
},
54+
{
55+
type: "confirm",
56+
name: "typescript",
57+
message: "Does your project use TypeScript?",
58+
when: (answers) => !answers.configurations.includes("flow"),
59+
},
5460
{
5561
type: "list",
5662
name: "module",
57-
message: "What type of modules does your project use?",
63+
message: "What type of module does your project use?",
5864
choices: [
5965
{ name: "JavaScript modules (import/export)", value: "esm" },
6066
{ name: "CommonJS (require/exports)", value: "commonjs" },
6167
],
62-
when: (answers) => !answers.configurations.includes("flow") && answers.framework === "none",
63-
},
64-
{
65-
type: "confirm",
66-
name: "typescript",
67-
message: "Does your project use TypeScript?",
68-
when: (answers) => !answers.configurations.includes("flow") && answers.module !== "commonjs",
69-
default: (answers: InquirerConfigs) => answers.framework !== "none",
68+
when: (answers) =>
69+
!answers.configurations.includes("flow") &&
70+
!answers.typescript &&
71+
answers.framework === "none",
7072
},
7173
{
7274
type: "checkbox",

0 commit comments

Comments
 (0)