From 8c73067b48185ed5569612ee8d60d804e5fddec9 Mon Sep 17 00:00:00 2001 From: Gao Sun <gao@silverhand.io> Date: Sat, 8 Oct 2022 00:54:48 +0800 Subject: [PATCH] refactor: improve dx --- packages/cli/package.json | 3 --- .../core/src/env-set/check-alteration-state.ts | 14 ++++++++++++-- packages/core/src/env-set/index.ts | 4 +++- packages/core/src/index.ts | 1 + 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/packages/cli/package.json b/packages/cli/package.json index 757a466c6..17ecac537 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -6,9 +6,6 @@ "homepage": "https://github.com/logto-io/logto#readme", "license": "MPL-2.0", "main": "lib/index.js", - "exports": { - ".": "./lib" - }, "bin": { "logto": "bin/logto", "lg": "bin/logto" diff --git a/packages/core/src/env-set/check-alteration-state.ts b/packages/core/src/env-set/check-alteration-state.ts index f1dfe0402..1a2c5d9b2 100644 --- a/packages/core/src/env-set/check-alteration-state.ts +++ b/packages/core/src/env-set/check-alteration-state.ts @@ -1,4 +1,5 @@ import { getUndeployedAlterations } from '@logto/cli/lib/commands/database/alteration'; +import chalk from 'chalk'; import { DatabasePool } from 'slonik'; export const checkAlterationState = async (pool: DatabasePool) => { @@ -8,7 +9,16 @@ export const checkAlterationState = async (pool: DatabasePool) => { return; } - throw new Error( - `Found undeployed database alterations, you must deploy them first by "npm run alteration deploy" command, reference: https://docs.logto.io/docs/recipes/deployment/#database-alteration` + console.error( + `${chalk.red( + '[error]' + )} Found undeployed database alterations, you must deploy them first by ${chalk.green( + 'npm run alteration deploy' + )} command.\n\n` + + ` See ${chalk.blue( + 'https://docs.logto.io/docs/recipes/deployment/#database-alteration' + )} for reference.\n` ); + + throw new Error(`Undeployed database alterations found.`); }; diff --git a/packages/core/src/env-set/index.ts b/packages/core/src/env-set/index.ts index a121c9939..67bb91b2b 100644 --- a/packages/core/src/env-set/index.ts +++ b/packages/core/src/env-set/index.ts @@ -76,7 +76,9 @@ function createEnvSet() { return pool; }, - + get poolSafe() { + return pool; + }, load: async () => { values = await loadEnvValues(); pool = await createPoolByEnv(values.isTest); diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index 1ccc6f7fe..db09bb3d5 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -27,5 +27,6 @@ import initI18n from './i18n/init'; await initApp(app); } catch (error: unknown) { console.log('Error while initializing app', error); + await envSet.poolSafe?.end(); } })();