{
  "name": "mapbox-gl",
  "description": "A WebGL interactive maps library",
  "version": "3.21.0",
  "main": "dist/mapbox-gl.js",
  "style": "dist/mapbox-gl.css",
  "types": "dist/mapbox-gl.d.ts",
  "license": "SEE LICENSE IN LICENSE.txt",
  "type": "module",
  "repository": {
    "type": "git",
    "url": "git://github.com/mapbox/mapbox-gl-js.git"
  },
  "workspaces": [
    "src/style-spec",
    "packages/pmtiles-provider",
    "test/build/vite",
    "test/build/webpack",
    "test/build/typings"
  ],
  "dependencies": {
    "@mapbox/jsonlint-lines-primitives": "^2.0.2",
    "@mapbox/mapbox-gl-supported": "^3.0.0",
    "@mapbox/point-geometry": "^1.1.0",
    "@mapbox/tiny-sdf": "^2.0.6",
    "@mapbox/unitbezier": "^0.0.1",
    "@mapbox/vector-tile": "^2.0.4",
    "@types/geojson": "^7946.0.16",
    "@types/geojson-vt": "^3.2.5",
    "@types/pbf": "^3.0.5",
    "@types/supercluster": "^7.1.3",
    "cheap-ruler": "^4.0.0",
    "csscolorparser": "~1.0.3",
    "earcut": "^3.0.1",
    "geojson-vt": "^4.0.2",
    "gl-matrix": "^3.4.4",
    "grid-index": "^1.1.0",
    "kdbush": "^4.0.2",
    "martinez-polygon-clipping": "^0.8.1",
    "murmurhash-js": "^1.0.0",
    "pbf": "^4.0.1",
    "potpack": "^2.0.0",
    "quickselect": "^3.0.0",
    "supercluster": "^8.0.1",
    "tinyqueue": "^3.0.0"
  },
  "devDependencies": {
    "@eslint/compat": "^2.0.0",
    "@eslint/eslintrc": "^3.3.1",
    "@eslint/js": "^9.30.1",
    "@mapbox/mvt-fixtures": "^3.10.0",
    "@octokit/rest": "^22.0.0",
    "@rollup/plugin-commonjs": "^29.0.0",
    "@rollup/plugin-json": "^6.1.0",
    "@rollup/plugin-node-resolve": "^16.0.1",
    "@rollup/plugin-replace": "^6.0.2",
    "@rollup/plugin-strip": "^3.0.4",
    "@rollup/plugin-terser": "^1.0.0",
    "@rollup/plugin-virtual": "^3.0.2",
    "@size-limit/file": "^12.0.0",
    "@tweakpane/core": "^2.0.5",
    "@types/murmurhash-js": "^1.0.6",
    "@types/node": "^25.0.2",
    "@types/offscreencanvas": "^2019.7.3",
    "@typescript-eslint/eslint-plugin": "^8.48.1",
    "@typescript-eslint/parser": "^8.48.1",
    "@vitest/browser-playwright": "^4.0.6",
    "@vitest/ui": "^4.0.6",
    "address": "^2.0.3",
    "browserify": "^17.0.1",
    "browserslist-to-esbuild": "^2.1.1",
    "cssnano": "^7.0.7",
    "d3-queue": "^3.0.7",
    "diff": "^8.0.2",
    "dts-bundle-generator": "^9.5.1",
    "ejs": "^5.0.1",
    "envify": "^4.1.0",
    "esbuild": "^0.27.1",
    "eslint": "^9.30.1",
    "eslint-config-mourner": "^4.0.0",
    "eslint-import-resolver-typescript": "^4.4.4",
    "eslint-plugin-html": "^8.1.3",
    "eslint-plugin-import-x": "^4.16.1",
    "eslint-plugin-jsdoc": "^62.0.0",
    "express": "^5.2.1",
    "json-stringify-pretty-compact": "^4.0.0",
    "lodash": "^4.17.21",
    "mapbox-gl-styles": "^2.0.2",
    "minimist": "^1.2.6",
    "node-notifier": "^10.0.1",
    "npm-font-open-sans": "^1.1.0",
    "npm-run-all2": "^8.0.4",
    "pixelmatch": "^6.0.0",
    "playwright": "^1.53.2",
    "postcss": "^8.5.6",
    "postcss-cli": "^11.0.1",
    "postcss-inline-svg": "^6.0.0",
    "qrcode-terminal": "^0.12.0",
    "rollup": "^4.44.2",
    "rollup-plugin-esbuild": "^6.2.1",
    "rollup-plugin-unassert": "^0.6.0",
    "serve-static": "^2.2.0",
    "shuffle-seed": "^1.1.6",
    "size-limit": "^12.0.0",
    "http-server": "^14.1.1",
    "stylelint": "^17.0.0",
    "stylelint-config-standard": "^40.0.0",
    "tsx": "^4.20.3",
    "tweakpane": "^4.0.5",
    "typescript": "^5.9.2",
    "typescript-eslint": "^8.48.1",
    "vite-plugin-arraybuffer": "^0.1.0",
    "vitest": "^4.0.6"
  },
  "overrides": {
    "minimatch": "^10.2.2",
    "serialize-javascript": "^7.0.3"
  },
  "scripts": {
    "build-dev": "rollup -c --environment BUILD:dev",
    "watch-dev": "rollup -c --environment BUILD:dev --watch",
    "watch-esm": "rollup -c rollup.config.esm.js --environment BUILD:dev --watch",
    "build-prod-min": "rollup -c --environment BUILD:production,MINIFY:true",
    "build-esm-prod-min": "rollup -c rollup.config.esm.js --environment BUILD:production,MINIFY:true",
    "build-csp": "rollup -c rollup.config.csp.js",
    "build-pmtiles": "npm run build -w packages/pmtiles-provider",
    "watch-pmtiles": "npm run watch -w packages/pmtiles-provider",
    "build-css": "postcss -o dist/mapbox-gl.css src/css/mapbox-gl.css",
    "build-style-spec": "npm run build --workspace src/style-spec && mkdir -p dist/style-spec && cp src/style-spec/dist/* dist/style-spec",
    "build-dts": "dts-bundle-generator --no-banner --export-referenced-types=false --umd-module-name=mapboxgl -o ./dist/mapbox-gl.d.ts ./src/index.ts",
    "watch-css": "postcss --watch -o dist/mapbox-gl.css src/css/mapbox-gl.css",
    "build-token": "node build/generate-access-token-script.js",
    "start-server": "http-server . -a 0.0.0.0 --port 9966 -c-1 -s",
    "start": "run-p build-token watch-css watch-pmtiles watch-dev start-server",
    "start-esm": "run-p build-token watch-css watch-esm start-server",
    "start-debug": "run-p build-token watch-css watch-pmtiles watch-dev start-server",
    "prepare-release-pages": "ln -sfn $PWD/dist test/release/dist && ln -sfn $PWD/debug test/release/debug && cp debug/access_token_generated.js test/release/",
    "start-release": "run-s build-token build-prod-min build-esm-prod-min build-css print-release-url prepare-release-pages start-server",
    "lint": "eslint --cache src 3d-style test packages",
    "lint-css": "stylelint 'src/css/mapbox-gl.css'",
    "test": "run-s lint lint-css test-typings test-unit",
    "test-suite": "run-s test-render test-query test-expressions",
    "test-suite-clean": "find test/integration/{render,query, expressions}-tests -mindepth 2 -type d -exec test -e \"{}/actual.png\" \\; -not \\( -exec test -e \"{}/style.json\" \\; \\) -print | xargs -t rm -r",
    "watch-unit": "vitest --config vitest.config.unit.ts",
    "test-unit": "vitest --config vitest.config.unit.ts --run",
    "test-usvg": "vitest --config vitest.config.usvg.ts --run",
    "start-usvg": "esbuild src/data/usvg/usvg_pb_renderer.ts src/data/usvg/usvg_pb_decoder.ts --outdir=src/data/usvg/ --bundle --format=esm --watch --serve=9966 --servedir=.",
    "test-build": "node --test --test-timeout 10000 test/build/*.test.js",
    "test-esm": "npx vitest run --config vitest.config.esm.ts",
    "test-csp": "npm run build-token && vitest --config vitest.config.csp.ts --run",
    "watch-render": "npx vitest watch --config vitest.config.render.chromium.ts",
    "pretest-render": "npm run build-dev && npm run build-pmtiles",
    "test-render": "npx vitest run --config vitest.config.render.chromium.ts",
    "pretest-render-chromium": "npm run build-pmtiles",
    "test-render-chromium": "npx vitest run --config vitest.config.render.chromium.ts",
    "pretest-render-firefox": "npm run build-pmtiles",
    "test-render-firefox": "npx vitest run --config vitest.config.render.firefox.ts",
    "pretest-render-safari": "npm run build-pmtiles",
    "test-render-safari": "npx vitest run --config vitest.config.render.safari.ts",
    "pretest-render-prod": "npm run build-prod-min && npm run build-pmtiles",
    "test-render-prod": "npx vitest run --config vitest.config.render.chromium.prod.ts",
    "pretest-render-chromium-prod": "npm run build-pmtiles",
    "test-render-chromium-prod": "npx vitest run --config vitest.config.render.chromium.prod.ts",
    "pretest-render-csp": "npm run build-csp && npm run build-pmtiles",
    "test-render-csp": "npx vitest run --config vitest.config.render.chromium.csp.ts",
    "pretest-render-chromium-csp": "npm run build-pmtiles",
    "test-render-chromium-csp": "npx vitest run --config vitest.config.render.chromium.csp.ts",
    "watch-query": "npx vitest watch --config vitest.config.query.ts",
    "test-query": "npx vitest run --config vitest.config.query.ts",
    "test-expressions": "tsx ./test/expression.test.ts",
    "test-typings": "tsx ./build/generate-typed-style-spec.ts && npm run tsc",
    "test-style-spec": "npm test --workspace src/style-spec",
    "prepublishOnly": "run-s build-dev build-prod-min build-esm-prod-min build-csp build-css build-style-spec build-dts",
    "print-release-url": "node build/print-release-url.js",
    "size": "size-limit",
    "check-size": "tsx build/check-size.ts",
    "check-ts-suppressions": "tsx build/check-ts-suppressions.ts",
    "codegen": "tsx ./build/generate-style-code.ts && tsx ./build/generate-struct-arrays.ts && tsx ./build/generate-typed-style-spec.ts",
    "tsc": "tsc --project tsconfig.json",
    "tsc:strict": "tsc -p tsconfig.strictNullChecks.json",
    "publish-release": "./build/publish.ts",
    "publish-cdn": "./build/publish-cdn.ts",
    "publish-alpha": "./build/publish-alpha.ts",
    "bump-version": "./build/bump-version.ts"
  },
  "files": [
    "dist/mapbox-gl*",
    "dist/style-spec/",
    "dist/esm-min/",
    "dist/package.json",
    "LICENSE.txt"
  ],
  "size-limit": [
    {
      "limit": "500 kb",
      "gzip": true,
      "path": "dist/mapbox-gl.js"
    },
    {
      "limit": "470 kb",
      "gzip": true,
      "path": [
        "dist/esm-min/mapbox-gl.js",
        "dist/esm-min/shared.js",
        "dist/esm-min/worker.js"
      ]
    },
    {
      "limit": "5.55 kb",
      "gzip": true,
      "path": "dist/mapbox-gl.css"
    }
  ]
}
