{
  "name": "@mcabreradev/filter",
  "version": "5.10.1",
  "type": "module",
  "description": "A powerful, SQL-like array filtering library for TypeScript and JavaScript with advanced pattern matching, MongoDB-style operators, deep object comparison, and zero dependencies",
  "scripts": {
    "prebuild": "rm -rf build",
    "build": "tsc && tsx scripts/optimize-build.ts",
    "postbuild": "pnpm run size",
    "test": "vitest run",
    "test:watch": "vitest",
    "test:ui": "vitest --ui",
    "test:coverage": "vitest run --coverage",
    "test:types": "tsd --files '__test__/test-d/**/*.test-d.ts'",
    "test:docs": "vitest run --config vitest.docs.config.ts",
    "test:docs:watch": "vitest --config vitest.docs.config.ts",
    "test:docs:ui": "vitest --ui --config vitest.docs.config.ts",
    "lint": "eslint src/**/*.ts",
    "lint:fix": "eslint src/**/*.ts --fix",
    "format": "prettier --write \"src/**/*.ts\"",
    "typecheck": "tsc --noEmit",
    "size": "size-limit",
    "size:why": "size-limit --why",
    "analyze": "pnpm run size:why",
    "check": "pnpm exec lint-staged && pnpm run test:types && pnpm run typecheck && pnpm run lint",
    "prepare": "husky",
    "prepublish": "pnpm run check",
    "version": "pnpm run format && git add src/",
    "publish:major": "pnpm run check && pnpm version major && pnpm publish",
    "publish:minor": "pnpm run check && pnpm version minor && pnpm publish",
    "publish:patch": "pnpm run check && pnpm version patch && pnpm publish",
    "release": "git push origin --tags",
    "release:major": "pnpm run publish:major && pnpm run release",
    "release:minor": "pnpm run publish:minor && pnpm run release",
    "release:patch": "pnpm run publish:patch && pnpm run release",
    "doctoc": "doctoc --title='## Table of Contents' --github README.md",
    "docs:dev": "vitepress dev docs",
    "docs:build": "vitepress build docs",
    "docs:preview": "vitepress preview docs",
    "docs:api": "typedoc"
  },
  "lint-staged": {
    "*.ts": [
      "eslint --fix",
      "prettier --write"
    ]
  },
  "repository": {
    "type": "git",
    "url": "git+ssh://git@github.com/mcabreradev/filter.git"
  },
  "keywords": [
    "filter",
    "array",
    "filtering",
    "typescript",
    "javascript",
    "mongodb",
    "operators",
    "query",
    "search",
    "pattern-matching",
    "wildcard",
    "sql-like",
    "data-filtering",
    "object-filtering",
    "deep-comparison",
    "nested-objects",
    "lazy-evaluation",
    "geospatial",
    "datetime",
    "memoization",
    "caching",
    "performance",
    "react",
    "vue",
    "framework-integration",
    "type-safe",
    "zero-dependencies",
    "functional-programming",
    "data-transformation",
    "collection-utils",
    "array-methods",
    "query-builder",
    "data-query",
    "mongodb-query",
    "nosql",
    "json-filter",
    "object-query",
    "advanced-filtering",
    "regex",
    "comparison-operators",
    "logical-operators",
    "string-operators",
    "array-operators",
    "location-based",
    "spatial-query",
    "temporal-query",
    "react-hooks",
    "vue-composables",
    "nextjs",
    "node",
    "nodejs",
    "frontend",
    "backend",
    "es6"
  ],
  "author": "Miguelangel Cabrera",
  "license": "MIT",
  "bugs": {
    "url": "https://github.com/mcabreradev/filter/issues"
  },
  "homepage": "https://github.com/mcabreradev/filter#readme",
  "devDependencies": {
    "@angular/core": "^19.2.20",
    "@size-limit/preset-small-lib": "^11.2.0",
    "@testing-library/preact": "^3.2.4",
    "@testing-library/react": "^16.1.0",
    "@types/leaflet": "^1.9.21",
    "@types/node": "^24.9.1",
    "@types/react": "^18.3.18",
    "@typescript-eslint/eslint-plugin": "^8.57.1",
    "@typescript-eslint/parser": "^8.57.1",
    "@vercel/analytics": "^1.5.0",
    "@vitejs/plugin-vue": "^6.0.5",
    "@vitest/coverage-v8": "^2.1.9",
    "@vitest/ui": "^2.1.9",
    "@vue-leaflet/vue-leaflet": "^0.10.1",
    "@vue/repl": "^4.7.0",
    "@vue/test-utils": "^2.4.6",
    "doctoc": "^2.3.0",
    "eslint": "^9.39.4",
    "happy-dom": "^20.0.10",
    "husky": "^9.1.7",
    "jsdom": "^26.1.0",
    "leaflet": "^1.9.4",
    "lint-staged": "^16.2.4",
    "preact": "^10.29.0",
    "prettier": "^3.4.0",
    "rxjs": "^7.8.1",
    "size-limit": "^11.2.0",
    "solid-js": "^1.9.11",
    "tsd": "^0.33.0",
    "tsx": "^4.20.6",
    "typedoc": "^0.28.17",
    "typedoc-plugin-markdown": "^4.9.0",
    "typescript": "^5.7.0",
    "vitepress": "^1.6.4",
    "vitest": "^2.1.0",
    "vue": "^3.5.13",
    "zod": "^4.1.12"
  },
  "peerDependencies": {
    "@angular/core": ">=17.0.0",
    "preact": ">=10.0.0",
    "react": ">=18.0.0",
    "solid-js": ">=1.8.0",
    "vue": ">=3.0.0",
    "zod": ">=3.0.0"
  },
  "peerDependenciesMeta": {
    "@angular/core": {
      "optional": true
    },
    "preact": {
      "optional": true
    },
    "react": {
      "optional": true
    },
    "solid-js": {
      "optional": true
    },
    "vue": {
      "optional": true
    },
    "zod": {
      "optional": true
    }
  },
  "engines": {
    "node": ">=20"
  },
  "main": "build/index.js",
  "types": "build/index.d.ts",
  "sideEffects": false,
  "exports": {
    ".": {
      "types": "./build/index.d.ts",
      "import": "./build/index.js",
      "default": "./build/index.js"
    },
    "./core": {
      "types": "./build/core/index.d.ts",
      "import": "./build/core/index.js",
      "default": "./build/core/index.js"
    },
    "./operators": {
      "types": "./build/operators/index.d.ts",
      "import": "./build/operators/index.js",
      "default": "./build/operators/index.js"
    },
    "./operators/comparison": {
      "types": "./build/operators/comparison/index.d.ts",
      "import": "./build/operators/comparison/index.js",
      "default": "./build/operators/comparison/index.js"
    },
    "./operators/array": {
      "types": "./build/operators/array/index.d.ts",
      "import": "./build/operators/array/index.js",
      "default": "./build/operators/array/index.js"
    },
    "./operators/string": {
      "types": "./build/operators/string/index.d.ts",
      "import": "./build/operators/string/index.js",
      "default": "./build/operators/string/index.js"
    },
    "./operators/logical": {
      "types": "./build/operators/logical/index.d.ts",
      "import": "./build/operators/logical/index.js",
      "default": "./build/operators/logical/index.js"
    },
    "./operators/geospatial": {
      "types": "./build/operators/geospatial/index.d.ts",
      "import": "./build/operators/geospatial/index.js",
      "default": "./build/operators/geospatial/index.js"
    },
    "./operators/datetime": {
      "types": "./build/operators/datetime/index.d.ts",
      "import": "./build/operators/datetime/index.js",
      "default": "./build/operators/datetime/index.js"
    },
    "./react": {
      "types": "./build/integrations/react/index.d.ts",
      "import": "./build/integrations/react/index.js",
      "default": "./build/integrations/react/index.js"
    },
    "./vue": {
      "types": "./build/integrations/vue/index.d.ts",
      "import": "./build/integrations/vue/index.js",
      "default": "./build/integrations/vue/index.js"
    },
    "./angular": {
      "types": "./build/integrations/angular/index.d.ts",
      "import": "./build/integrations/angular/index.js",
      "default": "./build/integrations/angular/index.js"
    },
    "./solidjs": {
      "types": "./build/integrations/solidjs/index.d.ts",
      "import": "./build/integrations/solidjs/index.js",
      "default": "./build/integrations/solidjs/index.js"
    },
    "./preact": {
      "types": "./build/integrations/preact/index.d.ts",
      "import": "./build/integrations/preact/index.js",
      "default": "./build/integrations/preact/index.js"
    },
    "./lazy": {
      "types": "./build/core/lazy/index.d.ts",
      "import": "./build/core/lazy/index.js",
      "default": "./build/core/lazy/index.js"
    },
    "./debug": {
      "types": "./build/debug/index.d.ts",
      "import": "./build/debug/index.js",
      "default": "./build/debug/index.js"
    },
    "./config": {
      "types": "./build/config/index.d.ts",
      "import": "./build/config/index.js",
      "default": "./build/config/index.js"
    },
    "./validation": {
      "types": "./build/validation/index.d.ts",
      "import": "./build/validation/index.js",
      "default": "./build/validation/index.js"
    },
    "./package.json": "./package.json"
  },
  "files": [
    "build/**/*.js",
    "build/**/*.d.ts",
    "README.md",
    "LICENSE.md"
  ],
  "publishConfig": {
    "access": "public",
    "registry": "https://registry.npmjs.org"
  },
  "pnpm": {
    "overrides": {
      "glob@>=10.2.0 <10.5.0": ">=10.5.0",
      "minimatch@<3.1.4": ">=3.1.4",
      "minimatch@>=9.0.0 <9.0.7": ">=9.0.7",
      "rollup@>=4.0.0 <4.59.0": ">=4.59.0",
      "underscore@<=1.13.7": ">=1.13.8",
      "flatted@<3.4.2": ">=3.4.2",
      "esbuild@<=0.24.2": ">=0.25.0",
      "mdast-util-to-hast@>=13.0.0 <13.2.1": ">=13.2.1",
      "markdown-it@>=13.0.0 <14.1.1": ">=14.1.1"
    }
  }
}
