{
  "name": "@pobammer-ts/small-rules",
  "version": "3.9.0",
  "description": "Various Oxlint-native rules for linting roblox-ts projects.",
  "keywords": [
    "lint",
    "linter",
    "linting",
    "oxlint",
    "roblox-ts",
    "typescript"
  ],
  "homepage": "https://docs.howmanysmall.com/small-rules/",
  "bugs": {
    "url": "https://github.com/howmanysmall/small-rules/issues"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/howmanysmall/small-rules.git"
  },
  "license": "MIT",
  "author": "HowManySmall",
  "sideEffects": false,
  "type": "module",
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "default": "./dist/index.js"
    },
    "./package.json": "./package.json"
  },
  "files": [
    "dist",
    "THIRD-PARTY-NOTICES.md"
  ],
  "dependencies": {
    "arktype": "2.2.9",
    "effect": "4.0.1",
    "ignore": "7.0.13",
    "minimatch": "10.2.6",
    "oxc-resolver": "11.24.2",
    "oxlint-plugin-utilities": "1.1.0",
    "yuku-parser": "0.19.0"
  },
  "devDependencies": {
    "@arethetypeswrong/core": "0.18.5",
    "@biomejs/biome": "2.6.2",
    "@commitlint/cli": "21.2.4",
    "@commitlint/config-conventional": "21.2.4",
    "@commitlint/types": "21.2.3",
    "@e18e/eslint-plugin": "0.8.1",
    "@fast-check/vitest": "0.5.0",
    "@howmanysmall/lint-configurations": "0.0.0",
    "@isentinel/eslint-config": "6.1.0",
    "@isentinel/hooks": "1.7.0",
    "@mdx-js/language-server": "0.6.4",
    "@small-rules/arktype-utilities": "0.0.0",
    "@small-rules/oxlint-utilities": "0.0.0",
    "@small-rules/rule-harness": "0.0.0",
    "@small-rules/string-utilities": "0.0.0",
    "@small-rules/vite-configuration": "0.0.0",
    "@stryker-mutator/api": "10.0.0",
    "@stryker-mutator/core": "10.0.0",
    "@stryker-mutator/vitest-runner": "10.0.0",
    "@stylistic/eslint-plugin": "5.10.0",
    "@total-typescript/shoehorn": "0.1.2",
    "@total-typescript/ts-reset": "0.6.1",
    "@types/bun": "1.4.3",
    "@types/node": "^26.6.5",
    "@vitest/coverage-istanbul": "5.0.5",
    "@vitest/coverage-v8": "5.0.5",
    "@vitest/eslint-plugin": "1.6.27",
    "@vitiate/core": "0.3.1",
    "@vitiate/fuzzed-data-provider": "0.3.1",
    "bumpp": "12.3.0",
    "confbox": "0.3.1",
    "eslint": "10.13.0",
    "eslint-plugin-antfu": "3.2.3",
    "eslint-plugin-astro": "3.2.1",
    "eslint-plugin-better-max-params": "1.0.0",
    "eslint-plugin-comment-length": "2.3.1",
    "eslint-plugin-de-morgan": "2.2.1",
    "eslint-plugin-eslint-plugin": "7.6.2",
    "eslint-plugin-flawless": "1.14.1",
    "eslint-plugin-jest-extended": "3.0.1",
    "eslint-plugin-jsdoc": "65.4.0",
    "eslint-plugin-n": "18.5.0",
    "eslint-plugin-oxfmt": "0.29.0",
    "eslint-plugin-perfectionist": "5.13.0",
    "eslint-plugin-pnpm": "1.9.1",
    "eslint-plugin-react-jsx": "5.28.4",
    "eslint-plugin-react-naming-convention": "5.28.4",
    "eslint-plugin-react-x": "5.28.4",
    "eslint-plugin-roblox-ts": "1.4.1",
    "eslint-plugin-sonarjs": "4.2.2",
    "eslint-plugin-unicorn": "78.0.0",
    "eslint-plugin-unused-imports": "4.4.1",
    "fallow": "3.34.1",
    "fast-check": "4.10.2",
    "jiti": "2.7.0",
    "oxfmt": "0.74.0",
    "oxlint": "1.89.0",
    "oxlint-tsgolint": "7.0.2004",
    "pncat": "0.13.4",
    "publint": "0.3.25",
    "react-doctor": "0.9.18",
    "sfw": "2.0.6",
    "skills": "1.7.4",
    "tsdown": "0.23.1",
    "tsrs": "0.18.0-ts7.1.0-dev.20260929",
    "turbo": "2.11.10",
    "type-fest": "5.10.0",
    "typescript": "npm:@typescript/typescript6@^6.0.2",
    "vitest": "5.0.5",
    "vitiate": "0.3.1",
    "zx": "8.8.5"
  },
  "peerDependencies": {
    "typescript": ">=5 <8"
  },
  "engines": {
    "node": ">=22.12.0"
  },
  "publishConfig": {
    "access": "public"
  },
  "scripts": {
    "biome": "biome",
    "build": "tsdown",
    "build:local": "bun run scripts/build-local.ts",
    "build:local:dev": "bun run scripts/build-local.ts --no-minify",
    "changelog:version": "bun run scripts/ensure-unreleased.ts && git add CHANGELOG.md",
    "check": "turbo run lint type-check test build",
    "commitlint": "commitlint",
    "docs:build": "turbo run build --filter=@small-rules/documentation",
    "docs:check": "turbo run check --filter=@small-rules/documentation",
    "docs:dev": "nr -F '@small-rules/documentation' dev",
    "doctor": "node --run react-doctor",
    "fallow": "fallow",
    "fallow:audit": "fallow audit",
    "fallow:dead-code": "fallow dead-code",
    "fallow:dupes": "fallow dupes",
    "fallow:fix": "fallow fix --dry-run",
    "fallow:health": "fallow health --hotspots --targets",
    "fallow:production": "fallow dead-code --production",
    "fallow-lsp": "fallow-lsp",
    "fallow-mcp": "fallow-mcp",
    "format": "bash -c 'a=$(bash scripts/get-defaults.sh \"$@\"); node --run biome -- check --fix $a && node --run oxfmt -- $a' _",
    "format:check": "bash -c 'a=$(bash scripts/get-defaults.sh \"$@\"); node --run biome -- check --no-errors-on-unmatched $a && node --run oxfmt -- --no-error-on-unmatched-pattern --check $a' _",
    "format:safe": "bash -c 'a=$(bash scripts/get-defaults.sh \"$@\"); node --run biome -- check --no-errors-on-unmatched --fix $a && node --run oxfmt -- --no-error-on-unmatched-pattern $a' _",
    "generate:default-properties": "bun run scripts/generate-default-properties.ts",
    "generate:dictionary-verbs": "bun run scripts/generate-dictionary-verbs.ts && node --run format:safe -- src/generated/dictionary-verbs.ts",
    "generate:relations": "bun run scripts/regenerate-relations.ts",
    "generate:roblox-yielding-members": "bun run scripts/generate-roblox-yielding-members.ts && node --run format:safe -- src/generated/roblox-yielding-members.ts",
    "generate:third-party-notices": "bun run scripts/generate-third-party-notices.ts",
    "hooks:install": "hk install --mise",
    "hooks:validate": "hk validate",
    "isentinel-lint": "NODE_OPTIONS=\"${NODE_OPTIONS:-} --max-old-space-size=6144\" isentinel-lint --concurrency=off",
    "jiti": "jiti",
    "lint": "bash -c 'a=$(bash scripts/get-defaults.sh \"$@\"); node --run isentinel-lint -- $a && node --run biome -- check --no-errors-on-unmatched $a' _",
    "lint:agent": "bash -c 'a=$(bash scripts/get-defaults.sh \"$@\"); node --run isentinel-lint -- --agents $a && node --run biome -- check --no-errors-on-unmatched --reporter concise $a' _",
    "mdx-language-server": "mdx-language-server",
    "oxfmt": "oxfmt",
    "oxlint": "oxlint",
    "publint": "publint",
    "react-doctor": "react-doctor",
    "references:check": "bun run scripts/sync-tsconfig-references.ts --check",
    "references:sync": "bun run scripts/sync-tsconfig-references.ts",
    "release": "bumpp",
    "release-notes:regenerate": "bun run scripts/regenerate-release-notes.ts",
    "sfw": "sfw",
    "skills": "skills",
    "test": "vitest run",
    "test:agent": "vitest run --reporter agent",
    "test:bench": "vitest bench",
    "test:fuzz": "vitiate regression --config vitest.vitiate.config.ts",
    "test:fuzz:run": "vitiate fuzz --fuzz-time 10 --config vitest.vitiate.config.ts",
    "test:istanbul": "nr test:agent --coverage.provider=istanbul --coverage.reporter=json --coverage.reportsDirectory=.cache/istanbul",
    "test:mutation": "stryker run",
    "tsrs": "tsrs",
    "turbo": "turbo",
    "type-check": "tsrs --build",
    "type-check:agent": "node --run type-check -- --pretty false",
    "preversion": "if test -n \"$(git status --porcelain)\"; then echo 'Release requires a clean worktree.' >&2; exit 1; fi"
  }
}