@milaboratories/pl-deployments 2.15.7 → 2.15.8

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 (106) hide show
  1. package/README.md +18 -5
  2. package/dist/common/os_and_arch.cjs +19 -19
  3. package/dist/common/os_and_arch.cjs.map +1 -1
  4. package/dist/common/os_and_arch.js +19 -19
  5. package/dist/common/os_and_arch.js.map +1 -1
  6. package/dist/common/pl_binary.cjs +9 -9
  7. package/dist/common/pl_binary.cjs.map +1 -1
  8. package/dist/common/pl_binary.d.ts +6 -6
  9. package/dist/common/pl_binary.d.ts.map +1 -1
  10. package/dist/common/pl_binary.js +9 -9
  11. package/dist/common/pl_binary.js.map +1 -1
  12. package/dist/common/pl_binary_download.cjs +16 -16
  13. package/dist/common/pl_binary_download.cjs.map +1 -1
  14. package/dist/common/pl_binary_download.d.ts +6 -6
  15. package/dist/common/pl_binary_download.d.ts.map +1 -1
  16. package/dist/common/pl_binary_download.js +16 -16
  17. package/dist/common/pl_binary_download.js.map +1 -1
  18. package/dist/common/pl_version.cjs +1 -1
  19. package/dist/common/pl_version.cjs.map +1 -1
  20. package/dist/common/pl_version.js +1 -1
  21. package/dist/common/pl_version.js.map +1 -1
  22. package/dist/index.d.ts +5 -5
  23. package/dist/local/options.d.ts +4 -4
  24. package/dist/local/pid.cjs +1 -1
  25. package/dist/local/pid.cjs.map +1 -1
  26. package/dist/local/pid.js +1 -1
  27. package/dist/local/pid.js.map +1 -1
  28. package/dist/local/pl.cjs +26 -26
  29. package/dist/local/pl.cjs.map +1 -1
  30. package/dist/local/pl.d.ts +8 -8
  31. package/dist/local/pl.d.ts.map +1 -1
  32. package/dist/local/pl.js +26 -26
  33. package/dist/local/pl.js.map +1 -1
  34. package/dist/local/process.cjs +16 -16
  35. package/dist/local/process.cjs.map +1 -1
  36. package/dist/local/process.d.ts +2 -2
  37. package/dist/local/process.js +16 -16
  38. package/dist/local/process.js.map +1 -1
  39. package/dist/local/trace.cjs.map +1 -1
  40. package/dist/local/trace.d.ts +1 -1
  41. package/dist/local/trace.js.map +1 -1
  42. package/dist/package.json.cjs +2 -1
  43. package/dist/package.json.cjs.map +1 -1
  44. package/dist/package.json.js +2 -1
  45. package/dist/package.json.js.map +1 -1
  46. package/dist/ssh/__tests__/common-utils.d.ts +2 -2
  47. package/dist/ssh/__tests__/common-utils.d.ts.map +1 -1
  48. package/dist/ssh/connection_info.cjs +13 -7
  49. package/dist/ssh/connection_info.cjs.map +1 -1
  50. package/dist/ssh/connection_info.d.ts +1 -1
  51. package/dist/ssh/connection_info.d.ts.map +1 -1
  52. package/dist/ssh/connection_info.js +13 -7
  53. package/dist/ssh/connection_info.js.map +1 -1
  54. package/dist/ssh/pl.cjs +79 -76
  55. package/dist/ssh/pl.cjs.map +1 -1
  56. package/dist/ssh/pl.d.ts +18 -18
  57. package/dist/ssh/pl.d.ts.map +1 -1
  58. package/dist/ssh/pl.js +79 -76
  59. package/dist/ssh/pl.js.map +1 -1
  60. package/dist/ssh/pl_paths.cjs +13 -13
  61. package/dist/ssh/pl_paths.cjs.map +1 -1
  62. package/dist/ssh/pl_paths.d.ts.map +1 -1
  63. package/dist/ssh/pl_paths.js +13 -13
  64. package/dist/ssh/pl_paths.js.map +1 -1
  65. package/dist/ssh/ssh.cjs +43 -40
  66. package/dist/ssh/ssh.cjs.map +1 -1
  67. package/dist/ssh/ssh.d.ts +9 -9
  68. package/dist/ssh/ssh.d.ts.map +1 -1
  69. package/dist/ssh/ssh.js +43 -40
  70. package/dist/ssh/ssh.js.map +1 -1
  71. package/dist/ssh/ssh_errors.cjs +7 -5
  72. package/dist/ssh/ssh_errors.cjs.map +1 -1
  73. package/dist/ssh/ssh_errors.d.ts.map +1 -1
  74. package/dist/ssh/ssh_errors.js +7 -5
  75. package/dist/ssh/ssh_errors.js.map +1 -1
  76. package/dist/ssh/supervisord.cjs +15 -13
  77. package/dist/ssh/supervisord.cjs.map +1 -1
  78. package/dist/ssh/supervisord.d.ts +2 -2
  79. package/dist/ssh/supervisord.d.ts.map +1 -1
  80. package/dist/ssh/supervisord.js +15 -13
  81. package/dist/ssh/supervisord.js.map +1 -1
  82. package/package.json +37 -36
  83. package/src/common/os_and_arch.ts +19 -19
  84. package/src/common/pl_binary.ts +30 -27
  85. package/src/common/pl_binary_download.ts +80 -59
  86. package/src/common/pl_version.ts +2 -2
  87. package/src/index.ts +5 -5
  88. package/src/local/config.test.yaml +19 -19
  89. package/src/local/options.ts +4 -4
  90. package/src/local/pid.ts +4 -4
  91. package/src/local/pl.test.ts +245 -253
  92. package/src/local/pl.ts +45 -50
  93. package/src/local/process.ts +21 -21
  94. package/src/local/trace.ts +1 -1
  95. package/src/ssh/__tests__/common-utils.ts +21 -19
  96. package/src/ssh/__tests__/pl-docker.test.ts +68 -59
  97. package/src/ssh/__tests__/ssh-docker.test.ts +152 -90
  98. package/src/ssh/__tests__/ssh-upload.test.ts +42 -31
  99. package/src/ssh/connection_info.ts +33 -27
  100. package/src/ssh/pl.test.ts +15 -13
  101. package/src/ssh/pl.ts +228 -143
  102. package/src/ssh/pl_paths.ts +22 -18
  103. package/src/ssh/ssh.ts +151 -74
  104. package/src/ssh/ssh_errors.test.ts +39 -39
  105. package/src/ssh/ssh_errors.ts +8 -6
  106. package/src/ssh/supervisord.ts +28 -28
package/README.md CHANGED
@@ -3,39 +3,52 @@
3
3
  ## Test tips
4
4
 
5
5
  ### Regenerate `ssh` keys
6
+
6
7
  `ssh2` lib has a way to generate private and public ssh keys.
7
8
 
8
9
  `cd` into pl-deployments and then run it in `node` repl:
9
10
 
10
11
  ```js
11
- let keys = require("ssh2").utils.generateKeyPairSync('ecdsa', { bits: 256, comment: 'node.js rules!', passphrase: 'password', cipher: 'aes256-cbc' });
12
-
13
- require("fs").writeFileSync('test-assets/public-key.pem', keys.public);
14
- require("fs").writeFileSync('test-assets/private-key.pem', keys.private);
12
+ let keys = require("ssh2").utils.generateKeyPairSync("ecdsa", {
13
+ bits: 256,
14
+ comment: "node.js rules!",
15
+ passphrase: "password",
16
+ cipher: "aes256-cbc",
17
+ });
18
+
19
+ require("fs").writeFileSync("test-assets/public-key.pem", keys.public);
20
+ require("fs").writeFileSync("test-assets/private-key.pem", keys.private);
15
21
  ```
16
22
 
17
23
  ### Clean docker containers
24
+
18
25
  If something went wrong with testcontainers, use `pnpm run cleanup-docker` from pl-deployments root.
19
26
 
20
27
  ### Dev container
28
+
21
29
  The command starts a docker container for dev:
30
+
22
31
  ```sh
23
32
  pnpm run dev-docker
24
33
  # in another terminal you can start bash
25
34
  pnpm run exec-dev-docker
26
35
  ```
36
+
27
37
  Credentials:
28
38
  127.0.0.1:4343
29
39
  pl-doctor
30
40
  password
31
41
 
32
42
  ### supervisor commands
43
+
33
44
  Go to SSH server, then to `~/.platforma_ssh` and check the status of binary:
45
+
34
46
  ```sh
35
47
  ./binaries/supervisord-0.7.3-amd64/supervisord_0.7.3_Linux_64-bit/supervisord -c supervisor.conf ctl status
36
48
  ```
37
49
 
38
50
  To shutdown platforma:
51
+
39
52
  ```sh
40
53
  ./binaries/supervisord-0.7.3-amd64/supervisord_0.7.3_Linux_64-bit/supervisord -c supervisor.conf ctl shutdown
41
- ```
54
+ ```
@@ -1,34 +1,34 @@
1
1
  'use strict';
2
2
 
3
- const OSes = ['linux', 'macos', 'windows'];
3
+ const OSes = ["linux", "macos", "windows"];
4
4
  /** @param osName - should be the thing returned from either {@link os.platform())} or `uname -s` */
5
5
  function newOs(osName) {
6
6
  switch (osName.toLowerCase()) {
7
- case 'darwin':
8
- return 'macos';
9
- case 'linux':
10
- return 'linux';
11
- case 'win32':
12
- return 'windows';
7
+ case "darwin":
8
+ return "macos";
9
+ case "linux":
10
+ return "linux";
11
+ case "win32":
12
+ return "windows";
13
13
  default:
14
- throw new Error(`operating system '${osName}' is not currently supported by Platforma ecosystem. The list of OSes supported: `
15
- + JSON.stringify(OSes));
14
+ throw new Error(`operating system '${osName}' is not currently supported by Platforma ecosystem. The list of OSes supported: ` +
15
+ JSON.stringify(OSes));
16
16
  }
17
17
  }
18
- const Arches = ['amd64', 'arm64'];
18
+ const Arches = ["amd64", "arm64"];
19
19
  /** @param arch - should be the thing returned from either {@link os.arch())} or `uname -m` */
20
20
  function newArch(arch) {
21
21
  switch (arch) {
22
- case 'aarch64':
23
- case 'aarch64_be':
24
- case 'arm64':
25
- return 'arm64';
26
- case 'x86_64':
27
- case 'x64':
28
- return 'amd64';
22
+ case "aarch64":
23
+ case "aarch64_be":
24
+ case "arm64":
25
+ return "arm64";
26
+ case "x86_64":
27
+ case "x64":
28
+ return "amd64";
29
29
  default:
30
- throw new Error(`processor architecture '${arch}' is not currently supported by Platforma ecosystem. The list of architectures supported: `
31
- + JSON.stringify(Arches));
30
+ throw new Error(`processor architecture '${arch}' is not currently supported by Platforma ecosystem. The list of architectures supported: ` +
31
+ JSON.stringify(Arches));
32
32
  }
33
33
  }
34
34
 
@@ -1 +1 @@
1
- {"version":3,"file":"os_and_arch.cjs","sources":["../../src/common/os_and_arch.ts"],"sourcesContent":["export const OSes = ['linux', 'macos', 'windows'] as const;\nexport type OSType = (typeof OSes)[number];\n\n/** @param osName - should be the thing returned from either {@link os.platform())} or `uname -s` */\nexport function newOs(osName: string): OSType {\n switch (osName.toLowerCase()) {\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 '${osName}' 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\n/** @param arch - should be the thing returned from either {@link os.arch())} or `uname -m` */\nexport function newArch(arch: string): ArchType {\n switch (arch) {\n case 'aarch64':\n case 'aarch64_be':\n case 'arm64':\n return 'arm64';\n\n case 'x86_64':\n case 'x64':\n return 'amd64';\n\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"],"names":[],"mappings":";;AAAO,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS;AAGhD;AACM,SAAU,KAAK,CAAC,MAAc,EAAA;AAClC,IAAA,QAAQ,MAAM,CAAC,WAAW,EAAE;AAC1B,QAAA,KAAK,QAAQ;AACX,YAAA,OAAO,OAAO;AAChB,QAAA,KAAK,OAAO;AACV,YAAA,OAAO,OAAO;AAChB,QAAA,KAAK,OAAO;AACV,YAAA,OAAO,SAAS;AAClB,QAAA;AACE,YAAA,MAAM,IAAI,KAAK,CACb,CAAA,kBAAA,EAAqB,MAAM,CAAA,iFAAA;AACzB,kBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CACvB;;AAEP;MAEa,MAAM,GAAG,CAAC,OAAO,EAAE,OAAO;AAGvC;AACM,SAAU,OAAO,CAAC,IAAY,EAAA;IAClC,QAAQ,IAAI;AACV,QAAA,KAAK,SAAS;AACd,QAAA,KAAK,YAAY;AACjB,QAAA,KAAK,OAAO;AACV,YAAA,OAAO,OAAO;AAEhB,QAAA,KAAK,QAAQ;AACb,QAAA,KAAK,KAAK;AACR,YAAA,OAAO,OAAO;AAEhB,QAAA;AACE,YAAA,MAAM,IAAI,KAAK,CACb,CAAA,wBAAA,EAA2B,IAAI,CAAA,0FAAA;AAC7B,kBAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CACzB;;AAEP;;;;;;;"}
1
+ {"version":3,"file":"os_and_arch.cjs","sources":["../../src/common/os_and_arch.ts"],"sourcesContent":["export const OSes = [\"linux\", \"macos\", \"windows\"] as const;\nexport type OSType = (typeof OSes)[number];\n\n/** @param osName - should be the thing returned from either {@link os.platform())} or `uname -s` */\nexport function newOs(osName: string): OSType {\n switch (osName.toLowerCase()) {\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 '${osName}' 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\n/** @param arch - should be the thing returned from either {@link os.arch())} or `uname -m` */\nexport function newArch(arch: string): ArchType {\n switch (arch) {\n case \"aarch64\":\n case \"aarch64_be\":\n case \"arm64\":\n return \"arm64\";\n\n case \"x86_64\":\n case \"x64\":\n return \"amd64\";\n\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"],"names":[],"mappings":";;AAAO,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS;AAGhD;AACM,SAAU,KAAK,CAAC,MAAc,EAAA;AAClC,IAAA,QAAQ,MAAM,CAAC,WAAW,EAAE;AAC1B,QAAA,KAAK,QAAQ;AACX,YAAA,OAAO,OAAO;AAChB,QAAA,KAAK,OAAO;AACV,YAAA,OAAO,OAAO;AAChB,QAAA,KAAK,OAAO;AACV,YAAA,OAAO,SAAS;AAClB,QAAA;AACE,YAAA,MAAM,IAAI,KAAK,CACb,CAAA,kBAAA,EAAqB,MAAM,CAAA,iFAAA,CAAmF;AAC5G,gBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CACvB;;AAEP;MAEa,MAAM,GAAG,CAAC,OAAO,EAAE,OAAO;AAGvC;AACM,SAAU,OAAO,CAAC,IAAY,EAAA;IAClC,QAAQ,IAAI;AACV,QAAA,KAAK,SAAS;AACd,QAAA,KAAK,YAAY;AACjB,QAAA,KAAK,OAAO;AACV,YAAA,OAAO,OAAO;AAEhB,QAAA,KAAK,QAAQ;AACb,QAAA,KAAK,KAAK;AACR,YAAA,OAAO,OAAO;AAEhB,QAAA;AACE,YAAA,MAAM,IAAI,KAAK,CACb,CAAA,wBAAA,EAA2B,IAAI,CAAA,0FAAA,CAA4F;AACzH,gBAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CACzB;;AAEP;;;;;;;"}
@@ -1,32 +1,32 @@
1
- const OSes = ['linux', 'macos', 'windows'];
1
+ const OSes = ["linux", "macos", "windows"];
2
2
  /** @param osName - should be the thing returned from either {@link os.platform())} or `uname -s` */
3
3
  function newOs(osName) {
4
4
  switch (osName.toLowerCase()) {
5
- case 'darwin':
6
- return 'macos';
7
- case 'linux':
8
- return 'linux';
9
- case 'win32':
10
- return 'windows';
5
+ case "darwin":
6
+ return "macos";
7
+ case "linux":
8
+ return "linux";
9
+ case "win32":
10
+ return "windows";
11
11
  default:
12
- throw new Error(`operating system '${osName}' is not currently supported by Platforma ecosystem. The list of OSes supported: `
13
- + JSON.stringify(OSes));
12
+ throw new Error(`operating system '${osName}' is not currently supported by Platforma ecosystem. The list of OSes supported: ` +
13
+ JSON.stringify(OSes));
14
14
  }
15
15
  }
16
- const Arches = ['amd64', 'arm64'];
16
+ const Arches = ["amd64", "arm64"];
17
17
  /** @param arch - should be the thing returned from either {@link os.arch())} or `uname -m` */
18
18
  function newArch(arch) {
19
19
  switch (arch) {
20
- case 'aarch64':
21
- case 'aarch64_be':
22
- case 'arm64':
23
- return 'arm64';
24
- case 'x86_64':
25
- case 'x64':
26
- return 'amd64';
20
+ case "aarch64":
21
+ case "aarch64_be":
22
+ case "arm64":
23
+ return "arm64";
24
+ case "x86_64":
25
+ case "x64":
26
+ return "amd64";
27
27
  default:
28
- throw new Error(`processor architecture '${arch}' is not currently supported by Platforma ecosystem. The list of architectures supported: `
29
- + JSON.stringify(Arches));
28
+ throw new Error(`processor architecture '${arch}' is not currently supported by Platforma ecosystem. The list of architectures supported: ` +
29
+ JSON.stringify(Arches));
30
30
  }
31
31
  }
32
32
 
@@ -1 +1 @@
1
- {"version":3,"file":"os_and_arch.js","sources":["../../src/common/os_and_arch.ts"],"sourcesContent":["export const OSes = ['linux', 'macos', 'windows'] as const;\nexport type OSType = (typeof OSes)[number];\n\n/** @param osName - should be the thing returned from either {@link os.platform())} or `uname -s` */\nexport function newOs(osName: string): OSType {\n switch (osName.toLowerCase()) {\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 '${osName}' 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\n/** @param arch - should be the thing returned from either {@link os.arch())} or `uname -m` */\nexport function newArch(arch: string): ArchType {\n switch (arch) {\n case 'aarch64':\n case 'aarch64_be':\n case 'arm64':\n return 'arm64';\n\n case 'x86_64':\n case 'x64':\n return 'amd64';\n\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"],"names":[],"mappings":"AAAO,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS;AAGhD;AACM,SAAU,KAAK,CAAC,MAAc,EAAA;AAClC,IAAA,QAAQ,MAAM,CAAC,WAAW,EAAE;AAC1B,QAAA,KAAK,QAAQ;AACX,YAAA,OAAO,OAAO;AAChB,QAAA,KAAK,OAAO;AACV,YAAA,OAAO,OAAO;AAChB,QAAA,KAAK,OAAO;AACV,YAAA,OAAO,SAAS;AAClB,QAAA;AACE,YAAA,MAAM,IAAI,KAAK,CACb,CAAA,kBAAA,EAAqB,MAAM,CAAA,iFAAA;AACzB,kBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CACvB;;AAEP;MAEa,MAAM,GAAG,CAAC,OAAO,EAAE,OAAO;AAGvC;AACM,SAAU,OAAO,CAAC,IAAY,EAAA;IAClC,QAAQ,IAAI;AACV,QAAA,KAAK,SAAS;AACd,QAAA,KAAK,YAAY;AACjB,QAAA,KAAK,OAAO;AACV,YAAA,OAAO,OAAO;AAEhB,QAAA,KAAK,QAAQ;AACb,QAAA,KAAK,KAAK;AACR,YAAA,OAAO,OAAO;AAEhB,QAAA;AACE,YAAA,MAAM,IAAI,KAAK,CACb,CAAA,wBAAA,EAA2B,IAAI,CAAA,0FAAA;AAC7B,kBAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CACzB;;AAEP;;;;"}
1
+ {"version":3,"file":"os_and_arch.js","sources":["../../src/common/os_and_arch.ts"],"sourcesContent":["export const OSes = [\"linux\", \"macos\", \"windows\"] as const;\nexport type OSType = (typeof OSes)[number];\n\n/** @param osName - should be the thing returned from either {@link os.platform())} or `uname -s` */\nexport function newOs(osName: string): OSType {\n switch (osName.toLowerCase()) {\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 '${osName}' 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\n/** @param arch - should be the thing returned from either {@link os.arch())} or `uname -m` */\nexport function newArch(arch: string): ArchType {\n switch (arch) {\n case \"aarch64\":\n case \"aarch64_be\":\n case \"arm64\":\n return \"arm64\";\n\n case \"x86_64\":\n case \"x64\":\n return \"amd64\";\n\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"],"names":[],"mappings":"AAAO,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS;AAGhD;AACM,SAAU,KAAK,CAAC,MAAc,EAAA;AAClC,IAAA,QAAQ,MAAM,CAAC,WAAW,EAAE;AAC1B,QAAA,KAAK,QAAQ;AACX,YAAA,OAAO,OAAO;AAChB,QAAA,KAAK,OAAO;AACV,YAAA,OAAO,OAAO;AAChB,QAAA,KAAK,OAAO;AACV,YAAA,OAAO,SAAS;AAClB,QAAA;AACE,YAAA,MAAM,IAAI,KAAK,CACb,CAAA,kBAAA,EAAqB,MAAM,CAAA,iFAAA,CAAmF;AAC5G,gBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CACvB;;AAEP;MAEa,MAAM,GAAG,CAAC,OAAO,EAAE,OAAO;AAGvC;AACM,SAAU,OAAO,CAAC,IAAY,EAAA;IAClC,QAAQ,IAAI;AACV,QAAA,KAAK,SAAS;AACd,QAAA,KAAK,YAAY;AACjB,QAAA,KAAK,OAAO;AACV,YAAA,OAAO,OAAO;AAEhB,QAAA,KAAK,QAAQ;AACb,QAAA,KAAK,KAAK;AACR,YAAA,OAAO,OAAO;AAEhB,QAAA;AACE,YAAA,MAAM,IAAI,KAAK,CACb,CAAA,wBAAA,EAA2B,IAAI,CAAA,0FAAA,CAA4F;AACzH,gBAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CACzB;;AAEP;;;;"}
@@ -8,32 +8,32 @@ var upath = require('upath');
8
8
  var os_and_arch = require('./os_and_arch.cjs');
9
9
 
10
10
  function newDefaultPlBinarySource() {
11
- return { type: 'Download', version: pl_version.getDefaultPlVersion() };
11
+ return { type: "Download", version: pl_version.getDefaultPlVersion() };
12
12
  }
13
- async function resolveLocalPlBinaryPath({ logger, downloadDir, src, dispatcher }) {
13
+ async function resolveLocalPlBinaryPath({ logger, downloadDir, src, dispatcher, }) {
14
14
  switch (src.type) {
15
- case 'Download':
15
+ case "Download":
16
16
  // eslint-disable-next-line no-case-declarations
17
17
  const ops = await pl_binary_download.downloadBinary({
18
18
  logger,
19
19
  baseDir: downloadDir,
20
- softwareName: 'pl',
20
+ softwareName: "pl",
21
21
  archiveName: `pl-${src.version}`,
22
22
  arch: os.arch(),
23
23
  platform: os.platform(),
24
24
  dispatcher,
25
25
  });
26
- return upath.join(ops.baseName, 'binaries', osToBinaryName[os_and_arch.newOs(os.platform())]);
27
- case 'Local':
26
+ return upath.join(ops.baseName, "binaries", osToBinaryName[os_and_arch.newOs(os.platform())]);
27
+ case "Local":
28
28
  return src.path;
29
29
  default:
30
30
  tsHelpers.assertNever(src);
31
31
  }
32
32
  }
33
33
  const osToBinaryName = {
34
- linux: 'platforma',
35
- macos: 'platforma',
36
- windows: 'platforma.exe',
34
+ linux: "platforma",
35
+ macos: "platforma",
36
+ windows: "platforma.exe",
37
37
  };
38
38
 
39
39
  exports.newDefaultPlBinarySource = newDefaultPlBinarySource;
@@ -1 +1 @@
1
- {"version":3,"file":"pl_binary.cjs","sources":["../../src/common/pl_binary.ts"],"sourcesContent":["import type { MiLogger } from '@milaboratories/ts-helpers';\nimport { assertNever } from '@milaboratories/ts-helpers';\nimport { downloadBinary } from './pl_binary_download';\nimport { getDefaultPlVersion } from './pl_version';\nimport os from 'node:os';\nimport upath from 'upath';\nimport type { OSType } from './os_and_arch';\nimport { newOs } from './os_and_arch';\nimport type { Dispatcher } from 'undici';\n\n/** Shows how the binary should be got. */\nexport type PlBinarySource = PlBinarySourceDownload | PlBinarySourceLocal;\n\nexport type PlBinarySourceDownload = {\n readonly type: 'Download';\n readonly version: string;\n};\n\nexport type PlBinarySourceLocal = {\n readonly type: 'Local';\n readonly path: string;\n};\n\nexport function newDefaultPlBinarySource(): PlBinarySourceDownload {\n return { type: 'Download', version: getDefaultPlVersion() };\n}\n\nexport async function resolveLocalPlBinaryPath(\n { logger, downloadDir, src, dispatcher }: {\n logger: MiLogger;\n downloadDir: string;\n src: PlBinarySource;\n dispatcher?: Dispatcher;\n },\n): Promise<string> {\n switch (src.type) {\n case 'Download':\n // eslint-disable-next-line no-case-declarations\n const ops = await downloadBinary({\n logger,\n baseDir: downloadDir,\n softwareName: 'pl',\n archiveName: `pl-${src.version}`,\n arch: os.arch(),\n platform: os.platform(),\n dispatcher,\n });\n return upath.join(ops.baseName, 'binaries', osToBinaryName[newOs(os.platform())]);\n\n case 'Local':\n return src.path;\n\n default:\n assertNever(src);\n }\n}\n\nexport const osToBinaryName: Record<OSType, string> = {\n linux: 'platforma',\n macos: 'platforma',\n windows: 'platforma.exe',\n};\n"],"names":["getDefaultPlVersion","downloadBinary","newOs","assertNever"],"mappings":";;;;;;;;;SAuBgB,wBAAwB,GAAA;IACtC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAEA,8BAAmB,EAAE,EAAE;AAC7D;AAEO,eAAe,wBAAwB,CAC5C,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAKrC,EAAA;AAED,IAAA,QAAQ,GAAG,CAAC,IAAI;AACd,QAAA,KAAK,UAAU;;AAEb,YAAA,MAAM,GAAG,GAAG,MAAMC,iCAAc,CAAC;gBAC/B,MAAM;AACN,gBAAA,OAAO,EAAE,WAAW;AACpB,gBAAA,YAAY,EAAE,IAAI;AAClB,gBAAA,WAAW,EAAE,CAAA,GAAA,EAAM,GAAG,CAAC,OAAO,CAAA,CAAE;AAChC,gBAAA,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE;AACf,gBAAA,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE;gBACvB,UAAU;AACX,aAAA,CAAC;YACF,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,cAAc,CAACC,iBAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AAEnF,QAAA,KAAK,OAAO;YACV,OAAO,GAAG,CAAC,IAAI;AAEjB,QAAA;YACEC,qBAAW,CAAC,GAAG,CAAC;;AAEtB;AAEO,MAAM,cAAc,GAA2B;AACpD,IAAA,KAAK,EAAE,WAAW;AAClB,IAAA,KAAK,EAAE,WAAW;AAClB,IAAA,OAAO,EAAE,eAAe;;;;;;;"}
1
+ {"version":3,"file":"pl_binary.cjs","sources":["../../src/common/pl_binary.ts"],"sourcesContent":["import type { MiLogger } from \"@milaboratories/ts-helpers\";\nimport { assertNever } from \"@milaboratories/ts-helpers\";\nimport { downloadBinary } from \"./pl_binary_download\";\nimport { getDefaultPlVersion } from \"./pl_version\";\nimport os from \"node:os\";\nimport upath from \"upath\";\nimport type { OSType } from \"./os_and_arch\";\nimport { newOs } from \"./os_and_arch\";\nimport type { Dispatcher } from \"undici\";\n\n/** Shows how the binary should be got. */\nexport type PlBinarySource = PlBinarySourceDownload | PlBinarySourceLocal;\n\nexport type PlBinarySourceDownload = {\n readonly type: \"Download\";\n readonly version: string;\n};\n\nexport type PlBinarySourceLocal = {\n readonly type: \"Local\";\n readonly path: string;\n};\n\nexport function newDefaultPlBinarySource(): PlBinarySourceDownload {\n return { type: \"Download\", version: getDefaultPlVersion() };\n}\n\nexport async function resolveLocalPlBinaryPath({\n logger,\n downloadDir,\n src,\n dispatcher,\n}: {\n logger: MiLogger;\n downloadDir: string;\n src: PlBinarySource;\n dispatcher?: Dispatcher;\n}): Promise<string> {\n switch (src.type) {\n case \"Download\":\n // eslint-disable-next-line no-case-declarations\n const ops = await downloadBinary({\n logger,\n baseDir: downloadDir,\n softwareName: \"pl\",\n archiveName: `pl-${src.version}`,\n arch: os.arch(),\n platform: os.platform(),\n dispatcher,\n });\n return upath.join(ops.baseName, \"binaries\", osToBinaryName[newOs(os.platform())]);\n\n case \"Local\":\n return src.path;\n\n default:\n assertNever(src);\n }\n}\n\nexport const osToBinaryName: Record<OSType, string> = {\n linux: \"platforma\",\n macos: \"platforma\",\n windows: \"platforma.exe\",\n};\n"],"names":["getDefaultPlVersion","downloadBinary","newOs","assertNever"],"mappings":";;;;;;;;;SAuBgB,wBAAwB,GAAA;IACtC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAEA,8BAAmB,EAAE,EAAE;AAC7D;AAEO,eAAe,wBAAwB,CAAC,EAC7C,MAAM,EACN,WAAW,EACX,GAAG,EACH,UAAU,GAMX,EAAA;AACC,IAAA,QAAQ,GAAG,CAAC,IAAI;AACd,QAAA,KAAK,UAAU;;AAEb,YAAA,MAAM,GAAG,GAAG,MAAMC,iCAAc,CAAC;gBAC/B,MAAM;AACN,gBAAA,OAAO,EAAE,WAAW;AACpB,gBAAA,YAAY,EAAE,IAAI;AAClB,gBAAA,WAAW,EAAE,CAAA,GAAA,EAAM,GAAG,CAAC,OAAO,CAAA,CAAE;AAChC,gBAAA,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE;AACf,gBAAA,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE;gBACvB,UAAU;AACX,aAAA,CAAC;YACF,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,cAAc,CAACC,iBAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AAEnF,QAAA,KAAK,OAAO;YACV,OAAO,GAAG,CAAC,IAAI;AAEjB,QAAA;YACEC,qBAAW,CAAC,GAAG,CAAC;;AAEtB;AAEO,MAAM,cAAc,GAA2B;AACpD,IAAA,KAAK,EAAE,WAAW;AAClB,IAAA,KAAK,EAAE,WAAW;AAClB,IAAA,OAAO,EAAE,eAAe;;;;;;;"}
@@ -1,18 +1,18 @@
1
- import type { MiLogger } from '@milaboratories/ts-helpers';
2
- import type { OSType } from './os_and_arch';
3
- import type { Dispatcher } from 'undici';
1
+ import type { MiLogger } from "@milaboratories/ts-helpers";
2
+ import type { OSType } from "./os_and_arch";
3
+ import type { Dispatcher } from "undici";
4
4
  /** Shows how the binary should be got. */
5
5
  export type PlBinarySource = PlBinarySourceDownload | PlBinarySourceLocal;
6
6
  export type PlBinarySourceDownload = {
7
- readonly type: 'Download';
7
+ readonly type: "Download";
8
8
  readonly version: string;
9
9
  };
10
10
  export type PlBinarySourceLocal = {
11
- readonly type: 'Local';
11
+ readonly type: "Local";
12
12
  readonly path: string;
13
13
  };
14
14
  export declare function newDefaultPlBinarySource(): PlBinarySourceDownload;
15
- export declare function resolveLocalPlBinaryPath({ logger, downloadDir, src, dispatcher }: {
15
+ export declare function resolveLocalPlBinaryPath({ logger, downloadDir, src, dispatcher, }: {
16
16
  logger: MiLogger;
17
17
  downloadDir: string;
18
18
  src: PlBinarySource;
@@ -1 +1 @@
1
- {"version":3,"file":"pl_binary.d.ts","sourceRoot":"","sources":["../../src/common/pl_binary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAM3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEzC,0CAA0C;AAC1C,MAAM,MAAM,cAAc,GAAG,sBAAsB,GAAG,mBAAmB,CAAC;AAE1E,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,wBAAgB,wBAAwB,IAAI,sBAAsB,CAEjE;AAED,wBAAsB,wBAAwB,CAC5C,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE;IACxC,MAAM,EAAE,QAAQ,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,cAAc,CAAC;IACpB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,GACA,OAAO,CAAC,MAAM,CAAC,CAqBjB;AAED,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIjD,CAAC"}
1
+ {"version":3,"file":"pl_binary.d.ts","sourceRoot":"","sources":["../../src/common/pl_binary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAM3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEzC,0CAA0C;AAC1C,MAAM,MAAM,cAAc,GAAG,sBAAsB,GAAG,mBAAmB,CAAC;AAE1E,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,wBAAgB,wBAAwB,IAAI,sBAAsB,CAEjE;AAED,wBAAsB,wBAAwB,CAAC,EAC7C,MAAM,EACN,WAAW,EACX,GAAG,EACH,UAAU,GACX,EAAE;IACD,MAAM,EAAE,QAAQ,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,cAAc,CAAC;IACpB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBlB;AAED,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIjD,CAAC"}
@@ -6,32 +6,32 @@ import upath from 'upath';
6
6
  import { newOs } from './os_and_arch.js';
7
7
 
8
8
  function newDefaultPlBinarySource() {
9
- return { type: 'Download', version: getDefaultPlVersion() };
9
+ return { type: "Download", version: getDefaultPlVersion() };
10
10
  }
11
- async function resolveLocalPlBinaryPath({ logger, downloadDir, src, dispatcher }) {
11
+ async function resolveLocalPlBinaryPath({ logger, downloadDir, src, dispatcher, }) {
12
12
  switch (src.type) {
13
- case 'Download':
13
+ case "Download":
14
14
  // eslint-disable-next-line no-case-declarations
15
15
  const ops = await downloadBinary({
16
16
  logger,
17
17
  baseDir: downloadDir,
18
- softwareName: 'pl',
18
+ softwareName: "pl",
19
19
  archiveName: `pl-${src.version}`,
20
20
  arch: os__default.arch(),
21
21
  platform: os__default.platform(),
22
22
  dispatcher,
23
23
  });
24
- return upath.join(ops.baseName, 'binaries', osToBinaryName[newOs(os__default.platform())]);
25
- case 'Local':
24
+ return upath.join(ops.baseName, "binaries", osToBinaryName[newOs(os__default.platform())]);
25
+ case "Local":
26
26
  return src.path;
27
27
  default:
28
28
  assertNever(src);
29
29
  }
30
30
  }
31
31
  const osToBinaryName = {
32
- linux: 'platforma',
33
- macos: 'platforma',
34
- windows: 'platforma.exe',
32
+ linux: "platforma",
33
+ macos: "platforma",
34
+ windows: "platforma.exe",
35
35
  };
36
36
 
37
37
  export { newDefaultPlBinarySource, osToBinaryName, resolveLocalPlBinaryPath };
@@ -1 +1 @@
1
- {"version":3,"file":"pl_binary.js","sources":["../../src/common/pl_binary.ts"],"sourcesContent":["import type { MiLogger } from '@milaboratories/ts-helpers';\nimport { assertNever } from '@milaboratories/ts-helpers';\nimport { downloadBinary } from './pl_binary_download';\nimport { getDefaultPlVersion } from './pl_version';\nimport os from 'node:os';\nimport upath from 'upath';\nimport type { OSType } from './os_and_arch';\nimport { newOs } from './os_and_arch';\nimport type { Dispatcher } from 'undici';\n\n/** Shows how the binary should be got. */\nexport type PlBinarySource = PlBinarySourceDownload | PlBinarySourceLocal;\n\nexport type PlBinarySourceDownload = {\n readonly type: 'Download';\n readonly version: string;\n};\n\nexport type PlBinarySourceLocal = {\n readonly type: 'Local';\n readonly path: string;\n};\n\nexport function newDefaultPlBinarySource(): PlBinarySourceDownload {\n return { type: 'Download', version: getDefaultPlVersion() };\n}\n\nexport async function resolveLocalPlBinaryPath(\n { logger, downloadDir, src, dispatcher }: {\n logger: MiLogger;\n downloadDir: string;\n src: PlBinarySource;\n dispatcher?: Dispatcher;\n },\n): Promise<string> {\n switch (src.type) {\n case 'Download':\n // eslint-disable-next-line no-case-declarations\n const ops = await downloadBinary({\n logger,\n baseDir: downloadDir,\n softwareName: 'pl',\n archiveName: `pl-${src.version}`,\n arch: os.arch(),\n platform: os.platform(),\n dispatcher,\n });\n return upath.join(ops.baseName, 'binaries', osToBinaryName[newOs(os.platform())]);\n\n case 'Local':\n return src.path;\n\n default:\n assertNever(src);\n }\n}\n\nexport const osToBinaryName: Record<OSType, string> = {\n linux: 'platforma',\n macos: 'platforma',\n windows: 'platforma.exe',\n};\n"],"names":["os"],"mappings":";;;;;;;SAuBgB,wBAAwB,GAAA;IACtC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,mBAAmB,EAAE,EAAE;AAC7D;AAEO,eAAe,wBAAwB,CAC5C,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAKrC,EAAA;AAED,IAAA,QAAQ,GAAG,CAAC,IAAI;AACd,QAAA,KAAK,UAAU;;AAEb,YAAA,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC;gBAC/B,MAAM;AACN,gBAAA,OAAO,EAAE,WAAW;AACpB,gBAAA,YAAY,EAAE,IAAI;AAClB,gBAAA,WAAW,EAAE,CAAA,GAAA,EAAM,GAAG,CAAC,OAAO,CAAA,CAAE;AAChC,gBAAA,IAAI,EAAEA,WAAE,CAAC,IAAI,EAAE;AACf,gBAAA,QAAQ,EAAEA,WAAE,CAAC,QAAQ,EAAE;gBACvB,UAAU;AACX,aAAA,CAAC;YACF,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,cAAc,CAAC,KAAK,CAACA,WAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AAEnF,QAAA,KAAK,OAAO;YACV,OAAO,GAAG,CAAC,IAAI;AAEjB,QAAA;YACE,WAAW,CAAC,GAAG,CAAC;;AAEtB;AAEO,MAAM,cAAc,GAA2B;AACpD,IAAA,KAAK,EAAE,WAAW;AAClB,IAAA,KAAK,EAAE,WAAW;AAClB,IAAA,OAAO,EAAE,eAAe;;;;;"}
1
+ {"version":3,"file":"pl_binary.js","sources":["../../src/common/pl_binary.ts"],"sourcesContent":["import type { MiLogger } from \"@milaboratories/ts-helpers\";\nimport { assertNever } from \"@milaboratories/ts-helpers\";\nimport { downloadBinary } from \"./pl_binary_download\";\nimport { getDefaultPlVersion } from \"./pl_version\";\nimport os from \"node:os\";\nimport upath from \"upath\";\nimport type { OSType } from \"./os_and_arch\";\nimport { newOs } from \"./os_and_arch\";\nimport type { Dispatcher } from \"undici\";\n\n/** Shows how the binary should be got. */\nexport type PlBinarySource = PlBinarySourceDownload | PlBinarySourceLocal;\n\nexport type PlBinarySourceDownload = {\n readonly type: \"Download\";\n readonly version: string;\n};\n\nexport type PlBinarySourceLocal = {\n readonly type: \"Local\";\n readonly path: string;\n};\n\nexport function newDefaultPlBinarySource(): PlBinarySourceDownload {\n return { type: \"Download\", version: getDefaultPlVersion() };\n}\n\nexport async function resolveLocalPlBinaryPath({\n logger,\n downloadDir,\n src,\n dispatcher,\n}: {\n logger: MiLogger;\n downloadDir: string;\n src: PlBinarySource;\n dispatcher?: Dispatcher;\n}): Promise<string> {\n switch (src.type) {\n case \"Download\":\n // eslint-disable-next-line no-case-declarations\n const ops = await downloadBinary({\n logger,\n baseDir: downloadDir,\n softwareName: \"pl\",\n archiveName: `pl-${src.version}`,\n arch: os.arch(),\n platform: os.platform(),\n dispatcher,\n });\n return upath.join(ops.baseName, \"binaries\", osToBinaryName[newOs(os.platform())]);\n\n case \"Local\":\n return src.path;\n\n default:\n assertNever(src);\n }\n}\n\nexport const osToBinaryName: Record<OSType, string> = {\n linux: \"platforma\",\n macos: \"platforma\",\n windows: \"platforma.exe\",\n};\n"],"names":["os"],"mappings":";;;;;;;SAuBgB,wBAAwB,GAAA;IACtC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,mBAAmB,EAAE,EAAE;AAC7D;AAEO,eAAe,wBAAwB,CAAC,EAC7C,MAAM,EACN,WAAW,EACX,GAAG,EACH,UAAU,GAMX,EAAA;AACC,IAAA,QAAQ,GAAG,CAAC,IAAI;AACd,QAAA,KAAK,UAAU;;AAEb,YAAA,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC;gBAC/B,MAAM;AACN,gBAAA,OAAO,EAAE,WAAW;AACpB,gBAAA,YAAY,EAAE,IAAI;AAClB,gBAAA,WAAW,EAAE,CAAA,GAAA,EAAM,GAAG,CAAC,OAAO,CAAA,CAAE;AAChC,gBAAA,IAAI,EAAEA,WAAE,CAAC,IAAI,EAAE;AACf,gBAAA,QAAQ,EAAEA,WAAE,CAAC,QAAQ,EAAE;gBACvB,UAAU;AACX,aAAA,CAAC;YACF,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,cAAc,CAAC,KAAK,CAACA,WAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AAEnF,QAAA,KAAK,OAAO;YACV,OAAO,GAAG,CAAC,IAAI;AAEjB,QAAA;YACE,WAAW,CAAC,GAAG,CAAC;;AAEtB;AAEO,MAAM,cAAc,GAA2B;AACpD,IAAA,KAAK,EAAE,WAAW;AAClB,IAAA,KAAK,EAAE,WAAW;AAClB,IAAA,OAAO,EAAE,eAAe;;;;;"}
@@ -30,31 +30,31 @@ function _interopNamespaceDefault(e) {
30
30
 
31
31
  var tar__namespace = /*#__PURE__*/_interopNamespaceDefault(tar);
32
32
 
33
- const cdn = 'https://cdn.platforma.bio/software';
33
+ const cdn = "https://cdn.platforma.bio/software";
34
34
  // We'll download things from Global Access if downloading from CDN has failed
35
35
  // (it might be that it's blocked from the company's network.)
36
- const gaCdn = 'https://cdn-ga.pl-open.science/software';
37
- async function downloadBinaryNoExtract({ logger, baseDir, softwareName, tgzName, arch, platform, dispatcher }) {
36
+ const gaCdn = "https://cdn-ga.pl-open.science/software";
37
+ async function downloadBinaryNoExtract({ logger, baseDir, softwareName, tgzName, arch, platform, dispatcher, }) {
38
38
  const opts = getPathsForDownload(softwareName, tgzName, baseDir, os_and_arch.newArch(arch), os_and_arch.newOs(platform));
39
39
  const { archiveUrl, alternativeArchiveGAUrl, archivePath } = opts;
40
40
  try {
41
41
  await downloadArchive({ logger, archiveUrl, archivePath, dispatcher });
42
42
  opts.wasDownloadedFrom = archiveUrl;
43
43
  }
44
- catch (_e) {
44
+ catch {
45
45
  await downloadArchive({ logger, archiveUrl: alternativeArchiveGAUrl, archivePath, dispatcher });
46
46
  opts.wasDownloadedFrom = alternativeArchiveGAUrl;
47
47
  }
48
48
  return opts;
49
49
  }
50
- async function downloadBinary({ logger, baseDir, softwareName, archiveName, arch, platform, dispatcher }) {
50
+ async function downloadBinary({ logger, baseDir, softwareName, archiveName, arch, platform, dispatcher, }) {
51
51
  const opts = getPathsForDownload(softwareName, archiveName, baseDir, os_and_arch.newArch(arch), os_and_arch.newOs(platform));
52
52
  const { archiveUrl, alternativeArchiveGAUrl, archivePath, archiveType, targetFolder } = opts;
53
53
  try {
54
54
  await downloadArchive({ logger, archiveUrl, archivePath, dispatcher });
55
55
  opts.wasDownloadedFrom = archiveUrl;
56
56
  }
57
- catch (_e) {
57
+ catch {
58
58
  await downloadArchive({ logger, archiveUrl: alternativeArchiveGAUrl, archivePath, dispatcher });
59
59
  opts.wasDownloadedFrom = alternativeArchiveGAUrl;
60
60
  }
@@ -79,7 +79,7 @@ function getPathsForDownload(softwareName, archiveName, baseDir, arch, os) {
79
79
  baseName,
80
80
  };
81
81
  }
82
- async function downloadArchive({ logger, archiveUrl, archivePath, dispatcher }) {
82
+ async function downloadArchive({ logger, archiveUrl, archivePath, dispatcher, }) {
83
83
  const state = {};
84
84
  state.archivePath = archivePath;
85
85
  try {
@@ -101,7 +101,7 @@ async function downloadArchive({ logger, archiveUrl, archivePath, dispatcher })
101
101
  throw new Error(state.errorMsg);
102
102
  }
103
103
  // to prevent incomplete downloads we first write in a temp file
104
- state.tmpPath = archivePath + '.tmp';
104
+ state.tmpPath = archivePath + ".tmp";
105
105
  // eslint-disable-next-line n/no-unsupported-features/node-builtins
106
106
  await node_stream.Readable.toWeb(body).pipeTo(node_stream.Writable.toWeb(fs.createWriteStream(state.tmpPath)));
107
107
  state.wroteTmp = true;
@@ -119,9 +119,9 @@ async function downloadArchive({ logger, archiveUrl, archivePath, dispatcher })
119
119
  }
120
120
  }
121
121
  /** Used to prevent mid-way interrupted unarchived folders to be used */
122
- const MarkerFileName = '.ok';
122
+ const MarkerFileName = ".ok";
123
123
  async function extractArchive(logger, archivePath, archiveType, dstFolder) {
124
- logger.info('extracting archive...');
124
+ logger.info("extracting archive...");
125
125
  logger.info(` archive path: '${archivePath}'`);
126
126
  logger.info(` target dir: '${dstFolder}'`);
127
127
  if (!(await tsHelpers.fileExists(archivePath))) {
@@ -142,27 +142,27 @@ async function extractArchive(logger, archivePath, archiveType, dstFolder) {
142
142
  await fsp.mkdir(dstFolder, { recursive: true });
143
143
  logger.info(`Unpacking Platforma Backend archive:\n Archive: ${archivePath}\n Target dir: ${dstFolder}`);
144
144
  switch (archiveType) {
145
- case 'tgz':
145
+ case "tgz":
146
146
  await tar__namespace.x({
147
147
  file: archivePath,
148
148
  cwd: dstFolder,
149
149
  gzip: true,
150
150
  });
151
151
  break;
152
- case 'zip':
152
+ case "zip":
153
153
  await decompress(archivePath, dstFolder);
154
154
  break;
155
155
  default:
156
156
  tsHelpers.assertNever(archiveType);
157
157
  }
158
158
  // writing marker file, to be able in the future detect that we completely unarchived the tar file
159
- await fsp.writeFile(markerFilePath, 'ok');
159
+ await fsp.writeFile(markerFilePath, "ok");
160
160
  logger.info(` ... unpack done.`);
161
161
  }
162
162
  const osToArchiveType = {
163
- linux: 'tgz',
164
- macos: 'tgz',
165
- windows: 'zip',
163
+ linux: "tgz",
164
+ macos: "tgz",
165
+ windows: "zip",
166
166
  };
167
167
 
168
168
  exports.downloadArchive = downloadArchive;
@@ -1 +1 @@
1
- {"version":3,"file":"pl_binary_download.cjs","sources":["../../src/common/pl_binary_download.ts"],"sourcesContent":["import fs from 'node:fs';\nimport fsp from 'node:fs/promises';\nimport upath from 'upath';\nimport type { Dispatcher } from 'undici';\nimport { request } from 'undici';\nimport { Writable, Readable } from 'node:stream';\nimport { text } from 'node:stream/consumers';\nimport * as tar from 'tar';\nimport type { MiLogger } from '@milaboratories/ts-helpers';\nimport { assertNever, fileExists } from '@milaboratories/ts-helpers';\nimport decompress from 'decompress';\nimport type { ArchType, OSType } from './os_and_arch';\nimport { newOs, newArch } from './os_and_arch';\n\nconst cdn = 'https://cdn.platforma.bio/software';\n// We'll download things from Global Access if downloading from CDN has failed\n// (it might be that it's blocked from the company's network.)\nconst gaCdn = 'https://cdn-ga.pl-open.science/software';\n\nexport type DownloadBinaryResult = {\n archiveUrl: string;\n alternativeArchiveGAUrl: string;\n wasDownloadedFrom?: string;\n archivePath: string;\n archiveType: ArchiveType;\n targetFolder: string;\n baseName: string;\n};\n\nexport async function downloadBinaryNoExtract(\n { logger, baseDir, softwareName, tgzName, arch, platform, dispatcher }: {\n logger: MiLogger;\n baseDir: string;\n softwareName: string;\n tgzName: string;\n arch: string;\n platform: string;\n dispatcher?: Dispatcher;\n },\n): Promise<DownloadBinaryResult> {\n const opts = getPathsForDownload(softwareName, tgzName, baseDir, newArch(arch), newOs(platform));\n const { archiveUrl, alternativeArchiveGAUrl, archivePath } = opts;\n\n try {\n await downloadArchive({ logger, archiveUrl, archivePath, dispatcher });\n opts.wasDownloadedFrom = archiveUrl;\n } catch (_e) {\n await downloadArchive({ logger, archiveUrl: alternativeArchiveGAUrl, archivePath, dispatcher });\n opts.wasDownloadedFrom = alternativeArchiveGAUrl;\n }\n\n return opts;\n}\n\nexport async function downloadBinary(\n { logger, baseDir, softwareName, archiveName, arch, platform, dispatcher }: {\n logger: MiLogger;\n baseDir: string;\n softwareName: string;\n archiveName: string;\n arch: string;\n platform: string;\n dispatcher?: Dispatcher;\n },\n): Promise<DownloadBinaryResult> {\n const opts = getPathsForDownload(softwareName, archiveName, baseDir, newArch(arch), newOs(platform));\n const { archiveUrl, alternativeArchiveGAUrl, archivePath, archiveType, targetFolder } = opts;\n\n try {\n await downloadArchive({ logger, archiveUrl, archivePath, dispatcher });\n opts.wasDownloadedFrom = archiveUrl;\n } catch (_e) {\n await downloadArchive({ logger, archiveUrl: alternativeArchiveGAUrl, archivePath, dispatcher });\n opts.wasDownloadedFrom = alternativeArchiveGAUrl;\n }\n\n await extractArchive(logger, archivePath, archiveType, targetFolder);\n\n return opts;\n}\n\nfunction getPathsForDownload(\n softwareName: string,\n archiveName: string,\n baseDir: string,\n arch: ArchType,\n os: OSType,\n): DownloadBinaryResult {\n const baseName = `${archiveName}-${arch}`;\n const archiveType = osToArchiveType[os];\n\n const archiveFileName = `${baseName}.${archiveType}`;\n const archiveUrl = `${cdn}/${softwareName}/${os}/${archiveFileName}`;\n const alternativeArchiveGAUrl = `${gaCdn}/${softwareName}/${os}/${archiveFileName}`;\n const archivePath = upath.join(baseDir, archiveFileName);\n // folder where binary distribution of pl will be unpacked\n const targetFolder = upath.join(baseDir, baseName);\n\n return {\n archiveUrl,\n alternativeArchiveGAUrl,\n archivePath,\n archiveType,\n targetFolder,\n baseName,\n };\n}\n\nexport type DownloadInfo = {\n archivePath?: string;\n fileExisted?: boolean;\n dirnameCreated?: boolean;\n statusCode?: number;\n errorMsg?: string;\n tmpPath?: string;\n wroteTmp?: boolean;\n tmpExisted?: boolean;\n renamed?: boolean;\n newExisted?: boolean;\n};\n\nexport async function downloadArchive(\n { logger, archiveUrl, archivePath, dispatcher }: {\n logger: MiLogger;\n archiveUrl: string;\n archivePath: string;\n dispatcher?: Dispatcher;\n },\n): Promise<DownloadInfo> {\n const state: DownloadInfo = {};\n state.archivePath = archivePath;\n\n try {\n state.fileExisted = await fileExists(archivePath);\n if (state.fileExisted) {\n logger.info(`Platforma Backend archive download skipped: '${archivePath}' already exists`);\n return state;\n }\n\n await fsp.mkdir(upath.dirname(archivePath), { recursive: true });\n state.dirnameCreated = true;\n\n logger.info(`Downloading archive:\\n URL: ${archiveUrl}\\n Save to: ${archivePath}`);\n\n const { body, statusCode } = await request(archiveUrl, { dispatcher });\n state.statusCode = statusCode;\n if (statusCode != 200) {\n // completely draining the stream to prevent leaving open connections\n const textBody = await text(body);\n state.errorMsg = `failed to download archive: ${statusCode}, response: ${textBody.slice(0, 1000)}`;\n logger.error(state.errorMsg);\n throw new Error(state.errorMsg);\n }\n\n // to prevent incomplete downloads we first write in a temp file\n state.tmpPath = archivePath + '.tmp';\n // eslint-disable-next-line n/no-unsupported-features/node-builtins\n await Readable.toWeb(body).pipeTo(Writable.toWeb(fs.createWriteStream(state.tmpPath)));\n state.wroteTmp = true;\n state.tmpExisted = await fileExists(state.tmpPath);\n\n // and then atomically rename it\n await fsp.rename(state.tmpPath, archivePath);\n state.renamed = true;\n state.newExisted = await fileExists(archivePath);\n\n return state;\n } catch (e: unknown) {\n const msg = `downloadArchive: ${JSON.stringify(e)}, state: ${JSON.stringify(state)}`;\n logger.error(msg);\n throw new Error(msg);\n }\n}\n\n/** Used to prevent mid-way interrupted unarchived folders to be used */\nconst MarkerFileName = '.ok';\n\nexport async function extractArchive(\n logger: MiLogger,\n archivePath: string,\n archiveType: ArchiveType,\n dstFolder: string,\n) {\n logger.info('extracting archive...');\n logger.info(` archive path: '${archivePath}'`);\n logger.info(` target dir: '${dstFolder}'`);\n\n if (!(await fileExists(archivePath))) {\n const msg = `Platforma Backend binary archive not found at '${archivePath}'`;\n logger.error(msg);\n throw new Error(msg);\n }\n\n const markerFilePath = upath.join(dstFolder, MarkerFileName);\n\n if (await fileExists(markerFilePath)) {\n logger.info(`Platforma Backend binaries unpack skipped: '${dstFolder}' exists`);\n return;\n }\n\n if (await fileExists(dstFolder)) {\n logger.info(`Removing previous incompletely unpacked folder: '${dstFolder}'`);\n await fsp.rm(dstFolder, { recursive: true });\n }\n\n logger.info(` creating target dir '${dstFolder}'`);\n await fsp.mkdir(dstFolder, { recursive: true });\n\n logger.info(\n `Unpacking Platforma Backend archive:\\n Archive: ${archivePath}\\n Target dir: ${dstFolder}`,\n );\n\n switch (archiveType) {\n case 'tgz':\n await tar.x({\n file: archivePath,\n cwd: dstFolder,\n gzip: true,\n });\n break;\n\n case 'zip':\n await decompress(archivePath, dstFolder);\n break;\n\n default:\n assertNever(archiveType);\n }\n\n // writing marker file, to be able in the future detect that we completely unarchived the tar file\n await fsp.writeFile(markerFilePath, 'ok');\n\n logger.info(` ... unpack done.`);\n}\n\nexport type ArchiveType = 'tgz' | 'zip';\n\nconst osToArchiveType: Record<OSType, ArchiveType> = {\n linux: 'tgz',\n macos: 'tgz',\n windows: 'zip',\n};\n"],"names":["newArch","newOs","fileExists","request","text","Readable","Writable","tar","assertNever"],"mappings":"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"}
1
+ {"version":3,"file":"pl_binary_download.cjs","sources":["../../src/common/pl_binary_download.ts"],"sourcesContent":["import fs from \"node:fs\";\nimport fsp from \"node:fs/promises\";\nimport upath from \"upath\";\nimport type { Dispatcher } from \"undici\";\nimport { request } from \"undici\";\nimport { Writable, Readable } from \"node:stream\";\nimport { text } from \"node:stream/consumers\";\nimport * as tar from \"tar\";\nimport type { MiLogger } from \"@milaboratories/ts-helpers\";\nimport { assertNever, fileExists } from \"@milaboratories/ts-helpers\";\nimport decompress from \"decompress\";\nimport type { ArchType, OSType } from \"./os_and_arch\";\nimport { newOs, newArch } from \"./os_and_arch\";\n\nconst cdn = \"https://cdn.platforma.bio/software\";\n// We'll download things from Global Access if downloading from CDN has failed\n// (it might be that it's blocked from the company's network.)\nconst gaCdn = \"https://cdn-ga.pl-open.science/software\";\n\nexport type DownloadBinaryResult = {\n archiveUrl: string;\n alternativeArchiveGAUrl: string;\n wasDownloadedFrom?: string;\n archivePath: string;\n archiveType: ArchiveType;\n targetFolder: string;\n baseName: string;\n};\n\nexport async function downloadBinaryNoExtract({\n logger,\n baseDir,\n softwareName,\n tgzName,\n arch,\n platform,\n dispatcher,\n}: {\n logger: MiLogger;\n baseDir: string;\n softwareName: string;\n tgzName: string;\n arch: string;\n platform: string;\n dispatcher?: Dispatcher;\n}): Promise<DownloadBinaryResult> {\n const opts = getPathsForDownload(softwareName, tgzName, baseDir, newArch(arch), newOs(platform));\n const { archiveUrl, alternativeArchiveGAUrl, archivePath } = opts;\n\n try {\n await downloadArchive({ logger, archiveUrl, archivePath, dispatcher });\n opts.wasDownloadedFrom = archiveUrl;\n } catch {\n await downloadArchive({ logger, archiveUrl: alternativeArchiveGAUrl, archivePath, dispatcher });\n opts.wasDownloadedFrom = alternativeArchiveGAUrl;\n }\n\n return opts;\n}\n\nexport async function downloadBinary({\n logger,\n baseDir,\n softwareName,\n archiveName,\n arch,\n platform,\n dispatcher,\n}: {\n logger: MiLogger;\n baseDir: string;\n softwareName: string;\n archiveName: string;\n arch: string;\n platform: string;\n dispatcher?: Dispatcher;\n}): Promise<DownloadBinaryResult> {\n const opts = getPathsForDownload(\n softwareName,\n archiveName,\n baseDir,\n newArch(arch),\n newOs(platform),\n );\n const { archiveUrl, alternativeArchiveGAUrl, archivePath, archiveType, targetFolder } = opts;\n\n try {\n await downloadArchive({ logger, archiveUrl, archivePath, dispatcher });\n opts.wasDownloadedFrom = archiveUrl;\n } catch {\n await downloadArchive({ logger, archiveUrl: alternativeArchiveGAUrl, archivePath, dispatcher });\n opts.wasDownloadedFrom = alternativeArchiveGAUrl;\n }\n\n await extractArchive(logger, archivePath, archiveType, targetFolder);\n\n return opts;\n}\n\nfunction getPathsForDownload(\n softwareName: string,\n archiveName: string,\n baseDir: string,\n arch: ArchType,\n os: OSType,\n): DownloadBinaryResult {\n const baseName = `${archiveName}-${arch}`;\n const archiveType = osToArchiveType[os];\n\n const archiveFileName = `${baseName}.${archiveType}`;\n const archiveUrl = `${cdn}/${softwareName}/${os}/${archiveFileName}`;\n const alternativeArchiveGAUrl = `${gaCdn}/${softwareName}/${os}/${archiveFileName}`;\n const archivePath = upath.join(baseDir, archiveFileName);\n // folder where binary distribution of pl will be unpacked\n const targetFolder = upath.join(baseDir, baseName);\n\n return {\n archiveUrl,\n alternativeArchiveGAUrl,\n archivePath,\n archiveType,\n targetFolder,\n baseName,\n };\n}\n\nexport type DownloadInfo = {\n archivePath?: string;\n fileExisted?: boolean;\n dirnameCreated?: boolean;\n statusCode?: number;\n errorMsg?: string;\n tmpPath?: string;\n wroteTmp?: boolean;\n tmpExisted?: boolean;\n renamed?: boolean;\n newExisted?: boolean;\n};\n\nexport async function downloadArchive({\n logger,\n archiveUrl,\n archivePath,\n dispatcher,\n}: {\n logger: MiLogger;\n archiveUrl: string;\n archivePath: string;\n dispatcher?: Dispatcher;\n}): Promise<DownloadInfo> {\n const state: DownloadInfo = {};\n state.archivePath = archivePath;\n\n try {\n state.fileExisted = await fileExists(archivePath);\n if (state.fileExisted) {\n logger.info(`Platforma Backend archive download skipped: '${archivePath}' already exists`);\n return state;\n }\n\n await fsp.mkdir(upath.dirname(archivePath), { recursive: true });\n state.dirnameCreated = true;\n\n logger.info(`Downloading archive:\\n URL: ${archiveUrl}\\n Save to: ${archivePath}`);\n\n const { body, statusCode } = await request(archiveUrl, { dispatcher });\n state.statusCode = statusCode;\n if (statusCode != 200) {\n // completely draining the stream to prevent leaving open connections\n const textBody = await text(body);\n state.errorMsg = `failed to download archive: ${statusCode}, response: ${textBody.slice(0, 1000)}`;\n logger.error(state.errorMsg);\n throw new Error(state.errorMsg);\n }\n\n // to prevent incomplete downloads we first write in a temp file\n state.tmpPath = archivePath + \".tmp\";\n // eslint-disable-next-line n/no-unsupported-features/node-builtins\n await Readable.toWeb(body).pipeTo(Writable.toWeb(fs.createWriteStream(state.tmpPath)));\n state.wroteTmp = true;\n state.tmpExisted = await fileExists(state.tmpPath);\n\n // and then atomically rename it\n await fsp.rename(state.tmpPath, archivePath);\n state.renamed = true;\n state.newExisted = await fileExists(archivePath);\n\n return state;\n } catch (e: unknown) {\n const msg = `downloadArchive: ${JSON.stringify(e)}, state: ${JSON.stringify(state)}`;\n logger.error(msg);\n throw new Error(msg);\n }\n}\n\n/** Used to prevent mid-way interrupted unarchived folders to be used */\nconst MarkerFileName = \".ok\";\n\nexport async function extractArchive(\n logger: MiLogger,\n archivePath: string,\n archiveType: ArchiveType,\n dstFolder: string,\n) {\n logger.info(\"extracting archive...\");\n logger.info(` archive path: '${archivePath}'`);\n logger.info(` target dir: '${dstFolder}'`);\n\n if (!(await fileExists(archivePath))) {\n const msg = `Platforma Backend binary archive not found at '${archivePath}'`;\n logger.error(msg);\n throw new Error(msg);\n }\n\n const markerFilePath = upath.join(dstFolder, MarkerFileName);\n\n if (await fileExists(markerFilePath)) {\n logger.info(`Platforma Backend binaries unpack skipped: '${dstFolder}' exists`);\n return;\n }\n\n if (await fileExists(dstFolder)) {\n logger.info(`Removing previous incompletely unpacked folder: '${dstFolder}'`);\n await fsp.rm(dstFolder, { recursive: true });\n }\n\n logger.info(` creating target dir '${dstFolder}'`);\n await fsp.mkdir(dstFolder, { recursive: true });\n\n logger.info(\n `Unpacking Platforma Backend archive:\\n Archive: ${archivePath}\\n Target dir: ${dstFolder}`,\n );\n\n switch (archiveType) {\n case \"tgz\":\n await tar.x({\n file: archivePath,\n cwd: dstFolder,\n gzip: true,\n });\n break;\n\n case \"zip\":\n await decompress(archivePath, dstFolder);\n break;\n\n default:\n assertNever(archiveType);\n }\n\n // writing marker file, to be able in the future detect that we completely unarchived the tar file\n await fsp.writeFile(markerFilePath, \"ok\");\n\n logger.info(` ... unpack done.`);\n}\n\nexport type ArchiveType = \"tgz\" | \"zip\";\n\nconst osToArchiveType: Record<OSType, ArchiveType> = {\n linux: \"tgz\",\n macos: \"tgz\",\n windows: \"zip\",\n};\n"],"names":["newArch","newOs","fileExists","request","text","Readable","Writable","tar","assertNever"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type { Dispatcher } from 'undici';
2
- import type { MiLogger } from '@milaboratories/ts-helpers';
1
+ import type { Dispatcher } from "undici";
2
+ import type { MiLogger } from "@milaboratories/ts-helpers";
3
3
  export type DownloadBinaryResult = {
4
4
  archiveUrl: string;
5
5
  alternativeArchiveGAUrl: string;
@@ -9,7 +9,7 @@ export type DownloadBinaryResult = {
9
9
  targetFolder: string;
10
10
  baseName: string;
11
11
  };
12
- export declare function downloadBinaryNoExtract({ logger, baseDir, softwareName, tgzName, arch, platform, dispatcher }: {
12
+ export declare function downloadBinaryNoExtract({ logger, baseDir, softwareName, tgzName, arch, platform, dispatcher, }: {
13
13
  logger: MiLogger;
14
14
  baseDir: string;
15
15
  softwareName: string;
@@ -18,7 +18,7 @@ export declare function downloadBinaryNoExtract({ logger, baseDir, softwareName,
18
18
  platform: string;
19
19
  dispatcher?: Dispatcher;
20
20
  }): Promise<DownloadBinaryResult>;
21
- export declare function downloadBinary({ logger, baseDir, softwareName, archiveName, arch, platform, dispatcher }: {
21
+ export declare function downloadBinary({ logger, baseDir, softwareName, archiveName, arch, platform, dispatcher, }: {
22
22
  logger: MiLogger;
23
23
  baseDir: string;
24
24
  softwareName: string;
@@ -39,12 +39,12 @@ export type DownloadInfo = {
39
39
  renamed?: boolean;
40
40
  newExisted?: boolean;
41
41
  };
42
- export declare function downloadArchive({ logger, archiveUrl, archivePath, dispatcher }: {
42
+ export declare function downloadArchive({ logger, archiveUrl, archivePath, dispatcher, }: {
43
43
  logger: MiLogger;
44
44
  archiveUrl: string;
45
45
  archivePath: string;
46
46
  dispatcher?: Dispatcher;
47
47
  }): Promise<DownloadInfo>;
48
48
  export declare function extractArchive(logger: MiLogger, archivePath: string, archiveType: ArchiveType, dstFolder: string): Promise<void>;
49
- export type ArchiveType = 'tgz' | 'zip';
49
+ export type ArchiveType = "tgz" | "zip";
50
50
  //# sourceMappingURL=pl_binary_download.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pl_binary_download.d.ts","sourceRoot":"","sources":["../../src/common/pl_binary_download.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAKzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAW3D,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,uBAAuB,EAAE,MAAM,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,wBAAsB,uBAAuB,CAC3C,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE;IACtE,MAAM,EAAE,QAAQ,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,GACA,OAAO,CAAC,oBAAoB,CAAC,CAa/B;AAED,wBAAsB,cAAc,CAClC,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE;IAC1E,MAAM,EAAE,QAAQ,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,GACA,OAAO,CAAC,oBAAoB,CAAC,CAe/B;AA6BD,MAAM,MAAM,YAAY,GAAG;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,wBAAsB,eAAe,CACnC,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE;IAC/C,MAAM,EAAE,QAAQ,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,GACA,OAAO,CAAC,YAAY,CAAC,CA4CvB;AAKD,wBAAsB,cAAc,CAClC,MAAM,EAAE,QAAQ,EAChB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,MAAM,iBAoDlB;AAED,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,KAAK,CAAC"}
1
+ {"version":3,"file":"pl_binary_download.d.ts","sourceRoot":"","sources":["../../src/common/pl_binary_download.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAKzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAW3D,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,uBAAuB,EAAE,MAAM,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,wBAAsB,uBAAuB,CAAC,EAC5C,MAAM,EACN,OAAO,EACP,YAAY,EACZ,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,UAAU,GACX,EAAE;IACD,MAAM,EAAE,QAAQ,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAahC;AAED,wBAAsB,cAAc,CAAC,EACnC,MAAM,EACN,OAAO,EACP,YAAY,EACZ,WAAW,EACX,IAAI,EACJ,QAAQ,EACR,UAAU,GACX,EAAE;IACD,MAAM,EAAE,QAAQ,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAqBhC;AA6BD,MAAM,MAAM,YAAY,GAAG;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,wBAAsB,eAAe,CAAC,EACpC,MAAM,EACN,UAAU,EACV,WAAW,EACX,UAAU,GACX,EAAE;IACD,MAAM,EAAE,QAAQ,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,GAAG,OAAO,CAAC,YAAY,CAAC,CA4CxB;AAKD,wBAAsB,cAAc,CAClC,MAAM,EAAE,QAAQ,EAChB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,MAAM,iBAoDlB;AAED,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,KAAK,CAAC"}