{"id":43816,"library":"sequelize-sql-tag","title":"Sequelize SQL Tag","description":"A template tag for writing parameterized SQL queries using ES2015 tagged template literals with Sequelize. Current stable version is 2.0.2, which works with Sequelize >=3.14.0 and >=4.0.0-0. This package simplifies building safe SQL queries by leveraging tagged template literals, automatically converting them into parameterized queries to prevent SQL injection. Compared to raw string concatenation or manual escaping, it provides a cleaner syntax and seamless integration with Sequelize's query interface. The release cadence is low; no updates since 2018.","status":"active","version":"2.0.2","language":"javascript","source_language":"en","source_url":"https://github.com/seegno/sequelize-sql-tag","tags":["javascript","es6","es2015","multiline","plugin","sequelize","sql","sql-tag","string"],"install":[{"cmd":"npm install sequelize-sql-tag","lang":"bash","label":"npm"},{"cmd":"yarn add sequelize-sql-tag","lang":"bash","label":"yarn"},{"cmd":"pnpm add sequelize-sql-tag","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency; required for query execution and parameterized query support","package":"sequelize","optional":false}],"imports":[{"note":"The package exports a single function as default export. In CommonJS, use require('sequelize-sql-tag') directly.","wrong":"const { sql } = require('sequelize-sql-tag');","symbol":"default","correct":"import sql from 'sequelize-sql-tag';"},{"note":"CommonJS require returns the default export directly, not an object with property.","wrong":"const { sql } = require('sequelize-sql-tag');","symbol":"sql","correct":"const sql = require('sequelize-sql-tag');"},{"note":"Not part of this package, but needed to use the sql tag with Sequelize query.","wrong":"","symbol":"Sequelize","correct":"const Sequelize = require('sequelize');"}],"quickstart":{"code":"const Sequelize = require('sequelize');\nconst sql = require('sequelize-sql-tag');\nconst sequelize = new Sequelize('sqlite', 'sqlite', 'sqlite', {\n  dialect: 'sqlite',\n  logging: false\n});\n\nasync function run() {\n  const [results, meta] = await sequelize.query(sql`SELECT ${1 + 1} AS foo`);\n  console.log(results); // [ { foo: 2 } ]\n}\nrun();","lang":"javascript","description":"Shows basic usage: create Sequelize instance, use sql tag with parameterized query and execute via sequelize.query()."},"warnings":[{"fix":"Upgrade Sequelize to >=3.14.0 or >=4.0.0-0. If on older Sequelize, use sequelize-sql-tag@1.x and patch.","message":"Version 2.0.0 changed the output format and requires Sequelize >= 3.14.0 that supports parameterized queries. Do not use with older Sequelize versions without upgrading.","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"Use `sequelize.query(sql`...`)` not `sequelize.query(sql(...).query, { replacements: sql(...).values })`.","message":"The sql tag returns an object with `query` and `values` properties. Sequelize's query method expects separate arguments when using parameterized queries. Ensure you pass the result directly to `sequelize.query()` without destructuring.","severity":"gotcha","affected_versions":">=2.0.0"},{"fix":"Consider using Sequelize's built-in `replacements` or `bind` parameters directly.","message":"This package is not actively maintained; last release in 2018. May not work with Sequelize v5+ without issues.","severity":"deprecated","affected_versions":">=2.0.2"},{"fix":"Use Node >=6 for best compatibility with Sequelize.","message":"Node.js versions >=4 are supported, but modern Sequelize may require Node >=6 or later. Check compatibility.","severity":"gotcha","affected_versions":">=2.0.0"}],"env_vars":null,"search_vec":"'-0':31 '2.0.2':23 '2018':83 '3.14.0':28 '4.0.0':30 'automat':44 'build':35 'cadenc':77 'cleaner':65 'compar':54 'concaten':58 'convert':45 'current':19 'es2015':13,86 'es6':85 'escap':61 'inject':53 'integr':69 'interfac':74 'javascript':84 'leverag':40 'liter':16,43 'low':79 'manual':60 'multilin':87 'packag':33 'parameter':9,48 'plugin':88 'prevent':51 'provid':63 'queri':11,38,49,73 'raw':56 'releas':76 'safe':36 'seamless':68 'sequel':1,18,27,71,89 'simplifi':34 'sinc':82 'sql':2,10,37,52,90,92 'sql-tag':91 'stabl':20 'string':57,94 'syntax':66 'tag':3,6,14,41,93 'templat':5,15,42 'updat':81 'use':12 'version':21 'work':25 'write':8","created_at":"2026-06-05T17:01:37.065895+00:00","updated_at":"2026-06-05T17:01:37.065895+00:00","problems":[{"fix":"Run `npm install sequelize-sql-tag` and ensure correct require/import.","cause":"Package not installed or import path incorrect.","error":"Cannot find module 'sequelize-sql-tag'"},{"fix":"Use `const sql = require('sequelize-sql-tag');`","cause":"Incorrect import: using destructured import instead of default.","error":"sql is not a function"},{"fix":"Upgrade Sequelize to >=3.14.0 or use sequelize-sql-tag v1.x.","cause":"Using sequelize-sql-tag v2 with Sequelize < 3.14.0.","error":"Sequelize version 3.14.0 is required for parameterized queries. Upgrade Sequelize or use an older version of this package."}],"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/seegno/sequelize-sql-tag","github":"https://github.com/seegno/sequelize-sql-tag","docs":null,"changelog":null,"pypi":null,"npm":"sequelize-sql-tag","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}}