{"id":42443,"library":"bass-sql","title":"bass-sql","description":"SQL adapter for Bass.js, a JavaScript ODM (Object Document Mapper). Version 0.0.29 is the latest, with irregular releases. It provides a familiar ODM interface for SQL databases, supporting SQLite, PostgreSQL, MySQL, and MSSQL via a pluggable client. Unlike full ORMs like Sequelize or TypeORM, bass-sql keeps the ODM pattern minimal and schema-less, delegating query building to Bass.js and database connectivity to external npm packages such as sql.js, pg, mysql2, and tedious.","status":"active","version":"0.0.29","language":"javascript","source_language":"en","source_url":"git://github.com/congajs/bass-sql","tags":["javascript","orm","odm","dirty"],"install":[{"cmd":"npm install bass-sql","lang":"bash","label":"npm"},{"cmd":"yarn add bass-sql","lang":"bash","label":"yarn"},{"cmd":"pnpm add bass-sql","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Core ODM library; bass-sql is an adapter for Bass.js models","package":"bass","optional":false},{"reason":"Default SQLite client if no other driver specified","package":"sql.js","optional":true},{"reason":"PostgreSQL client; must be installed when using postgres dialect","package":"pg","optional":true},{"reason":"MySQL/MariaDB client; required for mysql dialect","package":"mysql2","optional":true},{"reason":"MSSQL client; required for mssql dialect","package":"tedious","optional":true}],"imports":[{"note":"The default export is the adapter factory function.","wrong":"import { adapter } from 'bass-sql'","symbol":"default (the adapter)","correct":"import adapter from 'bass-sql'"},{"note":"bass is a separate package.","wrong":"import bass from 'bass-sql'","symbol":"bass","correct":"import bass from 'bass'"},{"note":"Model class is from bass, not bass-sql.","wrong":"const { Model } = require('bass-sql')","symbol":"Model","correct":"import { Model } from 'bass'"}],"quickstart":{"code":"import bass from 'bass';\nimport adapter from 'bass-sql';\nimport sqlite from 'sql.js';\n\n// Initialize Bass.js with SQL adapter\nconst orm = bass({ local: adapter(sqlite) });\n\n// Define a model\nconst User = orm.model('users', {\n  name: String,\n  age: Number\n});\n\nasync function main() {\n  await User.create({ name: 'John', age: 30 });\n  const users = await User.find();\n  console.log(users);\n}\n\nmain().catch(console.error);","lang":"javascript","description":"Sets up a Bass.js ODM with an SQLite backend using bass-sql, defines a model, creates a record, and queries all records."},"warnings":[{"fix":"Use separate migration tools like knex or typeorm migrations.","message":"bass-sql does not perform migrations; schema must be created manually or via other tools.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Refer to Bass.js update notes.","message":"Some older API patterns may be deprecated; check Bass.js changelog for compatibility.","severity":"deprecated","affected_versions":">=0.0.20"},{"fix":"npm install pg for PostgreSQL, mysql2 for MySQL, tedious for MSSQL.","message":"SQLite driver (sql.js) is included by default; if using another database, you must install the corresponding driver package.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Consider using a full ORM like Sequelize for complex SQL operations.","message":"bass-sql may have issues with complex joins or raw SQL; it is designed for simple ODM patterns.","severity":"gotcha","affected_versions":">=0.0.0"}],"env_vars":null,"search_vec":"'0.0.29':15 'adapt':5 'bass':2,49 'bass-sql':1,48 'bass.js':7,64 'build':62 'client':40 'connect':67 'databas':30,66 'deleg':60 'dirti':82 'document':12 'extern':69 'familiar':25 'full':42 'interfac':27 'irregular':20 'javascript':9,79 'keep':51 'latest':18 'less':59 'like':44 'mapper':13 'minim':55 'mssql':36 'mysql':34 'mysql2':76 'npm':70 'object':11 'odm':10,26,53,81 'orm':43,80 'packag':71 'pattern':54 'pg':75 'pluggabl':39 'postgresql':33 'provid':23 'queri':61 'releas':21 'schema':58 'schema-less':57 'sequel':45 'sql':3,4,29,50 'sql.js':74 'sqlite':32 'support':31 'tedious':78 'typeorm':47 'unlik':41 'version':14 'via':37","created_at":"2026-06-05T16:55:00.752996+00:00","updated_at":"2026-06-05T16:55:00.752996+00:00","problems":[{"fix":"npm install sql.js","cause":"SQLite driver is missing.","error":"Cannot find module 'sql.js'"},{"fix":"Use import adapter from 'bass-sql'; then adapter(driver).","cause":"Importing incorrectly; bass-sql default export is a function that expects a driver.","error":"TypeError: adapter is not a function"},{"fix":"npm install pg","cause":"PostgreSQL driver (pg) not installed.","error":"Error: Dialect 'postgres' not supported"}],"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/congajs/bass-sql","github":"git://github.com/congajs/bass-sql","docs":null,"changelog":null,"pypi":null,"npm":"bass-sql","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}}