datagrok-tools 4.13.74 → 4.13.76

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.
@@ -5,88 +5,61 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.link = link;
8
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
8
  var _fs = _interopRequireDefault(require("fs"));
14
9
  var _path = _interopRequireDefault(require("path"));
15
10
  var _utils = require("../utils/utils");
16
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
17
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
18
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } /* eslint-disable valid-jsdoc */
19
- var repositoryDirNameRegex = new RegExp(_path["default"].join('1', '2')[1] + 'public$');
20
- var excludedPackages = ['@datagrok/diff-grok'];
21
- var curDir = process.cwd();
22
- var devMode = false;
23
- var repositoryDir = curDir;
24
- var localPackageDependencies;
25
- var packagesToLink;
26
- while (_path["default"].dirname(repositoryDir) !== repositoryDir) {
11
+ /* eslint-disable valid-jsdoc */
12
+
13
+ const repositoryDirNameRegex = new RegExp(_path.default.join('1', '2')[1] + 'public$');
14
+ const excludedPackages = ['@datagrok/diff-grok'];
15
+ const curDir = process.cwd();
16
+ let devMode = false;
17
+ let repositoryDir = curDir;
18
+ let localPackageDependencies;
19
+ let packagesToLink;
20
+ while (_path.default.dirname(repositoryDir) !== repositoryDir) {
27
21
  if (repositoryDirNameRegex.test(repositoryDir)) break;
28
- repositoryDir = _path["default"].dirname(repositoryDir);
29
- }
30
- var verbose = false;
31
- var apiDir = _path["default"].join(repositoryDir, 'js-api');
32
- var libDir = _path["default"].join(repositoryDir, 'libraries');
33
- var packageDir = _path["default"].join(repositoryDir, 'packages');
34
- var apiPackageName = 'datagrok-api';
35
- var libName = '@datagrok-libraries/';
36
- var packageName = '@datagrok/';
37
- function link(_x) {
38
- return _link.apply(this, arguments);
22
+ repositoryDir = _path.default.dirname(repositoryDir);
39
23
  }
40
- function _link() {
41
- _link = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(args) {
42
- var _args$verbose;
43
- return _regenerator["default"].wrap(function _callee$(_context) {
44
- while (1) switch (_context.prev = _context.next) {
45
- case 0:
46
- verbose = (_args$verbose = args.verbose) !== null && _args$verbose !== void 0 ? _args$verbose : false;
47
- localPackageDependencies = [];
48
- packagesToLink = new Set();
49
- if (args.dev !== undefined) devMode = args.dev;
50
- collectPackagesData(curDir);
51
- _context.next = 7;
52
- return linkPackages();
53
- case 7:
54
- console.log('Package linked');
55
- return _context.abrupt("return", true);
56
- case 9:
57
- case "end":
58
- return _context.stop();
59
- }
60
- }, _callee);
61
- }));
62
- return _link.apply(this, arguments);
24
+ let verbose = false;
25
+ const apiDir = _path.default.join(repositoryDir, 'js-api');
26
+ const libDir = _path.default.join(repositoryDir, 'libraries');
27
+ const packageDir = _path.default.join(repositoryDir, 'packages');
28
+ const apiPackageName = 'datagrok-api';
29
+ const libName = '@datagrok-libraries/';
30
+ const packageName = '@datagrok/';
31
+ async function link(args) {
32
+ verbose = args.verbose ?? false;
33
+ localPackageDependencies = [];
34
+ packagesToLink = new Set();
35
+ if (args.dev !== undefined) devMode = args.dev;
36
+ collectPackagesData(curDir);
37
+ await linkPackages();
38
+ console.log('Package linked');
39
+ return true;
63
40
  }
64
- function collectPackagesData() {
65
- var packagePath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : curDir;
66
- var packageJsonPath = _path["default"].join(packagePath, 'package.json');
67
- if (!_fs["default"].existsSync(packageJsonPath)) return [];
68
- var json = JSON.parse(_fs["default"].readFileSync(packageJsonPath, 'utf-8'));
69
- var result = [];
41
+ function collectPackagesData(packagePath = curDir) {
42
+ const packageJsonPath = _path.default.join(packagePath, 'package.json');
43
+ if (!_fs.default.existsSync(packageJsonPath)) return [];
44
+ const json = JSON.parse(_fs.default.readFileSync(packageJsonPath, 'utf-8'));
45
+ let result = [];
70
46
  result = result.concat(collectPacakgeDataFromJsonObject(json.dependencies));
71
47
  if (devMode) result = result.concat(collectPacakgeDataFromJsonObject(json.devDependencies));
72
48
  return result;
73
49
  }
74
50
  function collectPacakgeDataFromJsonObject(object) {
75
- var result = [];
76
- for (var _i = 0, _Object$keys = Object.keys(object); _i < _Object$keys.length; _i++) {
77
- var dependencyName = _Object$keys[_i];
78
- var nameSplitted = dependencyName.split('/');
79
- if (dependencyName === apiPackageName) result = result.concat(parsePackageDependencies(dependencyName, apiDir));else if (dependencyName.includes(libName)) result = result.concat(parsePackageDependencies(dependencyName, _path["default"].join(libDir, nameSplitted[nameSplitted.length - 1])));else if (dependencyName.includes(packageName)) result = result.concat(parsePackageDependencies(dependencyName, _path["default"].join(packageDir, toCamelCase(nameSplitted[nameSplitted.length - 1]))));
51
+ let result = [];
52
+ for (let dependencyName of Object.keys(object)) {
53
+ let nameSplitted = dependencyName.split('/');
54
+ if (dependencyName === apiPackageName) result = result.concat(parsePackageDependencies(dependencyName, apiDir));else if (dependencyName.includes(libName)) result = result.concat(parsePackageDependencies(dependencyName, _path.default.join(libDir, nameSplitted[nameSplitted.length - 1])));else if (dependencyName.includes(packageName)) result = result.concat(parsePackageDependencies(dependencyName, _path.default.join(packageDir, toCamelCase(nameSplitted[nameSplitted.length - 1]))));
80
55
  }
81
56
  return result;
82
57
  }
83
58
  function toCamelCase(input) {
84
- return input.split('-').map(function (word) {
85
- return word.charAt(0).toUpperCase() + word.slice(1);
86
- }).join('');
59
+ return input.split('-').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join('');
87
60
  }
88
61
  function parsePackageDependencies(dependencyName, pathToLink) {
89
- var result = [];
62
+ let result = [];
90
63
  if (!packagesToLink.has(dependencyName)) {
91
64
  packagesToLink.add(dependencyName);
92
65
  localPackageDependencies.push(new PackageData(dependencyName, pathToLink));
@@ -94,115 +67,36 @@ function parsePackageDependencies(dependencyName, pathToLink) {
94
67
  result.push(dependencyName);
95
68
  return result;
96
69
  }
97
- function linkPackages() {
98
- return _linkPackages.apply(this, arguments);
99
- }
100
- function _linkPackages() {
101
- _linkPackages = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
102
- var anyChanges, _iterator, _step, _element, mapElements, _iterator2, _step2, element, names;
103
- return _regenerator["default"].wrap(function _callee2$(_context2) {
104
- while (1) switch (_context2.prev = _context2.next) {
105
- case 0:
106
- anyChanges = true;
107
- _iterator = _createForOfIteratorHelper(excludedPackages);
108
- try {
109
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
110
- _element = _step.value;
111
- packagesToLink["delete"](_element);
112
- }
113
- } catch (err) {
114
- _iterator.e(err);
115
- } finally {
116
- _iterator.f();
117
- }
118
- if (verbose) {
119
- console.log('Packages to link:');
120
- console.log(localPackageDependencies);
121
- }
122
- case 4:
123
- if (!(anyChanges && packagesToLink.size > 0)) {
124
- _context2.next = 37;
125
- break;
126
- }
127
- anyChanges = false;
128
- mapElements = localPackageDependencies.filter(function (x) {
129
- return x.dependencies.every(function (i) {
130
- return !packagesToLink.has(i);
131
- }) && packagesToLink.has(x.name) && !excludedPackages.includes(x.name);
132
- });
133
- if (!(mapElements.length === 0)) {
134
- _context2.next = 9;
135
- break;
136
- }
137
- return _context2.abrupt("break", 37);
138
- case 9:
139
- _iterator2 = _createForOfIteratorHelper(mapElements);
140
- _context2.prev = 10;
141
- _iterator2.s();
142
- case 12:
143
- if ((_step2 = _iterator2.n()).done) {
144
- _context2.next = 25;
145
- break;
146
- }
147
- element = _step2.value;
148
- if (verbose) console.log("Package ".concat(element.name, " linked"));
149
- _context2.next = 17;
150
- return (0, _utils.runScript)("npm install", element.packagePath);
151
- case 17:
152
- _context2.next = 19;
153
- return (0, _utils.runScript)("npm link ".concat(element.dependencies.join(' ')), element.packagePath);
154
- case 19:
155
- _context2.next = 21;
156
- return (0, _utils.runScript)("npm link", element.packagePath);
157
- case 21:
158
- packagesToLink["delete"](element.name);
159
- anyChanges = true;
160
- case 23:
161
- _context2.next = 12;
162
- break;
163
- case 25:
164
- _context2.next = 30;
165
- break;
166
- case 27:
167
- _context2.prev = 27;
168
- _context2.t0 = _context2["catch"](10);
169
- _iterator2.e(_context2.t0);
170
- case 30:
171
- _context2.prev = 30;
172
- _iterator2.f();
173
- return _context2.finish(30);
174
- case 33:
175
- if (!(anyChanges === false)) {
176
- _context2.next = 35;
177
- break;
178
- }
179
- throw new Error("There is loop with next packages: ".concat(JSON.stringify(Array.from(packagesToLink)).toString()));
180
- case 35:
181
- _context2.next = 4;
182
- break;
183
- case 37:
184
- names = localPackageDependencies.map(function (x) {
185
- return x.name;
186
- });
187
- _context2.next = 40;
188
- return (0, _utils.runScript)("npm install", curDir);
189
- case 40:
190
- _context2.next = 42;
191
- return (0, _utils.runScript)("npm link ".concat(names.join(' ')), curDir);
192
- case 42:
193
- case "end":
194
- return _context2.stop();
195
- }
196
- }, _callee2, null, [[10, 27, 30, 33]]);
197
- }));
198
- return _linkPackages.apply(this, arguments);
70
+ async function linkPackages() {
71
+ let anyChanges = true;
72
+ for (let element of excludedPackages) packagesToLink.delete(element);
73
+ if (verbose) {
74
+ console.log('Packages to link:');
75
+ console.log(localPackageDependencies);
76
+ }
77
+ while (anyChanges && packagesToLink.size > 0) {
78
+ anyChanges = false;
79
+ let mapElements = localPackageDependencies.filter(x => x.dependencies.every(i => !packagesToLink.has(i)) && packagesToLink.has(x.name) && !excludedPackages.includes(x.name));
80
+ if (mapElements.length === 0) break;
81
+ for (let element of mapElements) {
82
+ if (verbose) console.log(`Package ${element.name} linked`);
83
+ await (0, _utils.runScript)(`npm install`, element.packagePath);
84
+ await (0, _utils.runScript)(`npm link ${element.dependencies.join(' ')}`, element.packagePath);
85
+ await (0, _utils.runScript)(`npm link`, element.packagePath);
86
+ packagesToLink.delete(element.name);
87
+ anyChanges = true;
88
+ }
89
+ if (anyChanges === false) throw new Error(`There is loop with next packages: ${JSON.stringify(Array.from(packagesToLink)).toString()}`);
90
+ }
91
+ let names = localPackageDependencies.map(x => x.name);
92
+ await (0, _utils.runScript)(`npm install`, curDir);
93
+ await (0, _utils.runScript)(`npm link ${names.join(' ')}`, curDir);
199
94
  }
200
- var PackageData = /*#__PURE__*/(0, _createClass2["default"])(function PackageData(name, packagePath) {
201
- (0, _classCallCheck2["default"])(this, PackageData);
202
- (0, _defineProperty2["default"])(this, "name", void 0);
203
- (0, _defineProperty2["default"])(this, "packagePath", void 0);
204
- (0, _defineProperty2["default"])(this, "dependencies", []);
205
- this.name = name;
206
- this.packagePath = packagePath;
207
- this.dependencies = collectPackagesData(packagePath);
208
- });
95
+ class PackageData {
96
+ dependencies = [];
97
+ constructor(name, packagePath) {
98
+ this.name = name;
99
+ this.packagePath = packagePath;
100
+ this.dependencies = collectPackagesData(packagePath);
101
+ }
102
+ }