jazz-napi 2.0.0-alpha.4 → 2.0.0-alpha.41
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/LICENSE +21 -0
- package/index.d.ts +103 -44
- package/index.js +531 -235
- package/package.json +18 -21
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Garden Computing, Inc. and contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/index.d.ts
CHANGED
|
@@ -1,51 +1,110 @@
|
|
|
1
|
-
/* tslint:disable */
|
|
2
|
-
/* eslint-disable */
|
|
3
|
-
|
|
4
1
|
/* auto-generated by NAPI-RS */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
export declare class DevServer {
|
|
4
|
+
static start(options: { appId: string; port?: number; dataDir?: string; inMemory?: boolean; jwksUrl?: string; allowLocalFirstAuth?: boolean; backendSecret?: string; adminSecret?: string; catalogueAuthority?: 'local' | 'forward'; catalogueAuthorityUrl?: string; catalogueAuthorityAdminSecret?: string }): Promise<DevServer>
|
|
5
|
+
get appId(): string
|
|
6
|
+
get url(): string
|
|
7
|
+
get port(): number
|
|
8
|
+
get dataDir(): string
|
|
9
|
+
get backendSecret(): string | null
|
|
10
|
+
get adminSecret(): string | null
|
|
11
|
+
stop(): Promise<void>
|
|
12
|
+
}
|
|
5
13
|
|
|
6
|
-
export declare function generateId(): string;
|
|
7
|
-
export declare function currentTimestamp(): number;
|
|
8
|
-
export declare function parseSchema(json: string): any;
|
|
9
14
|
export declare class NapiRuntime {
|
|
10
|
-
/** Create a new NapiRuntime with
|
|
11
|
-
constructor(
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
)
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
):
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
):
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
15
|
+
/** Create a new NapiRuntime with SQLite-backed persistent storage. */
|
|
16
|
+
constructor(schemaJson: string, appId: string, jazzEnv: string, userBranch: string, dataPath: string, tier?: string | undefined | null)
|
|
17
|
+
/** Create a new NapiRuntime with in-memory storage (no local persistence). */
|
|
18
|
+
static inMemory(schemaJson: string, appId: string, jazzEnv: string, userBranch: string, tier?: string | undefined | null): NapiRuntime
|
|
19
|
+
insert(table: string, values: Record<string, unknown>, objectId?: string | undefined | null): any
|
|
20
|
+
insertWithSession(table: string, values: Record<string, unknown>, writeContextJson?: string | undefined | null, objectId?: string | undefined | null): any
|
|
21
|
+
update(objectId: string, values: any): any
|
|
22
|
+
updateWithSession(objectId: string, values: any, writeContextJson?: string | undefined | null): any
|
|
23
|
+
delete(objectId: string): any
|
|
24
|
+
deleteWithSession(objectId: string, writeContextJson?: string | undefined | null): any
|
|
25
|
+
loadLocalBatchRecord(batchId: string): any | null
|
|
26
|
+
loadLocalBatchRecords(): any[]
|
|
27
|
+
drainRejectedBatchIds(): string[]
|
|
28
|
+
acknowledgeRejectedBatch(batchId: string): boolean
|
|
29
|
+
sealBatch(batchId: string): void
|
|
30
|
+
query(queryJson: string, sessionJson?: string | undefined | null, tier?: string | undefined | null, optionsJson?: string | undefined | null): Promise<any>
|
|
31
|
+
subscribe(queryJson: string, onUpdate: (...args: any[]) => any, sessionJson?: string | undefined | null, tier?: string | undefined | null, optionsJson?: string | undefined | null): number
|
|
32
|
+
unsubscribe(handle: number): void
|
|
33
|
+
/** Phase 1 of 2-phase subscribe: allocate a handle and store query params. */
|
|
34
|
+
createSubscription(queryJson: string, sessionJson?: string | undefined | null, tier?: string | undefined | null, optionsJson?: string | undefined | null): number
|
|
35
|
+
/** Phase 2 of 2-phase subscribe: compile, register, sync, attach callback, tick. */
|
|
36
|
+
executeSubscription(handle: number, onUpdate: (...args: any[]) => any): void
|
|
37
|
+
insertDurable(table: string, values: Record<string, unknown>, tier: string, objectId?: string | undefined | null): Promise<any>
|
|
38
|
+
insertDurableWithSession(table: string, values: Record<string, unknown>, writeContextJson: string | undefined | null, tier: string, objectId?: string | undefined | null): Promise<any>
|
|
39
|
+
updateDurable(objectId: string, values: any, tier: string): Promise<void>
|
|
40
|
+
updateDurableWithSession(objectId: string, values: any, writeContextJson: string | undefined | null, tier: string): Promise<void>
|
|
41
|
+
deleteDurable(objectId: string, tier: string): Promise<void>
|
|
42
|
+
deleteDurableWithSession(objectId: string, writeContextJson: string | undefined | null, tier: string): Promise<void>
|
|
43
|
+
onSyncMessageReceived(messageJson: string, sequence?: number | undefined | null): void
|
|
38
44
|
/** Called by JS when a sync message arrives from a client (not a server). */
|
|
39
|
-
onSyncMessageReceivedFromClient(clientId: string, messageJson: string): void
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
addClient(): string;
|
|
45
|
+
onSyncMessageReceivedFromClient(clientId: string, messageJson: string): void
|
|
46
|
+
addServer(serverCatalogueStateHash?: string | undefined | null, nextSyncSeq?: number | undefined | null): void
|
|
47
|
+
removeServer(): void
|
|
48
|
+
addClient(): string
|
|
44
49
|
/** Set a client's role ("user", "admin", or "peer"). */
|
|
45
|
-
setClientRole(clientId: string, role: string): void
|
|
46
|
-
getSchema(): any
|
|
47
|
-
getSchemaHash(): string
|
|
48
|
-
flush(): void
|
|
50
|
+
setClientRole(clientId: string, role: string): void
|
|
51
|
+
getSchema(): any
|
|
52
|
+
getSchemaHash(): string
|
|
53
|
+
flush(): void
|
|
49
54
|
/** Flush and close the underlying storage, releasing filesystem locks. */
|
|
50
|
-
close(): void
|
|
55
|
+
close(): void
|
|
56
|
+
static deriveUserId(seedB64: string): string
|
|
57
|
+
static mintLocalFirstToken(seedB64: string, audience: string, ttlSeconds: number): string
|
|
58
|
+
static getPublicKeyBase64url(seedB64: string): string
|
|
59
|
+
/**
|
|
60
|
+
* Connect to a Jazz server over WebSocket.
|
|
61
|
+
*
|
|
62
|
+
* Parses `auth_json` into `AuthConfig`, wires a `TransportManager` into
|
|
63
|
+
* `RuntimeCore` via `install_transport` (which seeds the catalogue state
|
|
64
|
+
* hash on the handle), and spawns the manager loop as a Tokio task.
|
|
65
|
+
*/
|
|
66
|
+
connect(url: string, authJson: string): void
|
|
67
|
+
/** Disconnect from the Jazz server and drop the transport handle. */
|
|
68
|
+
disconnect(): void
|
|
69
|
+
/** Push updated auth credentials into the live transport. */
|
|
70
|
+
updateAuth(authJson: string): void
|
|
71
|
+
/**
|
|
72
|
+
* Register a JS callback that fires when the Rust transport receives an
|
|
73
|
+
* auth rejection from the server during the WS handshake.
|
|
74
|
+
*
|
|
75
|
+
* The callback receives a single string argument: the rejection reason.
|
|
76
|
+
*/
|
|
77
|
+
onAuthFailure(callback: (reason: string) => void): void
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
export declare class TestingServer {
|
|
81
|
+
static start(options?: { appId?: string; port?: number; dataDir?: string; persistentStorage?: boolean; adminSecret?: string; backendSecret?: string; jwksUrl?: string }): Promise<TestingServer>
|
|
82
|
+
get appId(): string
|
|
83
|
+
get url(): string
|
|
84
|
+
get port(): number
|
|
85
|
+
get dataDir(): string
|
|
86
|
+
get backendSecret(): string
|
|
87
|
+
get adminSecret(): string
|
|
88
|
+
jwtForUser(userId: string, claims?: Record<string, unknown> | undefined): string
|
|
89
|
+
stop(): Promise<void>
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
export declare function currentTimestamp(): number
|
|
93
|
+
|
|
94
|
+
export declare function deriveUserId(seedB64: string): string
|
|
95
|
+
|
|
96
|
+
export declare function generateId(): string
|
|
97
|
+
|
|
98
|
+
export declare function getPublicKeyBase64url(seedB64: string): string
|
|
99
|
+
|
|
100
|
+
export declare function mintLocalFirstToken(seedB64: string, audience: string, ttlSeconds: number): string
|
|
101
|
+
|
|
102
|
+
export declare function parseSchema(json: string): any
|
|
103
|
+
|
|
104
|
+
export declare function verifyLocalFirstIdentityProof(token: string | undefined | null, expectedAudience: string): VerifyTokenResult
|
|
105
|
+
|
|
106
|
+
export interface VerifyTokenResult {
|
|
107
|
+
ok: boolean
|
|
108
|
+
id: string
|
|
109
|
+
error?: string
|
|
51
110
|
}
|
package/index.js
CHANGED
|
@@ -1,292 +1,588 @@
|
|
|
1
|
-
|
|
1
|
+
// prettier-ignore
|
|
2
2
|
/* eslint-disable */
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
// @ts-nocheck
|
|
5
4
|
/* auto-generated by NAPI-RS */
|
|
6
5
|
|
|
7
|
-
const {
|
|
8
|
-
|
|
6
|
+
const { readFileSync } = require('node:fs')
|
|
7
|
+
let nativeBinding = null
|
|
8
|
+
const loadErrors = []
|
|
9
|
+
|
|
10
|
+
const isMusl = () => {
|
|
11
|
+
let musl = false
|
|
12
|
+
if (process.platform === 'linux') {
|
|
13
|
+
musl = isMuslFromFilesystem()
|
|
14
|
+
if (musl === null) {
|
|
15
|
+
musl = isMuslFromReport()
|
|
16
|
+
}
|
|
17
|
+
if (musl === null) {
|
|
18
|
+
musl = isMuslFromChildProcess()
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return musl
|
|
22
|
+
}
|
|
9
23
|
|
|
10
|
-
const
|
|
24
|
+
const isFileMusl = (f) => f.includes('libc.musl-') || f.includes('ld-musl-')
|
|
11
25
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
26
|
+
const isMuslFromFilesystem = () => {
|
|
27
|
+
try {
|
|
28
|
+
return readFileSync('/usr/bin/ldd', 'utf-8').includes('musl')
|
|
29
|
+
} catch {
|
|
30
|
+
return null
|
|
31
|
+
}
|
|
32
|
+
}
|
|
15
33
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
if (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
34
|
+
const isMuslFromReport = () => {
|
|
35
|
+
let report = null
|
|
36
|
+
if (typeof process.report?.getReport === 'function') {
|
|
37
|
+
process.report.excludeNetwork = true
|
|
38
|
+
report = process.report.getReport()
|
|
39
|
+
}
|
|
40
|
+
if (!report) {
|
|
41
|
+
return null
|
|
42
|
+
}
|
|
43
|
+
if (report.header && report.header.glibcVersionRuntime) {
|
|
44
|
+
return false
|
|
45
|
+
}
|
|
46
|
+
if (Array.isArray(report.sharedObjects)) {
|
|
47
|
+
if (report.sharedObjects.some(isFileMusl)) {
|
|
48
|
+
return true
|
|
24
49
|
}
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
|
|
50
|
+
}
|
|
51
|
+
return false
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
const isMuslFromChildProcess = () => {
|
|
55
|
+
try {
|
|
56
|
+
return require('child_process').execSync('ldd --version', { encoding: 'utf8' }).includes('musl')
|
|
57
|
+
} catch (e) {
|
|
58
|
+
// If we reach this case, we don't know if the system is musl or not, so is better to just fallback to false
|
|
59
|
+
return false
|
|
28
60
|
}
|
|
29
61
|
}
|
|
30
62
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
63
|
+
function requireNative() {
|
|
64
|
+
if (process.env.NAPI_RS_NATIVE_LIBRARY_PATH) {
|
|
65
|
+
try {
|
|
66
|
+
return require(process.env.NAPI_RS_NATIVE_LIBRARY_PATH);
|
|
67
|
+
} catch (err) {
|
|
68
|
+
loadErrors.push(err)
|
|
69
|
+
}
|
|
70
|
+
} else if (process.platform === 'android') {
|
|
71
|
+
if (process.arch === 'arm64') {
|
|
72
|
+
try {
|
|
73
|
+
return require('./jazz-napi.android-arm64.node')
|
|
74
|
+
} catch (e) {
|
|
75
|
+
loadErrors.push(e)
|
|
76
|
+
}
|
|
77
|
+
try {
|
|
78
|
+
const binding = require('@garden-co/jazz-napi-android-arm64')
|
|
79
|
+
const bindingPackageVersion = require('@garden-co/jazz-napi-android-arm64/package.json').version
|
|
80
|
+
if (bindingPackageVersion !== '2.0.0-alpha.41' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
81
|
+
throw new Error(`Native binding package version mismatch, expected 2.0.0-alpha.41 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
82
|
+
}
|
|
83
|
+
return binding
|
|
84
|
+
} catch (e) {
|
|
85
|
+
loadErrors.push(e)
|
|
86
|
+
}
|
|
87
|
+
} else if (process.arch === 'arm') {
|
|
88
|
+
try {
|
|
89
|
+
return require('./jazz-napi.android-arm-eabi.node')
|
|
90
|
+
} catch (e) {
|
|
91
|
+
loadErrors.push(e)
|
|
92
|
+
}
|
|
93
|
+
try {
|
|
94
|
+
const binding = require('@garden-co/jazz-napi-android-arm-eabi')
|
|
95
|
+
const bindingPackageVersion = require('@garden-co/jazz-napi-android-arm-eabi/package.json').version
|
|
96
|
+
if (bindingPackageVersion !== '2.0.0-alpha.41' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
97
|
+
throw new Error(`Native binding package version mismatch, expected 2.0.0-alpha.41 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
98
|
+
}
|
|
99
|
+
return binding
|
|
100
|
+
} catch (e) {
|
|
101
|
+
loadErrors.push(e)
|
|
102
|
+
}
|
|
103
|
+
} else {
|
|
104
|
+
loadErrors.push(new Error(`Unsupported architecture on Android ${process.arch}`))
|
|
105
|
+
}
|
|
106
|
+
} else if (process.platform === 'win32') {
|
|
107
|
+
if (process.arch === 'x64') {
|
|
108
|
+
if (process.config?.variables?.shlib_suffix === 'dll.a' || process.config?.variables?.node_target_type === 'shared_library') {
|
|
36
109
|
try {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
110
|
+
return require('./jazz-napi.win32-x64-gnu.node')
|
|
111
|
+
} catch (e) {
|
|
112
|
+
loadErrors.push(e)
|
|
113
|
+
}
|
|
114
|
+
try {
|
|
115
|
+
const binding = require('@garden-co/jazz-napi-win32-x64-gnu')
|
|
116
|
+
const bindingPackageVersion = require('@garden-co/jazz-napi-win32-x64-gnu/package.json').version
|
|
117
|
+
if (bindingPackageVersion !== '2.0.0-alpha.41' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
118
|
+
throw new Error(`Native binding package version mismatch, expected 2.0.0-alpha.41 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
119
|
+
}
|
|
120
|
+
return binding
|
|
121
|
+
} catch (e) {
|
|
122
|
+
loadErrors.push(e)
|
|
123
|
+
}
|
|
124
|
+
} else {
|
|
125
|
+
try {
|
|
126
|
+
return require('./jazz-napi.win32-x64-msvc.node')
|
|
127
|
+
} catch (e) {
|
|
128
|
+
loadErrors.push(e)
|
|
129
|
+
}
|
|
130
|
+
try {
|
|
131
|
+
const binding = require('@garden-co/jazz-napi-win32-x64-msvc')
|
|
132
|
+
const bindingPackageVersion = require('@garden-co/jazz-napi-win32-x64-msvc/package.json').version
|
|
133
|
+
if (bindingPackageVersion !== '2.0.0-alpha.41' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
134
|
+
throw new Error(`Native binding package version mismatch, expected 2.0.0-alpha.41 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
135
|
+
}
|
|
136
|
+
return binding
|
|
137
|
+
} catch (e) {
|
|
138
|
+
loadErrors.push(e)
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
} else if (process.arch === 'ia32') {
|
|
142
|
+
try {
|
|
143
|
+
return require('./jazz-napi.win32-ia32-msvc.node')
|
|
144
|
+
} catch (e) {
|
|
145
|
+
loadErrors.push(e)
|
|
146
|
+
}
|
|
147
|
+
try {
|
|
148
|
+
const binding = require('@garden-co/jazz-napi-win32-ia32-msvc')
|
|
149
|
+
const bindingPackageVersion = require('@garden-co/jazz-napi-win32-ia32-msvc/package.json').version
|
|
150
|
+
if (bindingPackageVersion !== '2.0.0-alpha.41' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
151
|
+
throw new Error(`Native binding package version mismatch, expected 2.0.0-alpha.41 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
152
|
+
}
|
|
153
|
+
return binding
|
|
154
|
+
} catch (e) {
|
|
155
|
+
loadErrors.push(e)
|
|
156
|
+
}
|
|
157
|
+
} else if (process.arch === 'arm64') {
|
|
158
|
+
try {
|
|
159
|
+
return require('./jazz-napi.win32-arm64-msvc.node')
|
|
160
|
+
} catch (e) {
|
|
161
|
+
loadErrors.push(e)
|
|
162
|
+
}
|
|
163
|
+
try {
|
|
164
|
+
const binding = require('@garden-co/jazz-napi-win32-arm64-msvc')
|
|
165
|
+
const bindingPackageVersion = require('@garden-co/jazz-napi-win32-arm64-msvc/package.json').version
|
|
166
|
+
if (bindingPackageVersion !== '2.0.0-alpha.41' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
167
|
+
throw new Error(`Native binding package version mismatch, expected 2.0.0-alpha.41 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
168
|
+
}
|
|
169
|
+
return binding
|
|
170
|
+
} catch (e) {
|
|
171
|
+
loadErrors.push(e)
|
|
172
|
+
}
|
|
173
|
+
} else {
|
|
174
|
+
loadErrors.push(new Error(`Unsupported architecture on Windows: ${process.arch}`))
|
|
175
|
+
}
|
|
176
|
+
} else if (process.platform === 'darwin') {
|
|
177
|
+
try {
|
|
178
|
+
return require('./jazz-napi.darwin-universal.node')
|
|
179
|
+
} catch (e) {
|
|
180
|
+
loadErrors.push(e)
|
|
181
|
+
}
|
|
182
|
+
try {
|
|
183
|
+
const binding = require('@garden-co/jazz-napi-darwin-universal')
|
|
184
|
+
const bindingPackageVersion = require('@garden-co/jazz-napi-darwin-universal/package.json').version
|
|
185
|
+
if (bindingPackageVersion !== '2.0.0-alpha.41' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
186
|
+
throw new Error(`Native binding package version mismatch, expected 2.0.0-alpha.41 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
187
|
+
}
|
|
188
|
+
return binding
|
|
189
|
+
} catch (e) {
|
|
190
|
+
loadErrors.push(e)
|
|
191
|
+
}
|
|
192
|
+
if (process.arch === 'x64') {
|
|
193
|
+
try {
|
|
194
|
+
return require('./jazz-napi.darwin-x64.node')
|
|
195
|
+
} catch (e) {
|
|
196
|
+
loadErrors.push(e)
|
|
197
|
+
}
|
|
198
|
+
try {
|
|
199
|
+
const binding = require('@garden-co/jazz-napi-darwin-x64')
|
|
200
|
+
const bindingPackageVersion = require('@garden-co/jazz-napi-darwin-x64/package.json').version
|
|
201
|
+
if (bindingPackageVersion !== '2.0.0-alpha.41' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
202
|
+
throw new Error(`Native binding package version mismatch, expected 2.0.0-alpha.41 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
203
|
+
}
|
|
204
|
+
return binding
|
|
205
|
+
} catch (e) {
|
|
206
|
+
loadErrors.push(e)
|
|
207
|
+
}
|
|
208
|
+
} else if (process.arch === 'arm64') {
|
|
209
|
+
try {
|
|
210
|
+
return require('./jazz-napi.darwin-arm64.node')
|
|
211
|
+
} catch (e) {
|
|
212
|
+
loadErrors.push(e)
|
|
213
|
+
}
|
|
214
|
+
try {
|
|
215
|
+
const binding = require('@garden-co/jazz-napi-darwin-arm64')
|
|
216
|
+
const bindingPackageVersion = require('@garden-co/jazz-napi-darwin-arm64/package.json').version
|
|
217
|
+
if (bindingPackageVersion !== '2.0.0-alpha.41' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
218
|
+
throw new Error(`Native binding package version mismatch, expected 2.0.0-alpha.41 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
219
|
+
}
|
|
220
|
+
return binding
|
|
221
|
+
} catch (e) {
|
|
222
|
+
loadErrors.push(e)
|
|
223
|
+
}
|
|
224
|
+
} else {
|
|
225
|
+
loadErrors.push(new Error(`Unsupported architecture on macOS: ${process.arch}`))
|
|
226
|
+
}
|
|
227
|
+
} else if (process.platform === 'freebsd') {
|
|
228
|
+
if (process.arch === 'x64') {
|
|
229
|
+
try {
|
|
230
|
+
return require('./jazz-napi.freebsd-x64.node')
|
|
231
|
+
} catch (e) {
|
|
232
|
+
loadErrors.push(e)
|
|
233
|
+
}
|
|
234
|
+
try {
|
|
235
|
+
const binding = require('@garden-co/jazz-napi-freebsd-x64')
|
|
236
|
+
const bindingPackageVersion = require('@garden-co/jazz-napi-freebsd-x64/package.json').version
|
|
237
|
+
if (bindingPackageVersion !== '2.0.0-alpha.41' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
238
|
+
throw new Error(`Native binding package version mismatch, expected 2.0.0-alpha.41 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
239
|
+
}
|
|
240
|
+
return binding
|
|
241
|
+
} catch (e) {
|
|
242
|
+
loadErrors.push(e)
|
|
243
|
+
}
|
|
244
|
+
} else if (process.arch === 'arm64') {
|
|
245
|
+
try {
|
|
246
|
+
return require('./jazz-napi.freebsd-arm64.node')
|
|
247
|
+
} catch (e) {
|
|
248
|
+
loadErrors.push(e)
|
|
249
|
+
}
|
|
250
|
+
try {
|
|
251
|
+
const binding = require('@garden-co/jazz-napi-freebsd-arm64')
|
|
252
|
+
const bindingPackageVersion = require('@garden-co/jazz-napi-freebsd-arm64/package.json').version
|
|
253
|
+
if (bindingPackageVersion !== '2.0.0-alpha.41' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
254
|
+
throw new Error(`Native binding package version mismatch, expected 2.0.0-alpha.41 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
255
|
+
}
|
|
256
|
+
return binding
|
|
257
|
+
} catch (e) {
|
|
258
|
+
loadErrors.push(e)
|
|
259
|
+
}
|
|
260
|
+
} else {
|
|
261
|
+
loadErrors.push(new Error(`Unsupported architecture on FreeBSD: ${process.arch}`))
|
|
262
|
+
}
|
|
263
|
+
} else if (process.platform === 'linux') {
|
|
264
|
+
if (process.arch === 'x64') {
|
|
265
|
+
if (isMusl()) {
|
|
266
|
+
try {
|
|
267
|
+
return require('./jazz-napi.linux-x64-musl.node')
|
|
42
268
|
} catch (e) {
|
|
43
|
-
|
|
269
|
+
loadErrors.push(e)
|
|
44
270
|
}
|
|
45
|
-
break;
|
|
46
|
-
case "arm":
|
|
47
|
-
localFileExisted = existsSync(join(__dirname, "jazz-napi.android-arm-eabi.node"));
|
|
48
271
|
try {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
272
|
+
const binding = require('@garden-co/jazz-napi-linux-x64-musl')
|
|
273
|
+
const bindingPackageVersion = require('@garden-co/jazz-napi-linux-x64-musl/package.json').version
|
|
274
|
+
if (bindingPackageVersion !== '2.0.0-alpha.41' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
275
|
+
throw new Error(`Native binding package version mismatch, expected 2.0.0-alpha.41 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
53
276
|
}
|
|
277
|
+
return binding
|
|
54
278
|
} catch (e) {
|
|
55
|
-
|
|
279
|
+
loadErrors.push(e)
|
|
56
280
|
}
|
|
57
|
-
|
|
58
|
-
default:
|
|
59
|
-
throw new Error(`Unsupported architecture on Android ${arch}`);
|
|
60
|
-
}
|
|
61
|
-
break;
|
|
62
|
-
case "win32":
|
|
63
|
-
switch (arch) {
|
|
64
|
-
case "x64":
|
|
65
|
-
localFileExisted = existsSync(join(__dirname, "jazz-napi.win32-x64-msvc.node"));
|
|
281
|
+
} else {
|
|
66
282
|
try {
|
|
67
|
-
|
|
68
|
-
nativeBinding = require("./jazz-napi.win32-x64-msvc.node");
|
|
69
|
-
} else {
|
|
70
|
-
nativeBinding = require("@garden-co/jazz-napi-win32-x64-msvc");
|
|
71
|
-
}
|
|
283
|
+
return require('./jazz-napi.linux-x64-gnu.node')
|
|
72
284
|
} catch (e) {
|
|
73
|
-
|
|
285
|
+
loadErrors.push(e)
|
|
74
286
|
}
|
|
75
|
-
break;
|
|
76
|
-
case "ia32":
|
|
77
|
-
localFileExisted = existsSync(join(__dirname, "jazz-napi.win32-ia32-msvc.node"));
|
|
78
287
|
try {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
288
|
+
const binding = require('@garden-co/jazz-napi-linux-x64-gnu')
|
|
289
|
+
const bindingPackageVersion = require('@garden-co/jazz-napi-linux-x64-gnu/package.json').version
|
|
290
|
+
if (bindingPackageVersion !== '2.0.0-alpha.41' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
291
|
+
throw new Error(`Native binding package version mismatch, expected 2.0.0-alpha.41 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
83
292
|
}
|
|
293
|
+
return binding
|
|
84
294
|
} catch (e) {
|
|
85
|
-
|
|
295
|
+
loadErrors.push(e)
|
|
86
296
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
297
|
+
}
|
|
298
|
+
} else if (process.arch === 'arm64') {
|
|
299
|
+
if (isMusl()) {
|
|
90
300
|
try {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
301
|
+
return require('./jazz-napi.linux-arm64-musl.node')
|
|
302
|
+
} catch (e) {
|
|
303
|
+
loadErrors.push(e)
|
|
304
|
+
}
|
|
305
|
+
try {
|
|
306
|
+
const binding = require('@garden-co/jazz-napi-linux-arm64-musl')
|
|
307
|
+
const bindingPackageVersion = require('@garden-co/jazz-napi-linux-arm64-musl/package.json').version
|
|
308
|
+
if (bindingPackageVersion !== '2.0.0-alpha.41' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
309
|
+
throw new Error(`Native binding package version mismatch, expected 2.0.0-alpha.41 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
95
310
|
}
|
|
311
|
+
return binding
|
|
96
312
|
} catch (e) {
|
|
97
|
-
|
|
313
|
+
loadErrors.push(e)
|
|
98
314
|
}
|
|
99
|
-
break;
|
|
100
|
-
default:
|
|
101
|
-
throw new Error(`Unsupported architecture on Windows: ${arch}`);
|
|
102
|
-
}
|
|
103
|
-
break;
|
|
104
|
-
case "darwin":
|
|
105
|
-
localFileExisted = existsSync(join(__dirname, "jazz-napi.darwin-universal.node"));
|
|
106
|
-
try {
|
|
107
|
-
if (localFileExisted) {
|
|
108
|
-
nativeBinding = require("./jazz-napi.darwin-universal.node");
|
|
109
315
|
} else {
|
|
110
|
-
nativeBinding = require("jazz-napi-darwin-universal");
|
|
111
|
-
}
|
|
112
|
-
break;
|
|
113
|
-
} catch {}
|
|
114
|
-
switch (arch) {
|
|
115
|
-
case "x64":
|
|
116
|
-
localFileExisted = existsSync(join(__dirname, "jazz-napi.darwin-x64.node"));
|
|
117
316
|
try {
|
|
118
|
-
|
|
119
|
-
nativeBinding = require("./jazz-napi.darwin-x64.node");
|
|
120
|
-
} else {
|
|
121
|
-
nativeBinding = require("@garden-co/jazz-napi-darwin-x64");
|
|
122
|
-
}
|
|
317
|
+
return require('./jazz-napi.linux-arm64-gnu.node')
|
|
123
318
|
} catch (e) {
|
|
124
|
-
|
|
319
|
+
loadErrors.push(e)
|
|
125
320
|
}
|
|
126
|
-
break;
|
|
127
|
-
case "arm64":
|
|
128
|
-
localFileExisted = existsSync(join(__dirname, "jazz-napi.darwin-arm64.node"));
|
|
129
321
|
try {
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
322
|
+
const binding = require('@garden-co/jazz-napi-linux-arm64-gnu')
|
|
323
|
+
const bindingPackageVersion = require('@garden-co/jazz-napi-linux-arm64-gnu/package.json').version
|
|
324
|
+
if (bindingPackageVersion !== '2.0.0-alpha.41' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
325
|
+
throw new Error(`Native binding package version mismatch, expected 2.0.0-alpha.41 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
134
326
|
}
|
|
327
|
+
return binding
|
|
135
328
|
} catch (e) {
|
|
136
|
-
|
|
329
|
+
loadErrors.push(e)
|
|
137
330
|
}
|
|
138
|
-
break;
|
|
139
|
-
default:
|
|
140
|
-
throw new Error(`Unsupported architecture on macOS: ${arch}`);
|
|
141
|
-
}
|
|
142
|
-
break;
|
|
143
|
-
case "freebsd":
|
|
144
|
-
if (arch !== "x64") {
|
|
145
|
-
throw new Error(`Unsupported architecture on FreeBSD: ${arch}`);
|
|
146
|
-
}
|
|
147
|
-
localFileExisted = existsSync(join(__dirname, "jazz-napi.freebsd-x64.node"));
|
|
148
|
-
try {
|
|
149
|
-
if (localFileExisted) {
|
|
150
|
-
nativeBinding = require("./jazz-napi.freebsd-x64.node");
|
|
151
|
-
} else {
|
|
152
|
-
nativeBinding = require("jazz-napi-freebsd-x64");
|
|
153
331
|
}
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
case "x64":
|
|
161
|
-
if (isMusl()) {
|
|
162
|
-
localFileExisted = existsSync(join(__dirname, "jazz-napi.linux-x64-musl.node"));
|
|
163
|
-
try {
|
|
164
|
-
if (localFileExisted) {
|
|
165
|
-
nativeBinding = require("./jazz-napi.linux-x64-musl.node");
|
|
166
|
-
} else {
|
|
167
|
-
nativeBinding = require("jazz-napi-linux-x64-musl");
|
|
168
|
-
}
|
|
169
|
-
} catch (e) {
|
|
170
|
-
loadError = e;
|
|
171
|
-
}
|
|
172
|
-
} else {
|
|
173
|
-
localFileExisted = existsSync(join(__dirname, "jazz-napi.linux-x64-gnu.node"));
|
|
174
|
-
try {
|
|
175
|
-
if (localFileExisted) {
|
|
176
|
-
nativeBinding = require("./jazz-napi.linux-x64-gnu.node");
|
|
177
|
-
} else {
|
|
178
|
-
nativeBinding = require("@garden-co/jazz-napi-linux-x64-gnu");
|
|
179
|
-
}
|
|
180
|
-
} catch (e) {
|
|
181
|
-
loadError = e;
|
|
182
|
-
}
|
|
332
|
+
} else if (process.arch === 'arm') {
|
|
333
|
+
if (isMusl()) {
|
|
334
|
+
try {
|
|
335
|
+
return require('./jazz-napi.linux-arm-musleabihf.node')
|
|
336
|
+
} catch (e) {
|
|
337
|
+
loadErrors.push(e)
|
|
183
338
|
}
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
if (localFileExisted) {
|
|
190
|
-
nativeBinding = require("./jazz-napi.linux-arm64-musl.node");
|
|
191
|
-
} else {
|
|
192
|
-
nativeBinding = require("jazz-napi-linux-arm64-musl");
|
|
193
|
-
}
|
|
194
|
-
} catch (e) {
|
|
195
|
-
loadError = e;
|
|
196
|
-
}
|
|
197
|
-
} else {
|
|
198
|
-
localFileExisted = existsSync(join(__dirname, "jazz-napi.linux-arm64-gnu.node"));
|
|
199
|
-
try {
|
|
200
|
-
if (localFileExisted) {
|
|
201
|
-
nativeBinding = require("./jazz-napi.linux-arm64-gnu.node");
|
|
202
|
-
} else {
|
|
203
|
-
nativeBinding = require("jazz-napi-linux-arm64-gnu");
|
|
204
|
-
}
|
|
205
|
-
} catch (e) {
|
|
206
|
-
loadError = e;
|
|
339
|
+
try {
|
|
340
|
+
const binding = require('@garden-co/jazz-napi-linux-arm-musleabihf')
|
|
341
|
+
const bindingPackageVersion = require('@garden-co/jazz-napi-linux-arm-musleabihf/package.json').version
|
|
342
|
+
if (bindingPackageVersion !== '2.0.0-alpha.41' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
343
|
+
throw new Error(`Native binding package version mismatch, expected 2.0.0-alpha.41 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
207
344
|
}
|
|
345
|
+
return binding
|
|
346
|
+
} catch (e) {
|
|
347
|
+
loadErrors.push(e)
|
|
348
|
+
}
|
|
349
|
+
} else {
|
|
350
|
+
try {
|
|
351
|
+
return require('./jazz-napi.linux-arm-gnueabihf.node')
|
|
352
|
+
} catch (e) {
|
|
353
|
+
loadErrors.push(e)
|
|
208
354
|
}
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
if (localFileExisted) {
|
|
215
|
-
nativeBinding = require("./jazz-napi.linux-arm-musleabihf.node");
|
|
216
|
-
} else {
|
|
217
|
-
nativeBinding = require("jazz-napi-linux-arm-musleabihf");
|
|
218
|
-
}
|
|
219
|
-
} catch (e) {
|
|
220
|
-
loadError = e;
|
|
355
|
+
try {
|
|
356
|
+
const binding = require('@garden-co/jazz-napi-linux-arm-gnueabihf')
|
|
357
|
+
const bindingPackageVersion = require('@garden-co/jazz-napi-linux-arm-gnueabihf/package.json').version
|
|
358
|
+
if (bindingPackageVersion !== '2.0.0-alpha.41' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
359
|
+
throw new Error(`Native binding package version mismatch, expected 2.0.0-alpha.41 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
221
360
|
}
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
361
|
+
return binding
|
|
362
|
+
} catch (e) {
|
|
363
|
+
loadErrors.push(e)
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
} else if (process.arch === 'loong64') {
|
|
367
|
+
if (isMusl()) {
|
|
368
|
+
try {
|
|
369
|
+
return require('./jazz-napi.linux-loong64-musl.node')
|
|
370
|
+
} catch (e) {
|
|
371
|
+
loadErrors.push(e)
|
|
372
|
+
}
|
|
373
|
+
try {
|
|
374
|
+
const binding = require('@garden-co/jazz-napi-linux-loong64-musl')
|
|
375
|
+
const bindingPackageVersion = require('@garden-co/jazz-napi-linux-loong64-musl/package.json').version
|
|
376
|
+
if (bindingPackageVersion !== '2.0.0-alpha.41' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
377
|
+
throw new Error(`Native binding package version mismatch, expected 2.0.0-alpha.41 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
232
378
|
}
|
|
379
|
+
return binding
|
|
380
|
+
} catch (e) {
|
|
381
|
+
loadErrors.push(e)
|
|
233
382
|
}
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
loadError = e;
|
|
383
|
+
} else {
|
|
384
|
+
try {
|
|
385
|
+
return require('./jazz-napi.linux-loong64-gnu.node')
|
|
386
|
+
} catch (e) {
|
|
387
|
+
loadErrors.push(e)
|
|
388
|
+
}
|
|
389
|
+
try {
|
|
390
|
+
const binding = require('@garden-co/jazz-napi-linux-loong64-gnu')
|
|
391
|
+
const bindingPackageVersion = require('@garden-co/jazz-napi-linux-loong64-gnu/package.json').version
|
|
392
|
+
if (bindingPackageVersion !== '2.0.0-alpha.41' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
393
|
+
throw new Error(`Native binding package version mismatch, expected 2.0.0-alpha.41 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
246
394
|
}
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
395
|
+
return binding
|
|
396
|
+
} catch (e) {
|
|
397
|
+
loadErrors.push(e)
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
} else if (process.arch === 'riscv64') {
|
|
401
|
+
if (isMusl()) {
|
|
402
|
+
try {
|
|
403
|
+
return require('./jazz-napi.linux-riscv64-musl.node')
|
|
404
|
+
} catch (e) {
|
|
405
|
+
loadErrors.push(e)
|
|
406
|
+
}
|
|
407
|
+
try {
|
|
408
|
+
const binding = require('@garden-co/jazz-napi-linux-riscv64-musl')
|
|
409
|
+
const bindingPackageVersion = require('@garden-co/jazz-napi-linux-riscv64-musl/package.json').version
|
|
410
|
+
if (bindingPackageVersion !== '2.0.0-alpha.41' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
411
|
+
throw new Error(`Native binding package version mismatch, expected 2.0.0-alpha.41 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
257
412
|
}
|
|
413
|
+
return binding
|
|
414
|
+
} catch (e) {
|
|
415
|
+
loadErrors.push(e)
|
|
416
|
+
}
|
|
417
|
+
} else {
|
|
418
|
+
try {
|
|
419
|
+
return require('./jazz-napi.linux-riscv64-gnu.node')
|
|
420
|
+
} catch (e) {
|
|
421
|
+
loadErrors.push(e)
|
|
258
422
|
}
|
|
259
|
-
break;
|
|
260
|
-
case "s390x":
|
|
261
|
-
localFileExisted = existsSync(join(__dirname, "jazz-napi.linux-s390x-gnu.node"));
|
|
262
423
|
try {
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
424
|
+
const binding = require('@garden-co/jazz-napi-linux-riscv64-gnu')
|
|
425
|
+
const bindingPackageVersion = require('@garden-co/jazz-napi-linux-riscv64-gnu/package.json').version
|
|
426
|
+
if (bindingPackageVersion !== '2.0.0-alpha.41' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
427
|
+
throw new Error(`Native binding package version mismatch, expected 2.0.0-alpha.41 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
267
428
|
}
|
|
429
|
+
return binding
|
|
268
430
|
} catch (e) {
|
|
269
|
-
|
|
431
|
+
loadErrors.push(e)
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
} else if (process.arch === 'ppc64') {
|
|
435
|
+
try {
|
|
436
|
+
return require('./jazz-napi.linux-ppc64-gnu.node')
|
|
437
|
+
} catch (e) {
|
|
438
|
+
loadErrors.push(e)
|
|
439
|
+
}
|
|
440
|
+
try {
|
|
441
|
+
const binding = require('@garden-co/jazz-napi-linux-ppc64-gnu')
|
|
442
|
+
const bindingPackageVersion = require('@garden-co/jazz-napi-linux-ppc64-gnu/package.json').version
|
|
443
|
+
if (bindingPackageVersion !== '2.0.0-alpha.41' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
444
|
+
throw new Error(`Native binding package version mismatch, expected 2.0.0-alpha.41 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
445
|
+
}
|
|
446
|
+
return binding
|
|
447
|
+
} catch (e) {
|
|
448
|
+
loadErrors.push(e)
|
|
449
|
+
}
|
|
450
|
+
} else if (process.arch === 's390x') {
|
|
451
|
+
try {
|
|
452
|
+
return require('./jazz-napi.linux-s390x-gnu.node')
|
|
453
|
+
} catch (e) {
|
|
454
|
+
loadErrors.push(e)
|
|
455
|
+
}
|
|
456
|
+
try {
|
|
457
|
+
const binding = require('@garden-co/jazz-napi-linux-s390x-gnu')
|
|
458
|
+
const bindingPackageVersion = require('@garden-co/jazz-napi-linux-s390x-gnu/package.json').version
|
|
459
|
+
if (bindingPackageVersion !== '2.0.0-alpha.41' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
460
|
+
throw new Error(`Native binding package version mismatch, expected 2.0.0-alpha.41 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
461
|
+
}
|
|
462
|
+
return binding
|
|
463
|
+
} catch (e) {
|
|
464
|
+
loadErrors.push(e)
|
|
465
|
+
}
|
|
466
|
+
} else {
|
|
467
|
+
loadErrors.push(new Error(`Unsupported architecture on Linux: ${process.arch}`))
|
|
468
|
+
}
|
|
469
|
+
} else if (process.platform === 'openharmony') {
|
|
470
|
+
if (process.arch === 'arm64') {
|
|
471
|
+
try {
|
|
472
|
+
return require('./jazz-napi.openharmony-arm64.node')
|
|
473
|
+
} catch (e) {
|
|
474
|
+
loadErrors.push(e)
|
|
475
|
+
}
|
|
476
|
+
try {
|
|
477
|
+
const binding = require('@garden-co/jazz-napi-openharmony-arm64')
|
|
478
|
+
const bindingPackageVersion = require('@garden-co/jazz-napi-openharmony-arm64/package.json').version
|
|
479
|
+
if (bindingPackageVersion !== '2.0.0-alpha.41' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
480
|
+
throw new Error(`Native binding package version mismatch, expected 2.0.0-alpha.41 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
481
|
+
}
|
|
482
|
+
return binding
|
|
483
|
+
} catch (e) {
|
|
484
|
+
loadErrors.push(e)
|
|
485
|
+
}
|
|
486
|
+
} else if (process.arch === 'x64') {
|
|
487
|
+
try {
|
|
488
|
+
return require('./jazz-napi.openharmony-x64.node')
|
|
489
|
+
} catch (e) {
|
|
490
|
+
loadErrors.push(e)
|
|
491
|
+
}
|
|
492
|
+
try {
|
|
493
|
+
const binding = require('@garden-co/jazz-napi-openharmony-x64')
|
|
494
|
+
const bindingPackageVersion = require('@garden-co/jazz-napi-openharmony-x64/package.json').version
|
|
495
|
+
if (bindingPackageVersion !== '2.0.0-alpha.41' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
496
|
+
throw new Error(`Native binding package version mismatch, expected 2.0.0-alpha.41 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
270
497
|
}
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
498
|
+
return binding
|
|
499
|
+
} catch (e) {
|
|
500
|
+
loadErrors.push(e)
|
|
501
|
+
}
|
|
502
|
+
} else if (process.arch === 'arm') {
|
|
503
|
+
try {
|
|
504
|
+
return require('./jazz-napi.openharmony-arm.node')
|
|
505
|
+
} catch (e) {
|
|
506
|
+
loadErrors.push(e)
|
|
507
|
+
}
|
|
508
|
+
try {
|
|
509
|
+
const binding = require('@garden-co/jazz-napi-openharmony-arm')
|
|
510
|
+
const bindingPackageVersion = require('@garden-co/jazz-napi-openharmony-arm/package.json').version
|
|
511
|
+
if (bindingPackageVersion !== '2.0.0-alpha.41' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
512
|
+
throw new Error(`Native binding package version mismatch, expected 2.0.0-alpha.41 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
513
|
+
}
|
|
514
|
+
return binding
|
|
515
|
+
} catch (e) {
|
|
516
|
+
loadErrors.push(e)
|
|
517
|
+
}
|
|
518
|
+
} else {
|
|
519
|
+
loadErrors.push(new Error(`Unsupported architecture on OpenHarmony: ${process.arch}`))
|
|
274
520
|
}
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
521
|
+
} else {
|
|
522
|
+
loadErrors.push(new Error(`Unsupported OS: ${process.platform}, architecture: ${process.arch}`))
|
|
523
|
+
}
|
|
278
524
|
}
|
|
279
525
|
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
526
|
+
nativeBinding = requireNative()
|
|
527
|
+
|
|
528
|
+
if (!nativeBinding || process.env.NAPI_RS_FORCE_WASI) {
|
|
529
|
+
let wasiBinding = null
|
|
530
|
+
let wasiBindingError = null
|
|
531
|
+
try {
|
|
532
|
+
wasiBinding = require('./jazz-napi.wasi.cjs')
|
|
533
|
+
nativeBinding = wasiBinding
|
|
534
|
+
} catch (err) {
|
|
535
|
+
if (process.env.NAPI_RS_FORCE_WASI) {
|
|
536
|
+
wasiBindingError = err
|
|
537
|
+
}
|
|
538
|
+
}
|
|
539
|
+
if (!nativeBinding || process.env.NAPI_RS_FORCE_WASI) {
|
|
540
|
+
try {
|
|
541
|
+
wasiBinding = require('@garden-co/jazz-napi-wasm32-wasi')
|
|
542
|
+
nativeBinding = wasiBinding
|
|
543
|
+
} catch (err) {
|
|
544
|
+
if (process.env.NAPI_RS_FORCE_WASI) {
|
|
545
|
+
if (!wasiBindingError) {
|
|
546
|
+
wasiBindingError = err
|
|
547
|
+
} else {
|
|
548
|
+
wasiBindingError.cause = err
|
|
549
|
+
}
|
|
550
|
+
loadErrors.push(err)
|
|
551
|
+
}
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
if (process.env.NAPI_RS_FORCE_WASI === 'error' && !wasiBinding) {
|
|
555
|
+
const error = new Error('WASI binding not found and NAPI_RS_FORCE_WASI is set to error')
|
|
556
|
+
error.cause = wasiBindingError
|
|
557
|
+
throw error
|
|
283
558
|
}
|
|
284
|
-
throw new Error(`Failed to load native binding`);
|
|
285
559
|
}
|
|
286
560
|
|
|
287
|
-
|
|
561
|
+
if (!nativeBinding) {
|
|
562
|
+
if (loadErrors.length > 0) {
|
|
563
|
+
throw new Error(
|
|
564
|
+
`Cannot find native binding. ` +
|
|
565
|
+
`npm has a bug related to optional dependencies (https://github.com/npm/cli/issues/4828). ` +
|
|
566
|
+
'Please try `npm i` again after removing both package-lock.json and node_modules directory.',
|
|
567
|
+
{
|
|
568
|
+
cause: loadErrors.reduce((err, cur) => {
|
|
569
|
+
cur.cause = err
|
|
570
|
+
return cur
|
|
571
|
+
}),
|
|
572
|
+
},
|
|
573
|
+
)
|
|
574
|
+
}
|
|
575
|
+
throw new Error(`Failed to load native binding`)
|
|
576
|
+
}
|
|
288
577
|
|
|
289
|
-
module.exports
|
|
290
|
-
module.exports.
|
|
291
|
-
module.exports.
|
|
292
|
-
module.exports.
|
|
578
|
+
module.exports = nativeBinding
|
|
579
|
+
module.exports.DevServer = nativeBinding.DevServer
|
|
580
|
+
module.exports.NapiRuntime = nativeBinding.NapiRuntime
|
|
581
|
+
module.exports.TestingServer = nativeBinding.TestingServer
|
|
582
|
+
module.exports.currentTimestamp = nativeBinding.currentTimestamp
|
|
583
|
+
module.exports.deriveUserId = nativeBinding.deriveUserId
|
|
584
|
+
module.exports.generateId = nativeBinding.generateId
|
|
585
|
+
module.exports.getPublicKeyBase64url = nativeBinding.getPublicKeyBase64url
|
|
586
|
+
module.exports.mintLocalFirstToken = nativeBinding.mintLocalFirstToken
|
|
587
|
+
module.exports.parseSchema = nativeBinding.parseSchema
|
|
588
|
+
module.exports.verifyLocalFirstIdentityProof = nativeBinding.verifyLocalFirstIdentityProof
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jazz-napi",
|
|
3
|
-
"version": "2.0.0-alpha.
|
|
3
|
+
"version": "2.0.0-alpha.41",
|
|
4
4
|
"description": "Native Node.js bindings for Jazz runtime",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -17,29 +17,26 @@
|
|
|
17
17
|
"access": "public",
|
|
18
18
|
"tag": "alpha"
|
|
19
19
|
},
|
|
20
|
-
"scripts": {
|
|
21
|
-
"build": "node scripts/build.js",
|
|
22
|
-
"build:debug": "napi build --platform"
|
|
23
|
-
},
|
|
24
20
|
"devDependencies": {
|
|
25
|
-
"@napi-rs/cli": "^
|
|
21
|
+
"@napi-rs/cli": "^3"
|
|
26
22
|
},
|
|
27
23
|
"napi": {
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
|
|
31
|
-
"
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
]
|
|
37
|
-
}
|
|
24
|
+
"binaryName": "jazz-napi",
|
|
25
|
+
"packageName": "@garden-co/jazz-napi",
|
|
26
|
+
"targets": [
|
|
27
|
+
"x86_64-unknown-linux-gnu",
|
|
28
|
+
"x86_64-pc-windows-msvc",
|
|
29
|
+
"x86_64-apple-darwin",
|
|
30
|
+
"aarch64-apple-darwin"
|
|
31
|
+
]
|
|
38
32
|
},
|
|
39
33
|
"optionalDependencies": {
|
|
40
|
-
"@garden-co/jazz-napi-darwin-arm64": "2.0.0-alpha.
|
|
41
|
-
"@garden-co/jazz-napi-darwin-x64": "2.0.0-alpha.
|
|
42
|
-
"@garden-co/jazz-napi-linux-x64-gnu": "2.0.0-alpha.
|
|
43
|
-
|
|
34
|
+
"@garden-co/jazz-napi-darwin-arm64": "2.0.0-alpha.41",
|
|
35
|
+
"@garden-co/jazz-napi-darwin-x64": "2.0.0-alpha.41",
|
|
36
|
+
"@garden-co/jazz-napi-linux-x64-gnu": "2.0.0-alpha.41"
|
|
37
|
+
},
|
|
38
|
+
"scripts": {
|
|
39
|
+
"build": "node scripts/build.js",
|
|
40
|
+
"build:debug": "node scripts/build.js --debug"
|
|
44
41
|
}
|
|
45
|
-
}
|
|
42
|
+
}
|