sqlite-hub-client 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -14,16 +14,12 @@ npm install sqlite-hub-client
14
14
  ```ts
15
15
  import { connect } from "sqlite-hub-client";
16
16
 
17
- // Using a per-DB service secret (recommended for services)
18
17
  const db = connect({
19
- url: process.env.SQLITE_HUB_URL, // e.g. https://my-app.up.railway.app
20
- token: process.env.SQLITE_HUB_SERVICE_SECRET, // service_secret generated at DB creation
21
- db: "my-service", // database name
18
+ url: process.env.SQLITE_HUB_URL, // e.g. https://my-app.up.railway.app
19
+ token: process.env.SQLITE_HUB_SERVICE_SECRET, // service_secret from admin Settings
20
+ db: "my-service",
22
21
  });
23
22
 
24
- // Or use the global admin token (dev / admin tooling)
25
- // token: process.env.SQLITE_HUB_ADMIN_TOKEN
26
-
27
23
  // Create table
28
24
  await db.createTable("users", [
29
25
  { name: "id", type: "INTEGER", primaryKey: true, autoIncrement: true },
@@ -97,7 +93,7 @@ const result = await db.exec("PRAGMA table_info(users)");
97
93
  | Option | Type | Required | Description |
98
94
  | --------- | -------- | -------- | ----------------------------------------------------------------------------------------------- |
99
95
  | `url` | `string` | ✅ | Base URL of your sqlite-hub deployment |
100
- | `token` | `string` | ✅ | Per-DB `service_secret` (recommended) or global `ADMIN_TOKEN` sent as `Authorization: Bearer` |
96
+ | `token` | `string` | ✅ | Per-DB `service_secret` generate one in the admin dashboard under Settings → Service secret |
101
97
  | `db` | `string` | ✅ | Name of the database to operate on |
102
98
  | `timeout` | `number` | ❌ | Request timeout in ms (default: `10000`) |
103
99
 
@@ -3,9 +3,9 @@ export interface HttpAdapterOptions {
3
3
  /** Base URL of the sqlite-hub deployment, e.g. https://my-app.up.railway.app */
4
4
  url: string;
5
5
  /**
6
- * Bearer token for this database.
7
- * Use the per-DB `service_secret` (recommended for services) or the
8
- * global `ADMIN_TOKEN` (for admin-level access or dev environments).
6
+ * Per-DB `service_secret` for this database.
7
+ * Generate one in the sqlite-hub admin dashboard under Settings Service secret.
8
+ * Sent as `Authorization: Bearer <token>` on every request.
9
9
  */
10
10
  token: string;
11
11
  /** Name of the database to operate on */
@@ -1,19 +1,13 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.HttpAdapter = void 0;
7
- const fetch_1 = __importDefault(require("@pingpong-js/fetch"));
1
+ import pingpong from "@pingpong-js/fetch";
8
2
  /**
9
3
  * Adapter that executes SQL via the sqlite-hub HTTP API
10
4
  * (POST /api/db/:name/exec).
11
5
  */
12
- class HttpAdapter {
6
+ export class HttpAdapter {
13
7
  constructor(options) {
14
8
  this.options = options;
15
9
  this.dbPath = `/api/db/${encodeURIComponent(options.db)}/exec`;
16
- this.http = fetch_1.default.create({
10
+ this.http = pingpong.create({
17
11
  baseURL: options.url.replace(/\/$/, ""),
18
12
  timeout: options.timeout ?? 10000,
19
13
  headers: {
@@ -35,4 +29,3 @@ class HttpAdapter {
35
29
  return res.data;
36
30
  }
37
31
  }
38
- exports.HttpAdapter = HttpAdapter;
@@ -1,5 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HttpAdapter = void 0;
4
- var http_js_1 = require("./http.js");
5
- Object.defineProperty(exports, "HttpAdapter", { enumerable: true, get: function () { return http_js_1.HttpAdapter; } });
1
+ export { HttpAdapter } from "./http.js";
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
package/dist/database.js CHANGED
@@ -1,6 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Database = void 0;
4
1
  // ── SQL builder helpers ─────────────────────────────────────────────────────
5
2
  function buildWhere(where) {
6
3
  const keys = Object.keys(where);
@@ -24,7 +21,7 @@ function isExecResult(r) {
24
21
  * Accepts any `IAdapter` — currently `HttpAdapter`, extensible to direct
25
22
  * SQLite (via better-sqlite3 or sql.js) without changing business code.
26
23
  */
27
- class Database {
24
+ export class Database {
28
25
  constructor(adapter) {
29
26
  this.adapter = adapter;
30
27
  }
@@ -229,4 +226,3 @@ class Database {
229
226
  return result;
230
227
  }
231
228
  }
232
- exports.Database = Database;
package/dist/index.d.ts CHANGED
@@ -9,18 +9,9 @@ import { Database } from "./database.js";
9
9
  * Create a Database connected to a sqlite-hub service over HTTP.
10
10
  *
11
11
  * @example
12
- * // Using a per-DB service secret (recommended for services)
13
12
  * const db = connect({
14
13
  * url: process.env.SQLITE_HUB_URL,
15
- * token: process.env.SQLITE_HUB_SERVICE_SECRET,
16
- * db: "my-service",
17
- * });
18
- *
19
- * @example
20
- * // Using the global admin token (dev / admin tooling)
21
- * const db = connect({
22
- * url: process.env.SQLITE_HUB_URL,
23
- * token: process.env.SQLITE_HUB_ADMIN_TOKEN,
14
+ * token: process.env.SQLITE_HUB_SERVICE_SECRET, // service_secret from admin Settings
24
15
  * db: "my-service",
25
16
  * });
26
17
  */
package/dist/index.js CHANGED
@@ -1,34 +1,19 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HttpAdapter = exports.Database = void 0;
4
- exports.connect = connect;
5
- var database_js_1 = require("./database.js");
6
- Object.defineProperty(exports, "Database", { enumerable: true, get: function () { return database_js_1.Database; } });
7
- var http_js_1 = require("./adapters/http.js");
8
- Object.defineProperty(exports, "HttpAdapter", { enumerable: true, get: function () { return http_js_1.HttpAdapter; } });
1
+ export { Database } from "./database.js";
2
+ export { HttpAdapter } from "./adapters/http.js";
9
3
  // ── Convenience factory ──────────────────────────────────────────────────────
10
- const http_js_2 = require("./adapters/http.js");
11
- const database_js_2 = require("./database.js");
4
+ import { HttpAdapter } from "./adapters/http.js";
5
+ import { Database } from "./database.js";
12
6
  /**
13
7
  * Create a Database connected to a sqlite-hub service over HTTP.
14
8
  *
15
9
  * @example
16
- * // Using a per-DB service secret (recommended for services)
17
10
  * const db = connect({
18
11
  * url: process.env.SQLITE_HUB_URL,
19
- * token: process.env.SQLITE_HUB_SERVICE_SECRET,
20
- * db: "my-service",
21
- * });
22
- *
23
- * @example
24
- * // Using the global admin token (dev / admin tooling)
25
- * const db = connect({
26
- * url: process.env.SQLITE_HUB_URL,
27
- * token: process.env.SQLITE_HUB_ADMIN_TOKEN,
12
+ * token: process.env.SQLITE_HUB_SERVICE_SECRET, // service_secret from admin Settings
28
13
  * db: "my-service",
29
14
  * });
30
15
  */
31
- function connect(options) {
32
- return new database_js_2.Database(new http_js_2.HttpAdapter(options));
16
+ export function connect(options) {
17
+ return new Database(new HttpAdapter(options));
33
18
  }
34
- exports.default = connect;
19
+ export default connect;
package/package.json CHANGED
@@ -1,9 +1,16 @@
1
1
  {
2
2
  "name": "sqlite-hub-client",
3
- "version": "0.3.0",
3
+ "version": "0.5.0",
4
4
  "description": "High-level SQLite client for sqlite-hub — HTTP adapter included, direct SQLite coming soon",
5
+ "type": "module",
5
6
  "main": "dist/index.js",
6
7
  "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./dist/index.js",
11
+ "types": "./dist/index.d.ts"
12
+ }
13
+ },
7
14
  "files": ["dist", "README.md"],
8
15
  "scripts": {
9
16
  "build": "tsc"