@cubejs-backend/native 0.33.19 → 0.33.21
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 +23 -0
- package/bin/post-install +11 -0
- package/dist/js/post-install.js +13 -6
- package/dist/js/post-install.js.map +1 -1
- package/package.json +10 -6
package/README.md
CHANGED
|
@@ -16,6 +16,29 @@ Native module for Cube.js (binding to Rust codebase).
|
|
|
16
16
|
|
|
17
17
|
[Learn more](https://github.com/cube-js/cube.js#getting-started)
|
|
18
18
|
|
|
19
|
+
There are two different types of builds: with Python, and a fallback.
|
|
20
|
+
If Cube cannot detect a `libpython` library or your system is not supported, it will use a fallback build.
|
|
21
|
+
|
|
22
|
+
### With python
|
|
23
|
+
|
|
24
|
+
Supported python versions: `3.11`, `3.10`, `3.9`.
|
|
25
|
+
|
|
26
|
+
| | `linux-gnu` | `linux-musl` | `darwin` | `win32` |
|
|
27
|
+
| -------- |:---------------:|:----------------:|:-----------:|:-------------:|
|
|
28
|
+
| `x86` | N/A | N/A | N/A | N/A |
|
|
29
|
+
| `x86_64` | ✅ | N/A | N/A | N/A |
|
|
30
|
+
| `arm64` | N/A | N/A | N/A | N/A |
|
|
31
|
+
|
|
32
|
+
### Fallback (without python)
|
|
33
|
+
|
|
34
|
+
| | `linux-gnu` | `linux-musl` | `darwin` | `win32` |
|
|
35
|
+
| -------- | :---------: |:-------------:| :------: | :-----: |
|
|
36
|
+
| `x86` | N/A | N/A | N/A | N/A |
|
|
37
|
+
| `x86_64` | ✅ | N/A | ✅ | ✅ |
|
|
38
|
+
| `arm64` | ✅ | N/A | ✅[1] | |
|
|
39
|
+
|
|
40
|
+
[1] It can be launched using Rosetta 2 via the `x86_64-apple` binary.
|
|
41
|
+
|
|
19
42
|
### License
|
|
20
43
|
|
|
21
44
|
Cube.js Native is [Apache 2.0 licensed](./LICENSE).
|
package/bin/post-install
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const fs = require('fs');
|
|
4
|
+
const path = require('path');
|
|
5
|
+
|
|
6
|
+
if (!fs.existsSync(path.join(__dirname, '..', 'dist', 'js', 'post-install.js')) && fs.existsSync(path.join(__dirname, '..', 'tsconfig.json'))) {
|
|
7
|
+
console.log('Skipping post-install because it was not compiled');
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
require('../dist/js/post-install');
|
package/dist/js/post-install.js
CHANGED
|
@@ -31,6 +31,9 @@ function resolveConstraint(name, constraintDetails) {
|
|
|
31
31
|
if (name === 'platform') {
|
|
32
32
|
return constraintDetails.includes(process.platform);
|
|
33
33
|
}
|
|
34
|
+
if (name === 'arch') {
|
|
35
|
+
return constraintDetails.includes(process.arch);
|
|
36
|
+
}
|
|
34
37
|
(0, shared_1.displayCLIWarning)(`Unknown constraint name: ${name}, pass: false`);
|
|
35
38
|
return false;
|
|
36
39
|
}
|
|
@@ -46,6 +49,9 @@ function resolveVariableValue(value) {
|
|
|
46
49
|
return false;
|
|
47
50
|
}
|
|
48
51
|
}
|
|
52
|
+
if (value === 'libc') {
|
|
53
|
+
return resolveLibc();
|
|
54
|
+
}
|
|
49
55
|
(0, shared_1.displayCLIWarning)(`Unable to resolve value, unknown value ${value}`);
|
|
50
56
|
return false;
|
|
51
57
|
}
|
|
@@ -79,16 +85,17 @@ function resolveVars(variables) {
|
|
|
79
85
|
}
|
|
80
86
|
return res;
|
|
81
87
|
}
|
|
88
|
+
function resolveLibc() {
|
|
89
|
+
if (process.platform === 'linux') {
|
|
90
|
+
return (0, shared_1.detectLibc)() === 'gnu' ? 'glibc' : 'musl';
|
|
91
|
+
}
|
|
92
|
+
return 'unknown';
|
|
93
|
+
}
|
|
82
94
|
function resolvePath(path, variables) {
|
|
83
95
|
path = path.replace('${version}', pkg.version);
|
|
84
96
|
path = path.replace('${platform}', process.platform);
|
|
85
97
|
path = path.replace('${arch}', process.arch);
|
|
86
|
-
|
|
87
|
-
path = path.replace('${libc}', (0, shared_1.detectLibc)());
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
path = path.replace('${libc}', 'unknown');
|
|
91
|
-
}
|
|
98
|
+
path = path.replace('${libc}', resolveLibc());
|
|
92
99
|
for (const variable of variables) {
|
|
93
100
|
path = variable.resolve(path);
|
|
94
101
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post-install.js","sourceRoot":"","sources":["../../js/post-install.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAqC;AAErC,
|
|
1
|
+
{"version":3,"file":"post-install.js","sourceRoot":"","sources":["../../js/post-install.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cubejs-backend/native",
|
|
3
|
-
"version": "0.33.
|
|
3
|
+
"version": "0.33.21",
|
|
4
4
|
"author": "Cube Dev, Inc.",
|
|
5
5
|
"description": "Native module for Cube.js (binding to Rust codebase)",
|
|
6
6
|
"main": "dist/js/index.js",
|
|
@@ -30,10 +30,11 @@
|
|
|
30
30
|
"node": "^14.0.0 || ^16.0.0 || >=17.0.0"
|
|
31
31
|
},
|
|
32
32
|
"files": [
|
|
33
|
+
"bin",
|
|
33
34
|
"dist/js"
|
|
34
35
|
],
|
|
35
36
|
"devDependencies": {
|
|
36
|
-
"@cubejs-backend/testing-shared": "^0.33.
|
|
37
|
+
"@cubejs-backend/testing-shared": "^0.33.21",
|
|
37
38
|
"@cubejs-infra/node-pre-gyp-github": "^1.0.3",
|
|
38
39
|
"@types/jest": "^26",
|
|
39
40
|
"@types/node": "^14",
|
|
@@ -44,7 +45,7 @@
|
|
|
44
45
|
},
|
|
45
46
|
"dependencies": {
|
|
46
47
|
"@cubejs-backend/cubesql": "^0.33.11",
|
|
47
|
-
"@cubejs-backend/shared": "^0.33.
|
|
48
|
+
"@cubejs-backend/shared": "^0.33.21",
|
|
48
49
|
"@mapbox/node-pre-gyp": "^1"
|
|
49
50
|
},
|
|
50
51
|
"binary": {
|
|
@@ -70,14 +71,17 @@
|
|
|
70
71
|
"constraints": {
|
|
71
72
|
"platform": [
|
|
72
73
|
"linux"
|
|
74
|
+
],
|
|
75
|
+
"arch": [
|
|
76
|
+
"x64"
|
|
73
77
|
]
|
|
74
78
|
}
|
|
75
79
|
}
|
|
76
80
|
},
|
|
77
81
|
"files": [
|
|
78
82
|
{
|
|
79
|
-
"host": "https://github.com/",
|
|
80
|
-
"path": "
|
|
83
|
+
"host": "https://github.com/cube-js/cube/releases/download/v${version}/",
|
|
84
|
+
"path": "native-${platform}-${arch}-${libc}-${libpython_or_fallback}.tar.gz",
|
|
81
85
|
"not_found": "Your system is not supported by @cubejs-backend/native, some feature will be unavailable."
|
|
82
86
|
}
|
|
83
87
|
]
|
|
@@ -96,5 +100,5 @@
|
|
|
96
100
|
"publishConfig": {
|
|
97
101
|
"access": "public"
|
|
98
102
|
},
|
|
99
|
-
"gitHead": "
|
|
103
|
+
"gitHead": "c20bb62bf3bd7708ffc99b937a8e13cc60a075e7"
|
|
100
104
|
}
|