Newer
Older
CVSS_3.0_GUI / dist / CVSS_3.0_Calc-1.0.0-linux-x64 / node_modules / nwjs-builder-phoenix / dist / lib / nsis-gen / NsisDiffer.js
root on 7 May 2019 7 KB Initial commit
  1. "use strict";
  2. var __extends = (this && this.__extends) || (function () {
  3. var extendStatics = Object.setPrototypeOf ||
  4. ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
  5. function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
  6. return function (d, b) {
  7. extendStatics(d, b);
  8. function __() { this.constructor = d; }
  9. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  10. };
  11. })();
  12. var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
  13. return new (P || (P = Promise))(function (resolve, reject) {
  14. function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
  15. function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
  16. function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
  17. step((generator = generator.apply(thisArg, _arguments || [])).next());
  18. });
  19. };
  20. var __generator = (this && this.__generator) || function (thisArg, body) {
  21. var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
  22. return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
  23. function verb(n) { return function (v) { return step([n, v]); }; }
  24. function step(op) {
  25. if (f) throw new TypeError("Generator is already executing.");
  26. while (_) try {
  27. if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t;
  28. if (y = 0, t) op = [0, t.value];
  29. switch (op[0]) {
  30. case 0: case 1: t = op; break;
  31. case 4: _.label++; return { value: op[1], done: false };
  32. case 5: _.label++; y = op[1]; op = [0]; continue;
  33. case 7: op = _.ops.pop(); _.trys.pop(); continue;
  34. default:
  35. if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
  36. if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
  37. if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
  38. if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
  39. if (t[2]) _.ops.pop();
  40. _.trys.pop(); continue;
  41. }
  42. op = body.call(thisArg, _);
  43. } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
  44. if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
  45. }
  46. };
  47. Object.defineProperty(exports, "__esModule", { value: true });
  48. var path_1 = require("path");
  49. var dircompare = require('dir-compare');
  50. var NsisComposer_1 = require("./NsisComposer");
  51. var NsisDiffer = /** @class */ (function (_super) {
  52. __extends(NsisDiffer, _super);
  53. function NsisDiffer(fromDir, toDir, options) {
  54. var _this = _super.call(this, options) || this;
  55. _this.fromDir = fromDir;
  56. _this.toDir = toDir;
  57. return _this;
  58. }
  59. // Overrided, https://github.com/Microsoft/TypeScript/issues/2000.
  60. NsisDiffer.prototype.makeInstallerFiles = function () {
  61. return __awaiter(this, void 0, void 0, function () {
  62. var result, lines, _i, _a, diff, _b, _c, _d, _e, _f, _g, _h, _j;
  63. return __generator(this, function (_k) {
  64. switch (_k.label) {
  65. case 0: return [4 /*yield*/, dircompare.compare(this.fromDir, this.toDir, {
  66. compareContent: true,
  67. })];
  68. case 1:
  69. result = _k.sent();
  70. lines = [];
  71. _i = 0, _a = result.diffSet;
  72. _k.label = 2;
  73. case 2:
  74. if (!(_i < _a.length)) return [3 /*break*/, 11];
  75. diff = _a[_i];
  76. if (!(diff.type1 == 'missing' && diff.type2 == 'file')) return [3 /*break*/, 4];
  77. _c = (_b = lines).push;
  78. return [4 /*yield*/, this.makeWriteFile(diff.path2, '.' + diff.relativePath, diff.name2)];
  79. case 3:
  80. _c.apply(_b, [_k.sent()]);
  81. return [3 /*break*/, 10];
  82. case 4:
  83. if (!(diff.type1 == 'file' && diff.type2 == 'missing')) return [3 /*break*/, 6];
  84. _e = (_d = lines).push;
  85. return [4 /*yield*/, this.makeRemoveFile(diff.path1, '.' + diff.relativePath, diff.name1)];
  86. case 5:
  87. _e.apply(_d, [_k.sent()]);
  88. return [3 /*break*/, 10];
  89. case 6:
  90. if (!(diff.type1 == 'directory' && diff.type2 == 'missing')) return [3 /*break*/, 8];
  91. _g = (_f = lines).push;
  92. return [4 /*yield*/, this.makeRemoveDir(diff.path1, '.' + diff.relativePath, diff.name1)];
  93. case 7:
  94. _g.apply(_f, [_k.sent()]);
  95. return [3 /*break*/, 10];
  96. case 8:
  97. if (!(diff.type1 == 'file' && diff.type2 == 'file' && diff.state == 'distinct')) return [3 /*break*/, 10];
  98. _j = (_h = lines).push;
  99. return [4 /*yield*/, this.makeWriteFile(diff.path2, '.' + diff.relativePath, diff.name2)];
  100. case 9:
  101. _j.apply(_h, [_k.sent()]);
  102. _k.label = 10;
  103. case 10:
  104. _i++;
  105. return [3 /*break*/, 2];
  106. case 11: return [2 /*return*/, lines.join('\n')];
  107. }
  108. });
  109. });
  110. };
  111. NsisDiffer.prototype.makeRemoveFile = function (rootDir, relativeDir, filename) {
  112. return __awaiter(this, void 0, void 0, function () {
  113. return __generator(this, function (_a) {
  114. return [2 /*return*/, "Delete \"$INSTDIR\\" + path_1.win32.normalize(path_1.join(relativeDir, filename)) + "\""];
  115. });
  116. });
  117. };
  118. NsisDiffer.prototype.makeWriteFile = function (rootDir, relativeDir, filename) {
  119. return __awaiter(this, void 0, void 0, function () {
  120. return __generator(this, function (_a) {
  121. return [2 /*return*/, "SetOutPath \"$INSTDIR\\" + path_1.win32.normalize(relativeDir) + "\"\nFile \"" + path_1.win32.normalize(path_1.resolve(rootDir, filename)) + "\""];
  122. });
  123. });
  124. };
  125. NsisDiffer.prototype.makeRemoveDir = function (rootDir, relativeDir, filename) {
  126. return __awaiter(this, void 0, void 0, function () {
  127. return __generator(this, function (_a) {
  128. return [2 /*return*/, "RMDir /r \"$INSTDIR\\" + path_1.win32.normalize(path_1.join(relativeDir, filename)) + "\""];
  129. });
  130. });
  131. };
  132. return NsisDiffer;
  133. }(NsisComposer_1.NsisComposer));
  134. exports.NsisDiffer = NsisDiffer;
  135. //# sourceMappingURL=NsisDiffer.js.map
Buy Me A Coffee