6a1b79dc81
Build and Push Images / build-and-push (push) Has been cancelled
- 신규 테이블 file_reader_configs / file_reader_mappings / file_reader_history (마이그레이션 313) - 파서: csv-parse + xlsx 라이브러리 추가, CSV/TSV/TXT/XLSX 통합 파서 (parsers.ts) - 서비스: 파일→매핑→타겟 DB INSERT/UPSERT/REPLACE, 호스트 경로 허용 루트 검증 - 스케줄러: source_mode='watch' 설정마다 node-cron 등록, 1분 주기 reload - 라우트: /api/file-reader/configs CRUD + preview + run-upload + run-watch + history - 프론트: 데이터 소스 페이지 "파일 리더" 탭 placeholder → FileReaderConnectionList 컴포넌트 - FileReaderConnectionModal: 기본/파싱/타겟/매핑 통합 폼 + 샘플 업로드 미리보기 - 환경변수 FILE_READER_ALLOWED_ROOTS (콤마 구분, 기본 /home/wace/file-imports,/mnt) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
109 lines
2.8 KiB
JSON
109 lines
2.8 KiB
JSON
{
|
|
"name": "pms-backend-node",
|
|
"version": "1.0.0",
|
|
"description": "PLM System Backend - Node.js + TypeScript",
|
|
"main": "dist/app.js",
|
|
"scripts": {
|
|
"start": "node dist/app.js",
|
|
"dev": "nodemon src/app.ts",
|
|
"build": "tsc",
|
|
"test": "jest",
|
|
"test:watch": "jest --watch",
|
|
"lint": "eslint src/ --ext .ts",
|
|
"lint:fix": "eslint src/ --ext .ts --fix",
|
|
"format": "prettier --write src/"
|
|
},
|
|
"keywords": [
|
|
"plm",
|
|
"nodejs",
|
|
"typescript",
|
|
"express",
|
|
"postgresql"
|
|
],
|
|
"author": "",
|
|
"license": "ISC",
|
|
"dependencies": {
|
|
"@types/mssql": "^9.1.8",
|
|
"aedes": "^0.51.3",
|
|
"aedes-server-factory": "^0.2.1",
|
|
"axios": "^1.11.0",
|
|
"bcryptjs": "^2.4.3",
|
|
"bwip-js": "^4.8.0",
|
|
"cheerio": "^1.2.0",
|
|
"chokidar": "^3.6.0",
|
|
"compression": "^1.7.4",
|
|
"cors": "^2.8.5",
|
|
"csv-parse": "^5.6.0",
|
|
"dockerode": "^4.0.10",
|
|
"docx": "^9.5.1",
|
|
"dotenv": "^16.3.1",
|
|
"express": "^4.18.2",
|
|
"express-async-errors": "^3.1.1",
|
|
"express-rate-limit": "^7.1.5",
|
|
"helmet": "^7.1.0",
|
|
"html-to-docx": "^1.8.0",
|
|
"http-proxy-middleware": "^3.0.5",
|
|
"iconv-lite": "^0.7.0",
|
|
"imap": "^0.8.19",
|
|
"imapflow": "^1.2.18",
|
|
"joi": "^17.11.0",
|
|
"jsonwebtoken": "^9.0.2",
|
|
"mailparser": "^3.7.5",
|
|
"mqtt": "^5.15.1",
|
|
"mssql": "^11.0.1",
|
|
"multer": "^1.4.5-lts.1",
|
|
"mysql2": "^3.15.0",
|
|
"node-cron": "^4.2.1",
|
|
"node-fetch": "^2.7.0",
|
|
"node-pop3": "^0.11.0",
|
|
"nodemailer": "^6.10.1",
|
|
"oracledb": "^6.9.0",
|
|
"pg": "^8.16.3",
|
|
"quill": "^2.0.3",
|
|
"react-quill": "^2.0.0",
|
|
"redis": "^4.6.10",
|
|
"socket.io": "^4.8.3",
|
|
"uuid": "^13.0.0",
|
|
"winston": "^3.11.0",
|
|
"xlsx": "^0.18.5"
|
|
},
|
|
"devDependencies": {
|
|
"@types/bcryptjs": "^2.4.6",
|
|
"@types/bwip-js": "^3.2.3",
|
|
"@types/compression": "^1.7.5",
|
|
"@types/cors": "^2.8.17",
|
|
"@types/dockerode": "^4.0.1",
|
|
"@types/express": "^4.17.21",
|
|
"@types/fs-extra": "^11.0.4",
|
|
"@types/imap": "^0.8.42",
|
|
"@types/jest": "^29.5.11",
|
|
"@types/jsonwebtoken": "^9.0.5",
|
|
"@types/mailparser": "^3.4.6",
|
|
"@types/morgan": "^1.9.9",
|
|
"@types/multer": "^1.4.13",
|
|
"@types/node": "^20.10.5",
|
|
"@types/node-cron": "^3.0.11",
|
|
"@types/node-fetch": "^2.6.13",
|
|
"@types/nodemailer": "^6.4.20",
|
|
"@types/oracledb": "^6.9.1",
|
|
"@types/pg": "^8.15.5",
|
|
"@types/sanitize-html": "^2.9.5",
|
|
"@types/supertest": "^6.0.3",
|
|
"@types/uuid": "^10.0.0",
|
|
"@typescript-eslint/eslint-plugin": "^6.14.0",
|
|
"@typescript-eslint/parser": "^6.14.0",
|
|
"eslint": "^8.55.0",
|
|
"jest": "^29.7.0",
|
|
"nodemon": "^3.1.10",
|
|
"prettier": "^3.1.0",
|
|
"supertest": "^6.3.4",
|
|
"ts-jest": "^29.1.1",
|
|
"ts-node": "^10.9.2",
|
|
"typescript": "^5.3.3"
|
|
},
|
|
"engines": {
|
|
"node": ">=20.10.0",
|
|
"npm": ">=10.0.0"
|
|
}
|
|
}
|