dashy/package.json
2026-03-08 22:20:23 +00:00

149 lines
4.1 KiB
JSON

{
"name": "dashy",
"version": "3.1.2",
"license": "MIT",
"main": "server",
"author": "Alicia Sykes <alicia@omg.lol> (https://aliciasykes.com)",
"scripts": {
"start": "node server",
"dev": "NODE_OPTIONS=--openssl-legacy-provider vue-cli-service serve",
"build": "NODE_OPTIONS=--openssl-legacy-provider vue-cli-service build",
"lint": "vue-cli-service lint",
"test": "vitest run",
"test:watch": "vitest",
"test:ui": "vitest --ui",
"test:coverage": "vitest run --coverage",
"pm2-start": "npx pm2 start server.js",
"build-watch": "vue-cli-service build --watch --mode production",
"build-and-start": "NODE_OPTIONS=--openssl-legacy-provider npm-run-all --parallel build start",
"validate-config": "node services/config-validator",
"health-check": "node services/healthcheck",
"dependency-audit": "npx improved-yarn-audit --ignore-dev-deps"
},
"dependencies": {
"@babel/core": "^7.26.0",
"@formschema/native": "^2.0.0-beta.6",
"@sentry/tracing": "^7.102.1",
"@sentry/vue": "^7.102.1",
"ajv": "^8.10.0",
"axios": "^1.12.0",
"connect-history-api-fallback": "^1.6.0",
"crypto-js": "^4.2.0",
"dompurify": "^3.0.8",
"express": "^4.21.0",
"express-basic-auth": "^1.2.1",
"frappe-charts": "^1.6.2",
"js-yaml": "^4.1.0",
"keycloak-js": "^20.0.3",
"oidc-client-ts": "^3.0.1",
"register-service-worker": "^1.7.2",
"remedial": "^1.0.8",
"rss-parser": "3.13.0",
"rsup-progress": "^3.2.0",
"simple-icons": "^14.4.0",
"v-jsoneditor": "^1.4.5",
"v-tooltip": "^2.1.3",
"vue": "^2.7.0",
"vue-i18n": "^8.27.2",
"vue-js-modal": "^2.0.1",
"vue-json-tree-view": "^2.1.6",
"vue-material-tabs": "0.1.5",
"vue-router": "^3.5.3",
"vue-select": "^3.20.2",
"vue-swatches": "^2.1.1",
"vue-toasted": "^1.1.28",
"vuex": "^3.6.2"
},
"devDependencies": {
"@babel/preset-env": "^7.26.0",
"@vitest/ui": "^1.6.0",
"@vue/cli-plugin-babel": "^5.0.8",
"@vue/cli-plugin-eslint": "^5.0.8",
"@vue/cli-plugin-pwa": "^5.0.8",
"@vue/cli-plugin-typescript": "^5.0.8",
"@vue/cli-service": "^5.0.8",
"@babel/eslint-parser": "^7.25.0",
"@vue/eslint-config-standard": "^4.0.0",
"@vue/test-utils": "^1.3.6",
"copy-webpack-plugin": "6.4.0",
"eslint": "^7.32.0",
"eslint-config-airbnb": "^18.0.1",
"eslint-plugin-vue": "^7.9.0",
"happy-dom": "^17.4.0",
"npm-run-all": "^4.1.5",
"sass": "^1.77.0",
"sass-loader": "^12.0.0",
"typescript": "^5.4.4",
"vite-plugin-vue2": "^2.0.3",
"vitest": "^1.6.0",
"vue-cli-plugin-yaml": "^1.0.2",
"vue-svg-loader": "^0.16.0",
"vue-template-compiler": "^2.7.0"
},
"engines": {
"node": ">=16.0.0 <21.6.2"
},
"eslintConfig": {
"root": true,
"env": {
"node": true
},
"extends": [
"plugin:vue/essential",
"@vue/standard",
"airbnb-base"
],
"rules": {
"import/no-unresolved": "off",
"import/extensions": "off",
"arrow-parens": 0,
"no-else-return": 0
},
"parserOptions": {
"parser": "@babel/eslint-parser"
},
"overrides": [
{
"files": [
"tests/**",
"vitest.config.js"
],
"rules": {
"import/no-extraneous-dependencies": "off",
"no-undef": "off",
"global-require": "off",
"no-unused-vars": "off"
}
}
]
},
"babel": {
"presets": [
"@vue/cli-plugin-babel/preset",
"@babel/preset-env"
]
},
"postcss": {
"plugins": {
"autoprefixer": {}
}
},
"browserslist": [
"> 1%",
"last 2 versions"
],
"resolutions": {
"ejs": "^3.1.10",
"loader-utils": "^2.0.4",
"minimatch": "^3.1.2",
"braces": "^3.0.3",
"micromatch": "^4.0.8",
"serialize-javascript": "^6.0.2",
"node-forge": "^1.3.1",
"nth-check": "^2.1.1",
"ip": "^2.0.1",
"postcss": "^8.4.31",
"tar": "^6.2.1"
},
"packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
}