From 5b86ee393f3e82a076b34ffcf80dbd0d7def0d50 Mon Sep 17 00:00:00 2001 From: chenos Date: Tue, 20 Feb 2024 10:35:24 +0800 Subject: [PATCH] chore: optimize environmental variables (#3528) --- .env.example | 44 +------------------ packages/core/cli/src/util.js | 4 ++ .../logger/src/deprecated/create-logger.ts | 2 +- packages/core/server/src/commands/install.ts | 3 ++ .../plugin-client/src/server/server.ts | 15 +------ .../plugin-file-manager/src/server/server.ts | 2 +- .../plugin-users/src/client/index.ts | 4 +- .../plugin-users/src/server/server.ts | 25 ++--------- 8 files changed, 17 insertions(+), 82 deletions(-) diff --git a/.env.example b/.env.example index c7cc62f319..7a39ba96d8 100644 --- a/.env.example +++ b/.env.example @@ -17,8 +17,6 @@ APP_KEY=test-key API_BASE_PATH=/api/ API_BASE_URL= -PROXY_TARGET_URL= - # console | file | dailyRotateFile LOGGER_TRANSPORT= LOGGER_BASE_PATH=storage/logs @@ -58,48 +56,8 @@ CACHE_MEMORY_MAX=2000 ################# STORAGE (Initialization only) ################# +INIT_LANG=en-US INIT_ROOT_EMAIL=admin@nocobase.com INIT_ROOT_PASSWORD=admin123 INIT_ROOT_NICKNAME=Super Admin INIT_ROOT_USERNAME=nocobase - -# local or ali-oss -DEFAULT_STORAGE_TYPE=local - -# LOCAL STORAGE -LOCAL_STORAGE_BASE_URL=/storage/uploads -LOCAL_STORAGE_DEST=storage/uploads - -# ALI OSS STORAGE -ALI_OSS_STORAGE_BASE_URL= -ALI_OSS_REGION=oss-cn-beijing -ALI_OSS_ACCESS_KEY_ID= -ALI_OSS_ACCESS_KEY_SECRET= -ALI_OSS_BUCKET= - -# Tencent COS STORAGE -TX_COS_STORAGE_BASE_URL= -TX_COS_REGION=ap-guangzhou -TX_COS_SECRET_ID= -TX_COS_SECRET_KEY= -TX_COS_BUCKET= - -# AWS -AWS_ACCESS_KEY_ID= -AWS_SECRET_ACCESS_KEY= -AWS_S3_REGION= -AWS_S3_BUCKET= -AWS_S3_STORAGE_BASE_URL= - -# ALI SMS VERIFY CODE CONFIG -INIT_ALI_SMS_ACCESS_KEY= -INIT_ALI_SMS_ACCESS_KEY_SECRET= -INIT_ALI_SMS_ENDPOINT= -INIT_ALI_SMS_VERIFY_CODE_TEMPLATE= -INIT_ALI_SMS_VERIFY_CODE_SIGN= - -# use any string name (no space) -DEFAULT_SMS_VERIFY_CODE_PROVIDER= - -# in nodejs 17+ that SSL v3 causes some ecosystem libraries to become incompatible. Configuring this option can prevent upgrading SSL V3 -# NODE_OPTIONS=--openssl-legacy-provider diff --git a/packages/core/cli/src/util.js b/packages/core/cli/src/util.js index 04cb6aa186..eeac308717 100644 --- a/packages/core/cli/src/util.js +++ b/packages/core/cli/src/util.js @@ -272,11 +272,15 @@ exports.initEnv = function initEnv() { PLUGIN_STORAGE_PATH: resolve(process.cwd(), 'storage/plugins'), MFSU_AD: 'none', WS_PATH: '/ws', + SOCKET_PATH: 'storage/gateway.sock', NODE_MODULES_PATH: resolve(process.cwd(), 'node_modules'), PM2_HOME: resolve(process.cwd(), './storage/.pm2'), PLUGIN_PACKAGE_PREFIX: '@nocobase/plugin-,@nocobase/plugin-sample-,@nocobase/preset-', SERVER_TSCONFIG_PATH: './tsconfig.server.json', PLAYWRIGHT_AUTH_FILE: resolve(process.cwd(), 'storage/playwright/.auth/admin.json'), + CACHE_DEFAULT_STORE: 'memory', + CACHE_MEMORY_MAX: 2000, + LOGGER_BASE_PATH: 'storage/logs', }; if ( diff --git a/packages/core/logger/src/deprecated/create-logger.ts b/packages/core/logger/src/deprecated/create-logger.ts index dff3d170ce..cfc97dabed 100644 --- a/packages/core/logger/src/deprecated/create-logger.ts +++ b/packages/core/logger/src/deprecated/create-logger.ts @@ -69,4 +69,4 @@ function createLogger(options: LoggerOptions = {}) { return logger; } -export { Logger, LoggerOptions, Transports, createLogger }; +export { createLogger, Logger, LoggerOptions, Transports }; diff --git a/packages/core/server/src/commands/install.ts b/packages/core/server/src/commands/install.ts index 6d68f4a410..31498c516d 100644 --- a/packages/core/server/src/commands/install.ts +++ b/packages/core/server/src/commands/install.ts @@ -9,6 +9,9 @@ export default (app: Application) => { .option('-c, --clean') .option('--lang ') .action(async (options) => { + if (options.lang) { + process.env.INIT_APP_LANG = options.lang; + } await app.install(options); const reinstall = options.clean || options.force; app.log.info(`app ${reinstall ? 'reinstalled' : 'installed'} successfully [v${app.getVersion()}]`); diff --git a/packages/plugins/@nocobase/plugin-client/src/server/server.ts b/packages/plugins/@nocobase/plugin-client/src/server/server.ts index 40a62856aa..e32c07126c 100644 --- a/packages/plugins/@nocobase/plugin-client/src/server/server.ts +++ b/packages/plugins/@nocobase/plugin-client/src/server/server.ts @@ -13,25 +13,14 @@ async function getLang(ctx) { if (enabledLanguages.includes(currentUser?.appLang)) { lang = currentUser?.appLang; } - if (ctx.request.query.locale) { + if (ctx.request.query.locale && enabledLanguages.includes(ctx.request.query.locale)) { lang = ctx.request.query.locale; } return lang; } export class ClientPlugin extends Plugin { - async beforeLoad() { - // const cmd = this.app.findCommand('install'); - // if (cmd) { - // cmd.option('--import-demo'); - // } - this.app.on('afterInstall', async (app, options) => { - const [opts] = options?.cliArgs || [{}]; - if (opts?.importDemo) { - // - } - }); - } + async beforeLoad() {} async install() { const uiSchemas = this.db.getRepository('uiSchemas'); diff --git a/packages/plugins/@nocobase/plugin-file-manager/src/server/server.ts b/packages/plugins/@nocobase/plugin-file-manager/src/server/server.ts index 6cfb0053c1..8a56dd553b 100644 --- a/packages/plugins/@nocobase/plugin-file-manager/src/server/server.ts +++ b/packages/plugins/@nocobase/plugin-file-manager/src/server/server.ts @@ -8,7 +8,7 @@ export { default as storageTypes } from './storages'; export default class PluginFileManager extends Plugin { storageType() { - return process.env.DEFAULT_STORAGE_TYPE ?? 'local'; + return 'local'; } async loadStorages(options?: { transaction: any }) { diff --git a/packages/plugins/@nocobase/plugin-users/src/client/index.ts b/packages/plugins/@nocobase/plugin-users/src/client/index.ts index 4847691da2..2d3dc4265e 100644 --- a/packages/plugins/@nocobase/plugin-users/src/client/index.ts +++ b/packages/plugins/@nocobase/plugin-users/src/client/index.ts @@ -1,7 +1,7 @@ import { Plugin } from '@nocobase/client'; -class UsersPlugin extends Plugin { +export class PluginUsersClient extends Plugin { async load() {} } -export default UsersPlugin; +export default PluginUsersClient; diff --git a/packages/plugins/@nocobase/plugin-users/src/server/server.ts b/packages/plugins/@nocobase/plugin-users/src/server/server.ts index 42bca96a30..cd0781c57d 100644 --- a/packages/plugins/@nocobase/plugin-users/src/server/server.ts +++ b/packages/plugins/@nocobase/plugin-users/src/server/server.ts @@ -3,29 +3,10 @@ import { Plugin } from '@nocobase/server'; import { parse } from '@nocobase/utils'; import { resolve } from 'path'; -import { namespace } from './'; import * as actions from './actions/users'; -import { enUS, zhCN } from './locale'; - -export interface UserPluginConfig { - name?: string; -} - -export default class UsersPlugin extends Plugin { - constructor(app, options) { - super(app, options); - } +export default class PluginUsersServer extends Plugin { async beforeLoad() { - this.app.i18n.addResources('zh-CN', namespace, zhCN); - this.app.i18n.addResources('en-US', namespace, enUS); - const cmd = this.app.findCommand('install'); - if (cmd) { - cmd.requiredOption('-u, --root-username ', '', process.env.INIT_ROOT_USERNAME); - cmd.requiredOption('-e, --root-email ', '', process.env.INIT_ROOT_EMAIL); - cmd.requiredOption('-p, --root-password ', '', process.env.INIT_ROOT_PASSWORD); - cmd.option('-n, --root-nickname '); - } this.db.registerOperators({ $isCurrentUser(_, ctx) { return { @@ -120,8 +101,8 @@ export default class UsersPlugin extends Plugin { getInstallingData(options: any = {}) { const { INIT_ROOT_NICKNAME, INIT_ROOT_PASSWORD, INIT_ROOT_EMAIL, INIT_ROOT_USERNAME } = process.env; const { - rootEmail = INIT_ROOT_EMAIL, - rootPassword = INIT_ROOT_PASSWORD, + rootEmail = INIT_ROOT_EMAIL || 'admin@nocobase.com', + rootPassword = INIT_ROOT_PASSWORD || 'admin123', rootNickname = INIT_ROOT_NICKNAME || 'Super Admin', rootUsername = INIT_ROOT_USERNAME || 'nocobase', } = options.users || options?.cliArgs?.[0] || {};