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/dependencies.ts26
-rw-r--r--packages/create-astro/src/messages.ts1
2 files changed, 20 insertions, 7 deletions
diff --git a/packages/create-astro/src/actions/dependencies.ts b/packages/create-astro/src/actions/dependencies.ts
index fe5e6f777..9735fe462 100644
--- a/packages/create-astro/src/actions/dependencies.ts
+++ b/packages/create-astro/src/actions/dependencies.ts
@@ -1,5 +1,5 @@
import type { Context } from './context';
-
+import { color } from '@astrojs/cli-kit';
import { execa } from 'execa';
import { error, info, spinner, title } from '../messages.js';
@@ -25,12 +25,26 @@ export async function dependencies(
await spinner({
start: `Dependencies installing with ${ctx.pkgManager}...`,
end: 'Dependencies installed',
- while: () =>
- install({ pkgManager: ctx.pkgManager, cwd: ctx.cwd }).catch((e) => {
- // eslint-disable-next-line no-console
+ while: () => {
+ return Promise.reject('Unknown error').catch((e) => {
+ error('error', e);
+ error(
+ 'error',
+ `Dependencies failed to install, please run ${color.bold(
+ ctx.pkgManager + ' install'
+ )} to install them manually after setup.`
+ );
+ });
+ return install({ pkgManager: ctx.pkgManager, cwd: ctx.cwd }).catch((e) => {
error('error', e);
- process.exit(1);
- }),
+ error(
+ 'error',
+ `Dependencies failed to install, please run ${color.bold(
+ ctx.pkgManager + ' install'
+ )} to install them manually after setup.`
+ );
+ });
+ },
});
} else {
await info(
diff --git a/packages/create-astro/src/messages.ts b/packages/create-astro/src/messages.ts
index 9121ad60f..45bb7f96a 100644
--- a/packages/create-astro/src/messages.ts
+++ b/packages/create-astro/src/messages.ts
@@ -93,7 +93,6 @@ export const info = async (prefix: string, text: string) => {
log(`${' '.repeat(5)} ${color.cyan('◼')} ${color.cyan(prefix)} ${color.dim(text)}`);
}
};
-
export const error = async (prefix: string, text: string) => {
if (stdout.columns < 80) {
log(`${' '.repeat(5)} ${color.red('▲')} ${color.red(prefix)}`);