{"id":42863,"library":"igniculus","title":"Igniculus","description":"Igniculus (v1.5.0) is a SQL syntax highlighter and logger for Node.js ≥4. It colorizes SQL output in the terminal using ANSI escape codes. Unlike heavier formatters, it is unadorned and fully customizable: users can define styles (foreground, background, bold, inverse, underline) per token type (keywords, constants, operators, comments, data types, etc.) and even supply custom keyword lists. It is available as a CommonJS package with no runtime dependencies. The project is in maintenance mode (last release 2018), with no active development or ESM support.","status":"maintenance","version":"1.5.0","language":"javascript","source_language":"en","source_url":"https://github.com/Undre4m/igniculus","tags":["javascript","ansi","color","console","format","highlight","log","sql","sequel"],"install":[{"cmd":"npm install igniculus","lang":"bash","label":"npm"},{"cmd":"yarn add igniculus","lang":"bash","label":"yarn"},{"cmd":"pnpm add igniculus","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Package offers only a CommonJS default export; no named exports or ESM wrapper exist. Attempting ESM import will fail.","wrong":"import igniculus from 'igniculus';","symbol":"default export (factory function)","correct":"const igniculus = require('igniculus');"},{"note":"After initializing with igniculus(options), the singleton retains the log function on igniculus.log. Calling igniculus(options) again resets the logger.","wrong":"igniculus().log('SELECT 1');","symbol":".log method (singleton logger)","correct":"igniculus.log('SELECT 1');"},{"note":"No TypeScript types shipped; users must declare manually. The exported value is a factory function returning a logger function.","symbol":"type of igniculus default export","correct":"const igniculus: (options?: Options) => (sql: string) => void = require('igniculus');"}],"quickstart":{"code":"const igniculus = require('igniculus')();\n\nconst query = 'SELECT [port] AS Printer, \\'on fire\\' AS Status ' +\n              'FROM [Printers] P ' +\n              'WHERE P.\"online\" = 1 AND P.\"check\" = 1';\n\nigniculus(query);\n// Output is colorized SQL printed to stdout (ANSI colors)","lang":"javascript","description":"Initializes igniculus with default options and highlights a SELECT query including delimited identifiers, string constants, and numbers."},"warnings":[{"fix":"Use require('igniculus') instead of import.","message":"Using import syntax (ESM) will throw because the package is CommonJS-only.","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Store the logger returned by factory: const logger = igniculus(options); then always use logger(sql).","message":"Calling igniculus(options) a second time overwrites the singleton log function; previous logger references break.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Upgrade Node.js to version 4 or higher.","message":"The package requires Node.js >=4.0.0. Using on older Node versions will fail with runtime errors.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Use a library like chalk to detect TTY and conditionally apply colors, or redirect with an appropriate viewer.","message":"Colors are only visible in terminal environments that support ANSI escape sequences. Logging to files or non-TTY streams will show raw sequences.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Consider alternatives like sql-formatter + chalk, or yasql for active development.","message":"Package has not been updated since 2018; no support for recent Node.js features (ESM, async operations). Use at your own risk.","severity":"deprecated","affected_versions":"<=1.5.0"}],"env_vars":null,"search_vec":"'2018':78 '4':13 'activ':81 'ansi':22,87 'avail':61 'background':39 'bold':40 'code':24 'color':15,88 'comment':49 'commonj':64 'consol':89 'constant':47 'custom':56 'customiz':33 'data':50 'defin':36 'depend':69 'develop':82 'escap':23 'esm':84 'etc':52 'even':54 'foreground':38 'format':90 'formatt':27 'fulli':32 'heavier':26 'highlight':8,91 'igniculus':1,2 'invers':41 'javascript':86 'keyword':46,57 'last':76 'list':58 'log':92 'logger':10 'mainten':74 'mode':75 'node.js':12 'oper':48 'output':17 'packag':65 'per':43 'project':71 'releas':77 'runtim':68 'sequel':94 'sql':6,16,93 'style':37 'suppli':55 'support':85 'syntax':7 'termin':20 'token':44 'type':45,51 'unadorn':30 'underlin':42 'unlik':25 'use':21 'user':34 'v1.5.0':3","created_at":"2026-06-05T16:57:02.016055+00:00","updated_at":"2026-06-05T16:57:02.016055+00:00","problems":[{"fix":"Replace 'import igniculus from \"igniculus\"' with 'const igniculus = require(\"igniculus\")'.","cause":"Using import statement with a CommonJS-only package.","error":"ReferenceError: igniculus is not defined"},{"fix":"Use 'const logger = igniculus();' then call 'logger(query)'.","cause":"Forgetting to call the factory function; igniculus is a function that returns a logger.","error":"TypeError: igniculus is not a function"},{"fix":"Call igniculus() at least once before using igniculus.log(). Or use the returned logger directly.","cause":"Calling igniculus.log before initializing the logger via igniculus().","error":"TypeError: igniculus.log is not a function"}],"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/Undre4m/igniculus#readme","github":"https://github.com/Undre4m/igniculus","docs":null,"changelog":null,"pypi":null,"npm":"igniculus","openapi_spec":null,"status_page":null,"smithery":null,"categories":["devops"],"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}}