From 1241445cb16460dddaa889775c6c7ba8add63854 Mon Sep 17 00:00:00 2001 From: Mehrshad Date: Wed, 13 Sep 2023 14:52:09 +0330 Subject: [PATCH] logger: convert js to ts The error that is mentioned below can be fixed by enabling esModuleInterop: ``` logger.ts:1:8 - error TS1259: Module '"/bot/node_modules/winston/index"' can only be default-imported using the 'esModuleInterop' flag 1 import winston from 'winston'; ~~~~~~~ node_modules/winston/index.d.ts:213:1 213 export = winston; ~~~~~~~~~~~~~~~~~ This module is declared with 'export =', and can only be used with a default import when using the 'esModuleInterop' flag. ``` --- db_connect.js | 2 +- logger.js => logger.ts | 10 +++++----- tsconfig.json | 1 + 3 files changed, 7 insertions(+), 6 deletions(-) rename logger.js => logger.ts (82%) diff --git a/db_connect.js b/db_connect.js index e38fbd10..a70ebad0 100644 --- a/db_connect.js +++ b/db_connect.js @@ -1,5 +1,5 @@ const mongoose = require('mongoose'); -const logger = require('./logger'); +const logger = require('./logger').default; // connect to database const credentials = process.env.DB_USER diff --git a/logger.js b/logger.ts similarity index 82% rename from logger.js rename to logger.ts index ada7ed8e..37d0d3a8 100644 --- a/logger.js +++ b/logger.ts @@ -1,4 +1,4 @@ -const winston = require('winston'); +import winston from 'winston'; const level = process.env.LOG_LEVEL || 'notice'; @@ -9,9 +9,8 @@ const logger = winston.createLogger({ }), winston.format.colorize(), winston.format.printf(info => { - return `[${info.timestamp}] ${info.level}: ${info.message} ${ - info.stack ? info.stack : '' - }`; + return `[${info.timestamp}] ${info.level}: ${info.message} ${info.stack ? info.stack : '' + }`; }) ), levels: winston.config.syslog.levels, @@ -24,4 +23,5 @@ const logger = winston.createLogger({ exitOnError: false, }); -module.exports = logger; + +export default logger; diff --git a/tsconfig.json b/tsconfig.json index 8039f57e..75cf960b 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,5 +1,6 @@ { "compilerOptions": { "strict": true, + "esModuleInterop": true } }