{
  "name": "thingsboard",
  "version": "4.4.0",
  "scripts": {
    "ng": "ng",
    "start": "node --max_old_space_size=8048 ./node_modules/@angular/cli/bin/ng serve --configuration development --host 0.0.0.0 --open",
    "build": "ng build",
    "build:prod": "node --max_old_space_size=4096 ./node_modules/@angular/cli/bin/ng build --configuration production",
    "build:types": "node generate-types.js",
    "build:icon-metadata": "node generate-icon-metadata.js",
    "lint": "ng lint",
    "prepare": "patch-package"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "20.3.19",
    "@angular/cdk": "20.2.14",
    "@angular/common": "20.3.19",
    "@angular/compiler": "20.3.19",
    "@angular/core": "20.3.19",
    "@angular/forms": "20.3.19",
    "@angular/material": "20.2.14",
    "@angular/platform-browser": "20.3.19",
    "@angular/platform-browser-dynamic": "20.3.19",
    "@angular/router": "20.3.19",
    "@auth0/angular-jwt": "^5.2.0",
    "@flowjs/flow.js": "^2.14.1",
    "@flowjs/ngx-flow": "20.0.2",
    "@geoman-io/leaflet-geoman-free": "2.19.3",
    "@iplab/ngx-color-picker": "^20.0.0",
    "@mat-datetimepicker/core": "~16.0.1",
    "@mdi/svg": "^7.4.47",
    "@messageformat/core": "^3.4.0",
    "@ngrx/effects": "^20.1.0",
    "@ngrx/store": "^20.1.0",
    "@ngrx/store-devtools": "^20.1.0",
    "@ngx-translate/core": "^17.0.0",
    "@svgdotjs/svg.filter.js": "^3.0.9",
    "@svgdotjs/svg.js": "3.2.4",
    "@svgdotjs/svg.panzoom.js": "^2.1.2",
    "@tinymce/tinymce-angular": "^8.0.1",
    "ace-builds": "1.43.6",
    "ace-diff": "^3.3.0",
    "angular-gridster2": "~20.2.4",
    "angular2-hotkeys": "^16.0.1",
    "canvas-gauges": "^2.1.7",
    "core-js": "^3.48.0",
    "dayjs": "1.11.20",
    "echarts": "https://github.com/thingsboard/echarts/archive/5.5.2-TB.tar.gz",
    "flot": "https://github.com/thingsboard/flot.git#0.9-work",
    "flot.curvedlines": "https://github.com/MichaelZinsmaier/CurvedLines.git#master",
    "font-awesome": "^4.7.0",
    "html2canvas": "^1.4.1",
    "jquery": "^3.7.1",
    "jquery.terminal": "^2.45.2",
    "js-beautify": "1.15.4",
    "json-schema-defaults": "^0.4.0",
    "jstree": "^3.3.17",
    "jstree-bootstrap-theme": "^1.0.1",
    "jszip": "^3.10.1",
    "leaflet": "1.9.4",
    "leaflet-polylinedecorator": "1.6.0",
    "leaflet-providers": "2.0.0",
    "leaflet.gridlayer.googlemutant": "0.15.0",
    "leaflet.markercluster": "1.5.3",
    "libphonenumber-js": "^1.12.35",
    "maplibre-gl": "5.2.0",
    "marked": "~16.4.2",
    "moment": "^2.30.1",
    "moment-timezone": "^0.6.0",
    "ngx-clipboard": "^16.0.0",
    "ngx-daterangepicker-material": "^6.0.4",
    "ngx-drag-drop": "^20.0.1",
    "ngx-flowchart": "https://github.com/thingsboard/ngx-flowchart.git#release/4.1.0",
    "ngx-hm-carousel": "^19.0.0",
    "ngx-markdown": "^20.1.0",
    "ngx-sharebuttons": "^17.0.0",
    "ngx-translate-messageformat-compiler": "^7.2.0",
    "objectpath": "^2.0.0",
    "qrcode": "^1.5.4",
    "raphael": "^2.3.0",
    "rxjs": "~7.8.2",
    "schema-inspector": "^2.1.0",
    "screenfull": "^6.0.2",
    "sorted-btree": "^1.8.1",
    "split.js": "^1.6.5",
    "systemjs": "6.15.1",
    "tinycolor2": "^1.6.0",
    "tinymce": "~6.8.6",
    "tooltipster": "^4.2.8",
    "tslib": "^2.8.1",
    "typeface-roboto": "^1.1.13",
    "zone.js": "~0.15.1"
  },
  "devDependencies": {
    "@angular-builders/custom-esbuild": "20.0.0",
    "@angular-devkit/build-angular": "20.3.24",
    "@angular-devkit/core": "20.3.24",
    "@angular-devkit/schematics": "20.3.24",
    "@angular/build": "20.3.24",
    "@angular/cli": "20.3.24",
    "@angular/compiler-cli": "20.3.19",
    "@angular/language-service": "20.3.19",
    "@types/ace-diff": "^2.1.4",
    "@types/canvas-gauges": "^2.1.8",
    "@types/flot": "^0.0.36",
    "@types/flowjs": "^2.13.14",
    "@types/jquery": "^3.5.33",
    "@types/js-beautify": "^1.14.3",
    "@types/leaflet": "1.9.14",
    "@types/leaflet-polylinedecorator": "1.6.4",
    "@types/leaflet-providers": "1.2.4",
    "@types/leaflet.gridlayer.googlemutant": "0.4.9",
    "@types/leaflet.markercluster": "1.5.5",
    "@types/lodash": "^4.17.22",
    "@types/node": "~22.18.13",
    "@types/raphael": "^2.3.9",
    "@types/systemjs": "6.15.3",
    "@types/tinycolor2": "^1.4.6",
    "@types/tooltipster": "^0.0.35",
    "angular-eslint": "~20.7.0",
    "autoprefixer": "^10.4.23",
    "directory-tree": "^3.5.2",
    "eslint": "9.39.4",
    "eslint-plugin-import": "^2.32.0",
    "eslint-plugin-jsdoc": "^62.4.1",
    "eslint-plugin-prefer-arrow": "^1.2.3",
    "eslint-plugin-tailwindcss": "^3.18.2",
    "ngrx-store-freeze": "^0.2.4",
    "patch-package": "^8.0.1",
    "postcss": "^8.5.6",
    "postinstall-prepare": "^2.0.0",
    "tailwindcss": "^3.4.19",
    "ts-node": "^10.9.2",
    "typescript": "~5.9.3",
    "typescript-eslint": "^8.54.0"
  },
  "resolutions": {
    "ace-builds": "1.43.6",
    "tinymce": "6.8.6",
    "@babel/core": "7.28.3",
    "esbuild": "0.28.0",
    "rollup": "4.59.0",
    "jquery.terminal/**/form-data": ">=4.0.4",
    "js-beautify/**/minimatch": "^9.0.7"
  }
}
