Commit 1ed2ef7c authored by Phạm Quang Bảo's avatar Phạm Quang Bảo

fix: ts and node

parent 2b766521
......@@ -3,7 +3,7 @@
"version": "1.0.0",
"description": "",
"author": "PhamQuangBao",
"type": "commonjs",
"type": "module",
"main": "./src/index.ts",
"scripts": {
"dev": "tsx ./src/scripts/database-gen.ts && tsx ./src/scripts/swagger-gen.ts && tsx watch ./src/index.ts",
......@@ -14,19 +14,58 @@
"start": "node ./dist/index.js"
},
"imports": {
"#models/*": "./src/models/*",
"#controllers/*": "./src/controllers/*",
"#services/*": "./src/services/*",
"#providers/*": "./src/providers/*",
"#docs/*": "./src/docs/*",
"#utils/*": "./src/utils/*",
"#config/*": "./src/config/*",
"#middlewares/*": "./src/middlewares/*",
"#routes/*": "./src/routes/*",
"#scripts/*": "./src/scripts/*",
"#types/*": "./src/types/*",
"#interfaces/*": "./src/interfaces/*",
"#templates/*": "./src/templates/*"
"#models/*": {
"types": "./src/models/*.ts",
"default": "./dist/models/*.js"
},
"#controllers/*": {
"types": "./src/controllers/*.ts",
"default": "./dist/controllers/*.js"
},
"#services/*": {
"types": "./src/services/*.ts",
"default": "./dist/services/*.js"
},
"#providers/*": {
"types": "./src/providers/*.ts",
"default": "./dist/providers/*.js"
},
"#docs/*": {
"types": "./src/docs/*.ts",
"default": "./dist/docs/*.js"
},
"#utils/*": {
"types": "./src/utils/*.ts",
"default": "./dist/utils/*.js"
},
"#config/*": {
"types": "./src/config/*.ts",
"default": "./dist/config/*.js"
},
"#middlewares/*": {
"types": "./src/middlewares/*.ts",
"default": "./dist/middlewares/*.js"
},
"#routes/*": {
"types": "./src/routes/*.ts",
"default": "./dist/routes/*.js"
},
"#scripts/*": {
"types": "./src/scripts/*.ts",
"default": "./dist/scripts/*.js"
},
"#types/*": {
"types": "./src/types/*.ts",
"default": "./dist/types/*.js"
},
"#interfaces/*": {
"types": "./src/interfaces/*.ts",
"default": "./dist/interfaces/*.js"
},
"#templates/*": {
"types": "./src/templates/*.ts",
"default": "./dist/templates/*.js"
}
},
"dependencies": {
"@fast-csv/format": "^5.0.7",
......
......@@ -3,8 +3,8 @@ import { resolve } from 'path';
import _autoroutes from 'express-automatic-routes';
import swaggerUi from 'swagger-ui-express';
import dotenv from 'dotenv';
import swaggerFile from '#docs/swagger/swagger-output.json';
import response from '#middlewares/response';
import swaggerFile from '#docs/swagger/swagger-output.json' with { type: 'json' };
import response from '#middlewares/response.js';
import emailCronJob from '#services/schedulerService.js';
dotenv.config();
......@@ -13,11 +13,12 @@ const app = express()
const port = 3000
app.use(express.json());
app.use(response as express.RequestHandler);
_autoroutes(app, {
dir: resolve(__dirname, './controllers'),
const mountRoutes = (_autoroutes as any).default || _autoroutes;
mountRoutes(app, {
dir: resolve(import.meta.dirname, './controllers'),
log: true
});
......
import { ErrorParams, OkParams, Req, Res, ResponseDTO, ViolationDTO } from "#interfaces/IApi";
import { ErrorParams, OkParams, Req, Res, ResponseDTO, ViolationDTO } from "#interfaces/IApi.js";
import { NextFunction } from "express";
export default function (_req: Req, res: Res, next: NextFunction) {
......
import { config as loadEnv } from 'dotenv';
import SequelizeAuto from 'sequelize-auto';
import { createRequire } from 'module';
const require = createRequire(import.meta.url);
const SequelizeAuto = require('sequelize-auto');
loadEnv({ override: true });
......@@ -42,10 +45,10 @@ const auto = new SequelizeAuto(
console.log('🔄 Đang tiến hành quét Database và sinh Model...');
auto.run()
.then((data) => {
.then((data: any) => {
const tableCount = Object.keys(data.tables).length;
console.log(`✅ Thành công! Đã sinh ra cấu trúc cho ${tableCount} bảng.`);
})
.catch((err) => {
.catch((err: any) => {
console.error('❌ Có lỗi xảy ra trong quá trình gen model:', err);
});
\ No newline at end of file
{
"compilerOptions": {
"module": "NodeNext",
"module": "ESNext",
"target": "ES2022",
"lib": [
"ES2022"
],
"moduleResolution": "NodeNext",
"moduleResolution": "Bundler",
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"resolveJsonModule": true,
......
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment