{
  "name": "openhab",
  "version": "3.0.0",
  "description": "openHAB",
  "repository": "https://github.com/openhab/openhab-webui",
  "license": "EPL-2.0",
  "framework7": {
    "type": [
      "cordova",
      "web",
      "pwa"
    ],
    "name": "openHAB",
    "pkg": "org.openhab.ui",
    "platforms": [
      "ios",
      "android"
    ],
    "framework": "vue",
    "template": "split-view",
    "cssPreProcessor": "stylus",
    "customColor": true,
    "color": "ff7700",
    "bundler": "webpack",
    "cordova": {
      "folder": "cordova",
      "platforms": [
        "ios",
        "android"
      ],
      "plugins": [
        "cordova-plugin-statusbar",
        "cordova-plugin-keyboard",
        "cordova-plugin-splashscreen",
        "cordova-plugin-wkwebview-engine"
      ]
    }
  },
  "scripts": {
    "build-prod": "cross-env NODE_ENV=production node ./build/build.js",
    "build-cordova-prod": "cross-env TARGET=cordova cross-env NODE_ENV=production node ./build/build.js && cd cordova && cordova build",
    "webpack-analyzer": "cross-env NODE_ENV=production cross-env WEBPACK_ANALYZER=1 node ./build/build.js",
    "webpack-analyzer-report": "cross-env NODE_ENV=production cross-env WEBPACK_ANALYZER=1 WEBPACK_ANALYZER_REPORT=1 node ./build/build.js",
    "webpack-analyzer-report-stats": "cross-env NODE_ENV=production cross-env WEBPACK_ANALYZER=1 WEBPACK_ANALYZER_REPORT=1 WEBPACK_ANALYZER_REPORT_STATS=1 node ./build/build.js",
    "dev": "cross-env NODE_ENV=development webpack-dev-server --config ./build/webpack.config.js",
    "start": "npm run dev",
    "lint": "npx eslint --ext js --ext vue src",
    "lint:fix": "npx eslint --fix --ext js --ext vue src",
    "test:unit": "npx jest",
    "test:unit:watch": "npx jest --watch",
    "test:e2e": "npx cypress run",
    "test:e2e:gui": "npx cypress open"
  },
  "browserslist": [
    "Android >= 5",
    "IOS >= 9.3",
    "Edge >= 15",
    "Safari >= 9.1",
    "Chrome >= 49",
    "Firefox >= 31",
    "Samsung >= 5"
  ],
  "dependencies": {
    "@blockly/field-slider": "^2.1.10",
    "@blockly/zoom-to-fit": "^2.0.24",
    "@jsep-plugin/arrow": "^1.0.5",
    "@jsep-plugin/object": "^1.2.1",
    "@jsep-plugin/regex": "^1.0.3",
    "@jsep-plugin/template": "^1.0.2",
    "blockly": "^6.20210701.0",
    "cronstrue": "^1.100.0",
    "dayjs": "^1.9.6",
    "dom7": "^2.1.5",
    "echarts": "^5.1.2",
    "event-source-polyfill": "^1.0.22",
    "fast-deep-equal": "^3.1.3",
    "framework7": "^5.7.12",
    "framework7-icons": "^3.0.1",
    "framework7-vue": "^5.7.12",
    "jse-eval": "^1.5.1",
    "jssip": "^3.9.1",
    "leaflet": "^1.7.1",
    "leaflet-providers": "^1.11.0",
    "lodash": "^4.17.20",
    "moo": "^0.5.1",
    "nearley": "^2.19.6",
    "pkce-challenge": "^2.1.0",
    "qrcode": "^1.0.0",
    "scope-css": "^1.2.1",
    "sprintf-js": "^1.1.2",
    "template7": "^1.4.2",
    "tern": "^0.23.0",
    "v-clipboard": "^2.2.3",
    "video.js": "^7.10.2",
    "vue": "^2.6.12",
    "vue-async-computed": "^3.9.0",
    "vue-codemirror": "^4.0.6",
    "vue-draggable-resizable": "^2.3.0",
    "vue-echarts": "^4.1.0",
    "vue-fragment": "^1.5.1",
    "vue-fullscreen": "^2.2.0",
    "vue-grid-layout": "^2.3.12",
    "vue-i18n": "^8.22.2",
    "vue-knob-control": "^1.6.0",
    "vue-magic-grid": "0.0.4",
    "vue-qrcode": "^0.3.5",
    "vue2-leaflet": "^2.5.2",
    "vuetrend": "^0.3.4",
    "vuex": "^3.5.1",
    "yaml": "^1.10.0"
  },
  "devDependencies": {
    "@babel/core": "^7.11.6",
    "@babel/eslint-parser": "^7.12.13",
    "@babel/eslint-plugin": "^7.12.13",
    "@babel/plugin-syntax-dynamic-import": "^7.8.3",
    "@babel/plugin-syntax-jsx": "^7.10.4",
    "@babel/plugin-transform-modules-commonjs": "^7.10.4",
    "@babel/plugin-transform-runtime": "^7.11.5",
    "@babel/preset-env": "^7.11.5",
    "@babel/runtime": "^7.11.2",
    "@iconify/vue2": "^1.0.0",
    "@relative-ci/agent": "^1.5.0",
    "@types/jest": "^24.9.1",
    "@vue/eslint-config-standard": "^6.0.0",
    "@vue/test-utils": "^1.0.5",
    "babel-core": "7.0.0-bridge.0",
    "babel-helper-vue-jsx-merge-props": "^2.0.3",
    "babel-jest": "^24.9.0",
    "babel-loader": "^8.1.0",
    "babel-plugin-dynamic-import-node-babel-7": "^2.0.7",
    "babel-plugin-transform-vue-jsx": "^4.0.1",
    "chalk": "^2.4.2",
    "chokidar": "^3.5.3",
    "compression-webpack-plugin": "^6.0.3",
    "copy-webpack-plugin": "^4.6.0",
    "cross-env": "^5.2.1",
    "css-loader": "^2.1.1",
    "cypress": "^3.8.3",
    "diacritic": "0.0.2",
    "eslint": "^7.19.0",
    "eslint-plugin-cypress": "^2.11.2",
    "eslint-plugin-import": "^2.22.1",
    "eslint-plugin-node": "^11.1.0",
    "eslint-plugin-vue": "^7.5.0",
    "eslint-webpack-plugin": "^2.5.0",
    "file-loader": "^3.0.1",
    "global-prefix": "^3.0.0",
    "html-webpack-plugin": "^3.2.0",
    "jest": "^24.9.0",
    "jest-serializer-vue": "^2.0.2",
    "jest-transform-nearley": "^2.0.0",
    "jest-transform-stub": "^2.0.0",
    "jest-vue-preprocessor": "^1.7.1",
    "marked": "^3.0.2",
    "mini-css-extract-plugin": "^0.5.0",
    "nearley-loader": "^2.0.0",
    "optimize-css-assets-webpack-plugin": "^5.0.4",
    "ora": "^3.4.0",
    "postcss-loader": "^3.0.0",
    "postcss-preset-env": "^6.7.0",
    "resolve-dir": "^1.0.1",
    "rimraf": "^2.7.1",
    "source-map-loader": "^1.1.3",
    "standard": "^12.0.1",
    "strip-ansi": "=3.0.1",
    "style-loader": "^0.23.1",
    "stylus": "^0.54.8",
    "stylus-loader": "^3.0.2",
    "swagger-ui-dist": "^4.1.3",
    "uglifyjs-webpack-plugin": "^2.2.0",
    "url-loader": "^1.1.2",
    "vue-jest": "^3.0.7",
    "vue-loader": "^15.9.3",
    "vue-masonry-css": "^1.0.3",
    "vue-style-loader": "^4.1.2",
    "vue-template-compiler": "^2.6.12",
    "webpack": "^4.46.0",
    "webpack-bundle-analyzer": "^4.6.1",
    "webpack-cli": "^3.3.12",
    "webpack-dev-server": "^3.11.0",
    "webpack-stats-plugin": "^0.2.1",
    "workbox-webpack-plugin": "^3.6.3"
  }
}
