From 0317118cd965cd5c9d2816015edefba102c755bd Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Mon, 3 Jul 2023 13:42:48 +0800 Subject: [PATCH] refactor: 1.1.4 --- .../certd-server/src/config/config.default.ts | 8 +------- packages/ui/certd-server/src/config/loader.ts | 19 ++++++++++++++----- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/packages/ui/certd-server/src/config/config.default.ts b/packages/ui/certd-server/src/config/config.default.ts index 92b0191c..53a3bcc9 100644 --- a/packages/ui/certd-server/src/config/config.default.ts +++ b/packages/ui/certd-server/src/config/config.default.ts @@ -7,7 +7,6 @@ import { PipelineEntity } from '../modules/pipeline/entity/pipeline'; //import { logger } from '../utils/logger'; // load .env file in process.cwd import { mergeConfig } from './loader'; - const development = { keys: '', koa: { @@ -16,7 +15,7 @@ const development = { staticFile: { usePrecompiledGzip: true, buffer: true, - maxAge: 60 * 60 * 24 * 30 * 1000, + maxAge: 0, gzip: true, dirs: { default: { @@ -25,11 +24,6 @@ const development = { alias: { '/': '/index.html', }, - files: { - '/index.html': { - maxAge: 60 * 60 * 1000, - }, - }, }, }, }, diff --git a/packages/ui/certd-server/src/config/loader.ts b/packages/ui/certd-server/src/config/loader.ts index 007860d1..b3cfdcfe 100644 --- a/packages/ui/certd-server/src/config/loader.ts +++ b/packages/ui/certd-server/src/config/loader.ts @@ -4,7 +4,7 @@ import _ from 'lodash'; const yaml = require('js-yaml'); const fs = require('fs'); -function parseEnv() { +function parseEnv(defaultConfig: any) { const config = {}; for (const key in process.env) { let keyName = key; @@ -13,21 +13,30 @@ function parseEnv() { } keyName = keyName.replace('certd_', ''); const configKey = keyName.replace('_', '.'); - _.set(config, configKey, process.env[key]); + const oldValue = _.get(defaultConfig, configKey); + let value: any = process.env[key]; + if (typeof oldValue === 'boolean') { + value = value === 'true'; + } else if (Number.isInteger(oldValue)) { + value = parseInt(value, 10); + } else if (typeof oldValue === 'number') { + value = parseFloat(value); + } + _.set(config, configKey, value); } return config; } -export function load(env = '') { +export function load(config, env = '') { // Get document, or throw exception on error const yamlPath = path.join(process.cwd(), `.env.${env}.yaml`); const doc = yaml.load(fs.readFileSync(yamlPath, 'utf8')); - _.merge(doc, parseEnv()); + _.merge(doc, parseEnv(config)); return doc; } export function mergeConfig(config: any, envType: string) { - _.merge(config, load(envType)); + _.merge(config, load(config, envType)); const keys = _.get(config, 'auth.jwt.secret'); if (keys) { config.keys = keys;