{ "name": "treetrail-frontend", "version": "0.0.0", "scripts": { "ng": "ng", "start": "ng serve --proxy-config proxy.conf.json --port 4201 --serve-path /treetrail", "build": "ng build", "watch": "ng build --watch --configuration development", "test": "ng test", "openapi-ts": "openapi-ts", "version": "echo \"{\\\"version\\\":\\\"$(git describe --tags --dirty --always)\\\"}\" > src/version.json" }, "dependencies": { "@angular/animations": "^18.2.6", "@angular/cdk": "^18.2.6", "@angular/common": "^18.2.6", "@angular/compiler": "^18.2.6", "@angular/core": "^18.2.6", "@angular/forms": "^18.2.6", "@angular/material": "18.2.6", "@angular/platform-browser": "^18.2.6", "@angular/platform-browser-dynamic": "^18.2.6", "@angular/pwa": "^18.2.6", "@angular/router": "^18.2.6", "@angular/service-worker": "^18.2.6", "@mapbox/point-geometry": "^0.1.0", "@maplibre/ngx-maplibre-gl": "^17.4.3", "@ng-web-apis/common": "^3.0.6", "@ng-web-apis/geolocation": "3.0.6", "@turf/bbox": "^6.5.0", "@turf/bearing": "^6.5.0", "@turf/distance": "^6.5.0", "@turf/length": "^6.5.0", "@turf/nearest-point": "^6.5.0", "js-untar": "^2.0.0", "maplibre-gl": "^4.3.2", "motion-sensors-polyfill": "^0.3.7", "ngx-image-compress": "^15.1.6", "ngx-indexed-db": "^17.1.0", "rxjs": "~7.8.1", "tslib": "^2.6.2", "uuid": "^9.0.1", "zone.js": "^0.14.10" }, "devDependencies": { "@angular-devkit/build-angular": "^18.2.6", "@angular/cli": "^18.2.6", "@angular/compiler-cli": "^18.2.6", "@hey-api/openapi-ts": "^0.45.1", "@types/geojson": "^7946.0.14", "@types/jasmine": "~5.1.4", "@types/motion-sensors-polyfill": "^0.3.4", "@types/node": "^20.12.7", "@types/uuid": "^9.0.8", "fontnik": "^0.7.2", "jasmine-core": "~5.1.2", "karma": "~6.4.3", "karma-chrome-launcher": "~3.2.0", "karma-coverage": "~2.2.1", "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "^2.1.0", "typescript": "~5.4.5" }, "packageManager": "pnpm@9.12.2", "publishConfig": { "registry": "http://code.philo.ydns.eu/api/packages/philorg/npm/" } }