From cfd35f5e8482e7dc0f19146983fa7529aeaa9871 Mon Sep 17 00:00:00 2001 From: apatel369 Date: Sat, 30 Nov 2024 00:21:36 -0600 Subject: [PATCH] parse tag from command --- packages/create-astro/src/actions/context.ts | 6 ++++-- packages/create-astro/src/messages.ts | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/create-astro/src/actions/context.ts b/packages/create-astro/src/actions/context.ts index 3581444ab0..f6e71a4694 100644 --- a/packages/create-astro/src/actions/context.ts +++ b/packages/create-astro/src/actions/context.ts @@ -34,6 +34,8 @@ export interface Context { } export async function getContext(argv: string[]): Promise { + const packageTag = argv.find((argItem) => /^(astro|create-astro)@/.exec(argItem))?.split('@')[1]; + const flags = arg( { '--template': String, @@ -76,7 +78,7 @@ export async function getContext(argv: string[]): Promise { } = flags; let projectName = cwd; const tag = ref === 'next' ? 'beta' : ref; - + if (no) { yes = false; if (install == undefined) install = false; @@ -94,7 +96,7 @@ export async function getContext(argv: string[]): Promise { prompt, packageManager, username: getName(), - version: getVersion(packageManager, 'astro', process.env.ASTRO_VERSION, tag), + version: getVersion(packageManager, 'astro', packageTag, process.env.ASTRO_VERSION), skipHouston, fancy, add, diff --git a/packages/create-astro/src/messages.ts b/packages/create-astro/src/messages.ts index 51b9f2116f..892dcbb640 100644 --- a/packages/create-astro/src/messages.ts +++ b/packages/create-astro/src/messages.ts @@ -60,10 +60,10 @@ export const getName = () => }); }); -export const getVersion = (packageManager: string, packageName: string, fallback = '', tag = 'latest') => +export const getVersion = (packageManager: string, packageName: string, packageTag = 'latest', fallback = '') => new Promise(async (resolve) => { let registry = await getRegistry(packageManager); - const { version } = await fetch(`${registry}/${packageName}/${tag}`, { + const { version } = await fetch(`${registry}/${packageName}/${packageTag}`, { redirect: 'follow', }) .then((res) => res.json())