From 7cf9eb81eb04ae5b50a9d607ed404d5e59608928 Mon Sep 17 00:00:00 2001 From: Bassel Kanso Date: Mon, 25 Apr 2022 18:46:04 +0300 Subject: [PATCH] refactoring app and plugin generators to handle typescript --- .../app/lib/create-customized-project.js | 16 +++++++-------- .../generators/generators/lib/plops/plugin.js | 20 +++++++++---------- 2 files changed, 16 insertions(+), 20 deletions(-) diff --git a/packages/generators/app/lib/create-customized-project.js b/packages/generators/app/lib/create-customized-project.js index 63b2995ef4..4c990d2394 100644 --- a/packages/generators/app/lib/create-customized-project.js +++ b/packages/generators/app/lib/create-customized-project.js @@ -19,10 +19,8 @@ module.exports = async scope => { if (!scope.useTypescript) { // check how to handle track usage here - const isTypescript = await askAboutLanguages(scope).catch(error => { - console.log(error) - }) - scope.useTypescript = isTypescript; + const language = await askAboutLanguages(scope); + scope.useTypescript = language === "Typescript"; } const configuration = await askDbInfosAndTest(scope).catch(error => { @@ -167,15 +165,15 @@ async function installDatabaseTestingDep({ scope, configuration }) { } async function askAboutLanguages() { - const { client } = await inquirer.prompt([ + const { language } = await inquirer.prompt([ { type: 'list', - name: 'client', - message: 'Choose your language', - choices: ['Typescript', 'Javascript'], + name: 'language', + message: 'Choose your preferred language', + choices: ['Javascript', 'Typescript'], default: 'Javascript', }, ]); - return client === 'Typescript'; + return language; } diff --git a/packages/generators/generators/lib/plops/plugin.js b/packages/generators/generators/lib/plops/plugin.js index b69934af60..a5a5e73097 100644 --- a/packages/generators/generators/lib/plops/plugin.js +++ b/packages/generators/generators/lib/plops/plugin.js @@ -27,14 +27,6 @@ ${separator} }; module.exports = (plop) => { - const currentDir = process.cwd(); - const typescriptPrompt = tsUtils.isUsingTypeScriptSync(currentDir) ? [] : [{ - type: 'list', - name: 'isTypescript', - message: 'Choose your preferred language', - choices: ['Javascript', 'Typescript'], - default: 'Javascript', - }]; // Plugin generator plop.setGenerator('plugin', { description: 'Generate a basic plugin', @@ -44,11 +36,17 @@ module.exports = (plop) => { name: 'pluginName', message: 'Plugin name', }, - ...typescriptPrompt + { + type: 'list', + name: 'language', + message: 'Choose your preferred language', + choices: ['Javascript', 'Typescript'], + default: 'Javascript', + } ], actions(answers) { - const isTypescript = answers?.isTypescript === 'Typescript'; - const language = tsUtils.isUsingTypeScriptSync(currentDir) || isTypescript ? 'ts' : 'js'; + const isTypescript = answers?.language === 'Typescript'; + const language = isTypescript ? 'ts' : 'js'; // TODO: Adds tsconfig & build command for TS plugins?