From 739974bef4c02dce85af056a37bcc3eb9bdff367 Mon Sep 17 00:00:00 2001 From: diced Date: Mon, 20 Jun 2022 10:55:43 -0700 Subject: [PATCH] refactor(config): move into directory --- esbuild.config.js | 7 ++++--- src/lib/config.ts | 4 ++-- src/lib/{types.ts => config/Config.ts} | 0 src/lib/{ => config}/readConfig.ts | 10 +++++----- src/{server => lib/config}/validateConfig.ts | 2 +- src/lib/datasources/S3.ts | 2 +- 6 files changed, 13 insertions(+), 12 deletions(-) rename src/lib/{types.ts => config/Config.ts} (100%) rename src/lib/{ => config}/readConfig.ts (95%) rename src/{server => lib/config}/validateConfig.ts (97%) diff --git a/esbuild.config.js b/esbuild.config.js index e31facad..e488b3c3 100644 --- a/esbuild.config.js +++ b/esbuild.config.js @@ -19,15 +19,16 @@ const { rm } = require('fs/promises'); 'src/server/index.ts', 'src/server/server.ts', 'src/server/util.ts', - 'src/server/validateConfig.ts', 'src/lib/logger.ts', - 'src/lib/readConfig.ts', + 'src/lib/config.ts', + 'src/lib/config/Config.ts', + 'src/lib/config/readConfig.ts', + 'src/lib/config/validateConfig.ts', 'src/lib/datasources/Datasource.ts', 'src/lib/datasources/index.ts', 'src/lib/datasources/Local.ts', 'src/lib/datasources/S3.ts', 'src/lib/datasource.ts', - 'src/lib/config.ts', ], format: 'cjs', resolveExtensions: ['.ts', '.js'], diff --git a/src/lib/config.ts b/src/lib/config.ts index d0b162c1..42840ee4 100644 --- a/src/lib/config.ts +++ b/src/lib/config.ts @@ -1,5 +1,5 @@ -import readConfig from './readConfig'; -import validateConfig from '../server/validateConfig'; +import readConfig from './config/readConfig'; +import validateConfig from './config/validateConfig'; if (!global.config) global.config = validateConfig(readConfig()); diff --git a/src/lib/types.ts b/src/lib/config/Config.ts similarity index 100% rename from src/lib/types.ts rename to src/lib/config/Config.ts diff --git a/src/lib/readConfig.ts b/src/lib/config/readConfig.ts similarity index 95% rename from src/lib/readConfig.ts rename to src/lib/config/readConfig.ts index b4dd4683..4b116e09 100644 --- a/src/lib/readConfig.ts +++ b/src/lib/config/readConfig.ts @@ -1,8 +1,8 @@ import { existsSync, readFileSync } from 'fs'; import { join } from 'path'; import parse from '@iarna/toml/parse-string'; -import Logger from './logger'; -import { Config } from './types'; +import Logger from '../logger'; +import { Config } from './Config'; const e = (val, type, fn) => ({ val, type, fn }); @@ -17,10 +17,10 @@ const envValues = [ e('DATASOURCE_TYPE', 'string', (c, v) => c.datasource.type = v), e('DATASOURCE_LOCAL_DIRECTORY', 'string', (c, v) => c.datasource.local.directory = v), - e('DATASOURCE_S3_ACCESS_KEY_ID', 'string', (c, v) => c.datasource.s3.access_key_id = v ), + e('DATASOURCE_S3_ACCESS_KEY_ID', 'string', (c, v) => c.datasource.s3.access_key_id = v), e('DATASOURCE_S3_SECRET_ACCESS_KEY', 'string', (c, v) => c.datasource.s3.secret_access_key = v), e('DATASOURCE_S3_ENDPOINT', 'string', (c, v) => c.datasource.s3.endpoint = v ?? null), - e('DATASOURCE_S3_FORCE_S3_PATH', 'string', (c, v) => c.datasource.s3.force_s3_path = v ?? false), + e('DATASOURCE_S3_FORCE_S3_PATH', 'boolean', (c, v) => c.datasource.s3.force_s3_path = v ?? false), e('DATASOURCE_S3_BUCKET', 'string', (c, v) => c.datasource.s3.bucket = v), e('UPLOADER_ROUTE', 'string', (c, v) => c.uploader.route = v), @@ -42,7 +42,7 @@ export default function readConfig(): Config { return tryReadEnv(); } else { if (process.env.ZIPLINE_DOCKER_BUILD) return; - + Logger.get('config').info('reading config file'); const str = readFileSync(join(process.cwd(), 'config.toml'), 'utf8'); const parsed = parse(str); diff --git a/src/server/validateConfig.ts b/src/lib/config/validateConfig.ts similarity index 97% rename from src/server/validateConfig.ts rename to src/lib/config/validateConfig.ts index 3b41a15e..f63ff662 100644 --- a/src/server/validateConfig.ts +++ b/src/lib/config/validateConfig.ts @@ -1,4 +1,4 @@ -import { Config } from 'lib/types'; +import { Config } from 'lib/config/Config'; import { object, bool, string, number, boolean, array } from 'yup'; const validator = object({ diff --git a/src/lib/datasources/S3.ts b/src/lib/datasources/S3.ts index d2f031b5..39b3cb99 100644 --- a/src/lib/datasources/S3.ts +++ b/src/lib/datasources/S3.ts @@ -1,7 +1,7 @@ import { Datasource } from './'; import AWS from 'aws-sdk'; import { Readable } from 'stream'; -import { ConfigS3Datasource } from 'lib/types'; +import { ConfigS3Datasource } from 'lib/config/Config'; export class S3 extends Datasource { public name: string = 'S3';