@askdb/sqlserver 0.1.0-beta.11 → 0.1.0-beta.12
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 +7 -0
- package/dist/exec/sqlserver.d.ts.map +1 -1
- package/dist/exec/sqlserver.js +38 -2
- package/dist/exec/sqlserver.js.map +1 -1
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -18,6 +18,13 @@ pnpm add @askdb/core @askdb/introspect @askdb/sqlserver
|
|
|
18
18
|
pnpm add mssql
|
|
19
19
|
```
|
|
20
20
|
|
|
21
|
+
For one-off CLI introspection, include the driver in the same ephemeral command:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
pnpm dlx -p askdb -p mssql askdb introspect --engine sqlserver --url "$SQLSERVER_URL"
|
|
25
|
+
npx -p askdb -p mssql askdb introspect --engine sqlserver --url "$SQLSERVER_URL"
|
|
26
|
+
```
|
|
27
|
+
|
|
21
28
|
## Usage
|
|
22
29
|
|
|
23
30
|
### NL→SQL
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlserver.d.ts","sourceRoot":"","sources":["../../src/exec/sqlserver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAsB,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"sqlserver.d.ts","sourceRoot":"","sources":["../../src/exec/sqlserver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAsB,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAKhF,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAyDhF,6EAA6E;AAC7E,wBAAgB,+BAA+B,IAAI,IAAI,CAEtD;AAkCD;;;;GAIG;AACH,wBAAgB,iCAAiC,CAAC,gBAAgB,EAAE,MAAM,GAAG,kBAAkB,CAE9F"}
|
package/dist/exec/sqlserver.js
CHANGED
|
@@ -1,16 +1,52 @@
|
|
|
1
1
|
import { AskDbError } from "@askdb/core";
|
|
2
|
+
import { createRequire } from "node:module";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
import { pathToFileURL } from "node:url";
|
|
2
5
|
/**
|
|
3
6
|
* Lazily resolve the optional `mssql` peer dependency. Mirrors the lazy-load
|
|
4
7
|
* pattern in `@askdb/postgres` / `@askdb/mysql` so consumers with a custom
|
|
5
8
|
* `CatalogQueryRunner` can import `@askdb/sqlserver` without `mssql` installed.
|
|
6
9
|
*/
|
|
7
10
|
let mssqlModulePromise;
|
|
11
|
+
function isModuleResolutionFailure(cause, packageName) {
|
|
12
|
+
if (!(cause instanceof Error))
|
|
13
|
+
return false;
|
|
14
|
+
const nestedCause = cause.cause;
|
|
15
|
+
if (nestedCause && nestedCause !== cause && isModuleResolutionFailure(nestedCause, packageName)) {
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
const code = cause.code;
|
|
19
|
+
if (code !== "ERR_MODULE_NOT_FOUND" && code !== "MODULE_NOT_FOUND")
|
|
20
|
+
return false;
|
|
21
|
+
return cause.message.includes(packageName);
|
|
22
|
+
}
|
|
23
|
+
async function importOptionalMssql() {
|
|
24
|
+
try {
|
|
25
|
+
return await import("mssql");
|
|
26
|
+
}
|
|
27
|
+
catch (cause) {
|
|
28
|
+
if (!isModuleResolutionFailure(cause, "mssql"))
|
|
29
|
+
throw cause;
|
|
30
|
+
const projectRequire = createRequire(join(process.cwd(), "package.json"));
|
|
31
|
+
try {
|
|
32
|
+
const resolved = projectRequire.resolve("mssql");
|
|
33
|
+
return (await import(pathToFileURL(resolved).href));
|
|
34
|
+
}
|
|
35
|
+
catch (projectCause) {
|
|
36
|
+
if (!isModuleResolutionFailure(projectCause, "mssql"))
|
|
37
|
+
throw projectCause;
|
|
38
|
+
throw new AggregateError([cause, projectCause], "Unable to resolve optional `mssql` peer dependency");
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
8
42
|
async function loadMssqlOrThrow() {
|
|
9
43
|
if (!mssqlModulePromise) {
|
|
10
|
-
mssqlModulePromise =
|
|
44
|
+
mssqlModulePromise = importOptionalMssql().catch((cause) => {
|
|
11
45
|
mssqlModulePromise = undefined;
|
|
12
46
|
throw new AskDbError("The built-in SQL Server catalog query runner requires the optional `mssql` peer dependency. " +
|
|
13
|
-
"Install it (e.g. `pnpm add mssql`) or
|
|
47
|
+
"Install it in your project (e.g. `pnpm add mssql`) or include it in the same one-off command " +
|
|
48
|
+
"(e.g. `pnpm dlx -p askdb -p mssql askdb ...` or `npx -p askdb -p mssql askdb ...`). " +
|
|
49
|
+
"You can also pass a custom catalog query runner to the SQL Server connector.", cause);
|
|
14
50
|
});
|
|
15
51
|
}
|
|
16
52
|
return mssqlModulePromise;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlserver.js","sourceRoot":"","sources":["../../src/exec/sqlserver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"sqlserver.js","sourceRoot":"","sources":["../../src/exec/sqlserver.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@askdb/sqlserver",
|
|
3
|
-
"version": "0.1.0-beta.
|
|
3
|
+
"version": "0.1.0-beta.12",
|
|
4
4
|
"description": "AskDB Microsoft SQL Server integration: introspection connector via sys.* catalog views and an mssql-backed catalog query runner. Pairs with @askdb/core's SQLSERVER_DIALECT.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"askdb",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"@askdb/introspect": "0.3.0-beta.12"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
|
-
"mssql": ">=
|
|
50
|
+
"mssql": ">=12"
|
|
51
51
|
},
|
|
52
52
|
"peerDependenciesMeta": {
|
|
53
53
|
"mssql": {
|
|
@@ -55,10 +55,10 @@
|
|
|
55
55
|
}
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
|
-
"@types/mssql": "^
|
|
59
|
-
"mssql": "^
|
|
60
|
-
"typescript": "^
|
|
61
|
-
"vitest": "^
|
|
58
|
+
"@types/mssql": "^12.3.0",
|
|
59
|
+
"mssql": "^12.5.5",
|
|
60
|
+
"typescript": "^6.0.3",
|
|
61
|
+
"vitest": "^4.1.8"
|
|
62
62
|
},
|
|
63
63
|
"scripts": {
|
|
64
64
|
"build": "tsc -p tsconfig.build.json",
|