Files
first-electron-app/package.json
Misaka_Company 9db298c027 Migrate ExcelConverter from Python to TypeScript
Replace pandas+openpyxl with exceljs for Excel file processing. This
migration enables seamless integration with the Electron main process
and maintains 1:1 functional parity with the Python implementation.

Key changes:
- Add exceljs dependency (v4.4.0)
- Implement ExcelConverter class in TypeScript with strict types
- Add comprehensive unit tests (13 test cases, all passing)
- Support field name mapping, order parsing, and material extraction
- Handle empty data tables and file conflicts gracefully

Verification:
- Successfully tested with sample Excel file (99 orders, 625 records)
- All unit tests passing
- Output format matches Python version

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-28 16:48:28 +08:00

54 lines
1.9 KiB
JSON

{
"name": "first-electron-app",
"version": "1.0.0",
"description": "An Electron application with React and TypeScript",
"main": "./out/main/index.js",
"author": "example.com",
"homepage": "https://electron-vite.org",
"scripts": {
"format": "prettier --write .",
"lint": "eslint --cache .",
"typecheck:node": "tsc --noEmit -p tsconfig.node.json --composite false",
"typecheck:web": "tsc --noEmit -p tsconfig.web.json --composite false",
"typecheck": "npm run typecheck:node && npm run typecheck:web",
"start": "electron-vite preview",
"dev": "electron-vite dev",
"build": "npm run typecheck && electron-vite build",
"postinstall": "electron-builder install-app-deps",
"build:unpack": "npm run build && electron-builder --dir",
"build:win": "npm run build && electron-builder --win",
"build:mac": "electron-vite build && electron-builder --mac",
"build:linux": "electron-vite build && electron-builder --linux",
"test": "vitest"
},
"dependencies": {
"@electron-toolkit/preload": "^3.0.2",
"@electron-toolkit/utils": "^4.0.0",
"dotenv": "^17.3.1",
"exceljs": "^4.4.0",
"playwright-core": "^1.58.2"
},
"devDependencies": {
"@electron-toolkit/eslint-config-prettier": "^3.0.0",
"@electron-toolkit/eslint-config-ts": "^3.1.0",
"@electron-toolkit/tsconfig": "^2.0.0",
"@types/node": "^22.19.1",
"@types/react": "^19.2.7",
"@types/react-dom": "^19.2.3",
"@vitejs/plugin-react": "^5.1.1",
"electron": "^39.2.6",
"electron-builder": "^26.0.12",
"electron-vite": "^5.0.0",
"eslint": "^9.39.1",
"eslint-plugin-react": "^7.37.5",
"eslint-plugin-react-hooks": "^7.0.1",
"eslint-plugin-react-refresh": "^0.4.24",
"prettier": "^3.7.4",
"react": "^19.2.1",
"react-dom": "^19.2.1",
"typescript": "^5.9.3",
"vite": "^7.2.6",
"vitest": "^4.0.18"
}
}