
Research
/Security News
Critical Vulnerability in NestJS Devtools: Localhost RCE via Sandbox Escape
A flawed sandbox in @nestjs/devtools-integration lets attackers run code on your machine via CSRF, leading to full Remote Code Execution (RCE).
@react-querybuilder/bootstrap
Advanced tools
Official react-querybuilder compatibility package for Bootstrap.
npm i react-querybuilder @react-querybuilder/bootstrap bootstrap bootstrap-icons
# OR yarn add / pnpm add / bun add
To configure the query builder to use Bootstrap-compatible components, place QueryBuilderBootstrap
above QueryBuilder
in the component hierarchy.
import { QueryBuilderBootstrap } from '@react-querybuilder/bootstrap';
import 'bootstrap-icons/font/bootstrap-icons.scss';
import 'bootstrap/scss/bootstrap.scss';
import { useState } from 'react';
import { type Field, QueryBuilder, type RuleGroupType } from 'react-querybuilder';
const fields: Field[] = [
{ name: 'firstName', label: 'First Name' },
{ name: 'lastName', label: 'Last Name' },
];
export function App() {
const [query, setQuery] = useState<RuleGroupType>({ combinator: 'and', rules: [] });
return (
<QueryBuilderBootstrap>
<QueryBuilder fields={fields} defaultQuery={query} onQueryChange={setQuery} />
</QueryBuilderBootstrap>
);
}
[!NOTE]
Some additional styling may be necessary. We recommend the following:
.queryBuilder .form-control, .queryBuilder .form-select { display: inline-block; width: auto; }
QueryBuilderBootstrap
is a React context provider that assigns the following props to all descendant QueryBuilder
elements. The props can be overridden on the QueryBuilder
or used directly without the context provider.
Export | QueryBuilder prop |
---|---|
bootstrapControlClassnames | controlClassnames |
bootstrapControlElements | controlElements |
bootstrapTranslations | translations |
BootstrapNotToggle | controlElements.notToggle |
BootstrapValueEditor | controlElements.valueEditor |
[!TIP]
By default, this package uses icons from
bootstrap-icons
for button labels. To reset button labels to their default strings, usedefaultTranslations
fromreact-querybuilder
.
<QueryBuilderBootstrap translations={defaultTranslations}>
[v8.8.0] - 2025-07-09
RuleType
property match?: { mode: MatchMode, threshold?: number }
type MatchMode = 'all' | 'some' | 'none' | 'atLeast' | 'atMost' | 'exactly'
operator
will be ignored when match
is present and valid.MatchModeEditor
, which renders when a field is determined to have one or more match modes. The mode selector is the configured valueSelector
and—when a threshold is appropriate—the threshold editor is the configured valueEditor
with inputType: "number"
.getMatchModes
and getSubQueryBuilderProps
to manage these configurations at the top level.Field
properties matchModes
and subproperties
to manage these configurations at the field level.parseJsonLogic
support for "all", "none", and "some" operations.formatQuery
(partial) support for the match
rule property.
preset: "postgresql"
, and only with nested arrays of primitives like strings or numbers.bigIntOnOverflow
. When true, a bigint
will be generated for parsed tokens that represent valid integers outside the safe boundaries of the number
type. (This currently only applies to parseSQL
.)inputType: "bigint"
in all value editors, which will render an input with type="text"
but will store the value as a bigint
if a valid integer is entered.fields
prop processing logic to new useFields
hook.queryBuilder-justified
class to the query builder using the controlClassnames
prop, or to any ancestor element.<label>
elements now have htmlFor
attributes linking their corresponding <input>
elements using an id
generated with useId()
.getValueSources
prop and the Field#valueSources
property can now evaluate to a full option list instead of a simple array of value source strings. This enables translations of the value sources through the label
property.fields
, operators
, combinators
, getOperators
, and getValues
) can now include strings in addition to—or instead of—Option
objects (e.g. ["=", "between"]
). The string itself will be used as both the identifier and label, except in the case of operators and combinators where the default labels will be used if the string matches a value from the default set.parseSQL
maintains precision for large integers by generating a bigint
instead of a number
when necessary.React.Fragment
explicitly instead of the shorthand <>...</>
.preset
option for formatQuery
is one from sqlDialectPresets
, it will only apply if the format
is undefined or one of the SQL-based formats.FAQs
Custom Bootstrap components for react-querybuilder
The npm package @react-querybuilder/bootstrap receives a total of 992 weekly downloads. As such, @react-querybuilder/bootstrap popularity was classified as not popular.
We found that @react-querybuilder/bootstrap demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
/Security News
A flawed sandbox in @nestjs/devtools-integration lets attackers run code on your machine via CSRF, leading to full Remote Code Execution (RCE).
Product
Customize license detection with Socket’s new license overlays: gain control, reduce noise, and handle edge cases with precision.
Product
Socket now supports Rust and Cargo, offering package search for all users and experimental SBOM generation for enterprise projects.