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,11 +1,12 @@
const path = require('path');
const express = require('express');
const RateLimit = require('express-rate-limit');
const { Sequelize } = require('sequelize');
import path from 'path';
import express from 'express';
import cors from 'cors';
import RateLimit from 'express-rate-limit';
import { Sequelize } from 'sequelize';
const __dirname = path.dirname(new URL(import.meta.url).pathname);
const app = express();
// enable frontend access
const cors = require('cors');
const frontendOrigin = process.env.FRONTEND_ORIGIN || 'http://localhost:8000';
const corsOptions = {
origin: frontendOrigin,
@@ -36,116 +37,113 @@ const sequelize = new Sequelize({
});
// "/"
const indexRoute = require('./routes/index');
app.use('/', indexRoute);
import indexRoute from './routes/index.js';
app.use('/', indexRoute());
// "/health"
const healthIndexRoute = require('./routes/health/index')();
app.use('/health', healthIndexRoute);
import healthIndexRoute from './routes/health/index.js';
app.use('/health', healthIndexRoute());
// "users"
const usersIndexRoute = require('./routes/users/index')(sequelize);
const usersFindRoute = require('./routes/users/find')(sequelize);
const usersSearchRoute = require('./routes/users/search')(sequelize);
const signUpRoute = require('./routes/users/signup')(sequelize);
const signInRoute = require('./routes/users/signin')(sequelize);
app.use('/users', usersIndexRoute);
app.use('/users', usersFindRoute);
app.use('/users', usersSearchRoute);
app.use('/users', signUpRoute);
app.use('/users', signInRoute);
// ESM import
(async () => {
const updateRoute = await import('./routes/users/update.mjs');
app.use('/users', updateRoute.default(sequelize));
})();
import usersIndexRoute from './routes/users/index.js';
import usersFindRoute from './routes/users/find.js';
import usersSearchRoute from './routes/users/search.js';
import usersUpdateRoute from './routes/users/update.js';
import signUpRoute from './routes/users/signup.js';
import signInRoute from './routes/users/signin.js';
app.use('/users', usersIndexRoute(sequelize));
app.use('/users', usersFindRoute(sequelize));
app.use('/users', usersSearchRoute(sequelize));
app.use('/users', usersUpdateRoute(sequelize));
app.use('/users', signUpRoute(sequelize));
app.use('/users', signInRoute(sequelize));
// "/projects"
const projectsIndexRoute = require('./routes/projects/index')(sequelize);
const projectsShowRoute = require('./routes/projects/show')(sequelize);
const projectsNewRoute = require('./routes/projects/new')(sequelize);
const projectsEditRoute = require('./routes/projects/edit')(sequelize);
const projectsDeleteRoute = require('./routes/projects/delete')(sequelize);
app.use('/projects', projectsIndexRoute);
app.use('/projects', projectsShowRoute);
app.use('/projects', projectsNewRoute);
app.use('/projects', projectsEditRoute);
app.use('/projects', projectsDeleteRoute);
import projectsIndexRoute from './routes/projects/index.js';
import projectsShowRoute from './routes/projects/show.js';
import projectsNewRoute from './routes/projects/new.js';
import projectsEditRoute from './routes/projects/edit.js';
import projectsDeleteRoute from './routes/projects/delete.js';
app.use('/projects', projectsIndexRoute(sequelize));
app.use('/projects', projectsShowRoute(sequelize));
app.use('/projects', projectsNewRoute(sequelize));
app.use('/projects', projectsEditRoute(sequelize));
app.use('/projects', projectsDeleteRoute(sequelize));
// "/folders"
const foldersIndexRoute = require('./routes/folders/index')(sequelize);
const foldersNewRoute = require('./routes/folders/new')(sequelize);
const foldersEditRoute = require('./routes/folders/edit')(sequelize);
const foldersDeleteRoute = require('./routes/folders/delete')(sequelize);
app.use('/folders', foldersIndexRoute);
app.use('/folders', foldersNewRoute);
app.use('/folders', foldersEditRoute);
app.use('/folders', foldersDeleteRoute);
import foldersIndexRoute from './routes/folders/index.js';
import foldersNewRoute from './routes/folders/new.js';
import foldersEditRoute from './routes/folders/edit.js';
import foldersDeleteRoute from './routes/folders/delete.js';
app.use('/folders', foldersIndexRoute(sequelize));
app.use('/folders', foldersNewRoute(sequelize));
app.use('/folders', foldersEditRoute(sequelize));
app.use('/folders', foldersDeleteRoute(sequelize));
// "/cases"
// "/cases"
const casesDownloadRoute = require('./routes/cases/download')(sequelize);
const casesIndexRoute = require('./routes/cases/index')(sequelize);
const casesIndexByProjectIdRoute = require('./routes/cases/indexByProjectId')(sequelize);
const casesShowRoute = require('./routes/cases/show')(sequelize);
const casesNewRoute = require('./routes/cases/new')(sequelize);
const casesEditRoute = require('./routes/cases/edit')(sequelize);
const casesDeleteRoute = require('./routes/cases/delete')(sequelize);
app.use('/cases', casesDownloadRoute);
app.use('/cases', casesIndexRoute);
app.use('/cases', casesIndexByProjectIdRoute);
app.use('/cases', casesShowRoute);
app.use('/cases', casesNewRoute);
app.use('/cases', casesEditRoute);
app.use('/cases', casesDeleteRoute);
import casesDownloadRoute from './routes/cases/download.js';
import casesIndexRoute from './routes/cases/index.js';
import casesIndexByProjectIdRoute from './routes/cases/indexByProjectId.js';
import casesShowRoute from './routes/cases/show.js';
import casesNewRoute from './routes/cases/new.js';
import casesEditRoute from './routes/cases/edit.js';
import casesDeleteRoute from './routes/cases/delete.js';
app.use('/cases', casesDownloadRoute(sequelize));
app.use('/cases', casesIndexRoute(sequelize));
app.use('/cases', casesIndexByProjectIdRoute(sequelize));
app.use('/cases', casesShowRoute(sequelize));
app.use('/cases', casesNewRoute(sequelize));
app.use('/cases', casesEditRoute(sequelize));
app.use('/cases', casesDeleteRoute(sequelize));
// "/steps"
const stepsEditRoute = require('./routes/steps/edit')(sequelize);
app.use('/steps', stepsEditRoute);
import stepsEditRoute from './routes/steps/edit.js';
app.use('/steps', stepsEditRoute(sequelize));
// "/attachments"
const attachmentsNewRoute = require('./routes/attachments/new')(sequelize);
const attachmentsDeleteRoute = require('./routes/attachments/delete')(sequelize);
const attachmentsDownloadRoute = require('./routes/attachments/download')(sequelize);
app.use('/attachments', attachmentsNewRoute);
app.use('/attachments', attachmentsDeleteRoute);
app.use('/attachments', attachmentsDownloadRoute);
import attachmentsNewRoute from './routes/attachments/new.js';
import attachmentsDeleteRoute from './routes/attachments/delete.js';
import attachmentsDownloadRoute from './routes/attachments/download.js';
app.use('/attachments', attachmentsNewRoute(sequelize));
app.use('/attachments', attachmentsDeleteRoute(sequelize));
app.use('/attachments', attachmentsDownloadRoute(sequelize));
// "/runs"
const runsDownloadRoute = require('./routes/runs/download')(sequelize);
const runsIndexRoute = require('./routes/runs/index')(sequelize);
const runsShowRoute = require('./routes/runs/show')(sequelize);
const runsNewRoute = require('./routes/runs/new')(sequelize);
const runsEditRoute = require('./routes/runs/edit')(sequelize);
const runDeleteRoute = require('./routes/runs/delete')(sequelize);
app.use('/runs', runsDownloadRoute);
app.use('/runs', runsIndexRoute);
app.use('/runs', runsShowRoute);
app.use('/runs', runsNewRoute);
app.use('/runs', runsEditRoute);
app.use('/runs', runDeleteRoute);
import runsDownloadRoute from './routes/runs/download.js';
import runsIndexRoute from './routes/runs/index.js';
import runsShowRoute from './routes/runs/show.js';
import runsNewRoute from './routes/runs/new.js';
import runsEditRoute from './routes/runs/edit.js';
import runDeleteRoute from './routes/runs/delete.js';
app.use('/runs', runsDownloadRoute(sequelize));
app.use('/runs', runsIndexRoute(sequelize));
app.use('/runs', runsShowRoute(sequelize));
app.use('/runs', runsNewRoute(sequelize));
app.use('/runs', runsEditRoute(sequelize));
app.use('/runs', runDeleteRoute(sequelize));
// "/runcases"
const runCaseIndexRoute = require('./routes/runcases/index')(sequelize);
const runCaseEditRoute = require('./routes/runcases/edit')(sequelize);
app.use('/runcases', runCaseIndexRoute);
app.use('/runcases', runCaseEditRoute);
import runCaseIndexRoute from './routes/runcases/index.js';
import runCaseEditRoute from './routes/runcases/edit.js';
app.use('/runcases', runCaseIndexRoute(sequelize));
app.use('/runcases', runCaseEditRoute(sequelize));
// "/members"
const membersIndexRoute = require('./routes/members/index')(sequelize);
const membersNewRoute = require('./routes/members/new')(sequelize);
const membersEditRoute = require('./routes/members/edit')(sequelize);
const membersDeleteRoute = require('./routes/members/delete')(sequelize);
const membersCheckRoute = require('./routes/members/check')(sequelize);
app.use('/members', membersIndexRoute);
app.use('/members', membersNewRoute);
app.use('/members', membersEditRoute);
app.use('/members', membersDeleteRoute);
app.use('/members', membersCheckRoute);
import membersIndexRoute from './routes/members/index.js';
import membersNewRoute from './routes/members/new.js';
import membersEditRoute from './routes/members/edit.js';
import membersDeleteRoute from './routes/members/delete.js';
import membersCheckRoute from './routes/members/check.js';
app.use('/members', membersIndexRoute(sequelize));
app.use('/members', membersNewRoute(sequelize));
app.use('/members', membersEditRoute(sequelize));
app.use('/members', membersDeleteRoute(sequelize));
app.use('/members', membersCheckRoute(sequelize));
// "/home"
const homeIndexRoute = require('./routes/home/index')(sequelize);
app.use('/home', homeIndexRoute);
import homeIndexRoute from './routes/home/index.js';
app.use('/home', homeIndexRoute(sequelize));
if (!process.env.SECRET_KEY) {
console.log(
@@ -154,4 +152,4 @@ if (!process.env.SECRET_KEY) {
}
// Export the app instead of starting the server
module.exports = app;
export default app;