@matthew.ngo/react-filter-pilot
Version:
Powerful filtering, pagination, and sorting for React with TanStack Query integration
191 lines • 5.12 kB
JSON
{
"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"
}
}