@platforma-sdk/bootstrap 5.2.50 → 5.2.52
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/dist/_virtual/_rolldown/runtime.cjs +29 -0
- package/dist/block.cjs +106 -146
- package/dist/block.cjs.map +1 -1
- package/dist/block.js +100 -125
- package/dist/block.js.map +1 -1
- package/dist/cmd-opts.cjs +87 -177
- package/dist/cmd-opts.cjs.map +1 -1
- package/dist/cmd-opts.js +87 -172
- package/dist/cmd-opts.js.map +1 -1
- package/dist/commands/create-block.cjs +19 -20
- package/dist/commands/create-block.cjs.map +1 -1
- package/dist/commands/create-block.d.ts +12 -7
- package/dist/commands/create-block.js +17 -17
- package/dist/commands/create-block.js.map +1 -1
- package/dist/commands/reset.cjs +18 -21
- package/dist/commands/reset.cjs.map +1 -1
- package/dist/commands/reset.d.ts +12 -7
- package/dist/commands/reset.js +16 -18
- package/dist/commands/reset.js.map +1 -1
- package/dist/commands/start/docker/s3.cjs +64 -67
- package/dist/commands/start/docker/s3.cjs.map +1 -1
- package/dist/commands/start/docker/s3.d.ts +32 -27
- package/dist/commands/start/docker/s3.js +61 -64
- package/dist/commands/start/docker/s3.js.map +1 -1
- package/dist/commands/start/docker.cjs +64 -67
- package/dist/commands/start/docker.cjs.map +1 -1
- package/dist/commands/start/docker.d.ts +32 -27
- package/dist/commands/start/docker.js +61 -64
- package/dist/commands/start/docker.js.map +1 -1
- package/dist/commands/start/local/s3.cjs +101 -135
- package/dist/commands/start/local/s3.cjs.map +1 -1
- package/dist/commands/start/local/s3.d.ts +36 -31
- package/dist/commands/start/local/s3.js +97 -113
- package/dist/commands/start/local/s3.js.map +1 -1
- package/dist/commands/start/local.cjs +95 -122
- package/dist/commands/start/local.cjs.map +1 -1
- package/dist/commands/start/local.d.ts +34 -29
- package/dist/commands/start/local.js +91 -100
- package/dist/commands/start/local.js.map +1 -1
- package/dist/commands/start.cjs +18 -21
- package/dist/commands/start.cjs.map +1 -1
- package/dist/commands/start.d.ts +12 -7
- package/dist/commands/start.js +16 -18
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/stop.cjs +22 -27
- package/dist/commands/stop.cjs.map +1 -1
- package/dist/commands/stop.d.ts +12 -7
- package/dist/commands/stop.js +20 -24
- package/dist/commands/stop.js.map +1 -1
- package/dist/commands/svc/create/arg-parser.cjs +102 -172
- package/dist/commands/svc/create/arg-parser.cjs.map +1 -1
- package/dist/commands/svc/create/arg-parser.js +102 -171
- package/dist/commands/svc/create/arg-parser.js.map +1 -1
- package/dist/commands/svc/create/docker/s3.cjs +78 -96
- package/dist/commands/svc/create/docker/s3.cjs.map +1 -1
- package/dist/commands/svc/create/docker/s3.d.ts +35 -30
- package/dist/commands/svc/create/docker/s3.js +75 -93
- package/dist/commands/svc/create/docker/s3.js.map +1 -1
- package/dist/commands/svc/create/docker.cjs +82 -103
- package/dist/commands/svc/create/docker.cjs.map +1 -1
- package/dist/commands/svc/create/docker.d.ts +35 -30
- package/dist/commands/svc/create/docker.js +79 -100
- package/dist/commands/svc/create/docker.js.map +1 -1
- package/dist/commands/svc/create/local/s3.cjs +107 -139
- package/dist/commands/svc/create/local/s3.cjs.map +1 -1
- package/dist/commands/svc/create/local/s3.d.ts +39 -34
- package/dist/commands/svc/create/local/s3.js +103 -117
- package/dist/commands/svc/create/local/s3.js.map +1 -1
- package/dist/commands/svc/create/local.cjs +101 -138
- package/dist/commands/svc/create/local.cjs.map +1 -1
- package/dist/commands/svc/create/local.d.ts +37 -32
- package/dist/commands/svc/create/local.js +97 -116
- package/dist/commands/svc/create/local.js.map +1 -1
- package/dist/commands/svc/delete.cjs +36 -38
- package/dist/commands/svc/delete.cjs.map +1 -1
- package/dist/commands/svc/delete.d.ts +16 -11
- package/dist/commands/svc/delete.js +34 -35
- package/dist/commands/svc/delete.js.map +1 -1
- package/dist/commands/svc/down.cjs +27 -30
- package/dist/commands/svc/down.cjs.map +1 -1
- package/dist/commands/svc/down.d.ts +15 -10
- package/dist/commands/svc/down.js +25 -27
- package/dist/commands/svc/down.js.map +1 -1
- package/dist/commands/svc/list.cjs +25 -29
- package/dist/commands/svc/list.cjs.map +1 -1
- package/dist/commands/svc/list.d.ts +9 -5
- package/dist/commands/svc/list.js +23 -26
- package/dist/commands/svc/list.js.map +1 -1
- package/dist/commands/svc/up.cjs +33 -49
- package/dist/commands/svc/up.cjs.map +1 -1
- package/dist/commands/svc/up.d.ts +15 -10
- package/dist/commands/svc/up.js +31 -46
- package/dist/commands/svc/up.js.map +1 -1
- package/dist/core.cjs +712 -881
- package/dist/core.cjs.map +1 -1
- package/dist/core.js +709 -877
- package/dist/core.js.map +1 -1
- package/dist/index.cjs +36 -36
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +37 -33
- package/dist/index.js +35 -34
- package/dist/index.js.map +1 -1
- package/dist/package.cjs +15 -36
- package/dist/package.cjs.map +1 -1
- package/dist/package.js +14 -14
- package/dist/package.js.map +1 -1
- package/dist/platforma.cjs +119 -148
- package/dist/platforma.cjs.map +1 -1
- package/dist/platforma.js +114 -122
- package/dist/platforma.js.map +1 -1
- package/dist/run.cjs +55 -58
- package/dist/run.cjs.map +1 -1
- package/dist/run.js +56 -56
- package/dist/run.js.map +1 -1
- package/dist/state.cjs +114 -141
- package/dist/state.cjs.map +1 -1
- package/dist/state.js +110 -139
- package/dist/state.js.map +1 -1
- package/dist/templates/compose.cjs +38 -65
- package/dist/templates/compose.cjs.map +1 -1
- package/dist/templates/compose.js +35 -63
- package/dist/templates/compose.js.map +1 -1
- package/dist/templates/pl-config.cjs +163 -165
- package/dist/templates/pl-config.cjs.map +1 -1
- package/dist/templates/pl-config.js +161 -163
- package/dist/templates/pl-config.js.map +1 -1
- package/dist/templates/types.cjs +24 -23
- package/dist/templates/types.cjs.map +1 -1
- package/dist/templates/types.js +24 -22
- package/dist/templates/types.js.map +1 -1
- package/dist/util.cjs +57 -74
- package/dist/util.cjs.map +1 -1
- package/dist/util.js +51 -72
- package/dist/util.js.map +1 -1
- package/package.json +6 -6
- package/dist/block.d.ts +0 -25
- package/dist/block.d.ts.map +0 -1
- package/dist/cmd-opts.d.ts +0 -89
- package/dist/cmd-opts.d.ts.map +0 -1
- package/dist/commands/create-block.d.ts.map +0 -1
- package/dist/commands/reset.d.ts.map +0 -1
- package/dist/commands/start/docker/s3.d.ts.map +0 -1
- package/dist/commands/start/docker.d.ts.map +0 -1
- package/dist/commands/start/local/s3.d.ts.map +0 -1
- package/dist/commands/start/local.d.ts.map +0 -1
- package/dist/commands/start.d.ts.map +0 -1
- package/dist/commands/stop.d.ts.map +0 -1
- package/dist/commands/svc/create/arg-parser.d.ts +0 -43
- package/dist/commands/svc/create/arg-parser.d.ts.map +0 -1
- package/dist/commands/svc/create/docker/s3.d.ts.map +0 -1
- package/dist/commands/svc/create/docker.d.ts.map +0 -1
- package/dist/commands/svc/create/local/s3.d.ts.map +0 -1
- package/dist/commands/svc/create/local.d.ts.map +0 -1
- package/dist/commands/svc/delete.d.ts.map +0 -1
- package/dist/commands/svc/down.d.ts.map +0 -1
- package/dist/commands/svc/list.d.ts.map +0 -1
- package/dist/commands/svc/up.d.ts.map +0 -1
- package/dist/core.d.ts +0 -105
- package/dist/core.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/package.d.ts +0 -7
- package/dist/package.d.ts.map +0 -1
- package/dist/platforma.d.ts +0 -24
- package/dist/platforma.d.ts.map +0 -1
- package/dist/run.d.ts +0 -13
- package/dist/run.d.ts.map +0 -1
- package/dist/state.d.ts +0 -63
- package/dist/state.d.ts.map +0 -1
- package/dist/templates/compose.d.ts +0 -14
- package/dist/templates/compose.d.ts.map +0 -1
- package/dist/templates/pl-config.d.ts +0 -6
- package/dist/templates/pl-config.d.ts.map +0 -1
- package/dist/templates/types.d.ts +0 -138
- package/dist/templates/types.d.ts.map +0 -1
- package/dist/util.d.ts +0 -18
- package/dist/util.d.ts.map +0 -1
package/dist/package.cjs
CHANGED
|
@@ -1,49 +1,28 @@
|
|
|
1
|
-
|
|
1
|
+
const require_runtime = require('./_virtual/_rolldown/runtime.cjs');
|
|
2
|
+
let node_fs = require("node:fs");
|
|
3
|
+
node_fs = require_runtime.__toESM(node_fs);
|
|
4
|
+
let node_path = require("node:path");
|
|
5
|
+
let _milaboratories_pl_deployments = require("@milaboratories/pl-deployments");
|
|
6
|
+
let node_url = require("node:url");
|
|
2
7
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var plDeployments = require('@milaboratories/pl-deployments');
|
|
6
|
-
var node_url = require('node:url');
|
|
7
|
-
|
|
8
|
-
var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
|
|
9
|
-
function _interopNamespaceDefault(e) {
|
|
10
|
-
var n = Object.create(null);
|
|
11
|
-
if (e) {
|
|
12
|
-
Object.keys(e).forEach(function (k) {
|
|
13
|
-
if (k !== 'default') {
|
|
14
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
15
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
16
|
-
enumerable: true,
|
|
17
|
-
get: function () { return e[k]; }
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
n.default = e;
|
|
23
|
-
return Object.freeze(n);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
var fs__namespace = /*#__PURE__*/_interopNamespaceDefault(fs);
|
|
27
|
-
|
|
28
|
-
const __dirname$1 = path$1.dirname(node_url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('package.cjs', document.baseURI).href))));
|
|
8
|
+
//#region src/package.ts
|
|
9
|
+
const __dirname$1 = (0, node_path.dirname)((0, node_url.fileURLToPath)(require("url").pathToFileURL(__filename).href));
|
|
29
10
|
function path(...p) {
|
|
30
|
-
|
|
11
|
+
return (0, node_path.resolve)(__dirname$1, "..", ...p);
|
|
31
12
|
}
|
|
32
13
|
function assets(...p) {
|
|
33
|
-
|
|
14
|
+
return path("assets", ...p);
|
|
34
15
|
}
|
|
35
16
|
function readFileSync(...p) {
|
|
36
|
-
|
|
17
|
+
return node_fs.readFileSync(path(...p));
|
|
37
18
|
}
|
|
38
19
|
function plImageTag(version) {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
42
|
-
return `quay.io/milaboratories/platforma:${version}`;
|
|
20
|
+
if (!version) version = (0, _milaboratories_pl_deployments.getDefaultPlVersion)();
|
|
21
|
+
return `quay.io/milaboratories/platforma:${version}`;
|
|
43
22
|
}
|
|
44
23
|
|
|
24
|
+
//#endregion
|
|
45
25
|
exports.assets = assets;
|
|
46
|
-
exports.path = path;
|
|
47
26
|
exports.plImageTag = plImageTag;
|
|
48
27
|
exports.readFileSync = readFileSync;
|
|
49
|
-
//# sourceMappingURL=package.cjs.map
|
|
28
|
+
//# sourceMappingURL=package.cjs.map
|
package/dist/package.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package.cjs","sources":["../src/package.ts"],"sourcesContent":["import { resolve } from \"node:path\";\nimport * as fs from \"node:fs\";\nimport { getDefaultPlVersion } from \"@milaboratories/pl-deployments\";\nimport { dirname } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\n\nconst __dirname = dirname(fileURLToPath(import.meta.url));\n\nexport function path(...p: string[]): string {\n return resolve(__dirname, \"..\", ...p);\n}\n\nexport function dist(...p: string[]): string {\n return path(\"dist\", ...p);\n}\n\nexport function assets(...p: string[]): string {\n return path(\"assets\", ...p);\n}\n\nexport function composeFiles(): string[] {\n const dockerDirEntries = fs.readdirSync(assets());\n return dockerDirEntries\n .filter((entry) => {\n return entry.startsWith(\"compose-\") && entry.endsWith(\".yaml\");\n })\n .map((value) => assets(value));\n}\n\nexport function readFileSync(...p: string[]): Buffer {\n return fs.readFileSync(path(...p));\n}\n\nexport function plImageTag(version?: string): string {\n if (!version) {\n version = getDefaultPlVersion();\n }\n\n return `quay.io/milaboratories/platforma:${version}`;\n}\n"],"
|
|
1
|
+
{"version":3,"file":"package.cjs","names":["__dirname","fs"],"sources":["../src/package.ts"],"sourcesContent":["import { resolve } from \"node:path\";\nimport * as fs from \"node:fs\";\nimport { getDefaultPlVersion } from \"@milaboratories/pl-deployments\";\nimport { dirname } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\n\nconst __dirname = dirname(fileURLToPath(import.meta.url));\n\nexport function path(...p: string[]): string {\n return resolve(__dirname, \"..\", ...p);\n}\n\nexport function dist(...p: string[]): string {\n return path(\"dist\", ...p);\n}\n\nexport function assets(...p: string[]): string {\n return path(\"assets\", ...p);\n}\n\nexport function composeFiles(): string[] {\n const dockerDirEntries = fs.readdirSync(assets());\n return dockerDirEntries\n .filter((entry) => {\n return entry.startsWith(\"compose-\") && entry.endsWith(\".yaml\");\n })\n .map((value) => assets(value));\n}\n\nexport function readFileSync(...p: string[]): Buffer {\n return fs.readFileSync(path(...p));\n}\n\nexport function plImageTag(version?: string): string {\n if (!version) {\n version = getDefaultPlVersion();\n }\n\n return `quay.io/milaboratories/platforma:${version}`;\n}\n"],"mappings":";;;;;;;;AAMA,MAAMA,+GAAkD,CAAC;AAEzD,SAAgB,KAAK,GAAG,GAAqB;AAC3C,+BAAeA,aAAW,MAAM,GAAG,EAAE;;AAOvC,SAAgB,OAAO,GAAG,GAAqB;AAC7C,QAAO,KAAK,UAAU,GAAG,EAAE;;AAY7B,SAAgB,aAAa,GAAG,GAAqB;AACnD,QAAOC,QAAG,aAAa,KAAK,GAAG,EAAE,CAAC;;AAGpC,SAAgB,WAAW,SAA0B;AACnD,KAAI,CAAC,QACH,oEAA+B;AAGjC,QAAO,oCAAoC"}
|
package/dist/package.js
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import { getDefaultPlVersion } from
|
|
4
|
-
import { fileURLToPath } from
|
|
1
|
+
import * as fs$1 from "node:fs";
|
|
2
|
+
import { dirname, resolve } from "node:path";
|
|
3
|
+
import { getDefaultPlVersion } from "@milaboratories/pl-deployments";
|
|
4
|
+
import { fileURLToPath } from "node:url";
|
|
5
5
|
|
|
6
|
+
//#region src/package.ts
|
|
6
7
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
7
|
-
function path(...p) {
|
|
8
|
-
|
|
8
|
+
function path$1(...p) {
|
|
9
|
+
return resolve(__dirname, "..", ...p);
|
|
9
10
|
}
|
|
10
11
|
function assets(...p) {
|
|
11
|
-
|
|
12
|
+
return path$1("assets", ...p);
|
|
12
13
|
}
|
|
13
14
|
function readFileSync(...p) {
|
|
14
|
-
|
|
15
|
+
return fs$1.readFileSync(path$1(...p));
|
|
15
16
|
}
|
|
16
17
|
function plImageTag(version) {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
}
|
|
20
|
-
return `quay.io/milaboratories/platforma:${version}`;
|
|
18
|
+
if (!version) version = getDefaultPlVersion();
|
|
19
|
+
return `quay.io/milaboratories/platforma:${version}`;
|
|
21
20
|
}
|
|
22
21
|
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
//#endregion
|
|
23
|
+
export { assets, plImageTag, readFileSync };
|
|
24
|
+
//# sourceMappingURL=package.js.map
|
package/dist/package.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package.js","sources":["../src/package.ts"],"sourcesContent":["import { resolve } from \"node:path\";\nimport * as fs from \"node:fs\";\nimport { getDefaultPlVersion } from \"@milaboratories/pl-deployments\";\nimport { dirname } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\n\nconst __dirname = dirname(fileURLToPath(import.meta.url));\n\nexport function path(...p: string[]): string {\n return resolve(__dirname, \"..\", ...p);\n}\n\nexport function dist(...p: string[]): string {\n return path(\"dist\", ...p);\n}\n\nexport function assets(...p: string[]): string {\n return path(\"assets\", ...p);\n}\n\nexport function composeFiles(): string[] {\n const dockerDirEntries = fs.readdirSync(assets());\n return dockerDirEntries\n .filter((entry) => {\n return entry.startsWith(\"compose-\") && entry.endsWith(\".yaml\");\n })\n .map((value) => assets(value));\n}\n\nexport function readFileSync(...p: string[]): Buffer {\n return fs.readFileSync(path(...p));\n}\n\nexport function plImageTag(version?: string): string {\n if (!version) {\n version = getDefaultPlVersion();\n }\n\n return `quay.io/milaboratories/platforma:${version}`;\n}\n"],"
|
|
1
|
+
{"version":3,"file":"package.js","names":["path","fs"],"sources":["../src/package.ts"],"sourcesContent":["import { resolve } from \"node:path\";\nimport * as fs from \"node:fs\";\nimport { getDefaultPlVersion } from \"@milaboratories/pl-deployments\";\nimport { dirname } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\n\nconst __dirname = dirname(fileURLToPath(import.meta.url));\n\nexport function path(...p: string[]): string {\n return resolve(__dirname, \"..\", ...p);\n}\n\nexport function dist(...p: string[]): string {\n return path(\"dist\", ...p);\n}\n\nexport function assets(...p: string[]): string {\n return path(\"assets\", ...p);\n}\n\nexport function composeFiles(): string[] {\n const dockerDirEntries = fs.readdirSync(assets());\n return dockerDirEntries\n .filter((entry) => {\n return entry.startsWith(\"compose-\") && entry.endsWith(\".yaml\");\n })\n .map((value) => assets(value));\n}\n\nexport function readFileSync(...p: string[]): Buffer {\n return fs.readFileSync(path(...p));\n}\n\nexport function plImageTag(version?: string): string {\n if (!version) {\n version = getDefaultPlVersion();\n }\n\n return `quay.io/milaboratories/platforma:${version}`;\n}\n"],"mappings":";;;;;;AAMA,MAAM,YAAY,QAAQ,cAAc,OAAO,KAAK,IAAI,CAAC;AAEzD,SAAgBA,OAAK,GAAG,GAAqB;AAC3C,QAAO,QAAQ,WAAW,MAAM,GAAG,EAAE;;AAOvC,SAAgB,OAAO,GAAG,GAAqB;AAC7C,QAAOA,OAAK,UAAU,GAAG,EAAE;;AAY7B,SAAgB,aAAa,GAAG,GAAqB;AACnD,QAAOC,KAAG,aAAaD,OAAK,GAAG,EAAE,CAAC;;AAGpC,SAAgB,WAAW,SAA0B;AACnD,KAAI,CAAC,QACH,WAAU,qBAAqB;AAGjC,QAAO,oCAAoC"}
|
package/dist/platforma.cjs
CHANGED
|
@@ -1,169 +1,140 @@
|
|
|
1
|
-
|
|
1
|
+
const require_runtime = require('./_virtual/_rolldown/runtime.cjs');
|
|
2
|
+
const require_state = require('./state.cjs');
|
|
3
|
+
let node_os = require("node:os");
|
|
4
|
+
node_os = require_runtime.__toESM(node_os);
|
|
5
|
+
let node_fs = require("node:fs");
|
|
6
|
+
node_fs = require_runtime.__toESM(node_fs);
|
|
7
|
+
let node_path = require("node:path");
|
|
8
|
+
node_path = require_runtime.__toESM(node_path);
|
|
9
|
+
let _milaboratories_pl_deployments = require("@milaboratories/pl-deployments");
|
|
10
|
+
let https = require("https");
|
|
11
|
+
https = require_runtime.__toESM(https);
|
|
12
|
+
let tar = require("tar");
|
|
13
|
+
tar = require_runtime.__toESM(tar);
|
|
2
14
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
var plDeployments = require('@milaboratories/pl-deployments');
|
|
10
|
-
|
|
11
|
-
function _interopNamespaceDefault(e) {
|
|
12
|
-
var n = Object.create(null);
|
|
13
|
-
if (e) {
|
|
14
|
-
Object.keys(e).forEach(function (k) {
|
|
15
|
-
if (k !== 'default') {
|
|
16
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
17
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
18
|
-
enumerable: true,
|
|
19
|
-
get: function () { return e[k]; }
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
n.default = e;
|
|
25
|
-
return Object.freeze(n);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
var tar__namespace = /*#__PURE__*/_interopNamespaceDefault(tar);
|
|
29
|
-
|
|
30
|
-
const OSes = ["linux", "macos", "windows"];
|
|
15
|
+
//#region src/platforma.ts
|
|
16
|
+
const OSes = [
|
|
17
|
+
"linux",
|
|
18
|
+
"macos",
|
|
19
|
+
"windows"
|
|
20
|
+
];
|
|
31
21
|
function archiveOS(osName) {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
return "windows";
|
|
40
|
-
default:
|
|
41
|
-
throw new Error(`operating system '${platform}' is not currently supported by Platforma ecosystem. The list of OSes supported: ` +
|
|
42
|
-
JSON.stringify(OSes));
|
|
43
|
-
}
|
|
22
|
+
const platform = osName ?? node_os.default.platform();
|
|
23
|
+
switch (platform) {
|
|
24
|
+
case "darwin": return "macos";
|
|
25
|
+
case "linux": return "linux";
|
|
26
|
+
case "win32": return "windows";
|
|
27
|
+
default: throw new Error(`operating system '${platform}' is not currently supported by Platforma ecosystem. The list of OSes supported: ` + JSON.stringify(OSes));
|
|
28
|
+
}
|
|
44
29
|
}
|
|
45
30
|
const Arches = ["amd64", "arm64"];
|
|
46
31
|
function archiveArch(archName) {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
default:
|
|
54
|
-
throw new Error(`processor architecture '${arch}' is not currently supported by Platforma ecosystem. The list of architectures supported: ` +
|
|
55
|
-
JSON.stringify(Arches));
|
|
56
|
-
}
|
|
32
|
+
const arch = archName ?? node_os.default.arch();
|
|
33
|
+
switch (arch) {
|
|
34
|
+
case "arm64": return "arm64";
|
|
35
|
+
case "x64": return "amd64";
|
|
36
|
+
default: throw new Error(`processor architecture '${arch}' is not currently supported by Platforma ecosystem. The list of architectures supported: ` + JSON.stringify(Arches));
|
|
37
|
+
}
|
|
57
38
|
}
|
|
58
39
|
function downloadArchive(logger, options) {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
});
|
|
109
|
-
});
|
|
40
|
+
const version = options?.version ?? (0, _milaboratories_pl_deployments.getDefaultPlVersion)();
|
|
41
|
+
const showProgress = options?.showProgress ?? process.stdout.isTTY;
|
|
42
|
+
const archiveName = `pl-${version}-${archiveArch()}.tgz`;
|
|
43
|
+
const downloadURL = options?.downloadURL ?? `https://cdn.platforma.bio/software/pl/${archiveOS()}/${archiveName}`;
|
|
44
|
+
const archiveFilePath = options?.saveTo ?? require_state.default.binaries(archiveName);
|
|
45
|
+
if (node_fs.default.existsSync(archiveFilePath)) {
|
|
46
|
+
logger.info(`Platforma Backend archive download skipped: '${archiveFilePath}' already exists`);
|
|
47
|
+
return Promise.resolve(archiveFilePath);
|
|
48
|
+
}
|
|
49
|
+
node_fs.default.mkdirSync(node_path.default.dirname(archiveFilePath), { recursive: true });
|
|
50
|
+
logger.info(`Downloading Platforma Backend archive:\n URL: ${downloadURL}\n Save to: ${archiveFilePath}`);
|
|
51
|
+
const request = https.default.get(downloadURL);
|
|
52
|
+
return new Promise((resolve, reject) => {
|
|
53
|
+
request.on("response", (response) => {
|
|
54
|
+
if (!response.statusCode) {
|
|
55
|
+
const err = /* @__PURE__ */ new Error("failed to download archive: no HTTP status code in response from server");
|
|
56
|
+
request.destroy();
|
|
57
|
+
reject(err);
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
if (response.statusCode !== 200) {
|
|
61
|
+
const err = /* @__PURE__ */ new Error(`failed to download archive: ${response.statusCode} ${response.statusMessage}`);
|
|
62
|
+
request.destroy();
|
|
63
|
+
reject(err);
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
const totalBytes = parseInt(response.headers["content-length"] || "0", 10);
|
|
67
|
+
let downloadedBytes = 0;
|
|
68
|
+
const archive = node_fs.default.createWriteStream(archiveFilePath);
|
|
69
|
+
response.pipe(archive);
|
|
70
|
+
response.on("data", (chunk) => {
|
|
71
|
+
downloadedBytes += chunk.length;
|
|
72
|
+
const progress = downloadedBytes / totalBytes * 100;
|
|
73
|
+
if (showProgress) process.stdout.write(` downloading: ${progress.toFixed(2)}%\r`);
|
|
74
|
+
});
|
|
75
|
+
response.on("error", (err) => {
|
|
76
|
+
node_fs.default.unlinkSync(archiveFilePath);
|
|
77
|
+
logger.error(`Failed to download Platforma Binary: ${err.message}`);
|
|
78
|
+
request.destroy();
|
|
79
|
+
reject(err);
|
|
80
|
+
});
|
|
81
|
+
archive.on("finish", () => {
|
|
82
|
+
archive.close();
|
|
83
|
+
logger.info(` ... download done.`);
|
|
84
|
+
request.destroy();
|
|
85
|
+
resolve(archiveFilePath);
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
});
|
|
110
89
|
}
|
|
111
90
|
function extractArchive(logger, options) {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
91
|
+
logger.debug("extracting archive...");
|
|
92
|
+
const version = options?.version ?? (0, _milaboratories_pl_deployments.getDefaultPlVersion)();
|
|
93
|
+
logger.debug(` version: '${version}'`);
|
|
94
|
+
const archiveName = `${binaryDirName({ version })}.tgz`;
|
|
95
|
+
const archivePath = options?.archivePath ?? require_state.default.binaries(archiveName);
|
|
96
|
+
logger.debug(` archive path: '${archivePath}'`);
|
|
97
|
+
const targetDir = options?.extractTo ?? trimExtension(archivePath);
|
|
98
|
+
logger.debug(` target dir: '${targetDir}'`);
|
|
99
|
+
if (node_fs.default.existsSync(targetDir)) {
|
|
100
|
+
logger.info(`Platforma Backend binaries unpack skipped: '${targetDir}' exists`);
|
|
101
|
+
return targetDir;
|
|
102
|
+
}
|
|
103
|
+
if (!node_fs.default.existsSync(archivePath)) {
|
|
104
|
+
const msg = `Platforma Backend binary archive not found at '${archivePath}'`;
|
|
105
|
+
logger.error(msg);
|
|
106
|
+
throw new Error(msg);
|
|
107
|
+
}
|
|
108
|
+
if (!node_fs.default.existsSync(targetDir)) {
|
|
109
|
+
logger.debug(` creating target dir '${targetDir}'`);
|
|
110
|
+
node_fs.default.mkdirSync(targetDir, { recursive: true });
|
|
111
|
+
}
|
|
112
|
+
logger.info(`Unpacking Platforma Backend archive:\n Archive: ${archivePath}\n Target dir: ${targetDir}`);
|
|
113
|
+
tar.x({
|
|
114
|
+
file: archivePath,
|
|
115
|
+
cwd: targetDir,
|
|
116
|
+
gzip: true,
|
|
117
|
+
sync: true
|
|
118
|
+
});
|
|
119
|
+
logger.info(` ... unpack done.`);
|
|
120
|
+
return targetDir;
|
|
142
121
|
}
|
|
143
122
|
function getBinary(logger, options) {
|
|
144
|
-
|
|
123
|
+
return downloadArchive(logger, options).then((archivePath) => extractArchive(logger, { archivePath }));
|
|
145
124
|
}
|
|
146
125
|
function binaryDirName(options) {
|
|
147
|
-
|
|
148
|
-
return `pl-${version}-${archiveArch()}`;
|
|
126
|
+
return `pl-${options?.version ?? (0, _milaboratories_pl_deployments.getDefaultPlVersion)()}-${archiveArch()}`;
|
|
149
127
|
}
|
|
150
128
|
function binaryPath(version, ...p) {
|
|
151
|
-
|
|
129
|
+
return require_state.default.binaries(binaryDirName({ version }), ...p);
|
|
152
130
|
}
|
|
153
131
|
function trimExtension(filename) {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
}
|
|
158
|
-
return filename.slice(0, lastDotIndex);
|
|
132
|
+
const lastDotIndex = filename.lastIndexOf(".");
|
|
133
|
+
if (lastDotIndex === -1) return filename;
|
|
134
|
+
return filename.slice(0, lastDotIndex);
|
|
159
135
|
}
|
|
160
136
|
|
|
161
|
-
|
|
162
|
-
exports.OSes = OSes;
|
|
163
|
-
exports.archiveArch = archiveArch;
|
|
164
|
-
exports.archiveOS = archiveOS;
|
|
137
|
+
//#endregion
|
|
165
138
|
exports.binaryPath = binaryPath;
|
|
166
|
-
exports.downloadArchive = downloadArchive;
|
|
167
|
-
exports.extractArchive = extractArchive;
|
|
168
139
|
exports.getBinary = getBinary;
|
|
169
|
-
//# sourceMappingURL=platforma.cjs.map
|
|
140
|
+
//# sourceMappingURL=platforma.cjs.map
|
package/dist/platforma.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platforma.cjs","sources":["../src/platforma.ts"],"sourcesContent":["import os from \"node:os\";\nimport fs from \"node:fs\";\nimport https from \"https\";\nimport path from \"node:path\";\n\nimport * as tar from \"tar\";\nimport type winston from \"winston\";\nimport state from \"./state\";\nimport { getDefaultPlVersion } from \"@milaboratories/pl-deployments\";\n\nexport const OSes = [\"linux\", \"macos\", \"windows\"] as const;\nexport type OSType = (typeof OSes)[number];\n\nexport function archiveOS(osName?: string): OSType {\n const platform = osName ?? os.platform();\n\n switch (platform) {\n case \"darwin\":\n return \"macos\";\n case \"linux\":\n return \"linux\";\n case \"win32\":\n return \"windows\";\n default:\n throw new Error(\n `operating system '${platform}' is not currently supported by Platforma ecosystem. The list of OSes supported: ` +\n JSON.stringify(OSes),\n );\n }\n}\n\nexport const Arches = [\"amd64\", \"arm64\"] as const;\nexport type ArchType = (typeof Arches)[number];\n\nexport function archiveArch(archName?: string): ArchType {\n const arch = archName ?? os.arch();\n\n switch (arch) {\n case \"arm64\":\n return \"arm64\";\n case \"x64\":\n return \"amd64\";\n default:\n throw new Error(\n `processor architecture '${arch}' is not currently supported by Platforma ecosystem. The list of architectures supported: ` +\n JSON.stringify(Arches),\n );\n }\n}\n\nexport function downloadArchive(\n logger: winston.Logger,\n options?: {\n version?: string;\n showProgress?: boolean;\n downloadURL?: string;\n saveTo?: string;\n },\n): Promise<string> {\n const version = options?.version ?? getDefaultPlVersion();\n const showProgress = options?.showProgress ?? process.stdout.isTTY;\n\n const archiveName = `pl-${version}-${archiveArch()}.tgz`;\n const downloadURL =\n options?.downloadURL ?? `https://cdn.platforma.bio/software/pl/${archiveOS()}/${archiveName}`;\n\n const archiveFilePath = options?.saveTo ?? state.binaries(archiveName);\n if (fs.existsSync(archiveFilePath)) {\n logger.info(`Platforma Backend archive download skipped: '${archiveFilePath}' already exists`);\n return Promise.resolve(archiveFilePath);\n }\n\n fs.mkdirSync(path.dirname(archiveFilePath), { recursive: true });\n\n logger.info(\n `Downloading Platforma Backend archive:\\n URL: ${downloadURL}\\n Save to: ${archiveFilePath}`,\n );\n\n const request = https.get(downloadURL);\n\n return new Promise((resolve, reject) => {\n request.on(\"response\", (response) => {\n if (!response.statusCode) {\n const err = new Error(\n \"failed to download archive: no HTTP status code in response from server\",\n );\n request.destroy();\n reject(err);\n return;\n }\n if (response.statusCode !== 200) {\n const err = new Error(\n `failed to download archive: ${response.statusCode} ${response.statusMessage}`,\n );\n request.destroy();\n reject(err);\n return;\n }\n\n const totalBytes = parseInt(response.headers[\"content-length\"] || \"0\", 10);\n let downloadedBytes = 0;\n\n const archive = fs.createWriteStream(archiveFilePath);\n\n response.pipe(archive);\n response.on(\"data\", (chunk) => {\n downloadedBytes += chunk.length;\n const progress = (downloadedBytes / totalBytes) * 100;\n if (showProgress) {\n process.stdout.write(` downloading: ${progress.toFixed(2)}%\\r`);\n }\n });\n\n response.on(\"error\", (err: Error) => {\n fs.unlinkSync(archiveFilePath);\n logger.error(`Failed to download Platforma Binary: ${err.message}`);\n request.destroy();\n reject(err);\n });\n\n archive.on(\"finish\", () => {\n archive.close();\n logger.info(` ... download done.`);\n request.destroy();\n resolve(archiveFilePath);\n });\n });\n });\n}\n\nexport function extractArchive(\n logger: winston.Logger,\n options?: {\n version?: string;\n archivePath?: string;\n extractTo?: string;\n },\n): string {\n logger.debug(\"extracting archive...\");\n\n const version = options?.version ?? getDefaultPlVersion();\n logger.debug(` version: '${version}'`);\n const archiveName = `${binaryDirName({ version })}.tgz`;\n\n const archivePath = options?.archivePath ?? state.binaries(archiveName);\n logger.debug(` archive path: '${archivePath}'`);\n\n const targetDir = options?.extractTo ?? trimExtension(archivePath);\n logger.debug(` target dir: '${targetDir}'`);\n\n if (fs.existsSync(targetDir)) {\n logger.info(`Platforma Backend binaries unpack skipped: '${targetDir}' exists`);\n return targetDir;\n }\n\n if (!fs.existsSync(archivePath)) {\n const msg = `Platforma Backend binary archive not found at '${archivePath}'`;\n logger.error(msg);\n throw new Error(msg);\n }\n\n if (!fs.existsSync(targetDir)) {\n logger.debug(` creating target dir '${targetDir}'`);\n fs.mkdirSync(targetDir, { recursive: true });\n }\n\n logger.info(\n `Unpacking Platforma Backend archive:\\n Archive: ${archivePath}\\n Target dir: ${targetDir}`,\n );\n\n tar.x({\n file: archivePath,\n cwd: targetDir,\n gzip: true,\n sync: true,\n });\n\n logger.info(` ... unpack done.`);\n\n return targetDir;\n}\n\nexport function getBinary(\n logger: winston.Logger,\n options?: { version?: string; showProgress?: boolean },\n): Promise<string> {\n return downloadArchive(logger, options).then((archivePath) =>\n extractArchive(logger, { archivePath }),\n );\n}\n\nfunction binaryDirName(options?: { version?: string }): string {\n const version = options?.version ?? getDefaultPlVersion();\n return `pl-${version}-${archiveArch()}`;\n}\n\nexport function binaryPath(version?: string, ...p: string[]): string {\n return state.binaries(binaryDirName({ version }), ...p);\n}\n\nfunction trimExtension(filename: string): string {\n const lastDotIndex = filename.lastIndexOf(\".\");\n if (lastDotIndex === -1) {\n return filename;\n }\n return filename.slice(0, lastDotIndex);\n}\n"],"names":["getDefaultPlVersion","tar"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"platforma.cjs","names":["os","state","fs","path"],"sources":["../src/platforma.ts"],"sourcesContent":["import os from \"node:os\";\nimport fs from \"node:fs\";\nimport https from \"https\";\nimport path from \"node:path\";\n\nimport * as tar from \"tar\";\nimport type winston from \"winston\";\nimport state from \"./state\";\nimport { getDefaultPlVersion } from \"@milaboratories/pl-deployments\";\n\nexport const OSes = [\"linux\", \"macos\", \"windows\"] as const;\nexport type OSType = (typeof OSes)[number];\n\nexport function archiveOS(osName?: string): OSType {\n const platform = osName ?? os.platform();\n\n switch (platform) {\n case \"darwin\":\n return \"macos\";\n case \"linux\":\n return \"linux\";\n case \"win32\":\n return \"windows\";\n default:\n throw new Error(\n `operating system '${platform}' is not currently supported by Platforma ecosystem. The list of OSes supported: ` +\n JSON.stringify(OSes),\n );\n }\n}\n\nexport const Arches = [\"amd64\", \"arm64\"] as const;\nexport type ArchType = (typeof Arches)[number];\n\nexport function archiveArch(archName?: string): ArchType {\n const arch = archName ?? os.arch();\n\n switch (arch) {\n case \"arm64\":\n return \"arm64\";\n case \"x64\":\n return \"amd64\";\n default:\n throw new Error(\n `processor architecture '${arch}' is not currently supported by Platforma ecosystem. The list of architectures supported: ` +\n JSON.stringify(Arches),\n );\n }\n}\n\nexport function downloadArchive(\n logger: winston.Logger,\n options?: {\n version?: string;\n showProgress?: boolean;\n downloadURL?: string;\n saveTo?: string;\n },\n): Promise<string> {\n const version = options?.version ?? getDefaultPlVersion();\n const showProgress = options?.showProgress ?? process.stdout.isTTY;\n\n const archiveName = `pl-${version}-${archiveArch()}.tgz`;\n const downloadURL =\n options?.downloadURL ?? `https://cdn.platforma.bio/software/pl/${archiveOS()}/${archiveName}`;\n\n const archiveFilePath = options?.saveTo ?? state.binaries(archiveName);\n if (fs.existsSync(archiveFilePath)) {\n logger.info(`Platforma Backend archive download skipped: '${archiveFilePath}' already exists`);\n return Promise.resolve(archiveFilePath);\n }\n\n fs.mkdirSync(path.dirname(archiveFilePath), { recursive: true });\n\n logger.info(\n `Downloading Platforma Backend archive:\\n URL: ${downloadURL}\\n Save to: ${archiveFilePath}`,\n );\n\n const request = https.get(downloadURL);\n\n return new Promise((resolve, reject) => {\n request.on(\"response\", (response) => {\n if (!response.statusCode) {\n const err = new Error(\n \"failed to download archive: no HTTP status code in response from server\",\n );\n request.destroy();\n reject(err);\n return;\n }\n if (response.statusCode !== 200) {\n const err = new Error(\n `failed to download archive: ${response.statusCode} ${response.statusMessage}`,\n );\n request.destroy();\n reject(err);\n return;\n }\n\n const totalBytes = parseInt(response.headers[\"content-length\"] || \"0\", 10);\n let downloadedBytes = 0;\n\n const archive = fs.createWriteStream(archiveFilePath);\n\n response.pipe(archive);\n response.on(\"data\", (chunk) => {\n downloadedBytes += chunk.length;\n const progress = (downloadedBytes / totalBytes) * 100;\n if (showProgress) {\n process.stdout.write(` downloading: ${progress.toFixed(2)}%\\r`);\n }\n });\n\n response.on(\"error\", (err: Error) => {\n fs.unlinkSync(archiveFilePath);\n logger.error(`Failed to download Platforma Binary: ${err.message}`);\n request.destroy();\n reject(err);\n });\n\n archive.on(\"finish\", () => {\n archive.close();\n logger.info(` ... download done.`);\n request.destroy();\n resolve(archiveFilePath);\n });\n });\n });\n}\n\nexport function extractArchive(\n logger: winston.Logger,\n options?: {\n version?: string;\n archivePath?: string;\n extractTo?: string;\n },\n): string {\n logger.debug(\"extracting archive...\");\n\n const version = options?.version ?? getDefaultPlVersion();\n logger.debug(` version: '${version}'`);\n const archiveName = `${binaryDirName({ version })}.tgz`;\n\n const archivePath = options?.archivePath ?? state.binaries(archiveName);\n logger.debug(` archive path: '${archivePath}'`);\n\n const targetDir = options?.extractTo ?? trimExtension(archivePath);\n logger.debug(` target dir: '${targetDir}'`);\n\n if (fs.existsSync(targetDir)) {\n logger.info(`Platforma Backend binaries unpack skipped: '${targetDir}' exists`);\n return targetDir;\n }\n\n if (!fs.existsSync(archivePath)) {\n const msg = `Platforma Backend binary archive not found at '${archivePath}'`;\n logger.error(msg);\n throw new Error(msg);\n }\n\n if (!fs.existsSync(targetDir)) {\n logger.debug(` creating target dir '${targetDir}'`);\n fs.mkdirSync(targetDir, { recursive: true });\n }\n\n logger.info(\n `Unpacking Platforma Backend archive:\\n Archive: ${archivePath}\\n Target dir: ${targetDir}`,\n );\n\n tar.x({\n file: archivePath,\n cwd: targetDir,\n gzip: true,\n sync: true,\n });\n\n logger.info(` ... unpack done.`);\n\n return targetDir;\n}\n\nexport function getBinary(\n logger: winston.Logger,\n options?: { version?: string; showProgress?: boolean },\n): Promise<string> {\n return downloadArchive(logger, options).then((archivePath) =>\n extractArchive(logger, { archivePath }),\n );\n}\n\nfunction binaryDirName(options?: { version?: string }): string {\n const version = options?.version ?? getDefaultPlVersion();\n return `pl-${version}-${archiveArch()}`;\n}\n\nexport function binaryPath(version?: string, ...p: string[]): string {\n return state.binaries(binaryDirName({ version }), ...p);\n}\n\nfunction trimExtension(filename: string): string {\n const lastDotIndex = filename.lastIndexOf(\".\");\n if (lastDotIndex === -1) {\n return filename;\n }\n return filename.slice(0, lastDotIndex);\n}\n"],"mappings":"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"}
|