Files
2025-10-15 11:15:19 +08:00

55 lines
1.4 KiB
JSON

{
"name": "nilai-clock",
"version": "0.0.0",
"private": true,
"type": "module",
"scripts": {
"dev": "vite --host",
"backend": "node ./backend/server.js",
"dev:all": "concurrently \"npm run dev\" \"npm run backend\"",
"build": "vite build",
"preview": "vite preview",
"lint": "eslint . --fix",
"format": "prettier --write src/"
},
"dependencies": {
"@heroicons/vue": "^2.2.0",
"@turf/turf": "^7.2.0",
"bcrypt": "^6.0.0",
"body-parser": "^2.2.0",
"cors": "^2.8.5",
"dotenv": "^16.6.1",
"exceljs": "^4.4.0",
"express": "^5.1.0",
"html5-qrcode": "^2.3.8",
"json2csv": "^6.0.0-alpha.2",
"jsonwebtoken": "^9.0.2",
"mysql2": "^3.14.2",
"qrcode": "^1.5.4",
"uuid": "^11.1.0",
"vue": "^3.5.13",
"vue-i18n": "^11.1.7",
"vue-router": "^4.5.0"
},
"devDependencies": {
"@eslint/js": "^9.22.0",
"@tailwindcss/vite": "^4.1.10",
"@types/leaflet": "^1.9.20",
"@types/leaflet-draw": "^1.0.12",
"@vitejs/plugin-vue": "^5.2.3",
"@vue/eslint-config-prettier": "^10.2.0",
"autoprefixer": "^10.4.21",
"concurrently": "^9.1.2",
"eslint": "^9.22.0",
"eslint-plugin-vue": "~10.0.0",
"globals": "^16.0.0",
"leaflet": "^1.9.4",
"leaflet-draw": "^1.0.4",
"postcss": "^8.5.6",
"prettier": "3.5.3",
"tailwindcss": "^4.1.10",
"vite": "^6.2.4",
"vite-plugin-vue-devtools": "^7.7.2"
}
}