chore(build): adopt Vite, pnpm, ESLint flat config; drop Vue CLI

Replaces Vue CLI 4 with Vite 7 + @tailwindcss/vite + vite-plugin-pwa,
yarn with pnpm, tslint with ESLint 9 flat config, and Jest with Vitest.
Drops Netlify deploy config and the dead FontAwesome npm token.

Bumps the entire dependency surface: Vue 3.5, Pinia 2, vue-router 4,
vue-i18n 11, Tailwind 4, DaisyUI 5, TypeScript 5.7, axios 1.x,
mapbox-gl 3.x, date-fns 4.x, uuid 11.x, pouchdb-browser 9.x.
This commit is contained in:
Julien Calixte
2026-06-01 21:03:09 +02:00
parent 37019b655a
commit f6a518a43d
19 changed files with 9824 additions and 12979 deletions

View File

@@ -1,67 +1,69 @@
{
"name": "vaquant",
"version": "0.8.0",
"version": "0.9.0",
"private": true,
"type": "module",
"packageManager": "pnpm@11.5.0",
"engines": {
"node": ">=22"
},
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"test:unit": "vue-cli-service test:unit",
"lint": "vue-cli-service lint",
"build-couch-design": "ts-node src/scripts/validate-doc-update.ts"
"dev": "vite",
"build": "vue-tsc --noEmit && vite build",
"preview": "vite preview",
"lint": "eslint . --cache",
"typecheck": "vue-tsc --noEmit",
"test": "vitest",
"test:run": "vitest run",
"build-couch-design": "tsx src/scripts/validate-doc-update.ts"
},
"dependencies": {
"@tabler/icons-webfont": "^3.30.0",
"@xkeshi/vue-qrcode": "^1.0.0",
"axios": "^0.19.2",
"bulma": "^0.8.1",
"bulma-checkradio": "^1.1.1",
"bulma-pricingtable": "^0.2.0",
"bulma-switch": "^2.0.0",
"core-js": "^3.6.5",
"date-fns": "^2.16.0",
"@vueuse/core": "^12.0.0",
"axios": "^1.7.7",
"date-fns": "^4.1.0",
"events": "^3.3.0",
"font-color-contrast": "^1.0.3",
"lightness": "^1.0.0",
"lodash-es": "^4.17.15",
"mapbox-gl": "^1.9.1",
"md5": "^2.2.1",
"notyf": "^3.6.0",
"lodash-es": "^4.17.21",
"mapbox-gl": "^3.7.0",
"md5": "^2.3.0",
"mitt": "^3.0.1",
"notyf": "^3.10.0",
"pinia": "^2.2.6",
"pinia-plugin-persistedstate": "^4.1.3",
"pouchdb-authentication": "^1.1.3",
"pouchdb-browser": "^7.2.1",
"register-service-worker": "^1.7.1",
"uuid": "^7.0.3",
"vue": "^2.6.11",
"vue-class-component": "^7.2.3",
"vue-click-outside": "^1.0.7",
"vue-currency-input": "^1.18.0",
"vue-i18n": "^8.16.0",
"vue-property-decorator": "^8.4.1",
"vue-router": "^3.1.6",
"vue-stripe-checkout": "^3.2.2",
"vuex": "^3.1.3",
"vuex-class": "^0.3.2",
"vuex-persist": "^2.2.0"
"pouchdb-browser": "^9.0.0",
"qrcode.vue": "^3.5.1",
"uuid": "^11.0.3",
"vue": "^3.5.13",
"vue-currency-input": "^3.2.0",
"vue-i18n": "^11.0.0",
"vue-router": "^4.5.0"
},
"devDependencies": {
"@types/chartist": "^0.9.48",
"@types/jest": "^25.2.1",
"@types/lodash-es": "^4.17.3",
"@types/mapbox-gl": "^1.8.3",
"@types/md5": "^2.1.33",
"@types/notyf": "^3.0.0",
"@types/pouchdb": "^6.4.0",
"@types/uuid": "^7.0.2",
"@vue/cli-plugin-babel": "^4.3.1",
"@vue/cli-plugin-pwa": "^4.3.1",
"@vue/cli-plugin-typescript": "^4.3.1",
"@vue/cli-plugin-unit-jest": "^4.3.1",
"@vue/cli-service": "^4.3.1",
"@vue/test-utils": "^1.0.0-beta.33",
"babel-core": "7.0.0-bridge.0",
"sass": "^1.77.0",
"sass-loader": "^10.5.2",
"ts-jest": "^25.3.1",
"ts-node": "^8.8.2",
"typescript": "^3.8.3",
"vue-template-compiler": "^2.6.11"
"@tailwindcss/vite": "^4.0.0",
"@types/lodash-es": "^4.17.12",
"@types/mapbox-gl": "^3.4.0",
"@types/md5": "^2.3.5",
"@types/pouchdb": "^6.4.2",
"@vitejs/plugin-vue": "^5.2.1",
"@vue/eslint-config-typescript": "^14.1.4",
"@vue/test-utils": "^2.4.6",
"@vue/tsconfig": "^0.7.0",
"daisyui": "^5.0.0",
"eslint": "^9.16.0",
"eslint-plugin-vue": "^9.32.0",
"happy-dom": "^15.11.7",
"prettier": "^3.4.2",
"sass": "^1.83.0",
"tailwindcss": "^4.0.0",
"tsx": "^4.19.2",
"typescript": "^5.7.2",
"vite": "^7.0.0",
"vite-plugin-pwa": "^0.21.1",
"vitest": "^2.1.8",
"vue-tsc": "^2.1.10",
"workbox-window": "^7.3.0"
}
}