diff options
Diffstat (limited to 'packages/create-astro')
-rw-r--r-- | packages/create-astro/package.json | 6 | ||||
-rw-r--r-- | packages/create-astro/src/index.ts | 18 |
2 files changed, 6 insertions, 18 deletions
diff --git a/packages/create-astro/package.json b/packages/create-astro/package.json index 52d67fb98..c3bad7fd0 100644 --- a/packages/create-astro/package.json +++ b/packages/create-astro/package.json @@ -28,19 +28,21 @@ "create-astro.js" ], "dependencies": { - "@types/degit": "^2.8.3", - "@types/prompts": "^2.0.14", "chalk": "^5.0.1", "degit": "^2.8.4", "execa": "^6.1.0", "kleur": "^4.1.4", "ora": "^6.1.0", "prompts": "^2.4.2", + "which-pm-runs": "^1.1.0", "yargs-parser": "^21.0.1" }, "devDependencies": { "@types/chai": "^4.3.1", + "@types/degit": "^2.8.3", "@types/mocha": "^9.1.1", + "@types/prompts": "^2.0.14", + "@types/which-pm-runs": "^1.0.0", "@types/yargs-parser": "^21.0.0", "astro-scripts": "workspace:*", "chai": "^4.3.6", 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'; - } -} |