{
  "name": "mapcomplete",
  "version": "0.33.3",
  "repository": "https://github.com/pietervdvn/MapComplete",
  "description": "A small website to edit OSM easily",
  "bugs": "https://github.com/pietervdvn/MapComplete/issues",
  "homepage": "https://mapcomplete.org",
  "main": "index.ts",
  "type": "module",
  "config": {
    "#": "Various endpoints that are instance-specific",
    "#oauth_credentials:comment": [
      "`oauth_credentials` are the OAuth-2 credentials for the production-OSM server and the test-server.",
      "Are you deploying your own instance? Register your application too.",
      "See https://wiki.openstreetmap.org/wiki/OAuth#Registering_your_application_as_OAuth_2.0_consumer for instructions",
      "Use `https://<your domain name>/<path to mapcomplete>/land.html` as redirect URIs. You can add `http://127.0.0.1:1234/land.html` too for local development.",
      "Alternatively, you can override the `osm` credentials using the environment variables `VITE_OSM_OAUTH_CLIENT_ID` and `VITE_OSM_OAUTH_SECRET`"
    ],
    "oauth_credentials": {
      "osm_pietervdvn": {
        "#": "This client_id is registered by 'Pieter Vander Vennet' on OSM.org",
        "oauth_client_id": "sa1ngLJBJ8McmzHElN8NYtIDm5TZTYEYhq3-0snO4Qc",
        "oauth_secret": "XU_cD5Mvw9VKk9T0t_gO8V7cbRC4Hmw2Tb4Rv0Zmz-U",
        "url": "https://www.openstreetmap.org"
      },
      "osm": {
        "#": "This client-id is registered by 'MapComplete' on osm.org",
        "oauth_client_id": "K93H1d8ve7p-tVLE1ZwsQ4lAFLQk8INx5vfTLMu5DWk",
        "oauth_secret": "NBWGhWDrD3QDB35xtVuxv4aExnmIt4FA_WgeLtwxasg",
        "url": "https://www.openstreetmap.org"
      },
      "osm-test": {
        "oauth_client_id": "HwUn6GPxGm1m9WwMarxTglhy6dBTM4YkaV1I9h6pDGU",
        "oauth_secret": "luFZtPJg7j96K6WM6RpcZ_3M-r6muuDq6fG1ygk0I_4",
        "url": "https://master.apis.dev.openstreetmap.org"
      }
    },
    "api_keys": {
      "#": "Various API-keys for various services. Feel free to reuse those in another MapComplete-hosted version",
      "imgur": "7070e7167f0a25a",
      "mapillary_v4": "MLY|4441509239301885|b40ad2d3ea105435bd40c7e76993ae85"
    },
    "default_overpass_urls": [
      "https://overpass-api.de/api/interpreter",
      "https://overpass.kumi.systems/api/interpreter",
      "https://overpass.openstreetmap.ru/cgi/interpreter"
    ],
    "country_coder_host": "https://raw.githubusercontent.com/pietervdvn/MapComplete-data/main/latlon2country"
  },
  "scripts": {
    "start": "npm run generate:layeroverview && npm run strt",
    "strt": "vite --host",
    "strttest": "export NODE_OPTIONS=--max_old_space_size=8364 && parcel serve test.html assets/templates/*.svg assets/templates/fonts/*.ttf",
    "watch:css": "tailwindcss -i index.css -o public/css/index-tailwind-output.css --watch",
    "generate:css": "tailwindcss -i src/index.css -o public/css/index-tailwind-output.css",
    "generate:doctests": "doctest-ts-improved . --ignore .*.spec.ts --ignore .*ConfigJson.ts",
    "test:run-only": "vitest --run test",
    "test": " export NODE_OPTIONS=\"--max-old-space-size=8192\" && npm run clean:tests && (npm run generate:doctests 2>&1 | grep -v \"No doctests found in\") && npm run test:run-only && npm run clean:tests",
    "init": "npm ci && npm run generate && npm run generate:editor-layer-index && npm run generate:layouts && npm run clean && npm run weblate-add-upstream",
    "generate:editor-layer-index": "vite-node scripts/downloadEli.ts",
    "generate:polygon-features": "vite-node scripts/downloadFile.ts -- https://raw.githubusercontent.com/tyrasd/osm-polygon-features/master/polygon-features.json assets/polygon-features.json",
    "generate:images": "vite-node scripts/generateIncludedImages.ts",
    "generate:translations": "vite-node scripts/generateTranslations.ts",
    "reset:translations": "vite-node scripts/generateTranslations.ts -- --ignore-weblate",
    "generate:layouts": "vite-node scripts/generateLayouts.ts",
    "generate:docs": "rm -rf Docs/Themes/* && rm -rf Docs/Layers/* && rm -rf Docs/TagInfo && mkdir Docs/TagInfo && vite-node scripts/generateDocs.ts && vite-node scripts/generateTaginfoProjectFiles.ts",
    "generate:cache:speelplekken": "npm run generate:layeroverview && vite-node scripts/generateCache.ts -- speelplekken 14 ../MapComplete-data/speelplekken_cache/ 51.20 4.35 51.09 4.56",
    "generate:cache:natuurpunt": "npm run generate:layeroverview && vite-node scripts/generateCache.ts -- natuurpunt 12 ../MapComplete-data/natuurpunt_cache/ 50.40 2.1 51.54 6.4 --generate-point-overview nature_reserve,visitor_information_centre",
    "generate:layeroverview": "export NODE_OPTIONS=\"--max-old-space-size=8192\" && vite-node scripts/generateLayerOverview.ts",
    "generate:mapcomplete-changes-theme": "export NODE_OPTIONS=\"--max-old-space-size=8192\" && vite-node scripts/generateLayerOverview.ts -- --generate-change-map",
    "refresh:layeroverview": "export NODE_OPTIONS=\"--max-old-space-size=8192\" && vite-node scripts/generateLayerOverview.ts -- --force",
    "generate:licenses": "vite-node scripts/generateLicenseInfo.ts -- --no-fail",
    "query:licenses": "vite-node scripts/generateLicenseInfo.ts -- --query",
    "generate:contributor-list": "vite-node scripts/generateContributors.ts",
    "generate:schemas": "ts2json-schema -p Models/ThemeConfig/Json/ -o Docs/Schemas/ -t tsconfig.json -R . -m \".*ConfigJson\" && vite-node scripts/fixSchemas.ts ",
    "generate:service-worker": "tsc src/service-worker.ts --outFile public/service-worker.js && git_hash=$(git rev-parse HEAD) && sed -i \"s/GITHUB-COMMIT/$git_hash/\" public/service-worker.js",
    "optimize-images": "cd assets/generated/ &&  find -name '*.png' -exec optipng '{}' \\; && echo 'PNGs are optimized'",
    "generate:stats": "vite-node scripts/GenerateSeries.ts",
    "reset:layeroverview": "mkdir -p ./src/assets/generated/layers; echo {\\\"themes\\\":[]} > ./src/assets/generated/known_themes.json && echo {\\\"layers\\\": []} > ./src/assets/generated/known_layers.json  && rm -f ./src/assets/generated/layers/*.json && rm -f ./src/assets/generated/themes/*.json && cp ./assets/layers/usersettings/usersettings.json ./src/assets/generated/layers/usersettings.json && npm run generate:layeroverview && vite-node scripts/generateLayerOverview.ts -- --force",
    "generate": "mkdir -p ./assets/generated; npm run generate:licenses; npm run generate:images; npm run generate:charging-stations; npm run generate:translations; npm run reset:layeroverview; npm run generate:service-worker",
    "generate:charging-stations": "cd ./assets/layers/charging_station && vite-node csvToJson.ts && cd -",
    "prepare-deploy": "npm run generate:service-worker && ./scripts/build.sh",
    "lint": "npm run lint:prettier && npm run lint:eslint",
    "lint:eslint": "eslint ./src",
    "lint:prettier": "prettier  --check '**/*.ts' '**/*.svelte'",
    "format": "prettier --write '**/*.ts' '**/*.svelte'",
    "clean:tests": "find . -type f -name \"*.doctest.ts\" | xargs -r rm",
    "clean": "rm -rf .cache/ && (find *.html | grep -v \"^\\(404\\|index\\|land\\|test\\|studio\\|theme\\|style_test\\|statistics\\).html\" | xargs -r rm) && (ls | grep \"^index_[a-zA-Z_-]\\+\\.ts$\" | xargs -r rm)",
    "generate:dependency-graph": "node_modules/.bin/depcruise --exclude \"^node_modules\" --output-type dot Logic/State/MapState.ts > dependencies.dot && dot dependencies.dot -T svg -o dependencies.svg && rm dependencies.dot",
    "weblate-add-upstream": "git remote add weblate-github git@github.com:weblate/MapComplete.git && git remote add weblate-hosted-core https://hosted.weblate.org/git/mapcomplete/core/ && git remote add weblate-hosted-layers https://hosted.weblate.org/git/mapcomplete/layers/",
    "weblate-merge": "git remote update weblate-github; git merge weblate-github/weblate-mapcomplete-core weblate-github/weblate-mapcomplete-layers weblate-github/weblate-mapcomplete-layer-translations",
    "weblate-fix-heavy": "git fetch weblate-hosted-layers; git fetch weblate-hosted-core; git merge weblate-hosted-layers/master weblate-hosted-core/master ",
    "housekeeping": "git pull && npx update-browserslist-db@latest && npm run weblate-fix-heavy && npm run generate && npm run generate:docs && npm run generate:contributor-list && vite-node scripts/fetchLanguages.ts && npm run format && git add assets/ langs/ Docs/ **/*.ts Docs/* && git commit -m 'chore: automated housekeeping...'",
    "reuse-compliance": "reuse lint"
  },
  "keywords": [
    "OpenStreetMap",
    "Editor"
  ],
  "author": "pietervdvn",
  "license": "GPL-3.0-or-later",
  "browserslist": [
    ">0.2%",
    "not dead",
    "not ie < 11",
    "not op_mini all"
  ],
  "dependencies": {
    "@rgossiaux/svelte-headlessui": "^1.0.2",
    "@rgossiaux/svelte-heroicons": "^0.1.2",
    "@rollup/plugin-typescript": "^11.0.0",
    "@turf/boolean-intersects": "^6.5.0",
    "@turf/buffer": "^6.5.0",
    "@turf/collect": "^6.5.0",
    "@turf/distance": "^6.5.0",
    "@turf/length": "^6.5.0",
    "@turf/turf": "^6.5.0",
    "@types/dompurify": "^3.0.2",
    "@types/showdown": "^2.0.0",
    "chart.js": "^3.8.0",
    "country-language": "^0.1.7",
    "country-to-currency": "^1.0.10",
    "csv-parse": "^5.1.0",
    "doctest-ts-improved": "^0.8.8",
    "dompurify": "^3.0.5",
    "email-validator": "^2.0.4",
    "escape-html": "^1.0.3",
    "fake-dom": "^1.0.4",
    "geojson2svg": "^1.3.3",
    "html-to-image": "^1.11.11",
    "html-to-markdown": "^1.0.0",
    "i18next-client": "^1.11.4",
    "idb-keyval": "^6.0.3",
    "jest-mock": "^29.4.1",
    "jspdf": "^2.5.1",
    "latlon2country": "^1.2.6",
    "libphonenumber-js": "^1.10.8",
    "lz-string": "^1.4.4",
    "mangrove-reviews-typescript": "^1.1.0",
    "maplibre-gl": "^3.2.0",
    "opening_hours": "^3.6.0",
    "osm-auth": "^2.2.0",
    "osmtogeojson": "^3.0.0-beta.5",
    "papaparse": "^5.3.1",
    "pic4carto": "^2.1.15",
    "prompt-sync": "^4.2.0",
    "showdown": "^2.1.0",
    "svg-path-parser": "^1.1.0",
    "tailwind-merge": "^1.13.1",
    "tailwindcss": "^3.1.8",
    "vite-node": "^0.28.3",
    "vitest": "^0.28.3",
    "wikibase-sdk": "^7.14.0",
    "wikidata-sdk": "^7.14.0",
    "xml2js": "^0.5.0"
  },
  "devDependencies": {
    "@babeard/svelte-heroicons": "^2.0.0-rc.0",
    "@babel/polyfill": "^7.10.4",
    "@babel/preset-env": "7.13.8",
    "@parcel/service-worker": "^2.6.0",
    "@rollup/plugin-json": "^6.0.0",
    "@sveltejs/vite-plugin-svelte": "^2.0.2",
    "@tsconfig/svelte": "^3.0.0",
    "@types/chai": "^4.3.0",
    "@types/geojson": "^7946.0.10",
    "@types/lz-string": "^1.3.34",
    "@types/mocha": "^10.0.1",
    "@types/node": "^18.11.18",
    "@types/papaparse": "^5.3.1",
    "@types/prompt-sync": "^4.1.0",
    "@types/wikidata-sdk": "^6.1.0",
    "@types/xml2js": "^0.4.9",
    "@typescript-eslint/eslint-plugin": "^6.1.0",
    "@typescript-eslint/parser": "^6.1.0",
    "assert": "^2.0.0",
    "chai": "^4.3.6",
    "dependency-cruiser": "^10.4.0",
    "eslint": "^8.45.0",
    "eslint-plugin-svelte": "^2.32.2",
    "fs": "0.0.1-security",
    "node-html-parser": "^6.1.5",
    "prettier": "^2.8.8",
    "prettier-plugin-svelte": "^2.10.1",
    "prettier-plugin-tailwindcss": "^0.3.0",
    "read-file": "^0.2.0",
    "sass": "^1.58.0",
    "sharp": "^0.30.5",
    "svelte": "^3.55.1",
    "svelte-check": "^3.0.2",
    "svelte-preprocess": "^5.0.1",
    "ts-node": "^10.9.1",
    "ts2json-schema": "^1.4.0",
    "tslib": "^2.5.0",
    "typescript": "^4.7.4",
    "vite": "^4.0.5"
  }
}