{"id":43899,"library":"sql-filter-builder","title":"sql-filter-builder","description":"sql-filter-builder is a lightweight, type-safe SQL filter/query builder for Node.js and TypeScript (current version: 1.0.15). It provides a simple API to dynamically build parameterized SQL queries with filters, orders, and aggregations, preventing SQL injection. Built with zero dependencies and full TypeScript support, it works with any SQL stack (Sequelize, Postgres, MySQL, SQLite). Its release cadence is low; the package has only a few versions. Key differentiators include its minimal footprint, no runtime dependencies, and an expressive API similar to ORM query builders.","status":"active","version":"1.0.15","language":"javascript","source_language":"en","source_url":"https://github.com/tranquanghuy7198/sql-filter-builder","tags":["javascript","sql","query","builder","typescript"],"install":[{"cmd":"npm install sql-filter-builder","lang":"bash","label":"npm"},{"cmd":"yarn add sql-filter-builder","lang":"bash","label":"yarn"},{"cmd":"pnpm add sql-filter-builder","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"ESM-only; TypeScript types are included.","wrong":"const buildDataQuery = require('sql-filter-builder');","symbol":"buildDataQuery","correct":"import { buildDataQuery } from 'sql-filter-builder'"},{"note":"TypeScript type for filter objects.","wrong":"","symbol":"Filter","correct":"import { Filter } from 'sql-filter-builder'"},{"note":"Enum with values like Operator.Eq, Operator.Gt, etc.","wrong":"","symbol":"Operator","correct":"import { Operator } from 'sql-filter-builder'"},{"note":"TypeScript type for the params object passed to buildDataQuery.","wrong":"","symbol":"Params","correct":"import { Params } from 'sql-filter-builder'"}],"quickstart":{"code":"import { buildDataQuery, Operator } from 'sql-filter-builder';\n\nconst baseSql = 'SELECT colA, colB FROM tableX';\nconst params = {\n  filters: [\n    { key: 'colC', operator: Operator.Eq, value: 'some-value' },\n  ],\n};\n\nconst [sql, values] = buildDataQuery(baseSql, params);\n\nconsole.log(sql);\nconsole.log(values);","lang":"typescript","description":"Builds a parameterized SQL query with a single equality filter and outputs the SQL string and bound values."},"warnings":[{"fix":"Use Operator.Eq from the package instead of comparing with raw strings.","message":"Operator enum values are strings like 'eq', not symbols. Ensure correct imports.","severity":"gotcha","affected_versions":">=1.0"},{"fix":"Always provide a filters array (empty array allowed) in the params object.","message":"The buildDataQuery function expects a Params object with a 'filters' array. Missing or empty filters may cause unexpected behavior.","severity":"gotcha","affected_versions":">=1.0"},{"fix":"Use the second returned object (values) as replacements for your query interface (e.g., Sequelize's replacements option).","message":"The returned SQL uses named placeholders like :colC. Some database adapters require ? or $1. Check compatibility.","severity":"gotcha","affected_versions":">=1.0"}],"env_vars":null,"search_vec":"'1.0.15':24 'aggreg':40 'api':29,86 'build':32 'builder':4,8,17,91,95 'built':44 'cadenc':64 'current':22 'depend':47,82 'differenti':75 'dynam':31 'express':85 'filter':3,7,37 'filter/query':16 'footprint':79 'full':49 'includ':76 'inject':43 'javascript':92 'key':74 'lightweight':11 'low':66 'minim':78 'mysql':60 'node.js':19 'order':38 'orm':89 'packag':68 'parameter':33 'postgr':59 'prevent':41 'provid':26 'queri':35,90,94 'releas':63 'runtim':81 'safe':14 'sequel':58 'similar':87 'simpl':28 'sql':2,6,15,34,42,56,93 'sql-filter-build':1,5 'sqlite':61 'stack':57 'support':51 'type':13 'type-saf':12 'typescript':21,50,96 'version':23,73 'work':53 'zero':46","created_at":"2026-06-05T17:02:00.989504+00:00","updated_at":"2026-06-05T17:02:00.989504+00:00","problems":[{"fix":"Run 'npm install sql-filter-builder' and ensure your import path is correct.","cause":"Package not installed or not in node_modules.","error":"Cannot find module 'sql-filter-builder'"},{"fix":"Ensure each filter in the array includes key (string), operator (Operator enum), and value.","cause":"Filter object missing required properties.","error":"Invalid filter: must have key, operator, and value"},{"fix":"Use 'import { Operator } from 'sql-filter-builder'' instead of require or wrong import path.","cause":"Operator enum not imported correctly.","error":"Operator is undefined"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/tranquanghuy7198/sql-filter-builder#readme","github":"https://github.com/tranquanghuy7198/sql-filter-builder","docs":null,"changelog":null,"pypi":null,"npm":"sql-filter-builder","openapi_spec":null,"status_page":null,"smithery":null,"categories":["database"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-05","next_check":"2026-09-03","install_tag":null}}