{
  "name": "@adguard/agtree",
  "version": "4.0.1",
  "description": "Tool set for working with adblock filter lists",
  "keywords": [
    "adblock",
    "filter",
    "list",
    "rule",
    "parser",
    "ast",
    "converter",
    "validator",
    "generator"
  ],
  "author": "Adguard Software Ltd.",
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/AdguardTeam/tsurlfilter.git",
    "directory": "packages/agtree"
  },
  "bugs": {
    "url": "https://github.com/AdguardTeam/tsurlfilter/issues"
  },
  "homepage": "https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme",
  "sideEffects": false,
  "type": "module",
  "main": "dist/index.js",
  "module": "dist/index.js",
  "types": "dist/types/index.d.ts",
  "exports": {
    ".": {
      "types": "./dist/types/index.d.ts",
      "import": "./dist/index.js"
    },
    "./parser": {
      "types": "./dist/types/parser/index.d.ts",
      "import": "./dist/parser/index.js"
    },
    "./generator": {
      "types": "./dist/types/generator/index.d.ts",
      "import": "./dist/generator/index.js"
    },
    "./converter": {
      "types": "./dist/types/converter/index.d.ts",
      "import": "./dist/converter/index.js"
    },
    "./utils": {
      "types": "./dist/types/utils/index.d.ts",
      "import": "./dist/utils/index.js"
    }
  },
  "files": [
    "dist/**",
    "!dist/build.txt"
  ],
  "engines": {
    "node": ">=22"
  },
  "dependencies": {
    "camelcase-keys": "^7.0.2",
    "clone-deep": "^4.0.1",
    "glob-to-regexp": "^0.4.1",
    "is-ip": "3.1.0",
    "json5": "^2.2.3",
    "sprintf-js": "^1.1.3",
    "tldts": "^5.7.112",
    "zod": "3.24.4",
    "@adguard/css-tokenizer": "^1.2.0"
  },
  "devDependencies": {
    "@rollup/plugin-commonjs": "^28.0.1",
    "@rollup/plugin-json": "^6.1.0",
    "@rollup/plugin-node-resolve": "^15.3.0",
    "@rollup/plugin-swc": "^0.4.0",
    "@rollup/plugin-typescript": "^12.1.1",
    "@swc/core": "^1.10.18",
    "@swc/helpers": "^0.5.13",
    "@types/clone-deep": "^4.0.1",
    "@types/fs-extra": "^11.0.4",
    "@types/glob-to-regexp": "^0.4.4",
    "@types/js-yaml": "^4.0.5",
    "@types/node": "^22.14.0",
    "@types/sprintf-js": "^1.1.4",
    "@typescript-eslint/eslint-plugin": "^7.5.0",
    "@typescript-eslint/parser": "^7.5.0",
    "@vitest/coverage-v8": "^4.0.15",
    "@vitest/expect": "^4.0.15",
    "eslint": "8.57.1",
    "eslint-config-airbnb-base": "15.0.0",
    "eslint-config-airbnb-typescript": "^18.0.0",
    "eslint-plugin-import": "^2.29.0",
    "eslint-plugin-import-newlines": "1.4.0",
    "eslint-plugin-jsdoc": "^48.11.0",
    "fs-extra": "^11.2.0",
    "javascript-stringify": "^2.1.0",
    "js-yaml": "^4.1.0",
    "jsdoc": "^4.0.2",
    "markdown-table": "^3.0.3",
    "markdownlint": "^0.37.4",
    "markdownlint-cli": "^0.44.0",
    "prettier": "^3.3.2",
    "rimraf": "^6.0.1",
    "rollup": "^4.28.0",
    "rollup-plugin-node-externals": "^8.0.0",
    "ts-morph": "^26.0.0",
    "ts-node": "^10.9.2",
    "tsd": "^0.32.0",
    "tsx": "^4.19.3",
    "type-fest": "^4.18.0",
    "typescript": "^5.7.3",
    "vitest": "^4.0.15",
    "xregexp": "^5.1.2"
  },
  "scripts": {
    "build": "pnpm clean && pnpm build-txt && pnpm build-compatibility-tables-wiki && pnpm build-rollup && pnpm build-types",
    "build-rollup": "rollup --config rollup.config.ts --configPlugin typescript",
    "build-types": "tsc --project tsconfig.build.json && tsx scripts/transform-dts.ts",
    "build-txt": "tsx scripts/build-txt.ts",
    "build-compatibility-tables-wiki": "tsx scripts/build-compatibility-tables-wiki.ts",
    "clean": "rimraf dist",
    "coverage": "vitest run --coverage",
    "lint": "pnpm lint:code && pnpm lint:types && pnpm lint:md",
    "lint:code": "eslint . --cache --ext .ts",
    "lint:types": "tsc",
    "lint:md": "markdownlint .",
    "precommit": "pnpm lint:types && pnpm lint && pnpm test",
    "test": "vitest run --no-cache",
    "test:smoke": "(cd test/smoke/esm && pnpm test) && (cd test/smoke/exports && pnpm test)",
    "tgz": "pnpm pack --out agtree.tgz"
  }
}