@askdb/introspect 0.3.0-beta.27 → 0.3.0-beta.29

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.
@@ -38,9 +38,11 @@ export type OptionalDriverLoader<T> = {
38
38
  * installed but fails to load.
39
39
  *
40
40
  * Node 24 and later can keep a failed package lookup until the process exits,
41
- * so a retry may still miss a peer installed after the first attempt. When
42
- * the peer is on disk under `resolveFrom` but Node can't resolve it, the
43
- * `AskDbError` says to restart the process instead of to install it.
41
+ * so a retry may still miss a peer installed after the first attempt (#669).
42
+ * When the peer is on disk under `resolveFrom` (or on `NODE_PATH`) but Node
43
+ * can't resolve it, the loader reads its entry from its `package.json` and
44
+ * imports that file by path. Only when it can't find the entry that way does
45
+ * the `AskDbError` say to restart the process.
44
46
  */
45
47
  load(options?: DriverLoadOptions): Promise<T>;
46
48
  };
@@ -50,8 +52,15 @@ export type OptionalDriverLoader<T> = {
50
52
  */
51
53
  export declare function createOptionalDriverLoader<T>(spec: OptionalDriverSpec<T>): OptionalDriverLoader<T>;
52
54
  /**
53
- * True when `packageName` resolves from `resolveFrom` (default `process.cwd()`).
54
- * A cheap, synchronous capability probe — it does not load the driver.
55
+ * True when `packageName` is installed for `resolveFrom` (default
56
+ * `process.cwd()`): in a `node_modules` directory there or in a parent, or in
57
+ * one of Node's global directories (`NODE_PATH` first). A cheap, synchronous
58
+ * capability probe — it does not load the driver.
59
+ *
60
+ * It checks the disk instead of asking Node's resolver: on Node 24 and later a
61
+ * failed lookup is kept for the life of the process, so a resolver probe before
62
+ * an install would hide the installed package from this process (#669). Under
63
+ * Yarn Plug'n'Play, which has no `node_modules`, it asks the resolver.
55
64
  */
56
65
  export declare function isDriverInstalled(packageName: string, options?: DriverLoadOptions): boolean;
57
66
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../src/kit/driver.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI;IAClC,uEAAuE;IACvE,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;OASG;IACH,YAAY,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/B,yFAAyF;IACzF,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI;IACpC;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAC/C,CAAC;AA0DF;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,CA0DlG;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAQ3F;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAQ3F;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAE9D"}
1
+ {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../src/kit/driver.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI;IAClC,uEAAuE;IACvE,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;OASG;IACH,YAAY,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/B,yFAAyF;IACzF,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI;IACpC;;;;;;;;;;;;;;;OAeG;IACH,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAC/C,CAAC;AAkIF;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAgElG;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAU3F;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAQ3F;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAE9D"}
@@ -1,7 +1,7 @@
1
1
  import { AskDbError } from "@askdb/core";
2
- import { existsSync } from "node:fs";
3
- import { createRequire } from "node:module";
4
- import { dirname, join } from "node:path";
2
+ import { existsSync, readFileSync, statSync } from "node:fs";
3
+ import Module, { createRequire } from "node:module";
4
+ import { dirname, join, resolve } from "node:path";
5
5
  import { pathToFileURL } from "node:url";
6
6
  /**
7
7
  * True when `cause` (or any error in its `cause` chain) is a Node module
@@ -44,16 +44,90 @@ class DriverUnresolvableError extends AggregateError {
44
44
  }
45
45
  }
46
46
  /**
47
- * The `node_modules` directory under `fromDir` or one of its parents that holds
48
- * `packageName`, checked on disk rather than through Node's resolver.
47
+ * The directories Node searches after a module's own `node_modules` chain: the
48
+ * `NODE_PATH` entries, then `~/.node_modules`, `~/.node_libraries` and
49
+ * `<prefix>/lib/node`, as Node read them at startup. `Module.globalPaths` is
50
+ * Node's public copy of that list (untyped in `@types/node`); reading it keeps
51
+ * `process.env` out of this package (ADR 0005).
52
+ */
53
+ function globalModuleDirs() {
54
+ const paths = Module.globalPaths;
55
+ return Array.isArray(paths) ? paths.filter((p) => typeof p === "string" && p !== "") : [];
56
+ }
57
+ /**
58
+ * The `node_modules` directory that holds `packageName`: under `fromDir` or one
59
+ * of its parents, then in Node's global directories (`NODE_PATH` first), as
60
+ * Node searches. Checked on disk, never through Node's resolver, which on Node
61
+ * 24+ would keep a miss (#669).
49
62
  */
50
63
  function nodeModulesHolding(fromDir, packageName) {
51
- for (let dir = fromDir;; dir = dirname(dir)) {
52
- if (existsSync(join(dir, "node_modules", packageName, "package.json")))
64
+ const holds = (nodeModules) => existsSync(join(nodeModules, packageName, "package.json"));
65
+ for (let dir = resolve(fromDir);; dir = dirname(dir)) {
66
+ if (holds(join(dir, "node_modules")))
53
67
  return join(dir, "node_modules");
54
68
  if (dirname(dir) === dir)
55
- return undefined;
69
+ break;
70
+ }
71
+ return globalModuleDirs().find(holds);
72
+ }
73
+ /** The conditions Node's `require` resolves with (`module-sync` on Node 22.12+), which the project fallback below uses too. */
74
+ const REQUIRE_CONDITIONS = new Set(["node", "module-sync", "require", "default"]);
75
+ /** An `exports` target under {@link REQUIRE_CONDITIONS}: a string, the first match in an array, or a nested condition map. */
76
+ function exportsTarget(target) {
77
+ if (typeof target === "string")
78
+ return target;
79
+ if (Array.isArray(target)) {
80
+ for (const entry of target) {
81
+ const found = exportsTarget(entry);
82
+ if (found !== undefined)
83
+ return found;
84
+ }
85
+ return undefined;
86
+ }
87
+ if (target !== null && typeof target === "object") {
88
+ for (const [condition, value] of Object.entries(target)) {
89
+ if (!REQUIRE_CONDITIONS.has(condition))
90
+ continue;
91
+ const found = exportsTarget(value);
92
+ if (found !== undefined)
93
+ return found;
94
+ }
95
+ }
96
+ return undefined;
97
+ }
98
+ /** A file as `require` finds it: as written, with `.js`, `.cjs` or `.json`, or the directory's `index.js`. */
99
+ function existingFile(path) {
100
+ const isFile = (p) => existsSync(p) && statSync(p).isFile();
101
+ for (const candidate of [path, `${path}.js`, `${path}.cjs`, `${path}.json`, join(path, "index.js")]) {
102
+ if (isFile(candidate))
103
+ return candidate;
56
104
  }
105
+ return undefined;
106
+ }
107
+ /**
108
+ * The file `specifier` names inside the installed package at `packageDir`, read
109
+ * from its `package.json` the way `require` would: its `exports` map (exact
110
+ * subpaths only) or, with none, `main` for the package and the path itself for
111
+ * a subpath. Undefined when it can't tell.
112
+ */
113
+ function entryOnDisk(packageDir, packageName, specifier) {
114
+ let manifest;
115
+ try {
116
+ manifest = JSON.parse(readFileSync(join(packageDir, "package.json"), "utf8"));
117
+ }
118
+ catch {
119
+ return undefined;
120
+ }
121
+ const subpath = specifier === packageName ? "." : `.${specifier.slice(packageName.length)}`;
122
+ const { exports } = manifest;
123
+ if (exports !== undefined && exports !== null) {
124
+ const keyed = typeof exports === "object" && !Array.isArray(exports) && Object.keys(exports).some((k) => k.startsWith("."));
125
+ const target = exportsTarget(keyed ? exports[subpath] : subpath === "." ? exports : undefined);
126
+ return target?.startsWith("./") ? existingFile(join(packageDir, target)) : undefined;
127
+ }
128
+ if (subpath !== ".")
129
+ return existingFile(join(packageDir, subpath));
130
+ return existingFile(join(packageDir, typeof manifest.main === "string" ? manifest.main : "index.js"));
57
131
  }
58
132
  /**
59
133
  * Build a lazy, cached loader for an optional database-driver peer. Engine
@@ -80,8 +154,14 @@ export function createOptionalDriverLoader(spec) {
80
154
  if (!isModuleResolutionFailure(projectCause, packageName, specifier))
81
155
  throw projectCause;
82
156
  const nodeModules = nodeModulesHolding(fromDir, packageName);
83
- if (nodeModules)
84
- throw new DriverUnresolvableError([cause, projectCause], nodeModules);
157
+ if (nodeModules) {
158
+ // On disk, but Node won't resolve it: on Node 24+, a lookup earlier in this process
159
+ // missed and Node kept the miss (#669). Load the entry by path instead.
160
+ const entry = entryOnDisk(join(nodeModules, packageName), packageName, specifier);
161
+ if (entry === undefined)
162
+ throw new DriverUnresolvableError([cause, projectCause], nodeModules);
163
+ return (await import(pathToFileURL(entry).href));
164
+ }
85
165
  throw new DriverNotFoundError([cause, projectCause], `Unable to resolve optional \`${packageName}\` peer dependency`);
86
166
  }
87
167
  // Resolved in the project: any failure from here on is the installed
@@ -116,13 +196,24 @@ export function createOptionalDriverLoader(spec) {
116
196
  };
117
197
  }
118
198
  /**
119
- * True when `packageName` resolves from `resolveFrom` (default `process.cwd()`).
120
- * A cheap, synchronous capability probe — it does not load the driver.
199
+ * True when `packageName` is installed for `resolveFrom` (default
200
+ * `process.cwd()`): in a `node_modules` directory there or in a parent, or in
201
+ * one of Node's global directories (`NODE_PATH` first). A cheap, synchronous
202
+ * capability probe — it does not load the driver.
203
+ *
204
+ * It checks the disk instead of asking Node's resolver: on Node 24 and later a
205
+ * failed lookup is kept for the life of the process, so a resolver probe before
206
+ * an install would hide the installed package from this process (#669). Under
207
+ * Yarn Plug'n'Play, which has no `node_modules`, it asks the resolver.
121
208
  */
122
209
  export function isDriverInstalled(packageName, options) {
210
+ const fromDir = options?.resolveFrom ?? process.cwd();
211
+ if (nodeModulesHolding(fromDir, packageName) !== undefined)
212
+ return true;
213
+ if (!process.versions.pnp)
214
+ return false;
123
215
  try {
124
- const req = createRequire(join(options?.resolveFrom ?? process.cwd(), "package.json"));
125
- req.resolve(packageName);
216
+ createRequire(join(fromDir, "package.json")).resolve(packageName);
126
217
  return true;
127
218
  }
128
219
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../src/kit/driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../src/kit/driver.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@askdb/introspect",
3
- "version": "0.3.0-beta.27",
3
+ "version": "0.3.0-beta.29",
4
4
  "description": "AskDB schema introspection: engine-agnostic Connector contract + orchestrator + schema artifact renderer. Integration packages (e.g. @askdb/postgres) supply connectors.",
5
5
  "keywords": [
6
6
  "askdb",
@@ -45,7 +45,7 @@
45
45
  "node": ">=22.23.4"
46
46
  },
47
47
  "dependencies": {
48
- "@askdb/core": "1.0.0-beta.53"
48
+ "@askdb/core": "1.0.0-beta.55"
49
49
  },
50
50
  "peerDependencies": {
51
51
  "ai": "^6.0.0 || ^7.0.51"