spawn.js 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. (function webpackUniversalModuleDefinition(root, factory) {
  2. if(typeof exports === 'object' && typeof module === 'object')
  3. module.exports = factory();
  4. else if(typeof define === 'function' && define.amd)
  5. define([], factory);
  6. else if(typeof exports === 'object')
  7. exports["tauri"] = factory();
  8. else
  9. root["tauri"] = factory();
  10. })(this, function() {
  11. return /******/ (() => { // webpackBootstrap
  12. /******/ "use strict";
  13. /******/ var __webpack_modules__ = ({
  14. /***/ "./src/helpers/logger.ts":
  15. /*!*******************************!*\
  16. !*** ./src/helpers/logger.ts ***!
  17. \*******************************/
  18. /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
  19. // Copyright 2019-2021 Tauri Programme within The Commons Conservancy
  20. // SPDX-License-Identifier: Apache-2.0
  21. // SPDX-License-Identifier: MIT
  22. var __importDefault = (this && this.__importDefault) || function (mod) {
  23. return (mod && mod.__esModule) ? mod : { "default": mod };
  24. };
  25. Object.defineProperty(exports, "__esModule", ({ value: true }));
  26. var chalk_1 = __importDefault(__webpack_require__(/*! chalk */ "chalk"));
  27. var ms_1 = __importDefault(__webpack_require__(/*! ms */ "ms"));
  28. var prevTime;
  29. exports.default = (function (banner, color) {
  30. if (color === void 0) { color = chalk_1.default.green; }
  31. return function (msg) {
  32. var curr = +new Date();
  33. var diff = curr - (prevTime || curr);
  34. prevTime = curr;
  35. if (msg) {
  36. console.log(
  37. // TODO: proper typings for color and banner
  38. // eslint-disable-next-line @typescript-eslint/restrict-template-expressions, @typescript-eslint/no-unsafe-call
  39. " " + color(String(banner)) + " " + msg + " " + chalk_1.default.green("+" + ms_1.default(diff)));
  40. }
  41. else {
  42. console.log();
  43. }
  44. };
  45. });
  46. /***/ }),
  47. /***/ "./src/helpers/spawn.ts":
  48. /*!******************************!*\
  49. !*** ./src/helpers/spawn.ts ***!
  50. \******************************/
  51. /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
  52. // Copyright 2019-2021 Tauri Programme within The Commons Conservancy
  53. // SPDX-License-Identifier: Apache-2.0
  54. // SPDX-License-Identifier: MIT
  55. var __importDefault = (this && this.__importDefault) || function (mod) {
  56. return (mod && mod.__esModule) ? mod : { "default": mod };
  57. };
  58. Object.defineProperty(exports, "__esModule", ({ value: true }));
  59. exports.spawnSync = exports.spawn = void 0;
  60. var cross_spawn_1 = __importDefault(__webpack_require__(/*! cross-spawn */ "cross-spawn"));
  61. var logger_1 = __importDefault(__webpack_require__(/*! ./logger */ "./src/helpers/logger.ts"));
  62. var chalk_1 = __importDefault(__webpack_require__(/*! chalk */ "chalk"));
  63. var log = logger_1.default('app:spawn');
  64. var warn = logger_1.default('app:spawn', chalk_1.default.red);
  65. /*
  66. Returns pid, takes onClose
  67. */
  68. var spawn = function (cmd, params, cwd, onClose) {
  69. var _a;
  70. log("Running \"" + cmd + " " + params.join(' ') + "\"");
  71. log();
  72. // TODO: move to execa?
  73. var runner = cross_spawn_1.default(cmd, params, {
  74. stdio: 'inherit',
  75. cwd: cwd,
  76. env: process.env
  77. });
  78. runner.on('close', function (code) {
  79. var _a;
  80. log();
  81. if (code) {
  82. // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
  83. log("Command \"" + cmd + "\" failed with exit code: " + code);
  84. }
  85. // eslint-disable-next-line @typescript-eslint/prefer-optional-chain
  86. onClose && onClose(code !== null && code !== void 0 ? code : 0, (_a = runner.pid) !== null && _a !== void 0 ? _a : 0);
  87. });
  88. return (_a = runner.pid) !== null && _a !== void 0 ? _a : 0;
  89. };
  90. exports.spawn = spawn;
  91. /*
  92. Returns nothing, takes onFail
  93. */
  94. var spawnSync = function (cmd, params, cwd, onFail) {
  95. log("[sync] Running \"" + cmd + " " + params.join(' ') + "\"");
  96. log();
  97. var runner = cross_spawn_1.default.sync(cmd, params, {
  98. stdio: 'inherit',
  99. cwd: cwd
  100. });
  101. // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
  102. if (runner.status || runner.error) {
  103. warn();
  104. // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
  105. warn("\u26A0\uFE0F Command \"" + cmd + "\" failed with exit code: " + runner.status);
  106. if (runner.status === null) {
  107. warn("\u26A0\uFE0F Please globally install \"" + cmd + "\"");
  108. }
  109. // eslint-disable-next-line @typescript-eslint/prefer-optional-chain
  110. onFail && onFail();
  111. process.exit(1);
  112. }
  113. };
  114. exports.spawnSync = spawnSync;
  115. /***/ }),
  116. /***/ "chalk":
  117. /*!************************!*\
  118. !*** external "chalk" ***!
  119. \************************/
  120. /***/ ((module) => {
  121. module.exports = require("chalk");;
  122. /***/ }),
  123. /***/ "cross-spawn":
  124. /*!******************************!*\
  125. !*** external "cross-spawn" ***!
  126. \******************************/
  127. /***/ ((module) => {
  128. module.exports = require("cross-spawn");;
  129. /***/ }),
  130. /***/ "ms":
  131. /*!*********************!*\
  132. !*** external "ms" ***!
  133. \*********************/
  134. /***/ ((module) => {
  135. module.exports = require("ms");;
  136. /***/ })
  137. /******/ });
  138. /************************************************************************/
  139. /******/ // The module cache
  140. /******/ var __webpack_module_cache__ = {};
  141. /******/
  142. /******/ // The require function
  143. /******/ function __webpack_require__(moduleId) {
  144. /******/ // Check if module is in cache
  145. /******/ var cachedModule = __webpack_module_cache__[moduleId];
  146. /******/ if (cachedModule !== undefined) {
  147. /******/ return cachedModule.exports;
  148. /******/ }
  149. /******/ // Create a new module (and put it into the cache)
  150. /******/ var module = __webpack_module_cache__[moduleId] = {
  151. /******/ // no module.id needed
  152. /******/ // no module.loaded needed
  153. /******/ exports: {}
  154. /******/ };
  155. /******/
  156. /******/ // Execute the module function
  157. /******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
  158. /******/
  159. /******/ // Return the exports of the module
  160. /******/ return module.exports;
  161. /******/ }
  162. /******/
  163. /************************************************************************/
  164. /******/
  165. /******/ // startup
  166. /******/ // Load entry module and return exports
  167. /******/ // This entry module is referenced by other modules so it can't be inlined
  168. /******/ var __webpack_exports__ = __webpack_require__("./src/helpers/spawn.ts");
  169. /******/
  170. /******/ return __webpack_exports__;
  171. /******/ })()
  172. ;
  173. });
  174. //# sourceMappingURL=spawn.js.map