{
    "name": "mainsail",
    "version": "2.19.0",
    "private": true,
    "type": "module",
    "decription": "a klipper web interface",
    "author": {
        "name": "Stefan Dej"
    },
    "scripts": {
        "serve": "vite serve",
        "build": "vite build && npm run build.zip",
        "build:grammars": "node scripts/build-grammars.mjs",
        "format": "npm run format:base -- --write",
        "format:base": "prettier .",
        "format:check": "npm run format:base -- --check",
        "lint": "eslint src",
        "lint:fix": "npm run lint -- --fix",
        "build.zip": "cd ./dist && zip -r mainsail.zip ./ -x '**.DS_Store' ./ && cd ..",
        "i18n-extract": "node ./scripts/i18n-extract.js",
        "preview": "vite preview",
        "start": "vite build && vite preview",
        "test": "start-server-and-test preview http://127.0.0.1:4173/ 'cypress run'",
        "test:ui": "cypress open",
        "test:unit": "vitest run",
        "changelog": "git cliff v0.0.4..$(git describe --tags $(git rev-list --tags --max-count=1)) --output CHANGELOG.md"
    },
    "dependencies": {
        "@codemirror/commands": "^6.0.1",
        "@codemirror/lang-css": "^6.0.0",
        "@codemirror/lang-json": "^6.0.0",
        "@codemirror/lang-yaml": "^6.1.3",
        "@codemirror/language": "^6.2.0",
        "@codemirror/legacy-modes": "^6.1.0",
        "@codemirror/search": "^6.0.0",
        "@codemirror/state": "^6.1.0",
        "@codemirror/view": "^6.0.3",
        "@jaames/iro": "^5.5.2",
        "@lezer/highlight": "^1.0.0",
        "@sindarius/gcodeviewer": "^3.7.18",
        "@uiw/codemirror-theme-vscode": "^4.23.13",
        "axios": "^1.16.0",
        "codemirror": "^6.0.1",
        "core-js": "^3.16.0",
        "detect-browser": "^5.3.0",
        "dompurify": "^3.4.13",
        "echarts": "^5.5.0",
        "echarts-gl": "^2.0.8",
        "hls.js": "^1.3.3",
        "jmuxer": "^2.0.5",
        "js-sha256": "^0.11.1",
        "lodash.kebabcase": "^4.1.1",
        "lodash.throttle": "^4.1.1",
        "overlayscrollbars": "^1.13.1",
        "overlayscrollbars-vue": "^0.2.2",
        "regenerator-runtime": "^0.14.0",
        "resize-observer-polyfill": "^1.5.1",
        "semver": "^7.5.2",
        "typed_janus_js": "^1.0.14",
        "uuid": "^14.0.0",
        "vue": "^2.7.10",
        "vue-class-component": "^7.2.6",
        "vue-echarts": "^6.0.2",
        "vue-i18n": "^8.28.2",
        "vue-inline-svg": "^2.1.3",
        "vue-load-image": "^0.2.0",
        "vue-observe-visibility": "^1.0.0",
        "vue-property-decorator": "^9.1.2",
        "vue-toast-notification": "^1.0.1",
        "vuedraggable": "^2.24.3",
        "vuetify": "^2.7.2",
        "vuex": "^3.6.2"
    },
    "devDependencies": {
        "@eslint/js": "^10.0.1",
        "@lezer/generator": "^1.8.0",
        "@mdi/js": "^7.0.0",
        "@pedrolamas/plugin-vue2": "^2.4.1",
        "@types/file-saver": "^2.0.5",
        "@types/jmuxer": "^2.0.3",
        "@types/lodash.kebabcase": "^4.1.6",
        "@types/lodash.throttle": "^4.1.6",
        "@types/node": "^20.19.0",
        "@types/overlayscrollbars": "^1.12.1",
        "@types/semver": "^7.3.8",
        "@vue/eslint-config-typescript": "^14.0.0",
        "autoprefixer": "^10.4.2",
        "cypress": "^15.15.0",
        "eslint": "^10.0.0",
        "eslint-config-prettier": "^10.0.0",
        "eslint-plugin-jsonc": "^3.2.0",
        "eslint-plugin-vue": "^10.0.0",
        "events": "^3.3.0",
        "globals": "^17.7.0",
        "postcss": "^8.5.23",
        "postcss-nesting": "^14.0.0",
        "prettier": "^3.3.3",
        "prettier-plugin-sort-json": "^4.0.0",
        "sass": "^1.97.2",
        "start-server-and-test": "^3.0.11",
        "stream-browserify": "^3.0.0",
        "typescript": "^6.0.3",
        "unplugin-vue-components": "^0.22.12",
        "vite": "^8.1.2",
        "vite-plugin-checker": "^0.14.4",
        "vite-plugin-package-version": "^1.1.0",
        "vite-plugin-pwa": "^1.3.0",
        "vitest": "^4.0.0",
        "vue-debounce-decorator": "^1.0.1",
        "vue-i18n-extract": "^2.0.7",
        "vue-router": "^3.5.2",
        "vue-template-compiler": "^2.7.16",
        "workbox-core": "^7.0.0"
    },
    "postcss": {
        "plugins": {
            "autoprefixer": {}
        }
    },
    "browserslist": [
        "> 1%",
        "not dead",
        "not op_mini all",
        "last 10 chrome major versions",
        "last 5 firefox major versions",
        "safari 12",
        "last 2 opera major versions",
        "last 2 edge major versions"
    ],
    "engines": {
        "node": "^20.19.0 || >=22.12.0"
    },
    "overrides": {
        "minimatch@>=9.0.0 <9.0.7": "~9.0.7",
        "brace-expansion@<1.1.17": "~1.1.17",
        "brace-expansion@>=2.0.0 <2.1.3": "~2.1.3",
        "brace-expansion@>=4.0.0 <5.0.8": "^5.0.8",
        "typed_janus_js": {
            "lodash": ">=4.17.23"
        }
    }
}
