chore: Unify backend express project into ESM (#281)
This commit is contained in:
@@ -1,12 +1,13 @@
|
||||
'use strict';
|
||||
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const process = require('process');
|
||||
const Sequelize = require('sequelize');
|
||||
import fs from 'fs';
|
||||
import path from 'path';
|
||||
import { fileURLToPath } from 'url';
|
||||
import process from 'process';
|
||||
import Sequelize from 'sequelize';
|
||||
const __filename = fileURLToPath(import.meta.url);
|
||||
const __dirname = path.dirname(__filename);
|
||||
const basename = path.basename(__filename);
|
||||
const env = process.env.NODE_ENV || 'development';
|
||||
const config = require(__dirname + '/../config/config.json')[env];
|
||||
import configDefault from '../config/config';
|
||||
const config = configDefault[process.env.NODE_ENV || 'development'];
|
||||
const db = {};
|
||||
|
||||
let sequelize;
|
||||
@@ -16,14 +17,15 @@ if (config.use_env_variable) {
|
||||
sequelize = new Sequelize(config.database, config.username, config.password, config);
|
||||
}
|
||||
|
||||
fs.readdirSync(__dirname)
|
||||
.filter((file) => {
|
||||
return file.indexOf('.') !== 0 && file !== basename && file.slice(-3) === '.js' && file.indexOf('.test.js') === -1;
|
||||
})
|
||||
.forEach((file) => {
|
||||
const model = require(path.join(__dirname, file))(sequelize, Sequelize.DataTypes);
|
||||
db[model.name] = model;
|
||||
});
|
||||
const modelFiles = fs.readdirSync(__dirname).filter((file) => {
|
||||
return file.indexOf('.') !== 0 && file !== basename && file.slice(-3) === '.js' && file.indexOf('.test.js') === -1;
|
||||
});
|
||||
|
||||
for (const file of modelFiles) {
|
||||
const module = await import(path.join(__dirname, file));
|
||||
const model = module.default(sequelize, Sequelize.DataTypes);
|
||||
db[model.name] = model;
|
||||
}
|
||||
|
||||
Object.keys(db).forEach((modelName) => {
|
||||
if (db[modelName].associate) {
|
||||
@@ -34,4 +36,4 @@ Object.keys(db).forEach((modelName) => {
|
||||
db.sequelize = sequelize;
|
||||
db.Sequelize = Sequelize;
|
||||
|
||||
module.exports = db;
|
||||
export default db;
|
||||
|
||||
Reference in New Issue
Block a user