chore: Unify backend express project into ESM (#281)

This commit is contained in:
kimatata
2025-09-15 22:46:46 +09:00
committed by GitHub
parent 72fd3af24f
commit 761869736e
83 changed files with 2129 additions and 2328 deletions

View File

@@ -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;