Browse Source

fix(cta): stop react recipe from opening in browser, closes #2793 (#2988)

Amr Bashir 3 years ago
parent
commit
ea51504e3a

+ 5 - 0
.changes/cta-react-disable-open-browser.md

@@ -0,0 +1,5 @@
+---
+"create-tauri-app": patch
+---
+
+Stop react recipe from opening in browser by default.

+ 9 - 2
tooling/create-tauri-app/src/helpers/update-package-json.ts

@@ -7,10 +7,14 @@ import { join } from 'path'
 
 interface Package {
   name?: string
-  scripts?: {}
+  scripts?: Record<string, string>
 }
 
-export function updatePackageJson(appDirectory: string, appName: string): void {
+export function updatePackageJson(
+  appDirectory: string,
+  appName: string,
+  recipeShortName: string
+): void {
   const pkgPath = join(appDirectory, 'package.json')
   const pkgString = readFileSync(pkgPath, 'utf8')
   const pkg = JSON.parse(pkgString) as Package
@@ -19,6 +23,9 @@ export function updatePackageJson(appDirectory: string, appName: string): void {
     name: appName,
     scripts: {
       ...pkg.scripts,
+      start: `${recipeShortName === 'cra' ? 'cross-env BROWSER=none ' : ''}${
+        pkg.scripts?.start as string
+      }`,
       tauri: 'tauri'
     }
   }

+ 1 - 1
tooling/create-tauri-app/src/index.ts

@@ -370,7 +370,7 @@ const runInit = async (argv: Argv): Promise<void> => {
     })
 
     logStep(`Updating ${reset(yellow('"package.json"'))}`)
-    updatePackageJson(appDirectory, appName)
+    updatePackageJson(appDirectory, appName, recipe.shortName)
 
     logStep(`Running ${reset(yellow('"tauri init"'))}`)
     const binary = !argv.b ? packageManager : resolve(appDirectory, argv.b)

+ 1 - 1
tooling/create-tauri-app/src/recipes/react.ts

@@ -46,7 +46,7 @@ export const cra: Recipe = {
       packageManager === 'npm' ? 'npm run' : packageManager
     } build`
   }),
-  extraNpmDevDependencies: [],
+  extraNpmDevDependencies: ['cross-env'],
   extraNpmDependencies: [],
   extraQuestions: ({ ci }) => {
     return [