From c0f42ad0e3d30623b83cfcd692eb1bcb4c4391a2 Mon Sep 17 00:00:00 2001 From: Amr Bashir <48618675+amrbashir@users.noreply.github.com> Date: Thu, 29 Jul 2021 14:34:29 +0200 Subject: [PATCH] feat(cta): prompt users to install `@tauri-apps/api` package (#2251) --- .changes/cta-prompt-api.md | 5 +++++ tooling/create-tauri-app/src/index.ts | 16 ++++++++++++++-- tooling/create-tauri-app/src/recipes/ng-cli.ts | 8 -------- 3 files changed, 19 insertions(+), 10 deletions(-) create mode 100644 .changes/cta-prompt-api.md diff --git a/.changes/cta-prompt-api.md b/.changes/cta-prompt-api.md new file mode 100644 index 000000000..9d1d44bb7 --- /dev/null +++ b/.changes/cta-prompt-api.md @@ -0,0 +1,5 @@ +--- +"create-tauri-app": patch +--- + +`create-tauri-app` will prompt users to install `@tauri-apps/api` npm package. diff --git a/tooling/create-tauri-app/src/index.ts b/tooling/create-tauri-app/src/index.ts index 62cce3672..05213f648 100644 --- a/tooling/create-tauri-app/src/index.ts +++ b/tooling/create-tauri-app/src/index.ts @@ -113,6 +113,7 @@ interface Responses { appName: string tauri: { window: { title: string } } recipeName: string + installApi: boolean } const allRecipes: Recipe[] = [vanillajs, cra, vite, vuecli, ngcli, svelte] @@ -174,7 +175,8 @@ const runInit = async (argv: Argv): Promise => { const defaults = { appName: 'tauri-app', tauri: { window: { title: 'Tauri App' } }, - recipeName: 'vanillajs' + recipeName: 'vanillajs', + installApi: true } // prompt initial questions @@ -201,6 +203,13 @@ const runInit = async (argv: Argv): Promise => { choices: recipeDescriptiveNames, default: defaults.recipeName, when: !argv.ci && !argv.r + }, + { + type: 'confirm', + name: 'installApi', + message: 'Add "@tauri-apps/api" npm package?', + default: true, + when: !argv.ci } ]) .catch((error: { isTtyError: boolean }) => { @@ -218,6 +227,7 @@ const runInit = async (argv: Argv): Promise => { const { appName, recipeName, + installApi, tauri: { window: { title } } @@ -334,7 +344,9 @@ const runInit = async (argv: Argv): Promise => { logStep('Installing any additional needed dependencies') await install({ appDir: appDirectory, - dependencies: recipe.extraNpmDependencies, + dependencies: [installApi ? '@tauri-apps/api@latest' : ''].concat( + recipe.extraNpmDependencies + ), devDependencies: [`@tauri-apps/cli@${tauriCLIVersion}`].concat( recipe.extraNpmDevDependencies ), diff --git a/tooling/create-tauri-app/src/recipes/ng-cli.ts b/tooling/create-tauri-app/src/recipes/ng-cli.ts index d8280a92d..f73ba4438 100644 --- a/tooling/create-tauri-app/src/recipes/ng-cli.ts +++ b/tooling/create-tauri-app/src/recipes/ng-cli.ts @@ -44,10 +44,6 @@ const ngcli: Recipe = { type: 'confirm', name: 'material', message: 'Add Angular Material (https://material.angular.io/)?', - validate: (input: string) => { - return input.toLowerCase() === 'yes' - }, - loop: false, when: !ci }, { @@ -55,10 +51,6 @@ const ngcli: Recipe = { name: 'eslint', message: 'Add Angular ESLint (https://github.com/angular-eslint/angular-eslint)?', - validate: (input: string) => { - return input.toLowerCase() === 'yes' - }, - loop: false, when: !ci } ]