{
  "name": "roll-parser",
  "version": "3.4.0",
  "description": "Dice notation parser and roller for tabletop RPGs — D&D 5e, Pathfinder, Fate. Typed results, seeded rolls, zero dependencies. TypeScript, Node, Bun, browser.",
  "type": "module",
  "bin": {
    "roll-parser": "./dist/cli/index.js"
  },
  "sideEffects": ["./dist/cli/index.js"],
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "default": "./dist/index.js"
    },
    "./render": {
      "types": "./dist/render.d.ts",
      "default": "./dist/render.js"
    },
    "./testing": {
      "types": "./dist/testing.d.ts",
      "default": "./dist/testing.js"
    },
    "./package.json": "./package.json"
  },
  "unpkg": "./dist/index.js",
  "jsdelivr": "./dist/index.js",
  "files": [
    "dist",
    "src",
    "CHANGELOG.md",
    "MIGRATION.md",
    "!src/**/*.test.ts",
    "!src/test-helpers.ts"
  ],
  "keywords": [
    "parser",
    "dice",
    "dice-notation",
    "dice-roller",
    "dice-parser",
    "roll",
    "rpg",
    "ttrpg",
    "tabletop",
    "dnd",
    "d20",
    "roller",
    "die",
    "notation",
    "pathfinder",
    "dice notation"
  ],
  "homepage": "https://roll-parser.edloidas.io/",
  "bugs": {
    "url": "https://github.com/edloidas/roll-parser/issues"
  },
  "license": "MIT",
  "author": "Mikita Taukachou <edloidas@gmail.com> (https://edloidas.io)",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/edloidas/roll-parser.git"
  },
  "publishConfig": {
    "access": "public"
  },
  "workspaces": ["scripts/browser-smoke", "scripts/docs"],
  "scripts": {
    "prepare": "git rev-parse --git-dir > /dev/null 2>&1 && git config core.hooksPath .githooks || exit 0",
    "typecheck": "tsc --noEmit && bun run build && tsc --noEmit -p site/tsconfig.json && tsc --noEmit -p site/tsconfig.test.json && tsc --noEmit -p scripts/tsconfig.json && tsc --noEmit -p bench/tsconfig.json",
    "check": "bun typecheck && biome check .",
    "check:fix": "bun typecheck && biome check --write .",
    "check:version": "bun scripts/check-version.ts",
    "check:changelog": "bun scripts/check-changelog.ts",
    "generate:version": "bun scripts/generate-version.ts",
    "clean": "rm -rf dist",
    "build": "bun scripts/build.ts",
    "check:package": "attw --pack . --profile esm-only && publint",
    "check:size": "size-limit",
    "bench": "bun run bench/index.bench.ts",
    "bench:lex": "bun run bench/lex.bench.ts",
    "bench:parse": "bun run bench/parse.bench.ts",
    "bench:evaluate": "bun run bench/evaluate.bench.ts",
    "bench:roll": "bun run bench/roll.bench.ts",
    "bench:json": "bun run scripts/bench-json.ts",
    "bench:competitors": "cd bench/competitors && bun install && bun run all",
    "site:build": "bun run build && bun scripts/build-site.ts",
    "site:check": "bun scripts/check-site.ts",
    "site:dev": "bun run build && bun ./site/index.html ./site/reference.html",
    "site:preview": "bun scripts/serve-site.ts",
    "test": "bun test",
    "test:watch": "bun test --watch",
    "test:ci": "bun test --bail --coverage",
    "validate": "bun run check && bun run build && bun run check:package && bun run check:size && bun run site:build && bun run site:check && bun test:ci",
    "release:dry": "bun run check:version && bun run check:changelog && bun audit --audit-level=high && bun run clean && bun run validate",
    "prepublishOnly": "bun run release:dry"
  },
  "nano-staged": {
    "*.{ts,tsx}": "biome check --write --no-errors-on-unmatched"
  },
  "size-limit": [
    {
      "name": "index.js (full library)",
      "path": "dist/index.js",
      "limit": "13.5 kB"
    },
    {
      "name": "index.js — { parse }",
      "path": "dist/index.js",
      "import": "{ parse }",
      "limit": "6.25 kB"
    },
    {
      "name": "index.js — { roll }",
      "path": "dist/index.js",
      "import": "{ roll }",
      "limit": "13 kB"
    },
    {
      "name": "render.js — { renderBreakdown }",
      "path": "dist/render.js",
      "import": "{ renderBreakdown }",
      "limit": "2 kB"
    },
    {
      "name": "testing.js — { createMockRng }",
      "path": "dist/testing.js",
      "import": "{ createMockRng }",
      "limit": "250 B"
    }
  ],
  "devDependencies": {
    "@arethetypeswrong/cli": "^0.18.5",
    "@biomejs/biome": "^2.5.11",
    "@size-limit/preset-small-lib": "^13.0.3",
    "@types/bun": "^1.4.0",
    "esbuild": "^0.28.2",
    "fast-check": "^4.9.0",
    "mitata": "^1.0.34",
    "nano-staged": "^1.0.2",
    "publint": "^0.3.24",
    "size-limit": "^13.0.3",
    "typescript": "^7.0.2"
  },
  "overrides": {
    "brace-expansion": "^5.0.9"
  },
  "engines": {
    "node": ">=22.12.0"
  }
}
