{"_id":"@bellova/belsql","_rev":"6-76f9bd995d39e7a74e62dc32462797de","name":"@bellova/belsql","dist-tags":{"latest":"1.0.7"},"versions":{"1.0.0":{"name":"@bellova/belsql","version":"1.0.0","keywords":["belsql","bellovacorp","sql","mariadb","mysql","query-builder","orm"],"author":{"name":"Bellova CORP","email":"contact@bellovacorp.fr"},"license":"UNLICENSED","_id":"@bellova/belsql@1.0.0","maintainers":[{"name":"bellovacorp","email":"blanguedoc@bellovacorp.fr"}],"dist":{"shasum":"b67d1e275ff65f268118462acfcd2bf2e7573cad","tarball":"https://registry.npmjs.org/@bellova/belsql/-/belsql-1.0.0.tgz","fileCount":21,"integrity":"sha512-iUc+TdxJgc+vBHs4Pffu0aTM15K3aXdOQewlzmVOuRBCVvHLQ2MeJpfKakz7W1iENEhOb86XLY0HtmVkXPpkKQ==","signatures":[{"sig":"MEQCIFwMZPQ0+MxY2OTRFdqzwmcdauX0X7HDYIrec+AqoHbaAiBRGFSUyXH8M+z1EhSC0tRFMMwiu64AvLBrfNCql5HGJw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":74662},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"9abf1efe44883e2e37b3cdf02a4269d8b3349ae3","scripts":{"build":"tsc","build:watch":"tsc --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"bellovacorp","email":"blanguedoc@bellovacorp.fr"},"_npmVersion":"11.11.0","description":"BelSQL — TypeScript / Node.js client SDK with Supabase-like fluent API for MariaDB/MySQL","directories":{},"_nodeVersion":"25.8.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/belsql_1.0.0_1776628978497_0.7998093078298645","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@bellova/belsql","version":"1.0.1","keywords":["belsql","bellovacorp","sql","mariadb","mysql","query-builder","orm"],"author":{"name":"Bellova CORP","email":"contact@bellovacorp.fr"},"license":"UNLICENSED","_id":"@bellova/belsql@1.0.1","maintainers":[{"name":"bellovacorp","email":"blanguedoc@bellovacorp.fr"}],"dist":{"shasum":"e5c3f60d7b55fadf0d5a088723b36407fc429abc","tarball":"https://registry.npmjs.org/@bellova/belsql/-/belsql-1.0.1.tgz","fileCount":22,"integrity":"sha512-wh8nkBJytioIu64K7OUdNxJYE3FkfIARk5TeSrH1kgLgAcS/NKQpfZqE7DEpIOBPtpnTmokL0RRQPzdxK3mzBg==","signatures":[{"sig":"MEQCIA07QeJFLZ+w5FNR1Jq67QbJid8ain3FMXXOYSAjfWQ+AiAdSGRg6ynVcgZQkX3NPAYTAoeQzoYR5+5RaQlyJnd5rg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":76642},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"9abf1efe44883e2e37b3cdf02a4269d8b3349ae3","scripts":{"build":"tsc","build:watch":"tsc --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"bellovacorp","email":"blanguedoc@bellovacorp.fr"},"_npmVersion":"11.11.0","description":"BelSQL — TypeScript / Node.js client SDK with Supabase-like fluent API for MariaDB/MySQL","directories":{},"_nodeVersion":"25.8.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/belsql_1.0.1_1776629110017_0.13200081486764548","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@bellova/belsql","version":"1.0.2","keywords":["belsql","bellovacorp","sql","mariadb","mysql","query-builder","orm"],"author":{"url":"https://www.bellovacorp.com","name":"Bellova CORP","email":"contact@bellovacorp.fr"},"license":"UNLICENSED","_id":"@bellova/belsql@1.0.2","maintainers":[{"name":"bellovacorp","email":"blanguedoc@bellovacorp.fr"}],"homepage":"https://www.bellovacorp.com","dist":{"shasum":"00fd81cd43b0e53f95b1edc29632833a40ad2295","tarball":"https://registry.npmjs.org/@bellova/belsql/-/belsql-1.0.2.tgz","fileCount":22,"integrity":"sha512-xkE9VwClEJZJtLjkKQJwvRuftIZAnb2VSxy8OB3bY0pHMqEt3hxZ71BdNYE8wOT7TO0DypBV8d8/7fGWfvyOIA==","signatures":[{"sig":"MEUCIE/RjGnFjfFNJimbgxHiUzCIZG7PtG7273bTUJbPfj0nAiEA4jyGN1u7sct4Ty9uANRbQmtA2tX2YlcbECLj0rYIA8k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":76765},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"9abf1efe44883e2e37b3cdf02a4269d8b3349ae3","scripts":{"build":"tsc","build:watch":"tsc --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"bellovacorp","email":"blanguedoc@bellovacorp.fr"},"_npmVersion":"11.11.0","description":"BelSQL — TypeScript / Node.js client SDK with Supabase-like fluent API for MariaDB/MySQL","directories":{},"_nodeVersion":"25.8.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/belsql_1.0.2_1776629258951_0.13373340492919805","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@bellova/belsql","version":"1.0.4","keywords":["belsql","bellovacorp","sql","mariadb","mysql","query-builder","orm"],"author":{"url":"https://www.bellovacorp.com","name":"Bellova CORP","email":"contact@bellovacorp.fr"},"license":"UNLICENSED","_id":"@bellova/belsql@1.0.4","maintainers":[{"name":"bellovacorp","email":"blanguedoc@bellovacorp.fr"}],"homepage":"https://www.bellovacorp.com","dist":{"shasum":"a028016b4243adc7b6b8bb970d8ecd4f9af5b473","tarball":"https://registry.npmjs.org/@bellova/belsql/-/belsql-1.0.4.tgz","fileCount":22,"integrity":"sha512-kekurpk7uqYKk7nQgcbIII5dDLOfN6RNs7qp6HPbJPyKCMk+hnxLPAqhW1Db2ShzYvsttQ20gTiBirI/ImHhnw==","signatures":[{"sig":"MEQCIG1Uq0JmUG4dESp8dIJhHZ+sNOoMtsml+yPLDftjQluHAiAJNgEI7M1KSPIkX/k3xf/owKTGcKZRm1x84FrL2dJoHQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40244},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"9abf1efe44883e2e37b3cdf02a4269d8b3349ae3","scripts":{"build":"tsc","build:watch":"tsc --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"bellovacorp","email":"blanguedoc@bellovacorp.fr"},"_npmVersion":"11.11.0","description":"BelSQL — Node.js / TypeScript client SDK for MariaDB/MySQL","directories":{},"_nodeVersion":"25.8.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/belsql_1.0.4_1776629509094_0.54923627613805","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@bellova/belsql","version":"1.0.5","keywords":["belsql","bellovacorp","sql","mariadb","mysql","query-builder","orm"],"author":{"url":"https://www.bellovacorp.com","name":"Bellova CORP","email":"contact@bellovacorp.fr"},"license":"SEE LICENSE IN LICENSE","_id":"@bellova/belsql@1.0.5","maintainers":[{"name":"bellovacorp","email":"blanguedoc@bellovacorp.fr"}],"homepage":"https://www.bellovacorp.com","dist":{"shasum":"0f266d2a38dc8d1464f1ba15150f6ccb773650cb","tarball":"https://registry.npmjs.org/@bellova/belsql/-/belsql-1.0.5.tgz","fileCount":23,"integrity":"sha512-Yk4icpKGZIn4HhfkVzM9/YjWuSmJn5x18WpFtPxXBrYWTzaZMlF02924FYqPIcq23XeR+CQwjaYppKCelJbBQQ==","signatures":[{"sig":"MEUCIFL2y8QFgKAE+Ki0NUdmPd5CB7rIOsdeT17kNHcTyHseAiEAuVhYwaNU1mnitQkR2ciL2W2baFfRU/rHkWRxeBWVj3s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40633},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"9abf1efe44883e2e37b3cdf02a4269d8b3349ae3","scripts":{"build":"tsc","build:watch":"tsc --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"bellovacorp","email":"blanguedoc@bellovacorp.fr"},"_npmVersion":"11.11.0","description":"BelSQL — Node.js / TypeScript client SDK for MariaDB/MySQL","directories":{},"_nodeVersion":"25.8.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/belsql_1.0.5_1776629694215_0.5268522799835225","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@bellova/belsql","version":"1.0.7","description":"BelSQL — Node.js / TypeScript client SDK for MariaDB/MySQL","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","build:watch":"tsc --watch","prepublishOnly":"npm run build"},"keywords":["belsql","bellovacorp","sql","mariadb","mysql","query-builder","orm"],"author":{"name":"Bellova CORP","email":"contact@bellovacorp.fr","url":"https://www.bellovacorp.com"},"homepage":"https://www.bellovacorp.com","license":"SEE LICENSE IN LICENSE","publishConfig":{"access":"public"},"engines":{"node":">=18.0.0"},"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"gitHead":"a43b67f3019d937bdbc1910bb25f17b2ff0f6d00","_id":"@bellova/belsql@1.0.7","_nodeVersion":"25.8.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-dnZO3eVyT9m2OVz1KN8da4n0V/Pt/EPrX0lWZxe8YiI2O0vp77WTU+tkJ6cXXy+s46EPWUvCtdhGpcAN+FeFRQ==","shasum":"34a3e51ef98a06ad62772645331bbc8e0177f615","tarball":"https://registry.npmjs.org/@bellova/belsql/-/belsql-1.0.7.tgz","fileCount":23,"unpackedSize":40650,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD6D+MQjT0pp2wStM0yXV52QopgHpZwoJwX4iISXKhh8gIhAK2Fva7XCS8lx3Z/zWTyiMYIikGW7excISouwf2rJAkM"}]},"_npmUser":{"name":"bellovacorp","email":"blanguedoc@bellovacorp.fr"},"directories":{},"maintainers":[{"name":"bellovacorp","email":"blanguedoc@bellovacorp.fr"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/belsql_1.0.7_1776631457159_0.27161484518076073"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-19T20:02:58.391Z","modified":"2026-04-19T20:44:17.817Z","1.0.0":"2026-04-19T20:02:58.646Z","1.0.1":"2026-04-19T20:05:10.166Z","1.0.2":"2026-04-19T20:07:39.168Z","1.0.4":"2026-04-19T20:11:49.251Z","1.0.5":"2026-04-19T20:14:54.361Z","1.0.7":"2026-04-19T20:44:17.363Z"},"author":{"name":"Bellova CORP","email":"contact@bellovacorp.fr","url":"https://www.bellovacorp.com"},"license":"SEE LICENSE IN LICENSE","homepage":"https://www.bellovacorp.com","keywords":["belsql","bellovacorp","sql","mariadb","mysql","query-builder","orm"],"description":"BelSQL — Node.js / TypeScript client SDK for MariaDB/MySQL","maintainers":[{"name":"bellovacorp","email":"blanguedoc@bellovacorp.fr"}],"readme":"# @bellova/belsql\n\nNode.js / TypeScript client SDK for [BelSQL](https://www.bellovacorp.com) — a SQL-as-a-Service gateway for MariaDB/MySQL.\n\n## Installation\n\n```bash\nnpm install @bellova/belsql\n```\n\n## Initialisation\n\n```ts\nimport { BelSql } from '@bellova/belsql';\n\nconst belsql = new BelSql({\n  baseUrl:  'https://api.bellovacorp.fr',\n  apiKey:   process.env.BELSQL_API_KEY,\n  authUser: process.env.BELSQL_AUTH_USER,\n});\n\nconst db = belsql.from('your-connection-uuid');\n```\n\n## REST — SELECT\n\n```ts\nconst { rows, total } = await db.rest.select('users', {\n  columns: ['id', 'email', 'created_at'],\n  filter:  { active: { eq: 1 } },\n  order:   'created_at.desc',\n  limit:   50,\n  count:   true,\n});\n```\n\n## REST — INSERT\n\n```ts\nconst { affected } = await db.rest.insert('users', {\n  email: 'alice@example.com',\n  active: 1,\n});\n\n// Several rows at once\nawait db.rest.insert('users', [row1, row2, row3]);\n\n// Get inserted rows back\nconst { rows } = await db.rest.insert('users', row, { returning: true });\n```\n\n## REST — UPDATE\n\n```ts\nawait db.rest.update('users',\n  { active: 0 },\n  { filter: { id: { eq: 42 } } },\n);\n```\n\n## REST — DELETE\n\n```ts\nawait db.rest.delete('users', { filter: { id: { eq: 42 } } });\n```\n\n## REST — UPSERT\n\n```ts\nawait db.rest.upsert(\n  'users',\n  { email: 'alice@example.com', name: 'Alice' },\n  ['email'],\n);\n```\n\n## Filter operators\n\n| Key        | SQL equivalent          |\n|------------|------------------------|\n| `eq`       | `= value`              |\n| `neq`      | `<> value`             |\n| `gt`       | `> value`              |\n| `gte`      | `>= value`             |\n| `lt`       | `< value`              |\n| `lte`      | `<= value`             |\n| `like`     | `LIKE value`           |\n| `ilike`    | `LIKE value` (no case) |\n| `in`       | `IN (…)`               |\n| `not_in`   | `NOT IN (…)`           |\n| `is_null`  | `IS NULL`              |\n| `is_not_null` | `IS NOT NULL`       |\n| `between`  | `BETWEEN min AND max`  |\n| `fts`      | Full-text search       |\n\nOR group:\n\n```ts\nconst { rows } = await db.rest.select('orders', {\n  or: {\n    status:   { eq: 'pending' },\n    priority: { eq: 'high' },\n  },\n});\n```\n\n## Raw SQL\n\n```ts\nconst result = await db.query('SELECT * FROM users WHERE active = ?', [1]);\nconsole.log(result.rows);\n```\n\n## Transaction\n\n```ts\nawait db.transaction([\n  { sql: 'INSERT INTO logs (msg) VALUES (?)', bindings: ['start'] },\n  { sql: 'UPDATE counters SET n = n + 1 WHERE key = ?', bindings: ['jobs'] },\n]);\n```\n\n## RPC\n\n```ts\n// Stored function\nconst { result } = await db.rpc('get_user_stats', [userId]);\n\n// Stored procedure\nawait db.rpc('archive_old_orders', [30], 'procedure');\n```\n\n## Schema & databases\n\n```ts\nawait db.databases.list();\nawait db.databases.create('mydb');\nawait db.databases.drop('olddb');\n\nawait db.schema.tables();\nawait db.schema.describe('users');\n```\n\n## Connection management\n\n```ts\nawait belsql.connections.list();\nawait belsql.connections.create({ name: 'prod', host: 'db.example.com', username: 'app', password: '…' });\nawait belsql.connections.test('conn-uuid');\n```\n\n## License\n\nUNLICENSED — © [Bellova CORP](https://www.bellovacorp.com) <contact@bellovacorp.fr>\n","readmeFilename":"README.md"}