{
  "name": "parseman",
  "version": "0.50.7",
  "packageManager": "pnpm@10.15.1",
  "engines": {
    "node": "^20.19.0 || >=22.13.0"
  },
  "description": "Parser combinators that compile to optimized JavaScript — use as a library or as a build-time macro",
  "type": "module",
  "sideEffects": false,
  "author": "Matthew Dean <matthew-dean@users.noreply.github.com>",
  "repository": {
    "type": "git",
    "url": "https://github.com/matthew-dean/parseman.git"
  },
  "homepage": "https://github.com/matthew-dean/parseman",
  "bugs": "https://github.com/matthew-dean/parseman/issues",
  "main": "./dist/index.js",
  "module": "./dist/index.js",
  "types": "./dist/index.d.ts",
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "import": "./dist/index.js",
      "require": "./dist/index.js"
    },
    "./diagnostics": {
      "types": "./dist/analysis/diagnostics.d.ts",
      "import": "./dist/analysis/diagnostics.js",
      "require": "./dist/analysis/diagnostics.js"
    },
    "./plugin": {
      "types": "./dist/plugin/index.d.ts",
      "import": "./dist/plugin/index.js",
      "require": "./dist/plugin/index.js"
    },
    "./run": {
      "types": "./dist/run/index.d.ts",
      "import": "./dist/run/index.js",
      "require": "./dist/run/index.js"
    },
    "./table": {
      "types": "./dist/table/index.d.ts",
      "import": "./dist/table/index.js",
      "require": "./dist/table/index.js"
    },
    "./spec": {
      "types": "./dist/spec/index.d.ts",
      "import": "./dist/spec/index.js",
      "require": "./dist/spec/index.js"
    },
    "./language-service": {
      "types": "./dist/language-service/index.d.ts",
      "import": "./dist/language-service/index.js",
      "require": "./dist/language-service/index.js"
    },
    "./oracle": {
      "types": "./dist/oracle/index.d.ts",
      "import": "./dist/oracle/index.js",
      "require": "./dist/oracle/index.js"
    }
  },
  "bin": {
    "parseman": "./dist/cli/index.js"
  },
  "files": [
    "dist",
    "src",
    "README.md"
  ],
  "scripts": {
    "build": "node scripts/build.mjs",
    "test": "vitest run",
    "test:watch": "vitest",
    "test:perf": "vitest run --config vitest.perf.config.ts",
    "test:coverage": "vitest run --coverage --config vitest.coverage.config.ts",
    "coverage:baseline": "pnpm test:coverage && node scripts/update-coverage-baseline.mjs",
    "coverage:guard": "node scripts/coverage-guard.mjs",
    "typecheck": "tsc",
    "lint": "oxlint --ignore-path .oxlintignore src test examples bench",
    "check:control-bytes": "node scripts/check-control-bytes.mjs",
    "check:invariants": "node scripts/check-invariants.mjs",
    "check:differentials": "node scripts/check-differentials.mjs",
    "bench": "node --import tsx/esm bench/run.ts",
    "bench:parseman": "node --import tsx/esm bench/parseman.ts",
    "bench:closure-json": "node --import tsx/esm bench/closure-json-path.ts",
    "bench:composeleaf": "node --import tsx/esm bench/composeleaf-firstset.ts",
    "bench:incremental": "node --import tsx/esm bench/incremental-run.ts",
    "bench:literal": "node --import tsx/esm bench/literal-match.ts",
    "bench:dispatch": "node --import tsx/esm bench/dispatch-vs-choice.ts",
    "bench:codegen": "node --import tsx/esm bench/codegen-ab.ts",
    "bench:treeidentity": "node --import tsx/esm bench/tree-identity.ts",
    "bench:sharedprefix": "node --import tsx/esm bench/shared-prefix-ab.ts",
    "bench:baseline": "node --import tsx/esm bench/update-parseman-baseline.ts",
    "perf:guard": "node --import tsx/esm bench/perf-guard.ts",
    "perf:guard:grammars": "node --import tsx/esm bench/grammar-perf-guard.ts",
    "perf:xproc": "node --import tsx/esm bench/xproc-ab.ts",
    "prepare": "git config core.hooksPath scripts/git-hooks || true; node scripts/build.mjs",
    "prepublishOnly": "node scripts/check-changelog.mjs --publish",
    "check:changelog": "node scripts/check-changelog.mjs",
    "check:main-release-state": "node scripts/check-main-release-state.mjs",
    "docs:verify": "node scripts/verify-doc-examples.mjs",
    "docs:dev": "vitepress dev docs",
    "docs:build": "vitepress build docs",
    "docs:preview": "vitepress preview docs",
    "bench:svg": "node --import tsx/esm bench/gen-svg.ts",
    "bench:release-compare-svg": "node --import tsx/esm bench/gen-release-compare-svg.ts",
    "bench:size": "node --import tsx/esm bench/measure-expansion.ts",
    "docs:favicons": "node scripts/gen-favicons.mjs",
    "build:chevrotain-bench": "node --import tsx/esm scripts/build-chevrotain-bench.mjs",
    "bench:compile-grammars": "peggy --format es -o bench/json-parser.js bench/json.pegjs && peggy --format es -o bench/csv-parser.js bench/csv.pegjs && peggy --format es -o bench/graphql-parser.js bench/graphql.pegjs && nearleyc bench/vendor/nearley/json.ne -o bench/json-nearley.cjs && nearleyc bench/vendor/nearley/csv.ne -o bench/csv-nearley.cjs && nearleyc bench/vendor/nearley/graphql.ne -o bench/graphql-nearley.cjs && node bench/compile-jison.mjs",
    "perf:workloads": "node --import tsx/esm bench/workload-perf-guard.ts",
    "perf:workloads:peak": "node --import tsx/esm bench/workload-perf-guard.ts --peak",
    "perf:workloads:self": "node --import tsx/esm bench/workload-perf-guard.ts --self",
    "perf:guard:grammars:self": "node --import tsx/esm bench/grammar-perf-guard.ts --self",
    "perf:workloads:describe": "node --import tsx/esm bench/workloads/describe.ts",
    "size:guard": "node --import tsx/esm bench/size-guard.ts",
    "size:baseline": "node --import tsx/esm bench/size-guard.ts --update",
    "size:probe": "node --import tsx/esm bench/size/probe.ts",
    "choicecost:guard": "node --import tsx/esm bench/choice-cost-guard.ts",
    "choicecost:baseline": "node --import tsx/esm bench/choice-cost-guard.ts --update",
    "choicecost:report": "node --import tsx/esm bench/choice-cost-guard.ts --report",
    "spelling:gate": "node --import tsx/esm bench/spelling-equivalence.ts",
    "spelling:baseline": "node --import tsx/esm bench/spelling-equivalence.ts --update",
    "bench:margin": "node --import tsx/esm bench/svg-margin.ts",
    "divergence:jess": "node --import ./bench/jess/register.mjs bench/jess/divergence.ts",
    "size:jess": "node --import ./bench/jess/register.mjs bench/jess/size.ts",
    "fold:jess": "node --import ./bench/jess/register.mjs bench/jess/fold-size.ts",
    "fold:identity": "node --import ./bench/jess/register.mjs bench/jess/fold-identity.ts",
    "fold:load": "node --import ./bench/jess/register.mjs bench/jess/fold-load.ts",
    "speed:jess": "node --import ./bench/jess/register.mjs bench/jess/speed.ts",
    "load:jess": "node --import ./bench/jess/register.mjs bench/jess/load.ts",
    "fixture:jess": "node --import ./bench/jess/register.mjs bench/jess/fixture.ts",
    "bench:less": "node --import ./bench/jess/register.mjs bench/jess/fixture.ts less",
    "bench:jess:ab": "node --import ./bench/jess/ab-register.mjs bench/jess/ab.ts",
    "bench:macro-optimize": "node --import tsx/esm bench/macro-compiled-optimize.ts"
  },
  "keywords": [
    "parser",
    "parser-combinators",
    "macro",
    "compile-time",
    "codegen"
  ],
  "license": "MIT",
  "devDependencies": {
    "@lezer/common": "~1.5.2",
    "@lezer/json": "~1.0.3",
    "@oxc-project/types": "~0.137.0",
    "@types/node": "~26.0.0",
    "@types/parsimmon": "~1.10.9",
    "@vitest/coverage-v8": "~4.1.9",
    "chevrotain": "~12.0.0",
    "esbuild": "~0.27.7",
    "favicons": "~7.3.0",
    "jison": "~0.4.18",
    "moo": "~0.5.3",
    "nearley": "~2.20.1",
    "oxlint": "~1.71.0",
    "parsimmon": "~1.18.1",
    "peggy": "~5.1.0",
    "sharp": "~0.34.5",
    "tsx": "~4.22.4",
    "typescript": "7.0.1-rc",
    "vite": "~8.0.16",
    "vitepress": "~1.6.4",
    "vitest": "~4.1.9",
    "xregexp": "~5.1.2"
  },
  "dependencies": {
    "linecraft": "0.2.6",
    "magic-string": "~0.30.21",
    "oxc-parser": "~0.137.0",
    "oxc-resolver": "~11.23.0",
    "unplugin": "~3.0.0"
  }
}
