UNPKG

@matthew.ngo/react-filter-pilot

Version:

Powerful filtering, pagination, and sorting for React with TanStack Query integration

191 lines 5.12 kB
{ "name": "@matthew.ngo/react-filter-pilot", "version": "0.1.23", "description": "Powerful filtering, pagination, and sorting for React with TanStack Query integration", "author": "Htur Wehttam <matthew.ngo1114@gmail.com>", "license": "MIT", "homepage": "https://github.com/maemreyo/react-filter-pilot#readme", "repository": { "type": "git", "url": "git+https://github.com/maemreyo/react-filter-pilot.git" }, "bugs": { "url": "https://github.com/maemreyo/react-filter-pilot/issues" }, "keywords": [ "react", "filter", "pagination", "sorting", "tanstack-query", "react-query", "url-sync", "infinite-scroll", "typescript" ], "main": "./dist/index.cjs", "module": "./dist/index.js", "types": "./dist/index.d.ts", "exports": { ".": { "types": "./dist/index.d.ts", "import": "./dist/index.js", "require": "./dist/index.cjs" }, "./hooks/*": { "types": "./dist/hooks/*.d.ts", "import": "./dist/hooks/*.js", "require": "./dist/hooks/*.cjs" }, "./utils/*": { "types": "./dist/utils/*.d.ts", "import": "./dist/utils/*.js", "require": "./dist/utils/*.cjs" }, "./adapters/*": { "types": "./dist/adapters/*.d.ts", "import": "./dist/adapters/*.js", "require": "./dist/adapters/*.cjs" }, "./compat/*": { "types": "./dist/compat/*.d.ts", "import": "./dist/compat/*.js", "require": "./dist/compat/*.cjs" }, "./types": { "types": "./dist/types/index.d.ts", "import": "./dist/types/index.js", "require": "./dist/types/index.cjs" }, "./package.json": "./package.json" }, "files": [ "dist", "README.md", "LICENSE" ], "sideEffects": false, "type": "module", "peerDependencies": { "@tanstack/react-query": ">=4.0.0", "react": ">=16.8.0", "react-dom": ">=16.8.0" }, "peerDependenciesMeta": { "react-router-dom": { "optional": true }, "next": { "optional": true } }, "devDependencies": { "@emotion/react": "11.11.4", "@mantine/core": "6.0.22", "@mantine/dates": "6.0.22", "@mantine/hooks": "6.0.22", "@size-limit/preset-small-lib": "^8.2.0", "@tanstack/react-query": "^5.0.0", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", "@testing-library/react-hooks": "^8.0.0", "@types/jest": "^29.5.0", "@types/node": "^20.0.0", "@types/react": "^18.2.0", "@types/react-dom": "^18.2.0", "@typescript-eslint/eslint-plugin": "^6.0.0", "@typescript-eslint/parser": "^6.0.0", "eslint": "^8.50.0", "eslint-config-prettier": "^9.0.0", "eslint-plugin-react": "^7.33.0", "eslint-plugin-react-hooks": "^4.6.0", "glob": "^11.0.3", "husky": "^8.0.0", "jest": "^29.7.0", "jest-environment-jsdom": "^29.7.0", "lint-staged": "^14.0.0", "mantine-react-table": "1.3.4", "next": "^14.0.0", "prettier": "^3.0.0", "react": "^18.2.0", "react-dom": "^18.2.0", "rimraf": "^5.0.0", "size-limit": "^8.2.0", "ts-jest": "^29.1.0", "tslib": "^2.6.0", "tsup": "^8.5.0", "typescript": "^5.2.0" }, "size-limit": [ { "path": "dist/index.esm.js", "limit": "25 KB" } ], "lint-staged": { "*.{ts,tsx}": [ "eslint --fix", "prettier --write" ], "*.{js,jsx,json,md}": [ "prettier --write" ] }, "jest": { "preset": "ts-jest", "testEnvironment": "jsdom", "setupFilesAfterEnv": [ "<rootDir>/jest.setup.ts" ], "testMatch": [ "<rootDir>/src/**/__tests__/**/*.{ts,tsx}", "<rootDir>/src/**/*.{spec,test}.{ts,tsx}" ], "moduleNameMapper": { "^@/(.*)$": "<rootDir>/src/$1" }, "collectCoverageFrom": [ "src/**/*.{ts,tsx}", "!src/**/*.d.ts", "!src/**/*.stories.{ts,tsx}", "!src/**/*.example.{ts,tsx}", "!src/test-utils/**" ], "coverageThreshold": { "global": { "branches": 80, "functions": 80, "lines": 80, "statements": 80 } } }, "engines": { "node": ">=14.0.0" }, "dependencies": { "vitest": "^3.1.4" }, "optionalDependencies": { "react-router-dom": "^6.30.1" }, "scripts": { "dev": "tsup --watch", "build": "tsup", "build:rollup": "rollup -c", "build:types": "tsc -p tsconfig.build.json", "clean": "rimraf dist", "test": "jest", "test:watch": "jest --watch", "test:coverage": "jest --coverage", "lint": "eslint src --ext .ts,.tsx", "lint:fix": "eslint src --ext .ts,.tsx --fix", "type-check": "tsc --noEmit", "format": "prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"", "format:check": "prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"", "size": "size-limit", "analyze": "size-limit --why", "analyze:bundle": "pnpm build && npx esbuild-visualizer --metadata dist/metafile-cjs.json --filename dist/bundle-analysis.html && open dist/bundle-analysis.html", "benchmark": "node scripts/benchmark.js" } }