{
  "name": "eslint-plugin-functional",
  "version": "10.0.0",
  "description": "ESLint rules to promote functional programming in TypeScript.",
  "keywords": [
    "eslint",
    "eslint plugin",
    "fp",
    "functional",
    "functional programming",
    "immutability",
    "immutable"
  ],
  "homepage": "https://github.com/eslint-functional/eslint-plugin-functional#readme",
  "bugs": {
    "url": "https://github.com/eslint-functional/eslint-plugin-functional/issues"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/eslint-functional/eslint-plugin-functional.git"
  },
  "funding": [
    {
      "type": "ko-fi",
      "url": "https://ko-fi.com/rebeccastevens"
    },
    {
      "type": "tidelift",
      "url": "https://tidelift.com/funding/github/npm/eslint-plugin-functional"
    }
  ],
  "license": "MIT",
  "author": {
    "name": "Rebecca Stevens",
    "email": "rebecca.stevens@outlook.co.nz"
  },
  "contributors": [
    "Jonas Kello"
  ],
  "sideEffects": false,
  "type": "module",
  "exports": {
    "types": "./lib/index.d.ts",
    "default": "./lib/index.js"
  },
  "files": [
    "lib/",
    "package.json",
    "LICENSE",
    "README.md"
  ],
  "scripts": {
    "build": "pnpm run build:node && pnpm run build:docs",
    "build:docs": "eslint-doc-generator",
    "build:node": "rimraf lib && rollup -c rollup.config.ts --configPlugin @rollup/plugin-typescript --configImportAttributesKey with",
    "lint": "eslint && pnpm run lint:md && pnpm lint:eslint-docs && pnpm run lint:spelling && pnpm run lint:knip && pnpm run lint:package && pnpm run lint:packages",
    "lint-fix": "pnpm run build && eslint --fix && pnpm run lint:md-fix && pnpm run lint:packages-fix",
    "lint:eslint-docs": "eslint-doc-generator --check",
    "lint:eslint-docs-fix": "pnpm build:docs",
    "lint:js": "eslint \"**/*.?([cm])[jt]s?(x)\"",
    "lint:js-fix": "eslint \"**/*.?([cm])[jt]s?(x)\" --fix",
    "lint:knip": "knip",
    "lint:md": "markdownlint-cli2",
    "lint:md-fix": "markdownlint-cli2 --fix",
    "lint:md-full": "pnpm run lint:md && eslint \"**/*.md\"",
    "lint:md-full-fix": "pnpm run lint:md-fix && eslint \"**/*.md\" --fix",
    "lint:package": "publint --strict",
    "lint:packages": "pnpm dedupe --check",
    "lint:packages-fix": "pnpm dedupe",
    "lint:spelling": "cspell lint --no-progress --show-suggestions --show-context --dot \"**\" \".github/**/*\"",
    "lint:yaml": "eslint \"**/*.y?(a)ml\"",
    "lint:yaml-fix": "eslint \"**/*.y?(a)ml\" --fix",
    "prepare": "husky",
    "release": "npx --package semantic-release --package @semantic-release/changelog --package @semantic-release/commit-analyzer --package @semantic-release/git --package @semantic-release/github --package @semantic-release/npm --package @semantic-release/release-notes-generator --package semantic-release-replace-plugin --package semantic-release-publint semantic-release",
    "test": "pnpm run test:js",
    "test-work": "vitest",
    "test:js": "vitest --coverage",
    "test:js-run": "vitest run --coverage",
    "typecheck": "pnpm run typecheck:root && pnpm run typecheck:src",
    "typecheck:root": "tsc -p ./tsconfig.json --noEmit",
    "typecheck:src": "tsc -p ./src/tsconfig.json --noEmit",
    "verify": "pnpm run lint && pnpm run typecheck && pnpm run test:js-run"
  },
  "dependencies": {
    "@typescript-eslint/utils": "^8.26.0",
    "deepmerge-ts": "^7.1.5",
    "escape-string-regexp": "^5.0.0",
    "is-immutable-type": "^5.0.1",
    "ts-api-utils": "^2.0.1",
    "ts-declaration-location": "^1.0.6"
  },
  "devDependencies": {
    "@babel/eslint-parser": "8.0.0-rc.6",
    "@cspell/dict-cryptocurrencies": "5.0.5",
    "@eslint-community/eslint-plugin-eslint-comments": "4.7.2",
    "@eslint/compat": "2.1.0",
    "@eslint/markdown": "8.0.2",
    "@rebeccastevens/eslint-config": "3.9.7",
    "@rollup/plugin-replace": "6.0.3",
    "@rollup/plugin-typescript": "12.3.0",
    "@stylistic/eslint-plugin": "5.10.0",
    "@types/node": "20.19.33",
    "@typescript-eslint/eslint-plugin": "8.58.1",
    "@typescript-eslint/parser": "8.58.1",
    "@vitest/coverage-v8": "4.0.18",
    "@vitest/eslint-plugin": "1.6.18",
    "cspell": "10.0.0",
    "dedent": "1.7.2",
    "eslint": "10.0.1",
    "eslint-config-prettier": "10.1.8",
    "eslint-doc-generator": "3.6.0",
    "eslint-flat-config-utils": "3.2.0",
    "eslint-merge-processors": "2.0.0",
    "eslint-plugin-eslint-plugin": "7.3.3",
    "eslint-plugin-format": "2.0.1",
    "eslint-plugin-functional": "link:.",
    "eslint-plugin-import-x": "4.16.2",
    "eslint-plugin-jsdoc": "63.0.0",
    "eslint-plugin-jsonc": "3.2.0",
    "eslint-plugin-n": "18.0.1",
    "eslint-plugin-no-only-tests": "3.4.0",
    "eslint-plugin-optimize-regex": "1.2.1",
    "eslint-plugin-prettier": "5.5.6",
    "eslint-plugin-promise": "7.3.0",
    "eslint-plugin-regexp": "3.1.0",
    "eslint-plugin-sonarjs": "4.0.3",
    "eslint-plugin-unicorn": "64.0.0",
    "eslint-plugin-yml": "3.4.0",
    "eslint-vitest-rule-tester": "3.1.0",
    "fast-glob": "3.3.3",
    "husky": "9.1.7",
    "jsonc-eslint-parser": "3.1.0",
    "knip": "6.14.2",
    "lint-staged": "17.0.6",
    "markdownlint-cli2": "0.22.1",
    "prettier": "3.8.3",
    "publint": "0.3.21",
    "rimraf": "6.1.3",
    "rollup": "4.60.4",
    "rollup-plugin-deassert": "1.3.0",
    "rollup-plugin-dts-bundle-generator-2": "2.0.0",
    "tsc-files": "1.1.4",
    "tslib": "2.8.1",
    "tsx": "4.22.3",
    "typescript": "5.9.3",
    "vite-tsconfig-paths": "6.1.1",
    "vitest": "4.0.18",
    "yaml-eslint-parser": "2.0.0"
  },
  "peerDependencies": {
    "eslint": "^9.0.0 || ^10.0.0",
    "typescript": ">=4.7.4"
  },
  "peerDependenciesMeta": {
    "typescript": {
      "optional": true
    }
  },
  "packageManager": "pnpm@10.34.1",
  "engines": {
    "node": ">=v20.0.0"
  },
  "overrides": {
    "eslint-plugin-functional": "link:."
  }
}
