{
    "name": "qwc2",
    "version": "2026.04.13",
    "description": "QGIS Web Client",
    "author": "Sourcepole AG",
    "license": "BSD-2-Clause",
    "repository": "git+ssh://git@github.com/qgis/qwc2.git",
    "homepage": "https://https://qwc-services.github.io/",
    "bugs": {
        "url": "https://github.com/qgis/qwc2/issues"
    },
    "keywords": [
        "qgis",
        "webgis",
        "mapping",
        "geospatial"
    ],
    "dependencies": {
        "@furkot/webfonts-generator": "^2.0.3",
        "@giro3d/giro3d": "^2.0.0",
        "@kayahr/text-encoding": "^2.1.0",
        "@loaders.gl/core": "^4.3.4",
        "@loaders.gl/shapefile": "^4.3.4",
        "@loaders.gl/zip": "^4.3.4",
        "@mapbox/shp-write": "^0.4.3",
        "@norbulcz/num-parse": "^0.1.0",
        "@panoramax/web-viewer": "^4.3.1",
        "@reduxjs/toolkit": "^2.11.2",
        "@turf/buffer": "^7.3.3",
        "@turf/clean-coords": "^7.3.3",
        "@turf/helpers": "^7.3.3",
        "@turf/intersect": "^7.3.3",
        "@vtaits/react-color-picker": "^2.0.0",
        "any-date-parser": "^1.5.4",
        "axios": "^1.15.0",
        "buffer": "^6.0.3",
        "chart.js": "^4.5.1",
        "chartjs-adapter-dayjs-4": "^1.0.4",
        "chartjs-plugin-annotation": "^3.1.0",
        "classnames": "^2.5.1",
        "clone": "^2.1.2",
        "colormap": "^2.3.2",
        "dayjs": "^1.11.19",
        "deepmerge": "^4.3.1",
        "diacritics": "^1.3.0",
        "dompurify": "^3.3.1",
        "driver.js": "^1.4.0",
        "expr-eval": "^2.0.2",
        "fast-xml-parser": "^5.3.4",
        "file-saver": "^2.0.5",
        "flat": "^6.0.1",
        "formdata-json": "^1.0.0",
        "geojson-bounding-box": "^0.2.0",
        "html-react-parser": "^5.2.17",
        "ismobilejs": "^1.1.1",
        "js-yaml": "^4.1.1",
        "jszip": "^3.10.1",
        "lodash.isempty": "^4.4.0",
        "lodash.isequal": "^4.5.0",
        "mime-to-extensions": "^1.0.2",
        "mkdirp": "^3.0.1",
        "mousetrap": "^1.6.5",
        "nearley": "^2.20.1",
        "object-path": "^0.11.8",
        "ol": "^10.8.0",
        "ol-ext": "^4.0.37",
        "ol-mapbox-style": "^13.2.0",
        "painterro": "^1.2.92",
        "parse-css-color": "^0.2.1",
        "path-browserify": "^1.0.1",
        "pca-js": "^2.0.6",
        "pdf-lib": "^1.17.1",
        "pdfjs-dist": "^5.4.624",
        "point-in-polygon": "^1.1.0",
        "polygon-intersect-test": "^1.0.1",
        "proj4": "^2.20.2",
        "prop-types": "^15.8.1",
        "qrcode.react": "^4.2.0",
        "randomcolor": "^0.6.2",
        "react": "^19.2.4",
        "react-chartjs-2": "^5.3.1",
        "react-dom": "^19.2.4",
        "react-google-recaptcha": "^3.1.0",
        "react-redux": "^9.2.0",
        "react-reverse-portal": "^2.3.0",
        "react-rnd": "^10.5.2",
        "react-share": "^5.2.2",
        "react-sortablejs": "^1.5.1",
        "react-swipeable": "^7.0.2",
        "redux-logger": "^3.0.6",
        "reselect": "^5.1.1",
        "robust-orientation": "^1.2.1",
        "simplepolygon": "^2.0.4",
        "sortablejs": "^1.15.6",
        "suncalc": "^1.9.0",
        "svgpath": "^2.6.0",
        "three": "^0.180.0",
        "three-csg-ts": "^3.2.0",
        "three-mesh-bvh": "^0.9.9",
        "three.meshline": "^1.4.0",
        "toposort": "^2.0.2",
        "url": "^0.11.4",
        "utif": "^3.1.0",
        "uuid": "^13.0.0",
        "xlsx": "^0.18.5"
    },
    "devDependencies": {
        "@babel/cli": "^7.28.6",
        "@babel/core": "^7.29.0",
        "@babel/eslint-parser": "^7.28.6",
        "@babel/plugin-transform-class-properties": "^7.28.6",
        "@babel/plugin-transform-object-rest-spread": "^7.28.6",
        "@babel/preset-env": "^7.29.0",
        "@babel/preset-react": "^7.28.5",
        "@microsoft/eslint-formatter-sarif": "^3.1.0",
        "@types/react": "^19.2.13",
        "@types/three": "^0.180.0",
        "babel-loader": "^10.0.0",
        "babel-plugin-transform-react-remove-prop-types": "^0.4.24",
        "copy-webpack-plugin": "^13.0.1",
        "css-loader": "^7.1.3",
        "eslint": "^9.39.2",
        "eslint-plugin-perfectionist": "^5.5.0",
        "eslint-plugin-react": "^7.37.5",
        "html-webpack-plugin": "^5.6.6",
        "react-docgen": "^8.0.2",
        "source-map-loader": "^5.0.0",
        "style-loader": "^4.0.0",
        "typescript": "^5.9.3",
        "webpack": "^5.105.0",
        "webpack-bundle-analyzer": "^5.2.0",
        "webpack-cli": "^6.0.1",
        "webpack-dev-server": "^5.2.3"
    },
    "bin": {
        "qwc_build_iconfont": "./scripts/makeIconkit.js",
        "qwc_gen_themesconfig": "./scripts/themesConfig.js",
        "qwc_update_translations": "./scripts/updateTranslations.js"
    },
    "scripts": {
        "prod": "npm run tsupdate && npm run themesconfig && npm run iconfont && webpack --mode production --progress",
        "start": "npm run tsupdate && npm run themesconfig && npm run iconfont && webpack serve --mode development --progress --host 0.0.0.0 --port 8081",
        "iconfont": "node scripts/makeIconkit.js",
        "themesconfig": "node scripts/themesConfig.js || :",
        "tsupdate": "node scripts/updateTranslations.js",
        "plugindoc": "node scripts/gen-plugin-docs.js",
        "dist": "./scripts/dist.sh",
        "build": "npm run prod",
        "analyze": "webpack --mode production --progress --env ANALYZE=1",
        "release": "node -e \"process.exit(require('os').platform() === 'win32' ? 0 : 1)\" && scripts\\package-commands.bat release || ./scripts/package-commands.sh release"
    }
}
