diff --git a/.changeset/selfish-bulldogs-jog.md b/.changeset/selfish-bulldogs-jog.md new file mode 100644 index 0000000000..474cc7993d --- /dev/null +++ b/.changeset/selfish-bulldogs-jog.md @@ -0,0 +1,5 @@ +--- +'create-astro': patch +--- + +Fixes an issue where the `getVersion` function was incorrectly using the `latest` tag instead of the user-specified `ref` to determine the Astro version. diff --git a/packages/create-astro/src/actions/context.ts b/packages/create-astro/src/actions/context.ts index 59f85f88a1..33d80898fc 100644 --- a/packages/create-astro/src/actions/context.ts +++ b/packages/create-astro/src/actions/context.ts @@ -93,7 +93,7 @@ export async function getContext(argv: string[]): Promise { prompt, packageManager, username: getName(), - version: getVersion(packageManager, 'astro', process.env.ASTRO_VERSION), + version: getVersion(packageManager, 'astro', process.env.ASTRO_VERSION, ref), skipHouston, fancy, add, diff --git a/packages/create-astro/src/messages.ts b/packages/create-astro/src/messages.ts index 898c9c728e..30bd4f231d 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 = '') => +export const getVersion = (packageManager: string, packageName: string, fallback = '', ref = 'latest') => new Promise(async (resolve) => { let registry = await getRegistry(packageManager); - const { version } = await fetch(`${registry}/${packageName}/latest`, { + const { version } = await fetch(`${registry}/${packageName}/${ref}`, { redirect: 'follow', }) .then((res) => res.json())