chore: format and remove unneccessary code

This commit is contained in:
PalmDevs
2023-11-25 22:45:27 +07:00
parent 72adec51b4
commit 306f627cef
39 changed files with 690 additions and 647 deletions

View File

@@ -1,9 +1,10 @@
import type { Logger } from './logger.js'
export default function checkEnv(logger: Logger) {
if (!process.env['NODE_ENV']) logger.warn('NODE_ENV not set, defaulting to `development`')
if (!process.env['NODE_ENV'])
logger.warn('NODE_ENV not set, defaulting to `development`')
const environment = (process.env['NODE_ENV'] ??
'development') as NodeEnvironment
'development') as NodeEnvironment
if (!['development', 'production'].includes(environment)) {
logger.error(
@@ -16,7 +17,9 @@ export default function checkEnv(logger: Logger) {
logger.info(`Running in ${environment} mode...`)
if (environment === 'production' && process.env['IS_USING_DOT_ENV']) {
logger.warn('You seem to be using .env files, this is generally not a good idea in production...')
logger.warn(
'You seem to be using .env files, this is generally not a good idea in production...'
)
}
if (!process.env['WIT_AI_TOKEN']) {

View File

@@ -2,28 +2,31 @@ import { existsSync } from 'node:fs'
import { resolve as resolvePath } from 'node:path'
import { pathToFileURL } from 'node:url'
const configPath = resolvePath(
process.cwd(),
'config.json'
)
const configPath = resolvePath(process.cwd(), 'config.json')
const userConfig: Partial<Config> = existsSync(configPath)
? (await import(pathToFileURL(configPath).href, {
assert: {
type: 'json',
},
})).default
? (
await import(pathToFileURL(configPath).href, {
assert: {
type: 'json',
},
})
).default
: {}
type BaseTypeOf<T> = T extends (infer U)[]
? U[]
: T extends (...args: any[]) => infer U
? (...args: any[]) => U
: T extends object
? { [K in keyof T]: T[K] }
: T
: T extends (...args: unknown[]) => infer U
? (...args: unknown[]) => U
: T extends object
? { [K in keyof T]: T[K] }
: T
export type Config = Omit<
BaseTypeOf<typeof import('../../config.json')>,
'$schema'
>
export type Config = Omit<BaseTypeOf<typeof import('../../config.json')>, '$schema'> & {}
export const defaultConfig: Config = {
address: '127.0.0.1',
port: 80,

View File

@@ -1,3 +1,3 @@
export { default as getConfig } from './getConfig.js'
export { default as checkEnv } from './checkEnv.js'
export { default as logger } from './logger.js'
export { default as logger } from './logger.js'

View File

@@ -3,14 +3,23 @@ import { Chalk } from 'chalk'
const chalk = new Chalk()
const logger = {
debug: (...args) => console.debug(chalk.gray('DEBUG:', ...args)),
info: (...args) => console.info(chalk.bgBlue.whiteBright(' INFO '), ...args),
warn: (...args) => console.warn(chalk.bgYellow.blackBright.bold(' WARN '), chalk.yellowBright(...args)),
error: (...args) => console.error(chalk.bgRed.whiteBright.bold(' ERROR '), chalk.redBright(...args)),
info: (...args) =>
console.info(chalk.bgBlue.whiteBright(' INFO '), ...args),
warn: (...args) =>
console.warn(
chalk.bgYellow.blackBright.bold(' WARN '),
chalk.yellowBright(...args)
),
error: (...args) =>
console.error(
chalk.bgRed.whiteBright.bold(' ERROR '),
chalk.redBright(...args)
),
log: console.log,
} satisfies Logger
export type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'log'
export type LogFunction = (...x: any[]) => void
export type LogFunction = (...x: unknown[]) => void
export type Logger = Record<LogLevel, LogFunction>
export default logger
export default logger