{
  "name": "data-structure-typed",
  "version": "2.6.1",
  "description": "Production-ready TypeScript data structures: Heap, Deque, Trie, Graph, Red-Black Tree, TreeMap, TreeSet, and more. Zero dependencies, type-safe, with getRank/getByRank/rangeByRank support.",
  "browser": "dist/umd/data-structure-typed.min.js",
  "umd:main": "dist/umd/data-structure-typed.min.js",
  "main": "dist/cjs/index.cjs",
  "module": "dist/esm/index.mjs",
  "types": "dist/types/index.d.ts",
  "exports": {
    ".": {
      "types": "./dist/types/index.d.ts",
      "node": {
        "import": "./dist/esm/index.mjs",
        "require": "./dist/cjs/index.cjs"
      },
      "browser": {
        "import": "./dist/esm-legacy/index.mjs",
        "require": "./dist/cjs-legacy/index.cjs"
      },
      "import": "./dist/esm-legacy/index.mjs",
      "require": "./dist/cjs-legacy/index.cjs"
    },
    "./modern": {
      "types": "./dist/types/index.d.ts",
      "import": "./dist/esm/index.mjs",
      "require": "./dist/cjs/index.cjs"
    },
    "./legacy": {
      "types": "./dist/types/index.d.ts",
      "import": "./dist/esm-legacy/index.mjs",
      "require": "./dist/cjs-legacy/index.cjs"
    },
    "./binary-tree": {
      "types": "./dist/types/data-structures/binary-tree/index.d.ts",
      "node": {
        "import": "./dist/esm/binary-tree.mjs",
        "require": "./dist/cjs/binary-tree.cjs"
      },
      "import": "./dist/esm-legacy/binary-tree.mjs",
      "require": "./dist/cjs-legacy/binary-tree.cjs"
    },
    "./graph": {
      "types": "./dist/types/data-structures/graph/index.d.ts",
      "node": {
        "import": "./dist/esm/graph.mjs",
        "require": "./dist/cjs/graph.cjs"
      },
      "import": "./dist/esm-legacy/graph.mjs",
      "require": "./dist/cjs-legacy/graph.cjs"
    },
    "./hash": {
      "types": "./dist/types/data-structures/hash/index.d.ts",
      "node": {
        "import": "./dist/esm/hash.mjs",
        "require": "./dist/cjs/hash.cjs"
      },
      "import": "./dist/esm-legacy/hash.mjs",
      "require": "./dist/cjs-legacy/hash.cjs"
    },
    "./heap": {
      "types": "./dist/types/data-structures/heap/index.d.ts",
      "node": {
        "import": "./dist/esm/heap.mjs",
        "require": "./dist/cjs/heap.cjs"
      },
      "import": "./dist/esm-legacy/heap.mjs",
      "require": "./dist/cjs-legacy/heap.cjs"
    },
    "./linked-list": {
      "types": "./dist/types/data-structures/linked-list/index.d.ts",
      "node": {
        "import": "./dist/esm/linked-list.mjs",
        "require": "./dist/cjs/linked-list.cjs"
      },
      "import": "./dist/esm-legacy/linked-list.mjs",
      "require": "./dist/cjs-legacy/linked-list.cjs"
    },
    "./matrix": {
      "types": "./dist/types/data-structures/matrix/index.d.ts",
      "node": {
        "import": "./dist/esm/matrix.mjs",
        "require": "./dist/cjs/matrix.cjs"
      },
      "import": "./dist/esm-legacy/matrix.mjs",
      "require": "./dist/cjs-legacy/matrix.cjs"
    },
    "./priority-queue": {
      "types": "./dist/types/data-structures/priority-queue/index.d.ts",
      "node": {
        "import": "./dist/esm/priority-queue.mjs",
        "require": "./dist/cjs/priority-queue.cjs"
      },
      "import": "./dist/esm-legacy/priority-queue.mjs",
      "require": "./dist/cjs-legacy/priority-queue.cjs"
    },
    "./queue": {
      "types": "./dist/types/data-structures/queue/index.d.ts",
      "node": {
        "import": "./dist/esm/queue.mjs",
        "require": "./dist/cjs/queue.cjs"
      },
      "import": "./dist/esm-legacy/queue.mjs",
      "require": "./dist/cjs-legacy/queue.cjs"
    },
    "./stack": {
      "types": "./dist/types/data-structures/stack/index.d.ts",
      "node": {
        "import": "./dist/esm/stack.mjs",
        "require": "./dist/cjs/stack.cjs"
      },
      "import": "./dist/esm-legacy/stack.mjs",
      "require": "./dist/cjs-legacy/stack.cjs"
    },
    "./trie": {
      "types": "./dist/types/data-structures/trie/index.d.ts",
      "node": {
        "import": "./dist/esm/trie.mjs",
        "require": "./dist/cjs/trie.cjs"
      },
      "import": "./dist/esm-legacy/trie.mjs",
      "require": "./dist/cjs-legacy/trie.cjs"
    },
    "./package.json": "./package.json"
  },
  "sideEffects": false,
  "engines": {
    "node": ">=12.20.0",
    "npm": ">=6.14.0"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/zrwusa/data-structure-typed.git"
  },
  "bugs": {
    "url": "https://github.com/zrwusa/data-structure-typed/issues"
  },
  "homepage": "https://data-structure-typed-docs.vercel.app",
  "author": "Pablo Zeng <zrwusa@gmail.com>",
  "license": "MIT",
  "publishConfig": {
    "@zrwusa:registry": "https://npm.pkg.github.com"
  },
  "devDependencies": {
    "@eslint/compat": "^1.2.2",
    "@eslint/eslintrc": "^3.1.0",
    "@eslint/js": "^9.13.0",
    "@swc/core": "^1.7.40",
    "@types/benchmark": "^2.1.5",
    "@types/jest": "^29.5.14",
    "@types/node": "^22.8.2",
    "@typescript-eslint/eslint-plugin": "^8.12.1",
    "@typescript-eslint/parser": "^8.12.1",
    "auto-changelog": "^2.5.0",
    "avl-tree-typed": "^2.5.3",
    "benchmark": "^2.1.4",
    "binary-tree-typed": "^2.5.3",
    "bst-typed": "^2.5.3",
    "data-structure-typed": "^2.5.3",
    "dependency-cruiser": "^16.5.0",
    "doctoc": "^2.2.1",
    "eslint": "^9.13.0",
    "eslint-config-prettier": "^9.1.0",
    "eslint-import-resolver-alias": "^1.1.2",
    "eslint-import-resolver-typescript": "^3.6.3",
    "eslint-plugin-import": "^2.31.0",
    "fast-glob": "^3.3.2",
    "heap-typed": "^2.5.3",
    "husky": "^9.1.7",
    "istanbul-badges-readme": "^1.9.0",
    "jest": "^29.7.0",
    "js-sdsl": "^4.4.2",
    "prettier": "^3.3.3",
    "ts-jest": "^29.2.5",
    "ts-loader": "^9.5.1",
    "ts-morph": "^27.0.2",
    "ts-node": "^10.9.2",
    "tsup": "^8.5.1",
    "typedoc": "^0.28.18",
    "typedoc-plugin-markdown": "^4.11.0",
    "typescript": "~5.9"
  },
  "keywords": [
    "data structures",
    "typescript",
    "javascript",
    "data structures library",
    "typescript data structures",
    "javascript data structures",
    "binary tree",
    "binary search tree",
    "BST",
    "AVL tree",
    "red black tree",
    "tree map",
    "tree set",
    "treemap javascript",
    "treeset javascript",
    "sorted map",
    "sorted set",
    "ordered map",
    "ordered set",
    "tree multi map",
    "tree multi set",
    "heap",
    "min heap",
    "max heap",
    "priority queue",
    "queue",
    "deque",
    "double ended queue",
    "stack",
    "linked list",
    "singly linked list",
    "doubly linked list",
    "skip list",
    "trie",
    "prefix tree",
    "graph",
    "directed graph",
    "undirected graph",
    "hash map",
    "hash table",
    "segment tree",
    "binary indexed tree",
    "fenwick tree",
    "matrix",
    "rank query",
    "range query",
    "order statistic tree",
    "getRank",
    "getByRank",
    "rangeByRank",
    "dijkstra",
    "bellman ford",
    "topological sort",
    "DFS",
    "BFS",
    "leetcode",
    "coding interview",
    "algorithm",
    "zero dependency",
    "production ready",
    "type safe",
    "ES6",
    "CommonJS",
    "UMD",
    "collection",
    "sorted collection"
  ],
  "scripts": {
    "build": "pnpm build:node && pnpm build:types && pnpm build:umd",
    "build:node": "tsup",
    "build:umd": "tsup --config tsup.umd.config.js",
    "build:types": "rm -rf dist/types && tsc -p tsconfig.types.json",
    "build:leetcode": "tsup --config tsup.leetcode.config.js",
    "build:typedoc-plugin": "tsc scripts/typedoc-plugin-example-rewrite.ts --outDir scripts --esModuleInterop --module commonjs --target es2020 --moduleResolution node --skipLibCheck",
    "gen:examples": "ts-node scripts/test-to-example.ts",
    "generate:schema": "ts-node scripts/generate-schema.ts",
    "test": "jest --runInBand",
    "test:coverage": "jest --runInBand --coverage",
    "test:integration": "pnpm update:subs && jest --config jest.integration.config.js && tsc test/integration/compile.test.ts && node test/integration/compile.mjs",
    "test:perf": "pnpm build && NODE_OPTIONS='--expose-gc --max-old-space-size=8192' node test/performance/benchmark-runner-enhanced.mjs",
    "test:perf:report": "node test/performance/reportor-enhanced.mjs",
    "check": "pnpm check:src && pnpm check:test",
    "check:src": "tsc --noEmit",
    "check:test": "tsc -p tsconfig.test.json --noEmit",
    "check:circular-refs": "dependency-cruiser src",
    "lint": "pnpm lint:src && pnpm lint:test",
    "lint:src": "eslint --fix 'src/**/*.{js,ts}'",
    "lint:test": "eslint --fix 'test/**/*.{js,ts}'",
    "format": "pnpm format:src && pnpm format:test",
    "format:src": "prettier --write 'src/**/*.{js,ts}'",
    "format:test": "prettier --write 'test/**/*.{js,ts}'",
    "inspect": "pnpm build && pnpm check && pnpm lint",
    "ci": "env && git fetch --tags && pnpm update:subs && pnpm inspect && pnpm test:coverage && pnpm changelog",
    "docs:sync": "node scripts/sync-docs-to-site.mjs",
    "docs:api": "pnpm gen:examples && pnpm build:typedoc-plugin && cd docs-site-docusaurus && npx typedoc --options typedoc.json && node sort-protected.mjs",
    "docs:dev": "cd docs-site-docusaurus && pnpm start",
    "docs:build": "cd docs-site-docusaurus && rm -rf docs/api && npx typedoc --options typedoc.json && node sort-protected.mjs && pnpm build",
    "docs:preview": "cd docs-site-docusaurus && pnpm serve",
    "update:subs": "pnpm add avl-tree-typed binary-tree-typed bst-typed heap-typed data-structure-typed --save-dev",
    "install:all-subs": "pnpm add avl-tree-typed binary-tree-typed bst-typed deque-typed directed-graph-typed doubly-linked-list-typed graph-typed heap-typed linked-list-typed max-heap-typed max-priority-queue-typed min-heap-typed min-priority-queue-typed priority-queue-typed singly-linked-list-typed stack-typed tree-multimap-typed trie-typed undirected-graph-typed queue-typed --save-dev",
    "copy:to-subs": "sh scripts/copy_to_all_subs.sh",
    "publish:subs": "pnpm copy:to-subs && sh scripts/publish_all_subs.sh",
    "publish:docs": "sh scripts/publish_docs.sh",
    "publish:all": "pnpm install --frozen-lockfile && pnpm publish && pnpm publish:docs && pnpm check:exist-latest && pnpm publish:subs",
    "check:exist-latest": "sh scripts/check_exist_remotely.sh",
    "changelog": "auto-changelog",
    "coverage:badge": "istanbul-badges-readme",
    "toc": "doctoc README.md"
  }
}