{
  "name": "planck",
  "version": "1.5.0",
  "description": "2D JavaScript/TypeScript physics engine for cross-platform HTML5 game development",
  "homepage": "https://github.com/piqnt/planck.js",
  "keywords": [
    "box2d",
    "html5",
    "javascript",
    "typescript",
    "game",
    "physics",
    "engine",
    "2d",
    "mobile"
  ],
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "git://github.com/piqnt/planck.js.git"
  },
  "author": "Ali Shakiba",
  "contributors": [
    "Erin Catto",
    "Ali Shakiba",
    "Oliver Zell"
  ],
  "type": "commonjs",
  "sideEffects": [
    "./dist/planck-with-testbed.*"
  ],
  "module": "dist/planck.mjs",
  "main": "dist/planck.js",
  "jsdelivr": "dist/planck.min.js",
  "unpkg": "dist/planck.min.js",
  "types": "index.d.ts",
  "exports": {
    ".": {
      "types": "./dist/planck.d.ts",
      "import": "./dist/planck.mjs",
      "default": "./dist/planck.js"
    },
    "./with-testbed": {
      "types": "./dist/planck-with-testbed.d.ts",
      "import": "./dist/planck-with-testbed.mjs",
      "default": "./dist/planck-with-testbed.js"
    },
    "./dist/*": "./dist/*"
  },
  "engines": {
    "node": ">=24.0"
  },
  "peerDependencies": {
    "stage-js": "^1.0.0-alpha.12"
  },
  "devDependencies": {
    "@changesets/cli": "^2.29.8",
    "@eslint/js": "^9.39.2",
    "@types/chai": "^5.2.3",
    "@vitest/coverage-v8": "^4.0.18",
    "ajv": "^8.17.1",
    "eslint": "^9.39.2",
    "eslint-config-prettier": "^10.1.8",
    "prettier": "^3.8.1",
    "rimraf": "^6.1.2",
    "rollup-plugin-license": "^3.6.0",
    "sinon": "^21.0.1",
    "terser": "^5.46.0",
    "tsd": "^0.33.0",
    "tslib": "^2.8.1",
    "typedoc": "^0.28.16",
    "typedoc-plugin-markdown": "^4.10.0",
    "typescript-eslint": "^8.54.0",
    "vite": "^6.4.1",
    "vite-plugin-dts-bundle-generator": "^2.1.2",
    "vite-plugin-pages": "^0.33.3",
    "vite-plugin-typescript": "^1.0.4",
    "vite-plugin-typescript-transform": "^1.3.1",
    "vitepress": "^2.0.0-alpha.16",
    "vitest": "^4.0.18"
  },
  "scripts": {
    "lint": "eslint './src/**/*.ts' './testbed/**/*.ts'",
    "pretty": "prettier --write './src/**/*.ts' './testbed/**/*.ts'",
    "lint:example": "eslint --fix './example/**/*.ts'",
    "pretty:example": "prettier --write './example/**/*.ts'",
    "test": "vitest run",
    "test:coverage": "vitest run --coverage",
    "test:types": "tsd --typings=./dist/planck.d.ts && tsd --typings=./dist/planck-with-testbed.d.ts",
    "preflight": "npm run lint && npm run test:types && npm run test",
    "testbed": "npm run dev",
    "dev": "vite",
    "build": "rimraf ./dist/* && vite build && BUILD_TESTBED=true vite build && npm run terser-core && npm run terser-testbed",
    "terser-core": "terser ./dist/planck.js -o ./dist/planck.min.js --source-map",
    "terser-testbed": "terser ./dist/planck-with-testbed.js -o ./dist/planck-with-testbed.min.js --source-map",
    "watch": "vite build --watch",
    "preview": "vite preview",
    "benchmark": "git log -n 1 && vite-node ./benchmark/node",
    "changeset": "changeset",
    "bump": "changeset version",
    "release": "changeset publish",
    "typedoc": "typedoc --options typedoc.json && mv ./docs/pages/api/README.md ./docs/pages/api/index.md",
    "docs:dev": "vitepress dev docs",
    "docs:build": "vitepress build docs",
    "docs:preview": "vitepress preview docs"
  }
}
