summaryrefslogtreecommitdiff
path: root/packages/create-astro/src
diff options
context:
space:
mode:
authorGravatar Fred K. Schott <fkschott@gmail.com> 2022-07-07 11:12:31 -0700
committerGravatar GitHub <noreply@github.com> 2022-07-07 11:12:31 -0700
commiteedb32c79716a8e04acd46cb2c74c5af112e016f (patch)
tree04436f00b5bf950995ef374235c7938e659c3934 /packages/create-astro/src
parent4fb08502a99396723b9eb671099482cd619b3564 (diff)
downloadastro-eedb32c79716a8e04acd46cb2c74c5af112e016f.tar.gz
astro-eedb32c79716a8e04acd46cb2c74c5af112e016f.tar.zst
astro-eedb32c79716a8e04acd46cb2c74c5af112e016f.zip
detect package manager and improve types (#3847)
Diffstat (limited to 'packages/create-astro/src')
-rw-r--r--packages/create-astro/src/index.ts18
1 files changed, 2 insertions, 16 deletions
diff --git a/packages/create-astro/src/index.ts b/packages/create-astro/src/index.ts
index 7c69f5438..5399d7832 100644
--- a/packages/create-astro/src/index.ts
+++ b/packages/create-astro/src/index.ts
@@ -10,6 +10,7 @@ import yargs from 'yargs-parser';
import { loadWithRocketGradient, rocketAscii } from './gradient.js';
import { defaultLogLevel, logger } from './logger.js';
import { TEMPLATES } from './templates.js';
+import detectPackageManager from 'which-pm-runs';
function wait(ms: number) {
return new Promise((resolve) => setTimeout(resolve, ms));
@@ -48,7 +49,7 @@ const FILES_TO_REMOVE = ['.stackblitzrc', 'sandbox.config.json', 'CHANGELOG.md']
// Please also update the installation instructions in the docs at https://github.com/withastro/docs/blob/main/src/pages/en/install/auto.md if you make any changes to the flow or wording here.
export async function main() {
- const pkgManager = pkgManagerFromUserAgent(process.env.npm_config_user_agent);
+ const pkgManager = detectPackageManager()?.name || 'npm';
logger.debug('Verbose logging turned on');
console.log(`\n${bold('Welcome to Astro!')} ${gray(`(create-astro v${version})`)}`);
@@ -251,18 +252,3 @@ function emojiWithFallback(char: string, fallback: string) {
return process.platform !== 'win32' ? char : fallback;
}
-function pkgManagerFromUserAgent(userAgent?: string) {
- if (!userAgent) return 'npm';
- const pkgSpec = userAgent.split(' ')[0];
- const pkgSpecArr = pkgSpec.split('/');
- return pkgSpecArr[0];
-}
-
-function pkgManagerExecCommand(pkgManager: string) {
- if (pkgManager === 'pnpm') {
- return 'pnpx';
- } else {
- // note: yarn does not have an "npx" equivalent
- return 'npx';
- }
-}