hazo_connect 2.4.7 → 2.6.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 +167 -3
- package/dist/adapters/pg-adapter.d.ts +53 -0
- package/dist/adapters/pg-adapter.d.ts.map +1 -0
- package/dist/adapters/pg-adapter.js +76 -0
- package/dist/adapters/pg-adapter.js.map +1 -0
- package/dist/adapters/sqlite-adapter.d.ts +35 -0
- package/dist/adapters/sqlite-adapter.d.ts.map +1 -1
- package/dist/adapters/sqlite-adapter.js +66 -0
- package/dist/adapters/sqlite-adapter.js.map +1 -1
- package/dist/factory.d.ts.map +1 -1
- package/dist/factory.js +7 -3
- package/dist/factory.js.map +1 -1
- package/dist/migrations/runner.d.ts +39 -0
- package/dist/migrations/runner.d.ts.map +1 -0
- package/dist/migrations/runner.js +87 -0
- package/dist/migrations/runner.js.map +1 -0
- package/dist/nextjs/setup-helpers.d.ts.map +1 -1
- package/dist/nextjs/setup-helpers.js +15 -4
- package/dist/nextjs/setup-helpers.js.map +1 -1
- package/dist/query-builder.d.ts +65 -0
- package/dist/query-builder.d.ts.map +1 -1
- package/dist/query-builder.js +148 -0
- package/dist/query-builder.js.map +1 -1
- package/dist/server/index.d.ts +3 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +4 -1
- package/dist/server/index.js.map +1 -1
- package/dist/sqlite/query-translator.d.ts.map +1 -1
- package/dist/sqlite/query-translator.js +39 -2
- package/dist/sqlite/query-translator.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/database-url.d.ts +20 -0
- package/dist/utils/database-url.d.ts.map +1 -0
- package/dist/utils/database-url.js +44 -0
- package/dist/utils/database-url.js.map +1 -0
- package/package.json +3 -1
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/lib/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IAC5D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IAC3D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IAC3D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CAC7D;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,MAKxB,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/lib/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Purpose: Parse `DATABASE_URL=sqlite:...` env-var values into the SQLite
|
|
3
|
+
* config shape that `createHazoConnect` already understands.
|
|
4
|
+
*
|
|
5
|
+
* Supports the URI forms commonly used in sister projects:
|
|
6
|
+
* - `sqlite:./relative/path.db` -> resolved against cwd
|
|
7
|
+
* - `sqlite:relative/path.db` -> resolved against cwd
|
|
8
|
+
* - `sqlite:/absolute/path.db` -> taken as absolute
|
|
9
|
+
* - `sqlite:///absolute/path.db` -> the `file://` style; same as absolute
|
|
10
|
+
* - `sqlite::memory:` -> in-memory marker
|
|
11
|
+
*
|
|
12
|
+
* Returns `null` for non-sqlite URLs or empty input. Callers can layer this
|
|
13
|
+
* on top of the existing `HAZO_CONNECT_SQLITE_PATH` env var.
|
|
14
|
+
*/
|
|
15
|
+
export interface ParsedSqliteUrl {
|
|
16
|
+
type: 'sqlite';
|
|
17
|
+
database_path: string;
|
|
18
|
+
}
|
|
19
|
+
export declare function parseDatabaseUrl(url: string | undefined, cwd?: string): ParsedSqliteUrl | null;
|
|
20
|
+
//# sourceMappingURL=database-url.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database-url.d.ts","sourceRoot":"","sources":["../../src/lib/utils/database-url.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,QAAQ,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,GAAG,GAAE,MAAsB,GAC1B,eAAe,GAAG,IAAI,CAyBxB"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Purpose: Parse `DATABASE_URL=sqlite:...` env-var values into the SQLite
|
|
4
|
+
* config shape that `createHazoConnect` already understands.
|
|
5
|
+
*
|
|
6
|
+
* Supports the URI forms commonly used in sister projects:
|
|
7
|
+
* - `sqlite:./relative/path.db` -> resolved against cwd
|
|
8
|
+
* - `sqlite:relative/path.db` -> resolved against cwd
|
|
9
|
+
* - `sqlite:/absolute/path.db` -> taken as absolute
|
|
10
|
+
* - `sqlite:///absolute/path.db` -> the `file://` style; same as absolute
|
|
11
|
+
* - `sqlite::memory:` -> in-memory marker
|
|
12
|
+
*
|
|
13
|
+
* Returns `null` for non-sqlite URLs or empty input. Callers can layer this
|
|
14
|
+
* on top of the existing `HAZO_CONNECT_SQLITE_PATH` env var.
|
|
15
|
+
*/
|
|
16
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.parseDatabaseUrl = parseDatabaseUrl;
|
|
21
|
+
const path_1 = __importDefault(require("path"));
|
|
22
|
+
function parseDatabaseUrl(url, cwd = process.cwd()) {
|
|
23
|
+
if (!url)
|
|
24
|
+
return null;
|
|
25
|
+
// Match scheme case-insensitively.
|
|
26
|
+
const match = url.match(/^sqlite:(.*)$/i);
|
|
27
|
+
if (!match)
|
|
28
|
+
return null;
|
|
29
|
+
const rest = match[1];
|
|
30
|
+
if (rest === ':memory:') {
|
|
31
|
+
return { type: 'sqlite', database_path: ':memory:' };
|
|
32
|
+
}
|
|
33
|
+
// `sqlite:///abs/path` form — three slashes after the scheme.
|
|
34
|
+
if (rest.startsWith('///')) {
|
|
35
|
+
return { type: 'sqlite', database_path: '/' + rest.slice(3) };
|
|
36
|
+
}
|
|
37
|
+
// `sqlite:/abs/path` form — single leading slash already absolute.
|
|
38
|
+
if (path_1.default.isAbsolute(rest)) {
|
|
39
|
+
return { type: 'sqlite', database_path: rest };
|
|
40
|
+
}
|
|
41
|
+
// Relative form. Strip a leading `./` for consistency before resolving.
|
|
42
|
+
return { type: 'sqlite', database_path: path_1.default.resolve(cwd, rest) };
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=database-url.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database-url.js","sourceRoot":"","sources":["../../src/lib/utils/database-url.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;;;AASH,4CA4BC;AAnCD,gDAAuB;AAOvB,SAAgB,gBAAgB,CAC9B,GAAuB,EACvB,MAAc,OAAO,CAAC,GAAG,EAAE;IAE3B,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAA;IAErB,mCAAmC;IACnC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;IACzC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IAEvB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IAErB,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,CAAA;IACtD,CAAC;IAED,8DAA8D;IAC9D,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;IAC/D,CAAC;IAED,mEAAmE;IACnE,IAAI,cAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,CAAA;IAChD,CAAC;IAED,wEAAwE;IACxE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAA;AACnE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hazo_connect",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.6.0",
|
|
4
4
|
"description": "Module to connect to the data store (postgres via postgrest, supabase, etc)",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -56,6 +56,7 @@
|
|
|
56
56
|
"test:coverage": "jest --coverage",
|
|
57
57
|
"test:integration": "POSTGREST_INTEGRATION=true jest --runInBand tests/integration/postgrest.integration.test.ts",
|
|
58
58
|
"test:integration:sqlite": "jest --runInBand tests/integration/sqlite.integration.test.ts",
|
|
59
|
+
"test:integration:pg": "PG_INTEGRATION=true jest --runInBand tests/integration/pg.integration.test.ts",
|
|
59
60
|
"prepublishOnly": "npm run build:lib",
|
|
60
61
|
"postinstall": "node scripts/postinstall-setup.js"
|
|
61
62
|
},
|
|
@@ -79,6 +80,7 @@
|
|
|
79
80
|
"homepage": "https://github.com/pub12/hazo_connect#readme",
|
|
80
81
|
"dependencies": {
|
|
81
82
|
"dotenv": "^16.4.5",
|
|
83
|
+
"postgres": "^3.4.5",
|
|
82
84
|
"sql.js": "^1.13.0"
|
|
83
85
|
},
|
|
84
86
|
"peerDependencies": {
|