{
"name": "react-querybuilder-monorepo",
"private": true,
"workspaces": [
"packages/*",
"website"
],
"scripts": {
"start": "bun --hot ./utils/devapp/server.ts",
"start:antd": "bun run --filter @react-querybuilder/antd start",
"start:bootstrap": "bun run --filter @react-querybuilder/bootstrap start",
"start:bulma": "bun run --filter @react-querybuilder/bulma start",
"start:chakra": "bun run --filter @react-querybuilder/chakra start",
"start:datetime": "bun run --filter @react-querybuilder/datetime start",
"start:dnd": "bun run --filter @react-querybuilder/dnd start",
"start:expr": "bun run --filter @react-querybuilder/expr start",
"start:fluent": "bun run --filter @react-querybuilder/fluent start",
"start:mantine": "bun run --filter @react-querybuilder/mantine start",
"start:material": "bun run --filter @react-querybuilder/material start",
"start:native": "bun run --filter @react-querybuilder/native start",
"start:rqb": "bun run --filter react-querybuilder start",
"start:re": "bun run --filter @react-querybuilder/rules-engine start",
"start:prime": "bun run --filter @react-querybuilder/prime start",
"start:tremor": "bun run --filter @react-querybuilder/tremor start",
"build": "bun run --parallel --filter '{,@}react-querybuilder{,/}*' build",
"build:sequential": "bun run --sequential --filter '{,@}react-querybuilder{,/}*' build",
"build:antd": "bun --bun run --filter @react-querybuilder/antd build",
"build:bootstrap": "bun --bun run --filter @react-querybuilder/bootstrap build",
"build:bulma": "bun --bun run --filter @react-querybuilder/bulma build",
"build:chakra": "bun --bun run --filter @react-querybuilder/chakra build",
"build:core": "bun --bun run --filter @react-querybuilder/core build",
"build:core:main": "bun --bun run --filter @react-querybuilder/core build:main",
"build:core:css": "bun --bun run --filter @react-querybuilder/core build:css",
"build:datetime": "bun --bun run --filter @react-querybuilder/datetime build",
"build:dnd": "bun --bun run --filter @react-querybuilder/dnd build",
"build:expr": "bun --bun run --filter @react-querybuilder/expr build",
"build:expr:main": "bun --bun run --filter @react-querybuilder/expr build:main",
"build:expr:css": "bun --bun run --filter @react-querybuilder/expr build:css",
"build:fluent": "bun --bun run --filter @react-querybuilder/fluent build",
"build:mantine": "bun --bun run --filter @react-querybuilder/mantine build",
"build:material": "bun --bun run --filter @react-querybuilder/material build",
"build:native": "bun --bun run --filter @react-querybuilder/native build",
"build:prime": "bun --bun run --filter @react-querybuilder/prime build",
"build:rqb": "bun --bun run --filter react-querybuilder build",
"build:rqb:main": "bun --bun run --filter react-querybuilder build:main",
"build:rqb:css": "bun --bun run --filter react-querybuilder build:css",
"build:re": "bun --bun run --filter @react-querybuilder/rules-engine build",
"build:re:main": "bun --bun run --filter @react-querybuilder/rules-engine build:main",
"build:re:css": "bun --bun run --filter @react-querybuilder/rules-engine build:css",
"build:tremor": "bun --bun run --filter @react-querybuilder/tremor build",
"check:all": "bun install --frozen-lockfile && bun run build && bun run fmt:check && bun run lint && bun run typecheck && bun run test && bun run conformance:check && bun run check-derivations-purity && bun run check-dts-peer-leaks && bun run are-the-types-wrong && bun run website:build:full",
"lint": "oxlint",
"test": "bun --bun run test:bun && bun test:coverage",
"test:bun": "bun generate-prisma-client; bun test --randomize ./packages/{core,datetime,expr,rules-engine} ./utils/conformance",
"test:watch": "vitest",
"test:coverage": "vitest run --coverage",
"test:antd": "vitest run packages/antd --coverage --coverage.include 'packages/antd/src'",
"test:bootstrap": "vitest run packages/bootstrap --coverage --coverage.include 'packages/bootstrap/src'",
"test:bulma": "vitest run packages/bulma --coverage --coverage.include 'packages/bulma/src'",
"test:chakra": "vitest run packages/chakra --coverage --coverage.include 'packages/chakra/src/!(snippets)'",
"test:core": "vitest run packages/core --coverage --coverage.include 'packages/core/src/**/!(*TestUtils|*.test-d|celParser|sqlParser|parseCypher|parseGremlin|parseSPARQL).ts' --coverage.exclude '**/prisma/generated/**'",
"test:datetime": "vitest run packages/datetime --coverage --coverage.include 'packages/datetime/src/**/!(*TestUtils|*.test-d|index.{date-fns,dayjs,jsdate,luxon}).{ts,tsx}' --coverage.exclude '**/prisma/generated/**'",
"test:dnd": "vitest run packages/dnd --coverage --coverage.include 'packages/dnd/src/**/!(*.test-d).{ts,tsx}'",
"test:expr": "vitest run packages/expr --coverage --coverage.include 'packages/expr/src'",
"test:fluent": "vitest run packages/fluent --coverage --coverage.include 'packages/fluent/src'",
"test:mantine": "vitest run packages/mantine --coverage --coverage.include 'packages/mantine/src'",
"test:material": "vitest run packages/material --coverage --coverage.include 'packages/material/src'",
"test:native": "vitest run packages/native --coverage --coverage.include 'packages/native/src'",
"test:prime": "vitest run packages/prime --coverage --coverage.include 'packages/prime/src'",
"test:re": "vitest run packages/rules-engine --coverage --coverage.include 'packages/rules-engine/src/!(components/)/**/!(*.test-d).{ts,tsx}'",
"test:rqb": "vitest run packages/react-querybuilder --coverage --coverage.include 'packages/react-querybuilder/src/**/!(*.test-d).{ts,tsx}'",
"test:tremor": "vitest run packages/tremor --coverage --coverage.include 'packages/tremor/src'",
"typecheck": "bun run --sequential 'typecheck:*' # sequential runs much faster than parallel",
"typecheck:antd": "./node_modules/typescript/bin/tsc -p packages/antd",
"typecheck:bootstrap": "./node_modules/typescript/bin/tsc -p packages/bootstrap",
"typecheck:bulma": "./node_modules/typescript/bin/tsc -p packages/bulma",
"typecheck:chakra": "./node_modules/typescript/bin/tsc -p packages/chakra",
"typecheck:core": "./node_modules/typescript/bin/tsc -p packages/core",
"typecheck:datetime": "./node_modules/typescript/bin/tsc -p packages/datetime",
"typecheck:dnd": "./node_modules/typescript/bin/tsc -p packages/dnd",
"typecheck:expr": "./node_modules/typescript/bin/tsc -p packages/expr",
"typecheck:fluent": "./node_modules/typescript/bin/tsc -p packages/fluent",
"typecheck:mantine": "./node_modules/typescript/bin/tsc -p packages/mantine",
"typecheck:material": "./node_modules/typescript/bin/tsc -p packages/material",
"typecheck:native": "./node_modules/typescript/bin/tsc -p packages/native",
"typecheck:prime": "./node_modules/typescript/bin/tsc -p packages/prime",
"typecheck:rqb": "./node_modules/typescript/bin/tsc -p packages/react-querybuilder",
"typecheck:re": "./node_modules/typescript/bin/tsc -p packages/rules-engine",
"typecheck:tremor": "./node_modules/typescript/bin/tsc -p packages/tremor",
"typecheck:examples": "./node_modules/typescript/bin/tsc -p examples",
"typecheck:website": "./node_modules/typescript/bin/tsc -p website",
"typecheck:utils": "./node_modules/typescript/bin/tsc -p utils",
"typecheck:root": "./node_modules/typescript/bin/tsc -p ./tsconfig.json",
"are-the-types-wrong": "bun run --parallel 'attw:*'",
"attw:antd": "attw --format table-flipped --pack ./packages/antd",
"attw:bootstrap": "attw --format table-flipped --pack ./packages/bootstrap",
"attw:bulma": "attw --format table-flipped --pack ./packages/bulma",
"attw:chakra": "attw --format table-flipped --pack ./packages/chakra",
"attw:core": "attw --format table-flipped --pack ./packages/core",
"attw:datetime": "attw --format table-flipped --pack ./packages/datetime",
"attw:dnd": "attw --format table-flipped --pack ./packages/dnd",
"attw:expr": "attw --format table-flipped --pack ./packages/expr",
"attw:fluent": "attw --format table-flipped --pack ./packages/fluent",
"attw:mantine": "attw --format table-flipped --pack ./packages/mantine",
"attw:material": "attw --format table-flipped --pack ./packages/material",
"attw:native": "attw --format table-flipped --pack ./packages/native",
"attw:prime": "attw --format table-flipped --pack ./packages/prime",
"attw:re": "attw --format table-flipped --pack ./packages/rules-engine",
"attw:rqb": "attw --format table-flipped --pack ./packages/react-querybuilder",
"attw:tremor": "attw --format table-flipped --pack ./packages/tremor",
"fmt": "oxfmt",
"fmt:check": "oxfmt --check",
"check-derivations-purity": "bun ./utils/check-derivations-purity.ts",
"check-dts-peer-leaks": "bun ./utils/check-dts-peer-leaks.ts",
"conformance:check": "bun ./utils/conformance/check.ts",
"conformance:generate": "bun ./utils/conformance/generate.tsx",
"conformance:pack": "bun ./utils/conformance/pack.ts",
"generate-examples": "bun ./examples/generateExamples.ts",
"generate-parsers": "bun --bun run generate-sqlparser && bun --bun run generate-celparser && bun --bun generate-parsers-codemod",
"generate-sqlparser": "bunx --bun ts-jison -n SQL -t typescript packages/core/src/utils/parseSQL/sql.jison --outfile packages/core/src/utils/parseSQL/sqlParser.ts",
"generate-celparser": "bunx --bun ts-jison -n CEL -t typescript packages/core/src/utils/parseCEL/cel.jison --outfile packages/core/src/utils/parseCEL/celParser.ts",
"generate-parsers-codemod": "perl -pi -e 's/lexer = new (CEL|SQL)Lexer\\(/lexer: $1Lexer = new $1Lexer\\(/g' packages/core/src/utils/parse{CEL/cel,SQL/sql}Parser.ts",
"generate-prisma-client": "./utils/gen-prisma-client.sh",
"generate-shadcn-registry": "bun run --sequential --filter website generate-shadcn-registry",
"update-mantine-css": "bun utils/update-mantine-css.ts",
"outdated": "bun update --interactive --recursive",
"reset-deps": "rm -rf node_modules packages/*/node_modules website/node_modules bun.lock bun.lockb && bun install --save-text-lockfile",
"version": "bun ./utils/version.ts && bun install && bun --bun run build && bun run generate-examples && bun run conformance:generate && git add examples packages bun.lock utils/conformance/fixtures",
"web": "bun run --sequential --filter website start",
"web:skiptypedoc": "RQB_TYPEDOC_DONE=true bun run --sequential --filter website start",
"website:clearrun": "bun run --sequential --filter website clear && bun run --sequential --filter website start",
"website:clearbuild": "bun run --sequential --filter website clear && bun run --sequential --filter website build",
"website:build": "bun run generate-shadcn-registry && bun run --sequential --filter website build",
"website:build:full": "bun run generate-shadcn-registry && RQB_ALL_VERSIONS=true bun run --sequential --filter website build",
"website:serve": "bun run --sequential --filter website serve",
"website:deploy": "bun run --sequential --filter website deploy",
"website:clear": "bun run --sequential --filter website clear"
},
"catalog": {
"@ant-design/icons": "^6.3.4",
"@atlaskit/pragmatic-drag-and-drop": "^4.0.0",
"@chakra-ui/react": "^3.37.0",
"@emotion/react": "^11.14.0",
"@emotion/styled": "^11.14.1",
"@fluentui/react-components": "^9.74.9",
"@fluentui/react-icons-mdl2": "^1.4.6",
"@mantine/core": "9.6.2",
"@mantine/dates": "9.6.2",
"@mantine/hooks": "9.6.2",
"@mui/icons-material": "^9.4.0",
"@mui/material": "^9.4.0",
"@reduxjs/toolkit": "^2.12.0",
"@tailwindcss/postcss": "^4.3.3",
"@traqula/parser-sparql-1-2": "^1.4.0",
"@tremor/react": "^3.18.7",
"@types/json-logic-js": ">=2",
"@types/luxon": "^3.7.5",
"@types/node": "^26.6.2",
"@types/react": "^19.3.0",
"@types/react-dom": "^19.3.0",
"@vitejs/plugin-react": "^6.1.1",
"antd": "^6.6.5",
"bootstrap": "^5.3.8",
"bootstrap-icons": "^1.13.1",
"bulma": "^1.0.4",
"chevrotain": "^13.2.0",
"clsx": "^2.1.1",
"date-fns": "^4.4.0",
"dayjs": "^1.11.23",
"immer": "^11.1.18",
"json-logic-js": "^2.0.5",
"json-rules-engine": "^7.3.1",
"jsonata": "^2.2.2",
"luxon": "^3.7.2",
"next-themes": "^0.4.6",
"postcss": "^8.5.28",
"primeicons": "^7.0.0",
"primereact": "^10.8.0",
"query-string": "^9.5.1",
"react": "^19.3.0",
"react-dom": "^19.3.0",
"react-redux": "^9.3.0",
"rollup-plugin-visualizer": "^7.1.1",
"sass": "^1.105.0",
"spel2js": "^0.2.9",
"tailwindcss": "^4.3.3",
"type-fest": "^5.10.0",
"typescript": "^7.0.2",
"vite": "^8.3.1"
},
"catalogs": {
"peer": {
"@ant-design/icons": ">=5",
"@chakra-ui/react": "^3",
"@atlaskit/pragmatic-drag-and-drop": ">=1.0.0",
"@dnd-kit/core": ">=6.0.0",
"@emotion/react": "^11",
"@emotion/styled": "^11",
"@fluentui/react-components": "^9",
"@fluentui/react-icons-mdl2": "^1",
"@mantine/core": ">=7",
"@mantine/dates": ">=7",
"@mui/icons-material": ">=5",
"@mui/material": ">=5",
"@mantine/hooks": ">=7",
"@tanstack/db": ">=0.6.9",
"@traqula/parser-sparql-1-2": ">=0.1.0",
"@tremor/react": "^3",
"antd": ">=5.11.0",
"bootstrap": ">=5",
"bootstrap-icons": ">=1.7.0",
"bulma": "^0.9.4 || ^1",
"chevrotain": ">=11",
"date-fns": ">=4.1.0",
"dayjs": ">=1",
"drizzle-orm": ">=0.38.0",
"json-logic-js": ">=2",
"json-rules-engine": "^7",
"jsonata": ">=2",
"luxon": ">=3.5.0",
"next-themes": "^0.4.6",
"node-rules": "^9",
"primeicons": ">=7",
"primereact": ">=10",
"react": ">=18",
"react-dnd": ">=14.0.0",
"react-dnd-html5-backend": ">=14.0.0",
"react-dnd-touch-backend": ">=14.0.0",
"react-icons": "^5",
"react-redux": ">=9.1.0",
"rulepilot": "^1",
"sequelize": ">=6"
},
"test": {
"@prisma/client": "^7.10.0",
"@react-querybuilder/grafeo": "^0.5.44",
"@electric-sql/pglite": "0.5.8",
"@electric-sql/pglite-socket": "0.2.11",
"@tanstack/db": "^0.9.2",
"@testing-library/dom": "^10.4.2",
"@testing-library/jest-dom": "^7.0.1",
"@testing-library/react": "^16.3.3",
"@testing-library/user-event": "14.6.7",
"drizzle-orm": "^0.45.3",
"fast-check": "^4.10.2",
"mongodb-memory-server-core": "^11.3.0",
"mongoose": "^9.10.2",
"pglite-prisma-adapter": "^0.7.2",
"prisma": "^7.10.0",
"sequelize": "^6.37.8",
"sqlite3": "^6.0.1"
}
},
"devDependencies": {
"@arethetypeswrong/cli": "^0.18.5",
"@base-ui/react": "^1.8.0",
"@lerna-lite/cli": "^5.6.1",
"@lerna-lite/publish": "^5.6.1",
"@testing-library/dom": "catalog:test",
"@testing-library/jest-dom": "catalog:test",
"@testing-library/react": "catalog:test",
"@testing-library/user-event": "catalog:test",
"@ts-jison/parser-generator": "^0.4.1-alpha.4",
"@types/bun": "^1.4.2",
"@types/glob": "^9.0.0",
"@types/jscodeshift": "^17.3.0",
"@types/jsdom": "^30.0.0",
"@types/node": "catalog:",
"@types/react": "catalog:",
"@types/react-dom": "catalog:",
"@types/react-native-web": "^0.19.3",
"@types/web": "^0.0.357",
"@vitest/coverage-v8": "^5.0.2",
"@vitest/ui": "^5.0.2",
"bun-plugin-tailwind": "^0.1.2",
"fast-json-stable-stringify": "^2.1.0",
"globals": "^17.12.0",
"jscodeshift": "^17.4.0",
"jsdom": "^30.1.1",
"jsdom-testing-mocks": "^1.16.0",
"oxfmt": "^0.70.0",
"oxlint": "^1.85.0",
"oxlint-tsgolint": "^7.0.2003",
"pkg-pr-new": "^0.0.88",
"postcss": "catalog:",
"prettier": "3.9.9",
"prettier-plugin-organize-imports": "^4.3.0",
"react": "catalog:",
"react-dom": "catalog:",
"rollup-plugin-visualizer": "catalog:",
"tsdown": "^0.23.0",
"typescript": "catalog:",
"vite": "catalog:",
"vitest": "^5.0.2",
"vitest-axe": "^0.1.0"
},
"overrides": {
"bson": "7.2.0",
"mongodb": "7.2.0"
},
"patchedDependencies": {
"spel2js@0.2.9": "patches/spel2js@0.2.9.patch",
"react-dnd-test-utils@16.0.1": "patches/react-dnd-test-utils@16.0.1.patch"
}
}