{"id":43952,"library":"sql-summary","title":"sql-summary","description":"sql-summary (v1.0.1) is a lightweight JavaScript library that analyzes any SQL query and produces a concise summary string containing the main verb (SELECT, INSERT, UPDATE, etc.), the type of object operated on (TABLE, DATABASE, etc.), and the primary table or database name. It is maintained by Elastic and is ideal for logging, monitoring, and grouping similar queries without revealing sensitive details. It has minimal dependencies and is compatible with Node.js and browsers. Release cadence is low; the package is stable and receives updates for bug fixes.","status":"active","version":"1.0.1","language":"javascript","source_language":"en","source_url":"https://github.com/elastic/sql-summary","tags":["javascript","sql","summary","query","log","logging","analyze"],"install":[{"cmd":"npm install sql-summary","lang":"bash","label":"npm"},{"cmd":"yarn add sql-summary","lang":"bash","label":"yarn"},{"cmd":"pnpm add sql-summary","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"This package is CommonJS only; no default ESM export exists.","wrong":"import sqlSummary from 'sql-summary'","symbol":"default","correct":"var sqlSummary = require('sql-summary')"},{"note":"The module exports a single function. Use require as shown.","wrong":null,"symbol":"sqlSummary","correct":"const sqlSummary = require('sql-summary')"},{"note":"Named import does not work; use default import with bundlers that support CJS interop.","wrong":"import { sqlSummary } from 'sql-summary'","symbol":"default (ESM via bundler)","correct":"import sqlSummary from 'sql-summary'; // May work with bundlers using interop"}],"quickstart":{"code":"const sqlSummary = require('sql-summary');\n\nconst query1 = 'SELECT col1, col2 FROM table_name WHERE id=1';\nconsole.log(sqlSummary(query1)); // => 'SELECT FROM table_name'\n\nconst query2 = 'INSERT INTO users (name, age) VALUES ('Alice', 30)';\nconsole.log(sqlSummary(query2)); // => 'INSERT INTO users'\n\nconst query3 = 'UPDATE inventory SET quantity=10 WHERE product_id=5';\nconsole.log(sqlSummary(query3)); // => 'UPDATE inventory'","lang":"javascript","description":"Demonstrates basic usage: passing SQL queries to sqlSummary and printing the summarized output."},"warnings":[{"fix":"Ensure the argument is a string: sqlSummary(String(query))","message":"Input must be a string; otherwise, the function may throw or return unexpected results.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Test with your specific SQL patterns; the summary is best-effort.","message":"The summary may not handle all SQL dialects or complex queries (e.g., subqueries, CTEs) perfectly.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Create a .d.ts file: declare module 'sql-summary' { function sqlSummary(query: string): string; export = sqlSummary; }","message":"No TypeScript type definitions are provided; using in TypeScript may require a custom declaration.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"search_vec":"'analyz':14,98 'browser':77 'bug':90 'cadenc':79 'compat':73 'concis':21 'contain':24 'databas':39,46 'depend':70 'detail':66 'elast':52 'etc':31,40 'fix':91 'group':60 'ideal':55 'insert':29 'javascript':11,92 'librari':12 'lightweight':10 'log':57,96,97 'low':81 'main':26 'maintain':50 'minim':69 'monitor':58 'name':47 'node.js':75 'object':35 'oper':36 'packag':83 'primari':43 'produc':19 'queri':17,62,95 'receiv':87 'releas':78 'reveal':64 'select':28 'sensit':65 'similar':61 'sql':2,5,16,93 'sql-summari':1,4 'stabl':85 'string':23 'summari':3,6,22,94 'tabl':38,44 'type':33 'updat':30,88 'v1.0.1':7 'verb':27 'without':63","created_at":"2026-06-05T17:02:15.856994+00:00","updated_at":"2026-06-05T17:02:15.856994+00:00","problems":[{"fix":"Use the CommonJS require: const sqlSummary = require('sql-summary');","cause":"Incorrect import (e.g., using named import from an ESM environment)","error":"TypeError: sqlSummary is not a function"},{"fix":"Run npm install sql-summary and ensure node_modules contains it.","cause":"Package not installed or path issue in project","error":"Cannot find module 'sql-summary'"}],"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/elastic/sql-summary","github":"https://github.com/elastic/sql-summary","docs":null,"changelog":null,"pypi":null,"npm":"sql-summary","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}}