UNPKG

nuqs

Version:

Type-safe search params state manager for React - Like useState, but stored in the URL query string

216 lines (215 loc) 5.93 kB
{ "name": "nuqs", "version": "2.5.1", "description": "Type-safe search params state manager for React - Like useState, but stored in the URL query string", "license": "MIT", "author": { "name": "François Best", "email": "contact@francoisbest.com", "url": "https://francoisbest.com" }, "funding": "https://github.com/sponsors/franky47", "repository": { "type": "git", "url": "git+https://github.com/47ng/nuqs.git", "directory": "packages/nuqs" }, "homepage": "https://nuqs.47ng.com", "keywords": [ "url state", "url", "querystring", "query string", "search params", "next-usequerystate", "useQueryState", "useQueryStates", "nextjs", "react", "remix", "react-router", "tanstack-router" ], "publishConfig": { "access": "public", "provenance": true }, "files": [ "dist/", "server.d.ts", "testing.d.ts", "adapters/react.d.ts", "adapters/next.d.ts", "adapters/next/app.d.ts", "adapters/next/pages.d.ts", "adapters/remix.d.ts", "adapters/react-router.d.ts", "adapters/react-router/v6.d.ts", "adapters/react-router/v7.d.ts", "adapters/tanstack-router.d.ts", "adapters/custom.d.ts", "adapters/testing.d.ts" ], "type": "module", "sideEffects": false, "module": "dist/index.js", "types": "dist/index.d.ts", "exports": { "./package.json": "./package.json", ".": { "types": "./dist/index.d.ts", "import": "./dist/index.js", "default": "./dist/index.js" }, "./server": { "types": "./dist/server.d.ts", "import": "./dist/server.js", "default": "./dist/server.js" }, "./testing": { "types": "./dist/testing.d.ts", "import": "./dist/testing.js", "default": "./dist/testing.js" }, "./adapters/react": { "types": "./dist/adapters/react.d.ts", "import": "./dist/adapters/react.js", "default": "./dist/adapters/react.js" }, "./adapters/next": { "types": "./dist/adapters/next.d.ts", "import": "./dist/adapters/next.js", "default": "./dist/adapters/next.js" }, "./adapters/next/app": { "types": "./dist/adapters/next/app.d.ts", "import": "./dist/adapters/next/app.js", "default": "./dist/adapters/next/app.js" }, "./adapters/next/pages": { "types": "./dist/adapters/next/pages.d.ts", "import": "./dist/adapters/next/pages.js", "default": "./dist/adapters/next/pages.js" }, "./adapters/remix": { "types": "./dist/adapters/remix.d.ts", "import": "./dist/adapters/remix.js", "default": "./dist/adapters/remix.js" }, "./adapters/react-router": { "types": "./dist/adapters/react-router.d.ts", "import": "./dist/adapters/react-router.js", "default": "./dist/adapters/react-router.js" }, "./adapters/react-router/v6": { "types": "./dist/adapters/react-router/v6.d.ts", "import": "./dist/adapters/react-router/v6.js", "default": "./dist/adapters/react-router/v6.js" }, "./adapters/react-router/v7": { "types": "./dist/adapters/react-router/v7.d.ts", "import": "./dist/adapters/react-router/v7.js", "default": "./dist/adapters/react-router/v7.js" }, "./adapters/tanstack-router": { "types": "./dist/adapters/tanstack-router.d.ts", "import": "./dist/adapters/tanstack-router.js", "default": "./dist/adapters/tanstack-router.js" }, "./adapters/custom": { "types": "./dist/adapters/custom.d.ts", "import": "./dist/adapters/custom.js", "default": "./dist/adapters/custom.js" }, "./adapters/testing": { "types": "./dist/adapters/testing.d.ts", "import": "./dist/adapters/testing.js", "default": "./dist/adapters/testing.js" } }, "scripts": { "dev": "tsdown --watch", "prebuild": "rm -rf dist", "build": "tsdown", "postbuild": "size-limit --json > size.json", "test": "pnpm run --stream '/^test:/'", "test:unit": "vitest run --typecheck", "test:size": "size-limit", "prepack": "./scripts/prepack.sh" }, "dependencies": { "@standard-schema/spec": "1.0.0" }, "peerDependencies": { "@remix-run/react": ">=2", "@tanstack/react-router": "^1", "next": ">=14.2.0", "react": ">=18.2.0 || ^19.0.0-0", "react-router": "^6 || ^7", "react-router-dom": "^6 || ^7" }, "peerDependenciesMeta": { "@remix-run/react": { "optional": true }, "@tanstack/react-router": { "optional": true }, "next": { "optional": true }, "react-router": { "optional": true }, "react-router-dom": { "optional": true } }, "devDependencies": { "@remix-run/react": "^2.17.0", "@size-limit/preset-small-lib": "^11.2.0", "@testing-library/dom": "^10.4.1", "@testing-library/jest-dom": "^6.8.0", "@testing-library/react": "^16.3.0", "@testing-library/user-event": "^14.6.1", "@types/node": "^24.3.0", "@types/react": "catalog:react19", "@types/react-dom": "catalog:react19", "@vitejs/plugin-react": "^5.0.1", "@vitest/coverage-v8": "^3.2.4", "arktype": "^2.1.20", "fast-check": "^4.2.0", "jsdom": "^26.1.0", "next": "15.5.0", "react": "catalog:react19", "react-dom": "catalog:react19", "react-router-dom": "6.30.1", "size-limit": "^11.2.0", "tsdown": "^0.14.1", "typescript": "^5.9.2", "valibot": "^1.1.0", "vitest": "^3.2.4", "vitest-package-exports": "^0.1.1", "zod": "^4.0.17" }, "size-limit": [ { "name": "Client", "path": "dist/index.js", "limit": "5.5 kB", "ignore": [ "react", "next" ] }, { "name": "Server", "path": "dist/server.js", "limit": "3 kB", "ignore": [ "react", "next" ] } ] }