@platforma-sdk/bootstrap 5.2.51 → 5.2.53

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.
Files changed (176) hide show
  1. package/dist/_virtual/_rolldown/runtime.cjs +29 -0
  2. package/dist/block.cjs +106 -146
  3. package/dist/block.cjs.map +1 -1
  4. package/dist/block.js +100 -125
  5. package/dist/block.js.map +1 -1
  6. package/dist/cmd-opts.cjs +87 -177
  7. package/dist/cmd-opts.cjs.map +1 -1
  8. package/dist/cmd-opts.js +87 -172
  9. package/dist/cmd-opts.js.map +1 -1
  10. package/dist/commands/create-block.cjs +19 -20
  11. package/dist/commands/create-block.cjs.map +1 -1
  12. package/dist/commands/create-block.d.ts +12 -7
  13. package/dist/commands/create-block.js +17 -17
  14. package/dist/commands/create-block.js.map +1 -1
  15. package/dist/commands/reset.cjs +18 -21
  16. package/dist/commands/reset.cjs.map +1 -1
  17. package/dist/commands/reset.d.ts +12 -7
  18. package/dist/commands/reset.js +16 -18
  19. package/dist/commands/reset.js.map +1 -1
  20. package/dist/commands/start/docker/s3.cjs +64 -67
  21. package/dist/commands/start/docker/s3.cjs.map +1 -1
  22. package/dist/commands/start/docker/s3.d.ts +32 -27
  23. package/dist/commands/start/docker/s3.js +61 -64
  24. package/dist/commands/start/docker/s3.js.map +1 -1
  25. package/dist/commands/start/docker.cjs +64 -67
  26. package/dist/commands/start/docker.cjs.map +1 -1
  27. package/dist/commands/start/docker.d.ts +32 -27
  28. package/dist/commands/start/docker.js +61 -64
  29. package/dist/commands/start/docker.js.map +1 -1
  30. package/dist/commands/start/local/s3.cjs +101 -135
  31. package/dist/commands/start/local/s3.cjs.map +1 -1
  32. package/dist/commands/start/local/s3.d.ts +36 -31
  33. package/dist/commands/start/local/s3.js +97 -113
  34. package/dist/commands/start/local/s3.js.map +1 -1
  35. package/dist/commands/start/local.cjs +95 -122
  36. package/dist/commands/start/local.cjs.map +1 -1
  37. package/dist/commands/start/local.d.ts +34 -29
  38. package/dist/commands/start/local.js +91 -100
  39. package/dist/commands/start/local.js.map +1 -1
  40. package/dist/commands/start.cjs +18 -21
  41. package/dist/commands/start.cjs.map +1 -1
  42. package/dist/commands/start.d.ts +12 -7
  43. package/dist/commands/start.js +16 -18
  44. package/dist/commands/start.js.map +1 -1
  45. package/dist/commands/stop.cjs +22 -27
  46. package/dist/commands/stop.cjs.map +1 -1
  47. package/dist/commands/stop.d.ts +12 -7
  48. package/dist/commands/stop.js +20 -24
  49. package/dist/commands/stop.js.map +1 -1
  50. package/dist/commands/svc/create/arg-parser.cjs +102 -172
  51. package/dist/commands/svc/create/arg-parser.cjs.map +1 -1
  52. package/dist/commands/svc/create/arg-parser.js +102 -171
  53. package/dist/commands/svc/create/arg-parser.js.map +1 -1
  54. package/dist/commands/svc/create/docker/s3.cjs +78 -96
  55. package/dist/commands/svc/create/docker/s3.cjs.map +1 -1
  56. package/dist/commands/svc/create/docker/s3.d.ts +35 -30
  57. package/dist/commands/svc/create/docker/s3.js +75 -93
  58. package/dist/commands/svc/create/docker/s3.js.map +1 -1
  59. package/dist/commands/svc/create/docker.cjs +82 -103
  60. package/dist/commands/svc/create/docker.cjs.map +1 -1
  61. package/dist/commands/svc/create/docker.d.ts +35 -30
  62. package/dist/commands/svc/create/docker.js +79 -100
  63. package/dist/commands/svc/create/docker.js.map +1 -1
  64. package/dist/commands/svc/create/local/s3.cjs +107 -139
  65. package/dist/commands/svc/create/local/s3.cjs.map +1 -1
  66. package/dist/commands/svc/create/local/s3.d.ts +39 -34
  67. package/dist/commands/svc/create/local/s3.js +103 -117
  68. package/dist/commands/svc/create/local/s3.js.map +1 -1
  69. package/dist/commands/svc/create/local.cjs +101 -138
  70. package/dist/commands/svc/create/local.cjs.map +1 -1
  71. package/dist/commands/svc/create/local.d.ts +37 -32
  72. package/dist/commands/svc/create/local.js +97 -116
  73. package/dist/commands/svc/create/local.js.map +1 -1
  74. package/dist/commands/svc/delete.cjs +36 -38
  75. package/dist/commands/svc/delete.cjs.map +1 -1
  76. package/dist/commands/svc/delete.d.ts +16 -11
  77. package/dist/commands/svc/delete.js +34 -35
  78. package/dist/commands/svc/delete.js.map +1 -1
  79. package/dist/commands/svc/down.cjs +27 -30
  80. package/dist/commands/svc/down.cjs.map +1 -1
  81. package/dist/commands/svc/down.d.ts +15 -10
  82. package/dist/commands/svc/down.js +25 -27
  83. package/dist/commands/svc/down.js.map +1 -1
  84. package/dist/commands/svc/list.cjs +25 -29
  85. package/dist/commands/svc/list.cjs.map +1 -1
  86. package/dist/commands/svc/list.d.ts +9 -5
  87. package/dist/commands/svc/list.js +23 -26
  88. package/dist/commands/svc/list.js.map +1 -1
  89. package/dist/commands/svc/up.cjs +33 -49
  90. package/dist/commands/svc/up.cjs.map +1 -1
  91. package/dist/commands/svc/up.d.ts +15 -10
  92. package/dist/commands/svc/up.js +31 -46
  93. package/dist/commands/svc/up.js.map +1 -1
  94. package/dist/core.cjs +712 -881
  95. package/dist/core.cjs.map +1 -1
  96. package/dist/core.js +709 -877
  97. package/dist/core.js.map +1 -1
  98. package/dist/index.cjs +36 -36
  99. package/dist/index.cjs.map +1 -1
  100. package/dist/index.d.ts +37 -33
  101. package/dist/index.js +35 -34
  102. package/dist/index.js.map +1 -1
  103. package/dist/package.cjs +15 -36
  104. package/dist/package.cjs.map +1 -1
  105. package/dist/package.js +14 -14
  106. package/dist/package.js.map +1 -1
  107. package/dist/platforma.cjs +119 -148
  108. package/dist/platforma.cjs.map +1 -1
  109. package/dist/platforma.js +114 -122
  110. package/dist/platforma.js.map +1 -1
  111. package/dist/run.cjs +55 -58
  112. package/dist/run.cjs.map +1 -1
  113. package/dist/run.js +56 -56
  114. package/dist/run.js.map +1 -1
  115. package/dist/state.cjs +114 -141
  116. package/dist/state.cjs.map +1 -1
  117. package/dist/state.js +110 -139
  118. package/dist/state.js.map +1 -1
  119. package/dist/templates/compose.cjs +38 -65
  120. package/dist/templates/compose.cjs.map +1 -1
  121. package/dist/templates/compose.js +35 -63
  122. package/dist/templates/compose.js.map +1 -1
  123. package/dist/templates/pl-config.cjs +163 -165
  124. package/dist/templates/pl-config.cjs.map +1 -1
  125. package/dist/templates/pl-config.js +161 -163
  126. package/dist/templates/pl-config.js.map +1 -1
  127. package/dist/templates/types.cjs +24 -23
  128. package/dist/templates/types.cjs.map +1 -1
  129. package/dist/templates/types.js +24 -22
  130. package/dist/templates/types.js.map +1 -1
  131. package/dist/util.cjs +57 -74
  132. package/dist/util.cjs.map +1 -1
  133. package/dist/util.js +51 -72
  134. package/dist/util.js.map +1 -1
  135. package/package.json +7 -7
  136. package/dist/block.d.ts +0 -25
  137. package/dist/block.d.ts.map +0 -1
  138. package/dist/cmd-opts.d.ts +0 -89
  139. package/dist/cmd-opts.d.ts.map +0 -1
  140. package/dist/commands/create-block.d.ts.map +0 -1
  141. package/dist/commands/reset.d.ts.map +0 -1
  142. package/dist/commands/start/docker/s3.d.ts.map +0 -1
  143. package/dist/commands/start/docker.d.ts.map +0 -1
  144. package/dist/commands/start/local/s3.d.ts.map +0 -1
  145. package/dist/commands/start/local.d.ts.map +0 -1
  146. package/dist/commands/start.d.ts.map +0 -1
  147. package/dist/commands/stop.d.ts.map +0 -1
  148. package/dist/commands/svc/create/arg-parser.d.ts +0 -43
  149. package/dist/commands/svc/create/arg-parser.d.ts.map +0 -1
  150. package/dist/commands/svc/create/docker/s3.d.ts.map +0 -1
  151. package/dist/commands/svc/create/docker.d.ts.map +0 -1
  152. package/dist/commands/svc/create/local/s3.d.ts.map +0 -1
  153. package/dist/commands/svc/create/local.d.ts.map +0 -1
  154. package/dist/commands/svc/delete.d.ts.map +0 -1
  155. package/dist/commands/svc/down.d.ts.map +0 -1
  156. package/dist/commands/svc/list.d.ts.map +0 -1
  157. package/dist/commands/svc/up.d.ts.map +0 -1
  158. package/dist/core.d.ts +0 -105
  159. package/dist/core.d.ts.map +0 -1
  160. package/dist/index.d.ts.map +0 -1
  161. package/dist/package.d.ts +0 -7
  162. package/dist/package.d.ts.map +0 -1
  163. package/dist/platforma.d.ts +0 -24
  164. package/dist/platforma.d.ts.map +0 -1
  165. package/dist/run.d.ts +0 -13
  166. package/dist/run.d.ts.map +0 -1
  167. package/dist/state.d.ts +0 -63
  168. package/dist/state.d.ts.map +0 -1
  169. package/dist/templates/compose.d.ts +0 -14
  170. package/dist/templates/compose.d.ts.map +0 -1
  171. package/dist/templates/pl-config.d.ts +0 -6
  172. package/dist/templates/pl-config.d.ts.map +0 -1
  173. package/dist/templates/types.d.ts +0 -138
  174. package/dist/templates/types.d.ts.map +0 -1
  175. package/dist/util.d.ts +0 -18
  176. package/dist/util.d.ts.map +0 -1
package/dist/package.cjs CHANGED
@@ -1,49 +1,28 @@
1
- 'use strict';
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
- var path$1 = require('node:path');
4
- var fs = require('node:fs');
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
- return path$1.resolve(__dirname$1, "..", ...p);
11
+ return (0, node_path.resolve)(__dirname$1, "..", ...p);
31
12
  }
32
13
  function assets(...p) {
33
- return path("assets", ...p);
14
+ return path("assets", ...p);
34
15
  }
35
16
  function readFileSync(...p) {
36
- return fs__namespace.readFileSync(path(...p));
17
+ return node_fs.readFileSync(path(...p));
37
18
  }
38
19
  function plImageTag(version) {
39
- if (!version) {
40
- version = plDeployments.getDefaultPlVersion();
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
@@ -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"],"names":["__dirname","dirname","fileURLToPath","resolve","fs","getDefaultPlVersion"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAMA,WAAS,GAAGC,cAAO,CAACC,sBAAa,CAAC,6PAAe,CAAC,CAAC;AAEnD,SAAU,IAAI,CAAC,GAAG,CAAW,EAAA;IACjC,OAAOC,cAAO,CAACH,WAAS,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;AACvC;AAMM,SAAU,MAAM,CAAC,GAAG,CAAW,EAAA;AACnC,IAAA,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AAC7B;AAWM,SAAU,YAAY,CAAC,GAAG,CAAW,EAAA;IACzC,OAAOI,aAAE,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACpC;AAEM,SAAU,UAAU,CAAC,OAAgB,EAAA;IACzC,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,GAAGC,iCAAmB,EAAE;IACjC;IAEA,OAAO,CAAA,iCAAA,EAAoC,OAAO,CAAA,CAAE;AACtD;;;;;;;"}
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 { dirname, resolve } from 'node:path';
2
- import * as fs from 'node:fs';
3
- import { getDefaultPlVersion } from '@milaboratories/pl-deployments';
4
- import { fileURLToPath } from 'node:url';
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
- return resolve(__dirname, "..", ...p);
8
+ function path$1(...p) {
9
+ return resolve(__dirname, "..", ...p);
9
10
  }
10
11
  function assets(...p) {
11
- return path("assets", ...p);
12
+ return path$1("assets", ...p);
12
13
  }
13
14
  function readFileSync(...p) {
14
- return fs.readFileSync(path(...p));
15
+ return fs$1.readFileSync(path$1(...p));
15
16
  }
16
17
  function plImageTag(version) {
17
- if (!version) {
18
- version = getDefaultPlVersion();
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
- export { assets, path, plImageTag, readFileSync };
24
- //# sourceMappingURL=package.js.map
22
+ //#endregion
23
+ export { assets, plImageTag, readFileSync };
24
+ //# sourceMappingURL=package.js.map
@@ -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"],"names":[],"mappings":";;;;;AAMA,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEnD,SAAU,IAAI,CAAC,GAAG,CAAW,EAAA;IACjC,OAAO,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;AACvC;AAMM,SAAU,MAAM,CAAC,GAAG,CAAW,EAAA;AACnC,IAAA,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AAC7B;AAWM,SAAU,YAAY,CAAC,GAAG,CAAW,EAAA;IACzC,OAAO,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACpC;AAEM,SAAU,UAAU,CAAC,OAAgB,EAAA;IACzC,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,GAAG,mBAAmB,EAAE;IACjC;IAEA,OAAO,CAAA,iCAAA,EAAoC,OAAO,CAAA,CAAE;AACtD;;;;"}
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"}
@@ -1,169 +1,140 @@
1
- 'use strict';
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
- var os = require('node:os');
4
- var fs = require('node:fs');
5
- var https = require('node:https');
6
- var path = require('node:path');
7
- var tar = require('tar');
8
- var state = require('./state.cjs');
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
- const platform = os.platform();
33
- switch (platform) {
34
- case "darwin":
35
- return "macos";
36
- case "linux":
37
- return "linux";
38
- case "win32":
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
- const arch = os.arch();
48
- switch (arch) {
49
- case "arm64":
50
- return "arm64";
51
- case "x64":
52
- return "amd64";
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
- const version = options?.version ?? plDeployments.getDefaultPlVersion();
60
- const showProgress = options?.showProgress ?? process.stdout.isTTY;
61
- const archiveName = `pl-${version}-${archiveArch()}.tgz`;
62
- const downloadURL = options?.downloadURL ?? `https://cdn.platforma.bio/software/pl/${archiveOS()}/${archiveName}`;
63
- const archiveFilePath = options?.saveTo ?? state.binaries(archiveName);
64
- if (fs.existsSync(archiveFilePath)) {
65
- logger.info(`Platforma Backend archive download skipped: '${archiveFilePath}' already exists`);
66
- return Promise.resolve(archiveFilePath);
67
- }
68
- fs.mkdirSync(path.dirname(archiveFilePath), { recursive: true });
69
- logger.info(`Downloading Platforma Backend archive:\n URL: ${downloadURL}\n Save to: ${archiveFilePath}`);
70
- const request = https.get(downloadURL);
71
- return new Promise((resolve, reject) => {
72
- request.on("response", (response) => {
73
- if (!response.statusCode) {
74
- const err = new Error("failed to download archive: no HTTP status code in response from server");
75
- request.destroy();
76
- reject(err);
77
- return;
78
- }
79
- if (response.statusCode !== 200) {
80
- const err = new Error(`failed to download archive: ${response.statusCode} ${response.statusMessage}`);
81
- request.destroy();
82
- reject(err);
83
- return;
84
- }
85
- const totalBytes = parseInt(response.headers["content-length"] || "0", 10);
86
- let downloadedBytes = 0;
87
- const archive = fs.createWriteStream(archiveFilePath);
88
- response.pipe(archive);
89
- response.on("data", (chunk) => {
90
- downloadedBytes += chunk.length;
91
- const progress = (downloadedBytes / totalBytes) * 100;
92
- if (showProgress) {
93
- process.stdout.write(` downloading: ${progress.toFixed(2)}%\r`);
94
- }
95
- });
96
- response.on("error", (err) => {
97
- fs.unlinkSync(archiveFilePath);
98
- logger.error(`Failed to download Platforma Binary: ${err.message}`);
99
- request.destroy();
100
- reject(err);
101
- });
102
- archive.on("finish", () => {
103
- archive.close();
104
- logger.info(` ... download done.`);
105
- request.destroy();
106
- resolve(archiveFilePath);
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
- logger.debug("extracting archive...");
113
- const version = options?.version ?? plDeployments.getDefaultPlVersion();
114
- logger.debug(` version: '${version}'`);
115
- const archiveName = `${binaryDirName({ version })}.tgz`;
116
- const archivePath = options?.archivePath ?? state.binaries(archiveName);
117
- logger.debug(` archive path: '${archivePath}'`);
118
- const targetDir = options?.extractTo ?? trimExtension(archivePath);
119
- logger.debug(` target dir: '${targetDir}'`);
120
- if (fs.existsSync(targetDir)) {
121
- logger.info(`Platforma Backend binaries unpack skipped: '${targetDir}' exists`);
122
- return targetDir;
123
- }
124
- if (!fs.existsSync(archivePath)) {
125
- const msg = `Platforma Backend binary archive not found at '${archivePath}'`;
126
- logger.error(msg);
127
- throw new Error(msg);
128
- }
129
- if (!fs.existsSync(targetDir)) {
130
- logger.debug(` creating target dir '${targetDir}'`);
131
- fs.mkdirSync(targetDir, { recursive: true });
132
- }
133
- logger.info(`Unpacking Platforma Backend archive:\n Archive: ${archivePath}\n Target dir: ${targetDir}`);
134
- tar__namespace.x({
135
- file: archivePath,
136
- cwd: targetDir,
137
- gzip: true,
138
- sync: true,
139
- });
140
- logger.info(` ... unpack done.`);
141
- return targetDir;
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
- return downloadArchive(logger, options).then((archivePath) => extractArchive(logger, { archivePath }));
123
+ return downloadArchive(logger, options).then((archivePath) => extractArchive(logger, { archivePath }));
145
124
  }
146
125
  function binaryDirName(options) {
147
- const version = options?.version ?? plDeployments.getDefaultPlVersion();
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
- return state.binaries(binaryDirName({ version }), ...p);
129
+ return require_state.default.binaries(binaryDirName({ version }), ...p);
152
130
  }
153
131
  function trimExtension(filename) {
154
- const lastDotIndex = filename.lastIndexOf(".");
155
- if (lastDotIndex === -1) {
156
- return filename;
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
- exports.Arches = Arches;
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
@@ -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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"}