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

@@ -23,4 +23,4 @@ function defineAttachment(sequelize, DataTypes) {
return Attachment;
}
module.exports = defineAttachment;
export default defineAttachment;

View File

@@ -24,4 +24,4 @@ function defineCaseAttachment(sequelize, DataTypes) {
return CaseAttachment;
}
module.exports = defineCaseAttachment;
export default defineCaseAttachment;

View File

@@ -28,4 +28,4 @@ function defineCaseStep(sequelize, DataTypes) {
return CaseStep;
}
module.exports = defineCaseStep;
export default defineCaseStep;

View File

@@ -60,4 +60,4 @@ function defineCase(sequelize, DataTypes) {
return Case;
}
module.exports = defineCase;
export default defineCase;

View File

@@ -37,4 +37,4 @@ function defineFolder(sequelize, DataTypes) {
return Folder;
}
module.exports = defineFolder;
export default defineFolder;

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;

View File

@@ -28,4 +28,4 @@ function defineMember(sequelize, DataTypes) {
return Member;
}
module.exports = defineMember;
export default defineMember;

View File

@@ -32,4 +32,4 @@ function defineProject(sequelize, DataTypes) {
return Project;
}
module.exports = defineProject;
export default defineProject;

View File

@@ -28,4 +28,4 @@ function defineRunCase(sequelize, DataTypes) {
return RunCase;
}
module.exports = defineRunCase;
export default defineRunCase;

View File

@@ -34,4 +34,4 @@ function defineRun(sequelize, DataTypes) {
return Run;
}
module.exports = defineRun;
export default defineRun;

View File

@@ -19,4 +19,4 @@ function defineStep(sequelize, DataTypes) {
return Step;
}
module.exports = defineStep;
export default defineStep;

View File

@@ -1,9 +1,3 @@
/**
*
* @param {import('sequelize').Sequelize} sequelize
* @param {*} DataTypes
* @returns
*/
function defineUser(sequelize, DataTypes) {
const User = sequelize.define(
'User',
@@ -39,4 +33,4 @@ function defineUser(sequelize, DataTypes) {
return User;
}
module.exports = defineUser;
export default defineUser;