{ "name": "frontend", "version": "2.5.2", "private": true, "scripts": { "dev": "concurrently \"yarn watch-scss\" \"vite\"", "build": "vite build", "start": "vite preview", "postbuild": "uname | grep -q Linux && find build -type f -regex '.*\\.\\(html\\|js\\|css\\|svg\\|json\\)' -exec gzip -9 -k {} + || echo 'Skip precompress on non-Linux'", "analyse-bundle": "yarn build && webpack-bundle-analyzer build/webpack.stats.json", "lint": "eslint --max-warnings=0 --ext .js,.vue,.json .", "stylelint": "stylelint --max-warnings=0 '**/*.{scss,vue}'", "test": "cross-env TZ=UTC vitest run", "test:coverage": "cross-env TZ=UTC vitest run --coverage", "test:debug": "cross-env TZ=UTC node --inspect-brk ./node_modules/vitest/vitest.mjs", "test:watch": "cross-env TZ=UTC vitest", "locales": "scripts/sort.sh", "compile-scss": "sass --load-path=../node_modules --load-path=src/assets/scss src/assets/scss/gradido.scss src/assets/css/gradido.css", "watch-scss": "sass --watch --load-path=../node_modules --load-path=src/assets/scss src/assets/scss/gradido.scss src/assets/css/gradido.css" }, "dependencies": { "@morev/vue-transitions": "^3.0.2", "@types/leaflet": "^1.9.12", "@vee-validate/i18n": "^4.15.0", "@vee-validate/rules": "^4.14.1", "@vee-validate/yup": "^4.14.1", "@vitejs/plugin-vue": "^5.2.3", "@vue-leaflet/vue-leaflet": "^0.10.1", "@vue/apollo-composable": "^4.0.2", "@vue/apollo-option": "^4.0.0", "apollo-boost": "^0.4.9", "autoprefixer": "^10.4.19", "bootstrap": "^5.3.3", "bootstrap-vue-next": "0.26.8", "clipboard-polyfill": "^4.0.0-rc1", "date-fns": "^2.29.3", "es6-promise": "^4.1.1", "flatpickr": "^4.5.7", "flush-promises": "^1.0.2", "graphql": "^15.10.1", "graphql-tag": "^2.12.6", "identity-obj-proxy": "^3.0.0", "jwt-decode": "^3.1.2", "leaflet": "^1.9.4", "leaflet-geosearch": "^4.0.0", "portal-vue": "^3.0.0", "qrcanvas-vue": "3", "regenerator-runtime": "^0.13.7", "tua-body-scroll-lock": "^1.5.1", "uuid": "^9.0.0", "vee-validate": "^4.13.2", "vite": "^5.4.14", "vite-plugin-commonjs": "^0.10.1", "vue": "3.5.13", "vue-apollo": "^3.1.2", "vue-flatpickr-component": "^12.0.0", "vue-i18n": "^9.13.1", "vue-router": "^4.4.0", "vue-timer-hook": "^1.0.84", "vuex": "^4.1.0", "vuex-persistedstate": "^4.1.0", "yup": "^1.6.1" }, "devDependencies": { "@apollo/client": "^3.10.8", "@iconify-json/arcticons": "^1.2.20", "@iconify-json/bi": "^1.1.23", "@iconify-json/fa": "^1.2.1", "@iconify-json/humbleicons": "^1.2.6", "@iconify-json/ion": "^1.2.2", "@iconify-json/mdi": "^1.2.3", "@intlify/eslint-plugin-vue-i18n": "^1.4.0", "@intlify/unplugin-vue-i18n": "^6.0.5", "@vitest/coverage-v8": "^2.0.5", "@vue/eslint-config-prettier": "^10.2.0", "@vue/test-utils": "^2.4.6", "concurrently": "^9.1.2", "config-schema": "*", "cross-env": "^7.0.3", "dotenv-webpack": "^7.0.3", "eslint": "8.57.1", "eslint-config-prettier": "^10.1.1", "eslint-config-standard": "^17.0.0", "eslint-plugin-import": "^2.25.2", "eslint-plugin-n": "^16", "eslint-plugin-node": "^11.1.0", "eslint-plugin-prettier": "^5.2.3", "eslint-plugin-promise": "^6.1.1", "eslint-plugin-vitest": "^0.5.4", "eslint-plugin-vue": "8.7.1", "eslint-webpack-plugin": "^5.0.0", "joi": "^17.13.3", "jsdom": "^25.0.0", "mock-apollo-client": "^1.2.1", "postcss-html": "^1.8.0", "prettier": "^3.5.3", "sass": "^1.83.4", "stylelint": "^16.19.1", "stylelint-config-recommended-vue": "^1.6.0", "stylelint-config-standard-scss": "^14.0.0", "unplugin-icons": "^0.19.1", "unplugin-vue-components": "^0.27.3", "vite-plugin-environment": "^1.1.3", "vite-plugin-graphql-loader": "^4.0.4", "vite-plugin-html": "^3.2.2", "vitest": "^2.0.5", "vitest-canvas-mock": "^0.3.3", "webpack": "^5" }, "postcss": { "plugins": { "autoprefixer": {} } }, "browserslist": [ "> 1%", "last 2 versions", "not ie <= 10" ], "author": "Gradido-Akademie - https://www.gradido.net/", "license": "Apache-2.0", "description": "Gradido, the Natural Economy of Life, is a way to worldwide prosperity and peace in harmony with nature. - Gradido, die Natürliche Ökonomie des lebens, ist ein Weg zu weltweitem Wohlstand und Frieden in Harmonie mit der Natur.", "nodemonConfig": { "ignore": [ "**/*.spec.js" ] }, "resolutions": { "strip-ansi": "6.0.1", "string-width": "4.2.2", "wrap-ansi": "7.0.0" }, "engines": { "node": ">=18" } }