summaryrefslogtreecommitdiff
path: root/packages/create-astro/src/messages.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/create-astro/src/messages.ts')
-rw-r--r--packages/create-astro/src/messages.ts20
1 files changed, 8 insertions, 12 deletions
diff --git a/packages/create-astro/src/messages.ts b/packages/create-astro/src/messages.ts
index fbf276794..7e276308e 100644
--- a/packages/create-astro/src/messages.ts
+++ b/packages/create-astro/src/messages.ts
@@ -1,18 +1,15 @@
/* eslint no-console: 'off' */
import { color, say as houston, label, spinner as load } from '@astrojs/cli-kit';
import { align, sleep } from '@astrojs/cli-kit/utils';
-import fetch from 'node-fetch-native';
import { exec } from 'node:child_process';
import stripAnsi from 'strip-ansi';
-import detectPackageManager from 'which-pm-runs';
import { shell } from './shell.js';
// Users might lack access to the global npm registry, this function
// checks the user's project type and will return the proper npm registry
//
// A copy of this function also exists in the astro package
-async function getRegistry(): Promise<string> {
- const packageManager = detectPackageManager()?.name || 'npm';
+async function getRegistry(packageManager: string): Promise<string> {
try {
const { stdout } = await shell(packageManager, ['config', 'get', 'registry']);
return stdout?.trim()?.replace(/\/$/, '') || 'https://registry.npmjs.org';
@@ -78,10 +75,10 @@ export const getName = () =>
});
let v: string;
-export const getVersion = () =>
+export const getVersion = (packageManager: string) =>
new Promise<string>(async (resolve) => {
if (v) return resolve(v);
- let registry = await getRegistry();
+ let registry = await getRegistry(packageManager);
const { version } = await fetch(`${registry}/astro/latest`, { redirect: 'follow' }).then(
(res) => res.json(),
() => ({ version: '' })
@@ -91,12 +88,11 @@ export const getVersion = () =>
});
export const log = (message: string) => stdout.write(message + '\n');
-export const banner = async (version: string) =>
- log(
- `\n${label('astro', color.bgGreen, color.black)}${
- version ? ' ' + color.green(color.bold(`v${version}`)) : ''
- } ${color.bold('Launch sequence initiated.')}`
- );
+export const banner = () => {
+ const prefix = `astro`;
+ const suffix = `Launch sequence initiated.`;
+ log(`${label(prefix, color.bgGreen, color.black)} ${suffix}`);
+}
export const bannerAbort = () =>
log(`\n${label('astro', color.bgRed)} ${color.bold('Launch sequence aborted.')}`);