MVC 폴더명
// ex: item
router : item.route.js
controller: item.controller.js
service: item.service.js
repository: item.repositroy.js
import js from "@eslint/js";
import eslintConfigPrettier from "eslint-config-prettier/flat";
export default [
js.configs.recommended,
{
languageOptions: {
ecmaVersion: 2024,
sourceType: "module",
globals: {
console: "readonly",
process: "readonly",
},
},
rules: {
"no-unused-vars": ["warn", { argsIgnorePattern: "^_" }],
"no-console": "off",
"prefer-const": "error",
"no-var": "error",
},
},
eslintConfigPrettier,
];
{
"compilerOptions": {
"module": "esnext",
"moduleResolution": "node",
"target": "esnext",
"strict": true,
"esModuleInterop": true,
}
}
{
"singleQuote": true,
"semi": true,
"trailingComma": "all",
"printWidth": 100,
"tabWidth": 2,
"useTabs": false,
}
{
"name": "myString-photo-backend-server",
"version": "1.0.0",
"description": "myString-photo-server",
"main": "src/server.js",
"type": "module",
"scripts": {
"dev": "nodemon src/server.js",
"start": "node dist/src/server.js",
//"build": "npx swc src -d dist && node dist/src/swagger.js",
"format": "prettier --cache --write src/**/*.js",
"lint": "eslint --cache .",
"prisma": "node node_modules/prisma/build/index.js",
"db:push": "npm run prisma -- db push",
"migrate:dev": "npm run prisma -- migrate dev",
"migrate:deploy": "npm run prisma -- migrate deploy",
"migrate:reset": "npm run prisma -- migrate reset",
"generate": "npm run prisma generate",
"studio": "npm run prisma -- studio",
},
"lint-staged": {
"**/*.(js.jsx.ts.tsx)": [
"prettier --write",
"eslint --fix"
]
},
"keywords": [
"sprint-mission"
],
"license": "MIT",
"engines": {
"node": ">=24.x",
"npm": ">=11.x"
},
"dependencies": {
"@faker-js/faker": "^10.0.0",
// 프리즈마 버전에 따라 선택
//"@prisma/adapter-pg": "^7.0.0",
//"@prisma/client": "^7.0.0",
// 배포용
//"@swc/cli": "^0.7.8",
//"@swc/core": "^1.13.5",
"bcrypt": "^6.0.0",
"cookie-parser": "^1.4.7",
//"cuid": "^3.0.0",
//"dotenv": "^17.2.2",
"express": "^5.1.0",
"express-jwt": "^8.5.1",
"morgan": "^1.10.1",
"multer": "^2.0.2",
"passport": "^0.7.0",
// 심화 나중에 구글 추가
//"passport-google-oauth20": "^2.0.0",
"passport-jwt": "^4.0.1",
"passport-local": "^1.0.0",
//"swagger-jsdoc": "^6.2.8",
//"swagger-ui-express": "^5.0.1",
"uuid": "^13.0.0",
"zod": "^4.1.11"
},
"devDependencies": {
"@eslint/js": "^9.36.0",
"@types/express": "^5.0.3",
"@types/node": "^24.5.2",
//"dotenv-cli": "^11.0.0",
"eslint": "^9.36.0",
"eslint-config-prettier": "^10.1.8",
"husky": "^9.1.7",
//"jest": "^30.2.0",
"lint-staged": "^16.2.0",
"nodemon": "^3.1.10",
"prettier": "^3.6.2",
// 프리즈마 버전에 따라 선택
//"prisma": "^7.0.0",
//"supertest": "^7.1.4"
}
}