@reqlan/analytical 0.10.1 → 0.10.2
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 +6 -0
- package/out/index.d.ts +2 -1
- package/out/index.js +1 -1
- package/out/index.js.map +1 -1
- package/out/native/load-native.d.ts +15 -0
- package/out/native/load-native.js +104 -50
- package/out/native/load-native.js.map +1 -1
- package/package.json +7 -7
package/README.md
CHANGED
package/out/index.d.ts
CHANGED
|
@@ -40,7 +40,8 @@ export { IndexFileError, recordCaughtFileIssue, recordCaughtIndexError, toFileIn
|
|
|
40
40
|
export { NativeAnalysisApi } from './native/native-analysis-api.js';
|
|
41
41
|
export type { AnalysisRuntimeOptions, InteractionDescriptor, RequirementMatch, SearchRequirementsOptions } from './native/native-analysis-api.js';
|
|
42
42
|
export { openAnalysisApi, type HeadlessAnalysisApi, type OpenedAnalysisApi } from './native/open-analysis-api.js';
|
|
43
|
-
export { nativeEngineRequested, loadNativeEngine, tryLoadNativeEngine, nativeEngineAvailable, addNativeEngineSearchDirs, resetNativeEngineCache } from './native/load-native.js';
|
|
43
|
+
export { nativeEngineRequested, loadNativeEngine, tryLoadNativeEngine, nativeEngineAvailable, addNativeEngineSearchDirs, hostNativeBindingSpec, resetNativeEngineCache } from './native/load-native.js';
|
|
44
|
+
export type { HostNativeBindingSpec } from './native/load-native.js';
|
|
44
45
|
export { NativeWorkspaceIndex } from './native/native-workspace-index.js';
|
|
45
46
|
export type { NativeSyncResult } from './native/native-workspace-index.js';
|
|
46
47
|
export { NativeIndexStore } from './native/native-index-store.js';
|
package/out/index.js
CHANGED
|
@@ -21,7 +21,7 @@ export { fileIssue, fileIssueFromError, unnamedIdeaIssues, validIdeas } from './
|
|
|
21
21
|
export { IndexFileError, recordCaughtFileIssue, recordCaughtIndexError, toFileIndexIssueDraft } from './index-store/index-file-error.js';
|
|
22
22
|
export { NativeAnalysisApi } from './native/native-analysis-api.js';
|
|
23
23
|
export { openAnalysisApi } from './native/open-analysis-api.js';
|
|
24
|
-
export { nativeEngineRequested, loadNativeEngine, tryLoadNativeEngine, nativeEngineAvailable, addNativeEngineSearchDirs, resetNativeEngineCache } from './native/load-native.js';
|
|
24
|
+
export { nativeEngineRequested, loadNativeEngine, tryLoadNativeEngine, nativeEngineAvailable, addNativeEngineSearchDirs, hostNativeBindingSpec, resetNativeEngineCache } from './native/load-native.js';
|
|
25
25
|
export { NativeWorkspaceIndex } from './native/native-workspace-index.js';
|
|
26
26
|
export { NativeIndexStore } from './native/native-index-store.js';
|
|
27
27
|
export { NativeSqlConnection } from './native/native-sql-db.js';
|
package/out/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAEpG,OAAO,EACH,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACH,sBAAsB,EACtB,eAAe,EACf,oBAAoB,EACpB,0BAA0B,EAC1B,iBAAiB,EACjB,4BAA4B,EAC5B,uBAAuB,EACvB,6BAA6B,EAChC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACH,yBAAyB,EACzB,oBAAoB,EACpB,2BAA2B,EAC3B,aAAa,EACb,YAAY,EACZ,mBAAmB,EACtB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AASvF,OAAO,EACH,WAAW,EACX,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EACnB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAkBjE,OAAO,EACH,wBAAwB,EACxB,iBAAiB,EACjB,oBAAoB,EACpB,2BAA2B,EAC3B,uBAAuB,EACvB,8BAA8B,EACjC,MAAM,wCAAwC,CAAC;AAShD,OAAO,EACH,eAAe,EACf,oBAAoB,EACpB,8BAA8B,EAC9B,2BAA2B,EAC3B,+BAA+B,EAC/B,mBAAmB,EACnB,yBAAyB,EACzB,eAAe,EACf,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EACrB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACH,sBAAsB,EACtB,iBAAiB,EACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,kCAAkC,EAAE,MAAM,2BAA2B,CAAC;AAE/E,cAAc,iBAAiB,CAAC;AAChC,OAAO,EACH,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,6BAA6B,EAC7B,kBAAkB,EAClB,iBAAiB,EACjB,4BAA4B,EAC/B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,cAAc,EAAE,cAAc,IAAI,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAI1G,OAAO,EACH,qBAAqB,EACrB,gBAAgB,EACnB,MAAM,0CAA0C,CAAC;AAUlD,OAAO,EACH,SAAS,EACT,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACb,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EACH,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACxB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAOpE,OAAO,EACH,eAAe,EAGlB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACH,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACzB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,6 +42,21 @@ export declare function addNativeEngineSearchDirs(...dirs: string[]): void;
|
|
|
42
42
|
* are rejected so production always uses the host core engine.
|
|
43
43
|
*/
|
|
44
44
|
export declare function nativeEngineRequested(): boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Host napi tuples keyed by Node `process.platform`-`process.arch` (extension host,
|
|
47
|
+
* not the VS Code UI client). Keep in sync with `scripts/native-targets.mjs`.
|
|
48
|
+
*/
|
|
49
|
+
export interface HostNativeBindingSpec {
|
|
50
|
+
vsCodeTarget: string;
|
|
51
|
+
napiSuffix: string;
|
|
52
|
+
packageName: string;
|
|
53
|
+
binaryName: string;
|
|
54
|
+
rustTarget: string;
|
|
55
|
+
}
|
|
56
|
+
/** Resolve the napi package for this Node / extension-host process. */
|
|
57
|
+
export declare function hostNativeBindingSpec(platform?: NodeJS.Platform, arch?: NodeJS.Architecture): HostNativeBindingSpec | undefined;
|
|
58
|
+
/** Filesystem paths and the host npm package name probed for this process. */
|
|
59
|
+
export declare function listNativeEngineCandidates(platform?: NodeJS.Platform, arch?: NodeJS.Architecture): string[];
|
|
45
60
|
/** Load the host-matching core engine `.node`, or `undefined` when unavailable. */
|
|
46
61
|
export declare function tryLoadNativeEngine(): NativeModule | undefined;
|
|
47
62
|
export declare function loadNativeEngine(): NativeModule;
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* rq:["../../../reqlan rq/core_analysis/rust_port.rq".cutover]
|
|
7
7
|
*/
|
|
8
8
|
import { createRequire } from 'node:module';
|
|
9
|
-
import { existsSync } from 'node:fs';
|
|
9
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
10
10
|
import { dirname, join } from 'node:path';
|
|
11
11
|
import { fileURLToPath } from 'node:url';
|
|
12
12
|
function moduleDirectory() {
|
|
@@ -54,24 +54,53 @@ export function nativeEngineRequested() {
|
|
|
54
54
|
}
|
|
55
55
|
return true;
|
|
56
56
|
}
|
|
57
|
-
const
|
|
58
|
-
'linux-x64':
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
57
|
+
const HOST_NATIVE_BY_PLATFORM = {
|
|
58
|
+
'linux-x64': {
|
|
59
|
+
vsCodeTarget: 'linux-x64',
|
|
60
|
+
napiSuffix: 'linux-x64-gnu',
|
|
61
|
+
packageName: '@reqlan/analytical-linux-x64-gnu',
|
|
62
|
+
binaryName: 'reqlan_napi.linux-x64-gnu.node',
|
|
63
|
+
rustTarget: 'x86_64-unknown-linux-gnu'
|
|
64
|
+
},
|
|
65
|
+
'linux-arm64': {
|
|
66
|
+
vsCodeTarget: 'linux-arm64',
|
|
67
|
+
napiSuffix: 'linux-arm64-gnu',
|
|
68
|
+
packageName: '@reqlan/analytical-linux-arm64-gnu',
|
|
69
|
+
binaryName: 'reqlan_napi.linux-arm64-gnu.node',
|
|
70
|
+
rustTarget: 'aarch64-unknown-linux-gnu'
|
|
71
|
+
},
|
|
72
|
+
'darwin-x64': {
|
|
73
|
+
vsCodeTarget: 'darwin-x64',
|
|
74
|
+
napiSuffix: 'darwin-x64',
|
|
75
|
+
packageName: '@reqlan/analytical-darwin-x64',
|
|
76
|
+
binaryName: 'reqlan_napi.darwin-x64.node',
|
|
77
|
+
rustTarget: 'x86_64-apple-darwin'
|
|
78
|
+
},
|
|
79
|
+
'darwin-arm64': {
|
|
80
|
+
vsCodeTarget: 'darwin-arm64',
|
|
81
|
+
napiSuffix: 'darwin-arm64',
|
|
82
|
+
packageName: '@reqlan/analytical-darwin-arm64',
|
|
83
|
+
binaryName: 'reqlan_napi.darwin-arm64.node',
|
|
84
|
+
rustTarget: 'aarch64-apple-darwin'
|
|
85
|
+
},
|
|
86
|
+
'win32-x64': {
|
|
87
|
+
vsCodeTarget: 'win32-x64',
|
|
88
|
+
napiSuffix: 'win32-x64-msvc',
|
|
89
|
+
packageName: '@reqlan/analytical-win32-x64-msvc',
|
|
90
|
+
binaryName: 'reqlan_napi.win32-x64-msvc.node',
|
|
91
|
+
rustTarget: 'x86_64-pc-windows-msvc'
|
|
92
|
+
},
|
|
93
|
+
'win32-arm64': {
|
|
94
|
+
vsCodeTarget: 'win32-arm64',
|
|
95
|
+
napiSuffix: 'win32-arm64-msvc',
|
|
96
|
+
packageName: '@reqlan/analytical-win32-arm64-msvc',
|
|
97
|
+
binaryName: 'reqlan_napi.win32-arm64-msvc.node',
|
|
98
|
+
rustTarget: 'aarch64-pc-windows-msvc'
|
|
99
|
+
}
|
|
72
100
|
};
|
|
73
|
-
|
|
74
|
-
|
|
101
|
+
/** Resolve the napi package for this Node / extension-host process. */
|
|
102
|
+
export function hostNativeBindingSpec(platform = process.platform, arch = process.arch) {
|
|
103
|
+
return HOST_NATIVE_BY_PLATFORM[`${platform}-${arch}`];
|
|
75
104
|
}
|
|
76
105
|
const CRATE_BINARY_NAMES = [
|
|
77
106
|
'reqlan_napi.node',
|
|
@@ -98,48 +127,66 @@ function findRepoRoot(start) {
|
|
|
98
127
|
}
|
|
99
128
|
return undefined;
|
|
100
129
|
}
|
|
101
|
-
function crateBuildCandidates(repoRoot) {
|
|
102
|
-
const
|
|
103
|
-
const
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
130
|
+
function crateBuildCandidates(repoRoot, rustTarget) {
|
|
131
|
+
const targetRoot = join(repoRoot, 'crates', 'target');
|
|
132
|
+
const dirs = [
|
|
133
|
+
join(targetRoot, rustTarget, 'release'),
|
|
134
|
+
join(targetRoot, 'release'),
|
|
135
|
+
join(targetRoot, rustTarget, 'debug'),
|
|
136
|
+
join(targetRoot, 'debug')
|
|
137
|
+
];
|
|
138
|
+
return dirs.flatMap(dir => CRATE_BINARY_NAMES.map(name => join(dir, name)));
|
|
139
|
+
}
|
|
140
|
+
function hostNativePackageFile(repoRoot, spec) {
|
|
141
|
+
return join(repoRoot, 'packages', 'analytical-native', spec.napiSuffix, spec.binaryName);
|
|
142
|
+
}
|
|
143
|
+
function readStagedTarget(dir) {
|
|
144
|
+
const metaPath = join(dir, 'target.json');
|
|
145
|
+
if (!existsSync(metaPath)) {
|
|
146
|
+
return undefined;
|
|
147
|
+
}
|
|
148
|
+
try {
|
|
149
|
+
const meta = JSON.parse(readFileSync(metaPath, 'utf8'));
|
|
150
|
+
return typeof meta.vsCodeTarget === 'string' ? meta.vsCodeTarget : undefined;
|
|
151
|
+
}
|
|
152
|
+
catch {
|
|
109
153
|
return undefined;
|
|
110
154
|
}
|
|
111
|
-
const suffix = hostBinary.replace(/^reqlan_napi\./, '').replace(/\.node$/, '');
|
|
112
|
-
return join(repoRoot, 'packages', 'analytical-native', suffix, hostBinary);
|
|
113
155
|
}
|
|
114
|
-
function
|
|
115
|
-
const
|
|
116
|
-
const
|
|
117
|
-
const
|
|
118
|
-
const
|
|
119
|
-
const staged = extraSearchDirs.flatMap(dir => [
|
|
120
|
-
join(dir, 'reqlan_napi.node'),
|
|
121
|
-
...(hostBinary ? [join(dir, hostBinary)] : []),
|
|
156
|
+
function stagedDirCandidates(dir, spec) {
|
|
157
|
+
const stagedTarget = readStagedTarget(dir);
|
|
158
|
+
const hostNamed = join(dir, spec.binaryName);
|
|
159
|
+
const generic = join(dir, 'reqlan_napi.node');
|
|
160
|
+
const crateNames = [
|
|
122
161
|
join(dir, 'libreqlan_napi.so'),
|
|
123
162
|
join(dir, 'libreqlan_napi.dylib'),
|
|
124
163
|
join(dir, 'reqlan_napi.dll')
|
|
125
|
-
]
|
|
126
|
-
|
|
164
|
+
];
|
|
165
|
+
if (stagedTarget && stagedTarget !== spec.vsCodeTarget) {
|
|
166
|
+
return [hostNamed];
|
|
167
|
+
}
|
|
168
|
+
return [hostNamed, generic, ...crateNames];
|
|
169
|
+
}
|
|
170
|
+
/** Filesystem paths and the host npm package name probed for this process. */
|
|
171
|
+
export function listNativeEngineCandidates(platform = process.platform, arch = process.arch) {
|
|
172
|
+
const spec = hostNativeBindingSpec(platform, arch);
|
|
173
|
+
if (!spec) {
|
|
174
|
+
return [];
|
|
175
|
+
}
|
|
176
|
+
const here = moduleDirectory();
|
|
177
|
+
const repoRoot = findRepoRoot(here);
|
|
178
|
+
const staged = extraSearchDirs.flatMap(dir => stagedDirCandidates(dir, spec));
|
|
179
|
+
const stagedHostPkg = repoRoot ? hostNativePackageFile(repoRoot, spec) : undefined;
|
|
127
180
|
return [
|
|
128
181
|
...staged,
|
|
129
182
|
...(stagedHostPkg ? [stagedHostPkg] : []),
|
|
130
|
-
|
|
131
|
-
...(
|
|
132
|
-
// Local crate builds (dev / CI cargo output).
|
|
133
|
-
...(repoRoot ? crateBuildCandidates(repoRoot) : []),
|
|
134
|
-
// Remaining platform packages (wrong-host installs still listed for clear errors).
|
|
135
|
-
'@reqlan/analytical-linux-x64-gnu',
|
|
136
|
-
'@reqlan/analytical-linux-arm64-gnu',
|
|
137
|
-
'@reqlan/analytical-darwin-arm64',
|
|
138
|
-
'@reqlan/analytical-darwin-x64',
|
|
139
|
-
'@reqlan/analytical-win32-x64-msvc',
|
|
140
|
-
'@reqlan/analytical-win32-arm64-msvc'
|
|
183
|
+
spec.packageName,
|
|
184
|
+
...(repoRoot ? crateBuildCandidates(repoRoot, spec.rustTarget) : [])
|
|
141
185
|
].filter((c, i, arr) => arr.indexOf(c) === i);
|
|
142
186
|
}
|
|
187
|
+
function candidatePaths() {
|
|
188
|
+
return listNativeEngineCandidates();
|
|
189
|
+
}
|
|
143
190
|
function tryRequire(candidate) {
|
|
144
191
|
// Skip known-missing filesystem paths without attempting require.
|
|
145
192
|
if (!candidate.startsWith('@') && !existsSync(candidate)) {
|
|
@@ -171,8 +218,15 @@ export function loadNativeEngine() {
|
|
|
171
218
|
if (loaded) {
|
|
172
219
|
return loaded;
|
|
173
220
|
}
|
|
221
|
+
const spec = hostNativeBindingSpec();
|
|
222
|
+
if (!spec) {
|
|
223
|
+
const supported = Object.keys(HOST_NATIVE_BY_PLATFORM).join(', ');
|
|
224
|
+
throw new Error(`Native analytical engine is required but ${process.platform}-${process.arch} ` +
|
|
225
|
+
`is not a supported extension-host target. Supported: ${supported}.`);
|
|
226
|
+
}
|
|
174
227
|
const tried = candidatePaths().join('\n');
|
|
175
|
-
throw new Error(`Native analytical engine is required but the host .node was not found
|
|
228
|
+
throw new Error(`Native analytical engine is required but the host .node was not found ` +
|
|
229
|
+
`(${spec.vsCodeTarget} / ${spec.packageName}). ` +
|
|
176
230
|
`Build crates/reqlan-napi (cargo build -p reqlan-napi) or install the host ` +
|
|
177
231
|
`optionalDependency package. Tried:\n${tried}`);
|
|
178
232
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-native.js","sourceRoot":"","sources":["../../src/native/load-native.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"load-native.js","sourceRoot":"","sources":["../../src/native/load-native.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reqlan/analytical",
|
|
3
3
|
"description": "Native requirement graph index and analysis API for reqlan",
|
|
4
|
-
"version": "0.10.
|
|
4
|
+
"version": "0.10.2",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "AGPL-3.0-only",
|
|
7
7
|
"repository": {
|
|
@@ -41,12 +41,12 @@
|
|
|
41
41
|
"ignore": "^7.0.6"
|
|
42
42
|
},
|
|
43
43
|
"optionalDependencies": {
|
|
44
|
-
"@reqlan/analytical-win32-x64-msvc": "0.10.
|
|
45
|
-
"@reqlan/analytical-
|
|
46
|
-
"@reqlan/analytical-linux-
|
|
47
|
-
"@reqlan/analytical-
|
|
48
|
-
"@reqlan/analytical-darwin-x64": "0.10.
|
|
49
|
-
"@reqlan/analytical-darwin-arm64": "0.10.
|
|
44
|
+
"@reqlan/analytical-win32-x64-msvc": "0.10.2",
|
|
45
|
+
"@reqlan/analytical-win32-arm64-msvc": "0.10.2",
|
|
46
|
+
"@reqlan/analytical-linux-arm64-gnu": "0.10.2",
|
|
47
|
+
"@reqlan/analytical-linux-x64-gnu": "0.10.2",
|
|
48
|
+
"@reqlan/analytical-darwin-x64": "0.10.2",
|
|
49
|
+
"@reqlan/analytical-darwin-arm64": "0.10.2"
|
|
50
50
|
},
|
|
51
51
|
"scripts": {
|
|
52
52
|
"clean": "shx rm -fr *.tsbuildinfo out",
|