From e5350c058f4902d0e50d732fdde9a15e083f2626 Mon Sep 17 00:00:00 2001 From: Gildas <1122076+djhi@users.noreply.github.com> Date: Thu, 20 Feb 2025 12:01:00 +0100 Subject: [PATCH 1/2] Fix default package manager detection --- packages/create-react-admin/src/cli.tsx | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/packages/create-react-admin/src/cli.tsx b/packages/create-react-admin/src/cli.tsx index 35d5130801..75b703ae7b 100644 --- a/packages/create-react-admin/src/cli.tsx +++ b/packages/create-react-admin/src/cli.tsx @@ -53,16 +53,17 @@ const getAuthProvider = (flags: typeof cli.flags) => { return 'none'; }; -const getDefaultInstaller = (processExec: string) => { - if (processExec.includes('yarn')) return 'yarn'; - if (processExec.includes('bun')) return 'bun'; - return 'npm'; +const getDefaultInstaller = (userAgent: string) => { + if (!userAgent) return undefined; + const pkgSpec = userAgent.split(' ')[0]; + const pkgSpecArr = pkgSpec.split('/'); + return pkgSpecArr[0]; }; -const getInstall = (flags: typeof cli.flags, processExec: string) => { +const getInstall = (flags: typeof cli.flags, userAgent: string) => { if (flags.install) return flags.install; if (flags.interactive) return undefined; - return getDefaultInstaller(processExec); + return getDefaultInstaller(userAgent); }; const getResources = (flags: typeof cli.flags) => { @@ -133,7 +134,7 @@ if (cli.flags.h) { } const dataProvider = getDataProvider(cli.flags); const authProvider = getAuthProvider(cli.flags); - const install = getInstall(cli.flags, process.execPath); + const install = getInstall(cli.flags, process.env.npm_config_user_agent); const resources = getResources(cli.flags); render( From ff821f3091522ee16932de2d8444ce1efa425ae9 Mon Sep 17 00:00:00 2001 From: Gildas <1122076+djhi@users.noreply.github.com> Date: Thu, 20 Feb 2025 12:11:27 +0100 Subject: [PATCH 2/2] Fix create-react-admin package manager detection --- packages/create-react-admin/src/cli.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/create-react-admin/src/cli.tsx b/packages/create-react-admin/src/cli.tsx index 75b703ae7b..9b3d102592 100644 --- a/packages/create-react-admin/src/cli.tsx +++ b/packages/create-react-admin/src/cli.tsx @@ -54,7 +54,7 @@ const getAuthProvider = (flags: typeof cli.flags) => { }; const getDefaultInstaller = (userAgent: string) => { - if (!userAgent) return undefined; + if (!userAgent) return 'npm'; const pkgSpec = userAgent.split(' ')[0]; const pkgSpecArr = pkgSpec.split('/'); return pkgSpecArr[0];