@vizejs/native 0.363.0 → 0.366.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/native-binding.js +21 -0
- package/native-targets.js +14 -1
- package/package.json +9 -9
package/native-binding.js
CHANGED
|
@@ -5,10 +5,21 @@ const { loadTarget, nativeTargets } = require("./native-targets");
|
|
|
5
5
|
|
|
6
6
|
const loadErrors = [];
|
|
7
7
|
|
|
8
|
+
function isMissingModuleForSpecifier(error, specifier) {
|
|
9
|
+
return (
|
|
10
|
+
error?.code === "MODULE_NOT_FOUND" &&
|
|
11
|
+
typeof error.message === "string" &&
|
|
12
|
+
error.message.includes(`'${specifier}'`)
|
|
13
|
+
);
|
|
14
|
+
}
|
|
15
|
+
|
|
8
16
|
function tryRequire(specifier) {
|
|
9
17
|
try {
|
|
10
18
|
return require(specifier);
|
|
11
19
|
} catch (error) {
|
|
20
|
+
if (isMissingModuleForSpecifier(error, specifier)) {
|
|
21
|
+
error.vizeMissingNativeSpecifier = true;
|
|
22
|
+
}
|
|
12
23
|
loadErrors.push(error);
|
|
13
24
|
return null;
|
|
14
25
|
}
|
|
@@ -72,6 +83,16 @@ function buildLoadError() {
|
|
|
72
83
|
return new Error("Failed to load native binding");
|
|
73
84
|
}
|
|
74
85
|
|
|
86
|
+
const loadFailure = loadErrors.find((error) => !error?.vizeMissingNativeSpecifier);
|
|
87
|
+
if (loadFailure) {
|
|
88
|
+
return new Error(`Failed to load native binding: ${loadFailure.message}`, {
|
|
89
|
+
cause: loadErrors.reduce((error, current) => {
|
|
90
|
+
current.cause = error;
|
|
91
|
+
return current;
|
|
92
|
+
}),
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
|
|
75
96
|
return new Error(
|
|
76
97
|
`Cannot find native binding. ` +
|
|
77
98
|
`npm has a bug related to optional dependencies (https://github.com/npm/cli/issues/4828). ` +
|
package/native-targets.js
CHANGED
|
@@ -7,6 +7,16 @@ const { execFileSync } = require("node:child_process");
|
|
|
7
7
|
const binaryName = "vize-vitrine";
|
|
8
8
|
const packageVersion = require("./package.json").version;
|
|
9
9
|
|
|
10
|
+
function markMissingModuleForSpecifier(error, specifier) {
|
|
11
|
+
if (
|
|
12
|
+
error?.code === "MODULE_NOT_FOUND" &&
|
|
13
|
+
typeof error.message === "string" &&
|
|
14
|
+
error.message.includes(`'${specifier}'`)
|
|
15
|
+
) {
|
|
16
|
+
error.vizeMissingNativeSpecifier = true;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
10
20
|
function isFileMusl(file) {
|
|
11
21
|
return file.includes("libc.musl-") || file.includes("ld-musl-");
|
|
12
22
|
}
|
|
@@ -113,15 +123,18 @@ function requireTargetPackage(target) {
|
|
|
113
123
|
}
|
|
114
124
|
|
|
115
125
|
function loadTarget(target, loadErrors) {
|
|
126
|
+
const localBinding = `./${binaryName}.${target}.node`;
|
|
116
127
|
try {
|
|
117
|
-
return require(
|
|
128
|
+
return require(localBinding);
|
|
118
129
|
} catch (error) {
|
|
130
|
+
markMissingModuleForSpecifier(error, localBinding);
|
|
119
131
|
loadErrors.push(error);
|
|
120
132
|
}
|
|
121
133
|
|
|
122
134
|
try {
|
|
123
135
|
return requireTargetPackage(target);
|
|
124
136
|
} catch (error) {
|
|
137
|
+
markMissingModuleForSpecifier(error, `@vizejs/native-${target}`);
|
|
125
138
|
loadErrors.push(error);
|
|
126
139
|
}
|
|
127
140
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vizejs/native",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.366.0",
|
|
4
4
|
"description": "High-performance Vue.js compiler - Native bindings",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"compiler",
|
|
@@ -35,14 +35,14 @@
|
|
|
35
35
|
"@napi-rs/cli": "3.6.2"
|
|
36
36
|
},
|
|
37
37
|
"optionalDependencies": {
|
|
38
|
-
"@vizejs/native-darwin-arm64": "0.
|
|
39
|
-
"@vizejs/native-darwin-x64": "0.
|
|
40
|
-
"@vizejs/native-linux-arm64-gnu": "0.
|
|
41
|
-
"@vizejs/native-linux-arm64-musl": "0.
|
|
42
|
-
"@vizejs/native-linux-x64-gnu": "0.
|
|
43
|
-
"@vizejs/native-linux-x64-musl": "0.
|
|
44
|
-
"@vizejs/native-win32-arm64-msvc": "0.
|
|
45
|
-
"@vizejs/native-win32-x64-msvc": "0.
|
|
38
|
+
"@vizejs/native-darwin-arm64": "0.366.0",
|
|
39
|
+
"@vizejs/native-darwin-x64": "0.366.0",
|
|
40
|
+
"@vizejs/native-linux-arm64-gnu": "0.366.0",
|
|
41
|
+
"@vizejs/native-linux-arm64-musl": "0.366.0",
|
|
42
|
+
"@vizejs/native-linux-x64-gnu": "0.366.0",
|
|
43
|
+
"@vizejs/native-linux-x64-musl": "0.366.0",
|
|
44
|
+
"@vizejs/native-win32-arm64-msvc": "0.366.0",
|
|
45
|
+
"@vizejs/native-win32-x64-msvc": "0.366.0"
|
|
46
46
|
},
|
|
47
47
|
"napi": {
|
|
48
48
|
"binaryName": "vize-vitrine",
|