summaryrefslogtreecommitdiff
path: root/packages/create-astro/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/create-astro/src')
-rw-r--r--packages/create-astro/src/actions/context.ts6
-rw-r--r--packages/create-astro/src/actions/dependencies.ts14
-rw-r--r--packages/create-astro/src/actions/next-steps.ts17
3 files changed, 20 insertions, 17 deletions
diff --git a/packages/create-astro/src/actions/context.ts b/packages/create-astro/src/actions/context.ts
index 5c2c0e9c0..c91a0caae 100644
--- a/packages/create-astro/src/actions/context.ts
+++ b/packages/create-astro/src/actions/context.ts
@@ -9,7 +9,7 @@ export interface Context {
help: boolean;
prompt: typeof prompt;
cwd: string;
- pkgManager: string;
+ packageManager: string;
username: string;
version: string;
skipHouston: boolean;
@@ -51,7 +51,7 @@ export async function getContext(argv: string[]): Promise<Context> {
{ argv, permissive: true }
);
- const pkgManager = detectPackageManager()?.name ?? 'npm';
+ const packageManager = detectPackageManager()?.name ?? 'npm';
const [username, version] = await Promise.all([getName(), getVersion()]);
let cwd = flags['_'][0];
let {
@@ -85,7 +85,7 @@ export async function getContext(argv: string[]): Promise<Context> {
const context: Context = {
help,
prompt,
- pkgManager,
+ packageManager,
username,
version,
skipHouston,
diff --git a/packages/create-astro/src/actions/dependencies.ts b/packages/create-astro/src/actions/dependencies.ts
index 339e3379f..f05e9e93a 100644
--- a/packages/create-astro/src/actions/dependencies.ts
+++ b/packages/create-astro/src/actions/dependencies.ts
@@ -6,7 +6,7 @@ import { shell } from '../shell.js';
import type { Context } from './context';
export async function dependencies(
- ctx: Pick<Context, 'install' | 'yes' | 'prompt' | 'pkgManager' | 'cwd' | 'dryRun'>
+ ctx: Pick<Context, 'install' | 'yes' | 'prompt' | 'packageManager' | 'cwd' | 'dryRun'>
) {
let deps = ctx.install ?? ctx.yes;
if (deps === undefined) {
@@ -25,15 +25,15 @@ export async function dependencies(
await info('--dry-run', `Skipping dependency installation`);
} else if (deps) {
await spinner({
- start: `Installing dependencies with ${ctx.pkgManager}...`,
+ start: `Installing dependencies with ${ctx.packageManager}...`,
end: 'Dependencies installed',
while: () => {
- return install({ pkgManager: ctx.pkgManager, cwd: ctx.cwd }).catch((e) => {
+ return install({ packageManager: ctx.packageManager, cwd: ctx.cwd }).catch((e) => {
error('error', e);
error(
'error',
`Dependencies failed to install, please run ${color.bold(
- ctx.pkgManager + ' install'
+ ctx.packageManager + ' install'
)} to install them manually after setup.`
);
});
@@ -47,9 +47,9 @@ export async function dependencies(
}
}
-async function install({ pkgManager, cwd }: { pkgManager: string; cwd: string }) {
- if (pkgManager === 'yarn') await ensureYarnLock({ cwd });
- return shell(pkgManager, ['install'], { cwd, timeout: 90_000, stdio: 'ignore' });
+async function install({ packageManager, cwd }: { packageManager: string; cwd: string }) {
+ if (packageManager === 'yarn') await ensureYarnLock({ cwd });
+ return shell(packageManager, ['install'], { cwd, timeout: 90_000, stdio: 'ignore' });
}
async function ensureYarnLock({ cwd }: { cwd: string }) {
diff --git a/packages/create-astro/src/actions/next-steps.ts b/packages/create-astro/src/actions/next-steps.ts
index 01c1963d9..c79a80525 100644
--- a/packages/create-astro/src/actions/next-steps.ts
+++ b/packages/create-astro/src/actions/next-steps.ts
@@ -3,14 +3,17 @@ import type { Context } from './context';
import { nextSteps, say } from '../messages.js';
-export async function next(ctx: Pick<Context, 'cwd' | 'pkgManager' | 'skipHouston'>) {
+export async function next(ctx: Pick<Context, 'cwd' | 'packageManager' | 'skipHouston'>) {
let projectDir = path.relative(process.cwd(), ctx.cwd);
- const devCmd =
- ctx.pkgManager === 'npm'
- ? 'npm run dev'
- : ctx.pkgManager === 'bun'
- ? 'bun run dev'
- : `${ctx.pkgManager} dev`;
+
+ const commandMap: { [key: string]: string } = {
+ npm: 'npm run dev',
+ bun: 'bun run dev',
+ yarn: 'yarn dev',
+ pnpm: 'pnpm dev',
+ };
+
+ const devCmd = commandMap[ctx.packageManager as keyof typeof commandMap] || 'npm run dev';
await nextSteps({ projectDir, devCmd });
if (!ctx.skipHouston) {