@cubejs-backend/native 0.33.18 → 0.33.20
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/bin/post-install +11 -0
- package/dist/js/post-install.d.ts +2 -0
- package/dist/js/post-install.d.ts.map +1 -0
- package/dist/js/post-install.js +123 -0
- package/dist/js/post-install.js.map +1 -0
- package/package.json +35 -4
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');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"post-install.d.ts","sourceRoot":"","sources":["../../js/post-install.ts"],"names":[],"mappings":"AAAA,OAAO,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
require("source-map-support/register");
|
|
27
|
+
const shared_1 = require("@cubejs-backend/shared");
|
|
28
|
+
const process = __importStar(require("process"));
|
|
29
|
+
const pkg = require('../../package.json');
|
|
30
|
+
function resolveConstraint(name, constraintDetails) {
|
|
31
|
+
if (name === 'platform') {
|
|
32
|
+
return constraintDetails.includes(process.platform);
|
|
33
|
+
}
|
|
34
|
+
if (name === 'arch') {
|
|
35
|
+
return constraintDetails.includes(process.arch);
|
|
36
|
+
}
|
|
37
|
+
(0, shared_1.displayCLIWarning)(`Unknown constraint name: ${name}, pass: false`);
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
function resolveVariableValue(value) {
|
|
41
|
+
if (Array.isArray(value) && value.length == 2) {
|
|
42
|
+
const [valueName, supportedVersions] = value;
|
|
43
|
+
if (valueName === 'libpython') {
|
|
44
|
+
for (const version of supportedVersions) {
|
|
45
|
+
if ((0, shared_1.libraryExists)(`libpython${version}`) === shared_1.LibraryExistsResult.Exists) {
|
|
46
|
+
return version;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
if (value === 'libc') {
|
|
53
|
+
return resolveLibc();
|
|
54
|
+
}
|
|
55
|
+
(0, shared_1.displayCLIWarning)(`Unable to resolve value, unknown value ${value}`);
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
function resolveVars(variables) {
|
|
59
|
+
const res = [];
|
|
60
|
+
for (const [variableName, variable] of Object.entries(variables)) {
|
|
61
|
+
let constraintPass = true;
|
|
62
|
+
if (variable.constraints) {
|
|
63
|
+
for (const [constraintName, constraintDetails] of Object.entries(variable.constraints)) {
|
|
64
|
+
if (!resolveConstraint(constraintName, constraintDetails)) {
|
|
65
|
+
constraintPass = false;
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
let value = variable['default'];
|
|
71
|
+
if (constraintPass) {
|
|
72
|
+
if (variable.value) {
|
|
73
|
+
const resolvedValue = resolveVariableValue(variable.value);
|
|
74
|
+
if (resolvedValue) {
|
|
75
|
+
value = resolvedValue;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
res.push({
|
|
80
|
+
resolve(url) {
|
|
81
|
+
url = url.replace('${' + variableName + '}', value);
|
|
82
|
+
return url;
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
return res;
|
|
87
|
+
}
|
|
88
|
+
function resolveLibc() {
|
|
89
|
+
if (process.platform === 'linux') {
|
|
90
|
+
return (0, shared_1.detectLibc)() === 'gnu' ? 'glibc' : 'musl';
|
|
91
|
+
}
|
|
92
|
+
return 'unknown';
|
|
93
|
+
}
|
|
94
|
+
function resolvePath(path, variables) {
|
|
95
|
+
path = path.replace('${version}', pkg.version);
|
|
96
|
+
path = path.replace('${platform}', process.platform);
|
|
97
|
+
path = path.replace('${arch}', process.arch);
|
|
98
|
+
path = path.replace('${libc}', resolveLibc());
|
|
99
|
+
for (const variable of variables) {
|
|
100
|
+
path = variable.resolve(path);
|
|
101
|
+
}
|
|
102
|
+
return path;
|
|
103
|
+
}
|
|
104
|
+
(async () => {
|
|
105
|
+
try {
|
|
106
|
+
if (!pkg.resources) {
|
|
107
|
+
throw new Error('Please defined resources section in package.json file in corresponding package');
|
|
108
|
+
}
|
|
109
|
+
const variables = resolveVars(pkg.resources.vars);
|
|
110
|
+
for (const file of pkg.resources.files) {
|
|
111
|
+
const url = resolvePath(file.host + file.path, variables);
|
|
112
|
+
console.log(`Downloading: ${url}`);
|
|
113
|
+
await (0, shared_1.downloadAndExtractFile)(url, {
|
|
114
|
+
cwd: process.cwd(),
|
|
115
|
+
showProgress: true
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
catch (e) {
|
|
120
|
+
await (0, shared_1.displayCLIError)(e, 'Native Installer');
|
|
121
|
+
}
|
|
122
|
+
})();
|
|
123
|
+
//# sourceMappingURL=post-install.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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.20",
|
|
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.20",
|
|
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.20",
|
|
48
49
|
"@mapbox/node-pre-gyp": "^1"
|
|
49
50
|
},
|
|
50
51
|
"binary": {
|
|
@@ -55,6 +56,36 @@
|
|
|
55
56
|
"module_path": "native",
|
|
56
57
|
"pkg_path": "."
|
|
57
58
|
},
|
|
59
|
+
"resources": {
|
|
60
|
+
"vars": {
|
|
61
|
+
"libpython_or_fallback": {
|
|
62
|
+
"default": "fallback",
|
|
63
|
+
"value": [
|
|
64
|
+
"libpython",
|
|
65
|
+
[
|
|
66
|
+
"3.11",
|
|
67
|
+
"3.10",
|
|
68
|
+
"3.9"
|
|
69
|
+
]
|
|
70
|
+
],
|
|
71
|
+
"constraints": {
|
|
72
|
+
"platform": [
|
|
73
|
+
"linux"
|
|
74
|
+
],
|
|
75
|
+
"arch": [
|
|
76
|
+
"x64"
|
|
77
|
+
]
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
"files": [
|
|
82
|
+
{
|
|
83
|
+
"host": "https://github.com/cube-js/cube/releases/download/v${version}/",
|
|
84
|
+
"path": "native-${platform}-${arch}-${libc}-${libpython_or_fallback}.tar.gz",
|
|
85
|
+
"not_found": "Your system is not supported by @cubejs-backend/native, some feature will be unavailable."
|
|
86
|
+
}
|
|
87
|
+
]
|
|
88
|
+
},
|
|
58
89
|
"jest": {
|
|
59
90
|
"testEnvironment": "node",
|
|
60
91
|
"verbose": true,
|
|
@@ -69,5 +100,5 @@
|
|
|
69
100
|
"publishConfig": {
|
|
70
101
|
"access": "public"
|
|
71
102
|
},
|
|
72
|
-
"gitHead": "
|
|
103
|
+
"gitHead": "e1a56932c1f98b0425e832c81c13f4cc88146b88"
|
|
73
104
|
}
|