{"_id":"@alt-javascript/jsdbc-template","_rev":"6-77328540021d0cd7d7ddc8e1285a1abf","name":"@alt-javascript/jsdbc-template","dist-tags":{"latest":"3.0.7"},"versions":{"3.0.2":{"name":"@alt-javascript/jsdbc-template","version":"3.0.2","keywords":["jsdbc","jdbc","template","database","sql","spring"],"author":{"name":"Craig Parravicini"},"license":"MIT","_id":"@alt-javascript/jsdbc-template@3.0.2","maintainers":[{"name":"craigparra","email":"craigparra@gmail.com"}],"contributors":[{"url":"Anthropic","name":"Claude"}],"homepage":"https://github.com/alt-javascript/boot/tree/main/packages/jsdbc-template#readme","bugs":{"url":"https://github.com/alt-javascript/boot/issues"},"dist":{"shasum":"36b6b67c53c3704fc4bbc933214995917c1c92d1","tarball":"https://registry.npmjs.org/@alt-javascript/jsdbc-template/-/jsdbc-template-3.0.2.tgz","fileCount":8,"integrity":"sha512-kb7xUBxZ8TK1ICZrb4A+oMKbdQ7bhKHrmzlqXMEPEhR5R7K4PWzC08OkZFxAu25Y9EmLeGiN+eBGEyJS4ASKBw==","signatures":[{"sig":"MEUCIGfCnJWEaMrKQgtjyiXL4boUuxM5YoyDEoHlOkX8lmapAiEAmsKp1sanHmSZwDcXGjCIcRF6kfE9fjTaZkZryFumLXo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32984},"main":"index.js","type":"module","engines":{"node":">=18"},"exports":{".":"./index.js"},"gitHead":"df365b8a2ff98a6a5f18da02ee01007ea5baa69b","scripts":{"test":"mocha --recursive test/**/*.spec.js"},"_npmUser":{"name":"craigparra","email":"craigparra@gmail.com"},"repository":{"url":"git+https://github.com/alt-javascript/boot.git","type":"git","directory":"packages/jsdbc-template"},"_npmVersion":"11.12.0","description":"Spring JdbcTemplate for JSDBC — queryForObject, queryForList, update, batchUpdate, transactions","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@alt-javascript/cdi":"3.0.2","@alt-javascript/jsdbc-core":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","mocha":"^11.7.5","@alt-javascript/jsdbc-sqljs":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/jsdbc-template_3.0.2_1774067787372_0.9406836396593681","host":"s3://npm-registry-packages-npm-production"}},"3.0.3":{"name":"@alt-javascript/jsdbc-template","version":"3.0.3","keywords":["jsdbc","jdbc","template","database","sql","spring"],"author":{"name":"Craig Parravicini"},"license":"MIT","_id":"@alt-javascript/jsdbc-template@3.0.3","maintainers":[{"name":"craigparra","email":"craigparra@gmail.com"}],"contributors":[{"url":"Anthropic","name":"Claude"}],"homepage":"https://github.com/alt-javascript/boot/tree/main/packages/jsdbc-template#readme","bugs":{"url":"https://github.com/alt-javascript/boot/issues"},"dist":{"shasum":"f46e55692b3f048f9bb5717663b757878164224c","tarball":"https://registry.npmjs.org/@alt-javascript/jsdbc-template/-/jsdbc-template-3.0.3.tgz","fileCount":8,"integrity":"sha512-fCVIJUkSlqprSdfEcOkOioytwiMz3AnRZ+l/H7mT/G92XBdIYmWsx3v17PBHrFH2i7zu64XpvVq4ReWbP33MnA==","signatures":[{"sig":"MEUCIQD227iIBb97C+89dW1CGXd1LVkQELjvQ+4vXYJGYqHAYgIgIhMRHiwbtjkV0dSvr+q9epDgNag+ZkS2dlFcX6w5WgI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32984},"main":"index.js","type":"module","engines":{"node":">=18"},"exports":{".":"./index.js"},"gitHead":"e64fbbad53825fef88c3a0976208f27893822519","scripts":{"test":"mocha --recursive test/**/*.spec.js"},"_npmUser":{"name":"craigparra","email":"craigparra@gmail.com"},"repository":{"url":"git+https://github.com/alt-javascript/boot.git","type":"git","directory":"packages/jsdbc-template"},"_npmVersion":"11.12.0","description":"Spring JdbcTemplate for JSDBC — queryForObject, queryForList, update, batchUpdate, transactions","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@alt-javascript/cdi":"3.0.3","@alt-javascript/jsdbc-core":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","mocha":"^11.7.5","@alt-javascript/jsdbc-sqljs":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/jsdbc-template_3.0.3_1774068675593_0.8680012569586484","host":"s3://npm-registry-packages-npm-production"}},"3.0.4":{"name":"@alt-javascript/jsdbc-template","version":"3.0.4","keywords":["jsdbc","jdbc","template","database","sql","spring"],"author":{"name":"Craig Parravicini"},"license":"MIT","_id":"@alt-javascript/jsdbc-template@3.0.4","maintainers":[{"name":"craigparra","email":"craigparra@gmail.com"}],"contributors":[{"url":"Anthropic","name":"Claude"}],"homepage":"https://github.com/alt-javascript/boot/tree/main/packages/jsdbc-template#readme","bugs":{"url":"https://github.com/alt-javascript/boot/issues"},"dist":{"shasum":"13cc949af2af41542055caeefcb408050bf503bb","tarball":"https://registry.npmjs.org/@alt-javascript/jsdbc-template/-/jsdbc-template-3.0.4.tgz","fileCount":6,"integrity":"sha512-gg7ULOCbfXlVS/uvUXvnN68XSkTtJkKooauD/g6qh+AxvPjSyRkcmgeLsF3uAkolpkakCzAYaZvJSGMBT9aKQA==","signatures":[{"sig":"MEUCIQCH4hhSc1Km1167/QDqCeYtjBv/dZaxovXW/uEmaD4UrgIgLxCcO+SRvcZff6WarLytQhRLjQVoQibAxMEXNYbk7mY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22522},"main":"index.js","type":"module","engines":{"node":">=18"},"exports":{".":"./index.js"},"gitHead":"d8de2e8b94151a92fd0c9259d906dfe6d66e11f5","scripts":{"test":"mocha --recursive test/**/*.spec.js"},"_npmUser":{"name":"craigparra","email":"craigparra@gmail.com"},"repository":{"url":"git+https://github.com/alt-javascript/boot.git","type":"git","directory":"packages/jsdbc-template"},"_npmVersion":"11.12.0","description":"Spring JdbcTemplate for JSDBC — queryForObject, queryForList, update, batchUpdate, transactions","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@alt-javascript/jsdbc-core":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","mocha":"^11.7.5","@alt-javascript/jsdbc-sqljs":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/jsdbc-template_3.0.4_1774422729270_0.02592518892850726","host":"s3://npm-registry-packages-npm-production"}},"3.0.5":{"name":"@alt-javascript/jsdbc-template","version":"3.0.5","keywords":["jsdbc","jdbc","template","database","sql","spring"],"author":{"name":"Craig Parravicini"},"license":"MIT","_id":"@alt-javascript/jsdbc-template@3.0.5","maintainers":[{"name":"craigparra","email":"craigparra@gmail.com"}],"contributors":[{"url":"Anthropic","name":"Claude"}],"homepage":"https://github.com/alt-javascript/boot/tree/main/packages/jsdbc-template#readme","bugs":{"url":"https://github.com/alt-javascript/boot/issues"},"dist":{"shasum":"0afbec71f7dcef7d6715d9b61e35804f9d0e6b96","tarball":"https://registry.npmjs.org/@alt-javascript/jsdbc-template/-/jsdbc-template-3.0.5.tgz","fileCount":6,"integrity":"sha512-42GlnGIUp0Gyaov2Vd6YirC6fdZ/7W5LtrBljSftEw3jwRBXh83+z9SClJNIL8//BEf2+iKjlwsrv/FmsrtvTg==","signatures":[{"sig":"MEUCIBV2KdkrDFRFvK7VlkLD+znCJzm8Qnnt4TO579BkrODBAiEAk0IcB3e5yEQAk8/wtD9G7p+8vx0uAGBDh8jZ4Vh3ShM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22522},"main":"index.js","type":"module","engines":{"node":">=18"},"exports":{".":"./index.js"},"gitHead":"925db7483dcdfbfdb2571e74d3ae4bbfa494a126","scripts":{"test":"mocha --recursive test/**/*.spec.js"},"_npmUser":{"name":"craigparra","email":"craigparra@gmail.com"},"repository":{"url":"git+https://github.com/alt-javascript/boot.git","type":"git","directory":"packages/jsdbc-template"},"_npmVersion":"11.12.0","description":"Spring JdbcTemplate for JSDBC — queryForObject, queryForList, update, batchUpdate, transactions","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@alt-javascript/jsdbc-core":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","mocha":"^11.7.5","@alt-javascript/jsdbc-sqljs":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/jsdbc-template_3.0.5_1774428789269_0.3507204600670204","host":"s3://npm-registry-packages-npm-production"}},"3.0.6":{"name":"@alt-javascript/jsdbc-template","version":"3.0.6","keywords":["jsdbc","jdbc","template","database","sql","spring"],"author":{"name":"Craig Parravicini"},"license":"MIT","_id":"@alt-javascript/jsdbc-template@3.0.6","maintainers":[{"name":"craigparra","email":"craigparra@gmail.com"}],"contributors":[{"url":"Anthropic","name":"Claude"}],"homepage":"https://github.com/alt-javascript/boot/tree/main/packages/jsdbc-template#readme","bugs":{"url":"https://github.com/alt-javascript/boot/issues"},"dist":{"shasum":"7a6f55f83007ffdd41a321e9746df66d8c8dbc81","tarball":"https://registry.npmjs.org/@alt-javascript/jsdbc-template/-/jsdbc-template-3.0.6.tgz","fileCount":6,"integrity":"sha512-Huka+gYiF/WZPtQnQOWOs/AG4iy1AZOr3MhTLDV2GoyMlwYRNva7h+R357D2681G6FeUJIqeQXcsMN/R+OBNNQ==","signatures":[{"sig":"MEQCICztoY991yzo/g8wwkFo+tL2rkUeJd/IgdXF7rfvYKcbAiANzuihL6jB/Wk8KxSCfmNjOoh+eFjMNVTuttgfWXV8gw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22522},"main":"index.js","type":"module","engines":{"node":">=20"},"exports":{".":"./index.js"},"gitHead":"ba43e8807bc28583f98edddce84849875544bd51","scripts":{"test":"mocha --recursive test/**/*.spec.js"},"_npmUser":{"name":"craigparra","email":"craigparra@gmail.com"},"repository":{"url":"git+https://github.com/alt-javascript/boot.git","type":"git","directory":"packages/jsdbc-template"},"_npmVersion":"11.12.1","description":"Spring JdbcTemplate for JSDBC — queryForObject, queryForList, update, batchUpdate, transactions","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@alt-javascript/jsdbc-core":"^1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","mocha":"^11.7.5","@alt-javascript/jsdbc-sqljs":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/jsdbc-template_3.0.6_1774553448869_0.36664639265092847","host":"s3://npm-registry-packages-npm-production"}},"3.0.7":{"name":"@alt-javascript/jsdbc-template","version":"3.0.7","description":"Spring JdbcTemplate for JSDBC — queryForObject, queryForList, update, batchUpdate, transactions","type":"module","main":"index.js","exports":{".":"./index.js"},"author":{"name":"Craig Parravicini"},"contributors":[{"name":"Claude","url":"Anthropic"}],"keywords":["jsdbc","jdbc","template","database","sql","spring"],"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"scripts":{"test":"mocha --recursive test/**/*.spec.js"},"dependencies":{"@alt-javascript/jsdbc-core":"^1.0.0"},"devDependencies":{"@alt-javascript/jsdbc-sqljs":"^1.0.0","chai":"^4.3.7","mocha":"^11.7.5"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/alt-javascript/boot.git","directory":"packages/jsdbc-template"},"homepage":"https://github.com/alt-javascript/boot/tree/main/packages/jsdbc-template#readme","bugs":{"url":"https://github.com/alt-javascript/boot/issues"},"engines":{"node":">=20"},"gitHead":"01bd2e99058af03b3213c09c07ba87985bfeeeca","_id":"@alt-javascript/jsdbc-template@3.0.7","_nodeVersion":"24.14.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-/3Rd/k3XwdXV+79dAZj6FxteyNLAlKq+Jfea3Oq7GS471VoEiXNKU5L1z4Uky8pd+B6y/7+TXXX4siP4b0CSdA==","shasum":"3cbcb8ca930d82be42e80ea3e30594a67a1b3c8e","tarball":"https://registry.npmjs.org/@alt-javascript/jsdbc-template/-/jsdbc-template-3.0.7.tgz","fileCount":6,"unpackedSize":22522,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFN7rlS7nmdWK+trcH7qtVHxNyRiEcZVpDdZ1utukwCqAiB/glWeNhEYun599/SEfk/KIT9LwQY1HKy0LwBMMGt/Ig=="}]},"_npmUser":{"name":"craigparra","email":"craigparra@gmail.com"},"directories":{},"maintainers":[{"name":"craigparra","email":"craigparra@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/jsdbc-template_3.0.7_1774553630720_0.4488682202326211"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-21T04:36:27.202Z","modified":"2026-03-26T19:33:51.002Z","3.0.2":"2026-03-21T04:36:27.530Z","3.0.3":"2026-03-21T04:51:15.750Z","3.0.4":"2026-03-25T07:12:09.406Z","3.0.5":"2026-03-25T08:53:09.417Z","3.0.6":"2026-03-26T19:30:49.086Z","3.0.7":"2026-03-26T19:33:50.867Z"},"bugs":{"url":"https://github.com/alt-javascript/boot/issues"},"author":{"name":"Craig Parravicini"},"license":"MIT","homepage":"https://github.com/alt-javascript/boot/tree/main/packages/jsdbc-template#readme","keywords":["jsdbc","jdbc","template","database","sql","spring"],"repository":{"type":"git","url":"git+https://github.com/alt-javascript/boot.git","directory":"packages/jsdbc-template"},"description":"Spring JdbcTemplate for JSDBC — queryForObject, queryForList, update, batchUpdate, transactions","contributors":[{"name":"Claude","url":"Anthropic"}],"maintainers":[{"name":"craigparra","email":"craigparra@gmail.com"}],"readme":"# @alt-javascript/jsdbc-template\n\n[![Language](https://img.shields.io/badge/language-JavaScript-yellow.svg)](https://developer.mozilla.org/en-US/docs/Web/JavaScript)\n[![npm version](https://img.shields.io/npm/v/%40alt-javascript%2Fjsdbc-template)](https://www.npmjs.com/package/@alt-javascript/jsdbc-template)\n[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n[![CI](https://github.com/alt-javascript/boot/actions/workflows/node.js.yml/badge.svg)](https://github.com/alt-javascript/boot/actions/workflows/node.js.yml)\n\nCDI-managed database access for the `@alt-javascript` framework. Wraps [`@alt-javascript/jsdbc-core`](https://github.com/alt-javascript/jsdbc) with Spring-style template patterns and auto-configuration.\n\n**Part of the [@alt-javascript](https://github.com/alt-javascript/boot) monorepo.**\n\n## Install\n\n```bash\nnpm install @alt-javascript/jsdbc-template @alt-javascript/jsdbc-core @alt-javascript/jsdbc-sqlite\n```\n\n## What's Included\n\n| Class | Role |\n|---|---|\n| `JsdbcTemplate` | Simplifies JSDBC access — `query()`, `update()`, `execute()`, row mapping |\n| `NamedParameterJsdbcTemplate` | Named `:param` parameters instead of positional `?` |\n| `TransactionTemplate` | Callback-based transaction management |\n| `ConfiguredDataSource` | CDI-aware DataSource that reads `jsdbc.*` config |\n| `jsdbcAutoConfiguration()` | Auto-configures DataSource + templates from config |\n\n## Usage\n\n### Standalone\n\n```javascript\nimport { JsdbcTemplate } from '@alt-javascript/jsdbc-template';\nimport { DataSource } from '@alt-javascript/jsdbc-core';\nimport '@alt-javascript/jsdbc-sqlite';\n\nconst ds = new DataSource({ url: 'jsdbc:sqlite::memory:' });\nconst template = new JsdbcTemplate(ds);\n\nawait template.execute('CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)');\nawait template.update('INSERT INTO users (name) VALUES (?)', ['Craig']);\nconst users = await template.query('SELECT * FROM users');\n```\n\n### With CDI Auto-Configuration\n\n```javascript\nimport { jsdbcAutoConfiguration } from '@alt-javascript/jsdbc-template';\n\nconst context = new Context([\n  ...jsdbcAutoConfiguration(),\n  new Singleton(UserRepository),\n]);\n```\n\nConfig (`application.json`):\n```json\n{ \"jsdbc\": { \"url\": \"jsdbc:sqlite:./app.db\" } }\n```\n\nYour `UserRepository` receives a `jsdbcTemplate` or `namedParameterJsdbcTemplate` via autowiring.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}