{ "name": "lina", "version": "v4.0.0", "description": "JumpServer Web UI", "author": "JumpServer Team ", "license": "GPL-3.0-or-later", "scripts": { "dev": "NODE_OPTIONS='--openssl-legacy-provider' vue-cli-service serve", "serve": "NODE_OPTIONS=--openssl-legacy-provider vue-cli-service serve", "build": "NODE_OPTIONS=--openssl-legacy-provider vue-cli-service build", "build:prod": "vue-cli-service build", "build:stage": "vue-cli-service build --mode staging", "preview": "node build/index.js --preview", "lint": "eslint --ext .js,.vue src", "fix": "eslint --ext .js,.vue --fix src", "test:unit": "jest --clearCache && vue-cli-service test:unit", "test:ci": "npm run lint && npm run test:unit", "svgo": "svgo -f src/icons/svg --config=src/icas/svgo.yml", "vue-i18n-extract": "vue-i18n-extract", "vue-i18n-report": "vue-i18n-extract report -v './src/**/*.?(js|vue)' -l './src/i18n/langs/**/*.json'", "vue-i18n-report-json": "vue-i18n-extract report -v './src/**/*.?(js|vue)' -l './src/i18n/langs/**/*.json' -o /tmp/abc.json", "vue-i18n-report-add-miss": "vue-i18n-extract report -v './src/**/*.?(js|vue)' -l './src/i18n/langs/**/*.json' -a", "diff-i18n": "python ./src/i18n/langs/i18n-util.py diff en ja zh_Hant", "apply-i18n": "python ./src/i18n/langs/i18n-util.py apply en ja zh_Hant", "prepare": "husky install || true" }, "dependencies": { "@babel/plugin-proposal-optional-chaining": "^7.13.12", "@fontsource/open-sans": "^5.2.7", "@kangc/v-md-editor": "^1.7.12", "@traptitech/markdown-it-katex": "^3.6.0", "@vue/compat": "^3.4.27", "@ztree/ztree_v3": "3.5.48", "axios": "^1.7.9", "axios-retry": "^4.5.0", "babel-loader": "^10.0.0", "babel-runtime": "^6.26.0", "caniuse-lite": "^1.0.30001642", "core-js": "^3.47.0", "cron-parser": "^4.9.0", "crypto-js": "^4.2.0", "css-color-function": "^1.3.3", "decimal.js": "^10.6.0", "deepmerge": "^4.3.1", "dompurify": "^3.3.1", "echarts": "^5.5.0", "element-plus": "^2.8.4", "eslint-plugin-html": "^6.0.0", "highlight.js": "^11.11.1", "install": "^0.13.0", "jquery": "^3.7.1", "js-cookie": "^3.0.5", "jsencrypt": "^3.5.4", "less": "^3.10.3", "lodash": "^4.17.21", "markdown-it": "^13.0.2", "markdown-it-link-attributes": "^4.0.1", "mitt": "^3.0.1", "moment": "^2.30.1", "moment-parseformat": "^4.0.0", "normalize.css": "^8.0.1", "nprogress": "^0.2.0", "path-browserify": "^1.0.1", "path-to-regexp": "3.3.0", "socket.io-client": "^4.8.2", "sortablejs": "^1.15.6", "uuid": "^10.0.0", "v-sanitize": "^0.0.14", "vue": "^3.4.27", "vue-codemirror": "4.0.6", "vue-cookie-next": "^1.0.0", "vue-echarts": "^8.0.1", "vue-i18n": "^9.9.0", "vue-json-editor": "^1.4.3", "vue-markdown": "^2.2.4", "vue-password-strength-meter": "^1.7.2", "vue-router": "^4.3.0", "vue-select": "^3.20.4", "vuejs-logger": "^1.5.4", "vuex": "^4.1.0", "watermark-js-plus": "^1.6.3", "xss": "^1.0.15", "xterm": "^4.5.0", "xterm-addon-fit": "^0.3.0", "zxcvbn": "^4.4.2" }, "devDependencies": { "@babel/core": "^7.28.5", "@babel/eslint-parser": "^7.24.7", "@babel/register": "^7.28.3", "@vue/babel-plugin-jsx": "^1.2.2", "@vue/cli-plugin-babel": "^5.0.8", "@vue/cli-plugin-eslint": "^5.0.8", "@vue/cli-plugin-unit-jest": "^5.0.8", "@vue/cli-service": "^5.0.8", "@vue/compiler-sfc": "^3.4.27", "@vue/test-utils": "^2.4.2", "@vue/vue3-jest": "^29.2.4", "autoprefixer": "^10.4.20", "babel-jest": "^30.2.0", "balanced-match": "^3.0.1", "chalk": "^5.6.2", "color-name": "^2.1.0", "compression-webpack-plugin": "^11.1.0", "connect": "^3.7.0", "deasync": "^0.1.31", "entities": "^7.0.0", "eslint": "^8.57.1", "eslint-config-prettier": "^9.1.2", "eslint-plugin-prettier": "^5.2.1", "eslint-plugin-spellcheck": "^0.0.20", "eslint-plugin-vue": "^9.33.0", "eslint-plugin-vue-i18n": "^0.3.0", "github-markdown-css": "^5.8.1", "html-webpack-plugin": "^5.5.3", "husky": "^9.1.7", "less-loader": "^11.1.4", "lint-staged": "^16.2.7", "mockjs": "^1.1.0", "prettier": "^3.7.4", "pretty-bytes": "^7.1.0", "runjs": "^4.4.1", "sass": "^1.83.0", "sass-loader": "^16.0.6", "script-loader": "0.7.2", "semver": "^7.7.3", "serve-static": "^1.16.3", "strip-ansi": "^7.1.2", "svg-sprite-loader": "^6.0.11", "svgo": "^4.0.0", "vue-eslint-parser": "^10.2.0", "vue-i18n-extract": "^2.0.7", "vue-loader": "^17.0.0", "webpack": "^5.104.1" }, "engines": { "node": ">=16", "npm": ">= 3.0.0" }, "browserslist": [ "> 1%", "last 4 versions", "not ie <= 11" ], "lint-staged": { "src/**/*.{js,vue}": [ "eslint --fix" ] } }