lincd-cli 0.2.24 → 0.2.25
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.
package/lib/cli-methods.js
CHANGED
|
@@ -323,12 +323,44 @@ function runOnPackagesGroupedByDependencies(lincdPackages, onBuildStack, onStack
|
|
|
323
323
|
})) {
|
|
324
324
|
stack.push(pkg);
|
|
325
325
|
}
|
|
326
|
-
// else if(!done.has(package))
|
|
327
|
-
// {
|
|
328
|
-
// console.log(chalk.red(package+' not yet'))
|
|
329
|
-
// console.log('UNMET DEPS: '+deps.filter(dependency => !done.has(dependency)).join(" "))
|
|
330
|
-
// }
|
|
331
326
|
});
|
|
327
|
+
if (stack.length <= 0 && done.size < lincdPackages.size) {
|
|
328
|
+
console.log(chalk_1["default"].red('Only ' + done.size + ' out of ' + lincdPackages.size + ' packages have been built'));
|
|
329
|
+
console.log('ALL remaining packages have dependencies that have not been met. This may point to ' + chalk_1["default"].red('circular dependencies.'));
|
|
330
|
+
console.log('Already built: ' + Array.from(done).map(function (p) { return chalk_1["default"].green(p.packageName); }).join(', '));
|
|
331
|
+
console.log(chalk_1["default"].blue('\nTo solve this issue') + ': find the circular dependencies below and fix the dependencies:\n\n');
|
|
332
|
+
//TODO: actually find and name the packages that have circular dependencies
|
|
333
|
+
// let circular = [];
|
|
334
|
+
// lincdPackages.forEach((pkg) => {
|
|
335
|
+
// if (!done.has(pkg))
|
|
336
|
+
// {
|
|
337
|
+
// let deps = dependencies.get(pkg);
|
|
338
|
+
// if (deps.some(dependency => {
|
|
339
|
+
// //return true if this dependency (indirectly) depends on the package whos' dependency it is
|
|
340
|
+
// return hasDependency(dependency,pkg,dependencies)
|
|
341
|
+
// }))
|
|
342
|
+
// {
|
|
343
|
+
// circular.push(pkg);
|
|
344
|
+
// }
|
|
345
|
+
// process.exit();
|
|
346
|
+
// }
|
|
347
|
+
// });
|
|
348
|
+
lincdPackages.forEach(function (pkg) {
|
|
349
|
+
var deps = dependencies.get(pkg);
|
|
350
|
+
if (!done.has(pkg)) {
|
|
351
|
+
console.log(chalk_1["default"].red(pkg.packageName) + ' has not been built yet. Unbuilt dependencies:\n' + deps.filter(function (dependency) {
|
|
352
|
+
return !Array.from(done).some(function (p) {
|
|
353
|
+
// console.log(p.packageName,dependency.packageName,p===dependency)
|
|
354
|
+
return p === dependency;
|
|
355
|
+
});
|
|
356
|
+
}).map(function (p) { return chalk_1["default"].red('\t- ' + p.packageName + '\n'); }).join(" "));
|
|
357
|
+
// console.log(chalk.red(pkg.packageName)+' has not been built yet. Built dependencies:\n' + deps.filter(dependency => {
|
|
358
|
+
// return Array.from(done).some(p => p.packageName === pkg.packageName)
|
|
359
|
+
// }).map(p => chalk.green('\t- '+p.packageName+'\n')).join(" "))
|
|
360
|
+
// console.log(chalk.red(pkg.packageName)+' has not been built yet. Built dependencies:\n' + deps.filter(dependency => done.has(pkg)).map(p => chalk.green('\t- '+p.packageName+'\n')).join(" "))
|
|
361
|
+
}
|
|
362
|
+
});
|
|
363
|
+
}
|
|
332
364
|
//if more to be built, iterate
|
|
333
365
|
if (stack.length > 0) {
|
|
334
366
|
return [2 /*return*/, runStack(stack)];
|
|
@@ -343,6 +375,23 @@ function runOnPackagesGroupedByDependencies(lincdPackages, onBuildStack, onStack
|
|
|
343
375
|
//starts the process
|
|
344
376
|
runStack(startStack);
|
|
345
377
|
}
|
|
378
|
+
function hasDependency(pkg, childPkg, dependencies, depth) {
|
|
379
|
+
if (depth === void 0) { depth = 1; }
|
|
380
|
+
console.log("Does " + pkg.packageName + " have dep " + childPkg.packageName + " ?");
|
|
381
|
+
var deps = dependencies.get(pkg);
|
|
382
|
+
if (deps.some(function (dependency) {
|
|
383
|
+
console.log(dependency.packageName, childPkg.packageName, dependency === childPkg);
|
|
384
|
+
if (depth === 2)
|
|
385
|
+
return false;
|
|
386
|
+
// return dependency === childPkg;
|
|
387
|
+
return dependency === childPkg || hasDependency(dependency, childPkg, dependencies, depth++);
|
|
388
|
+
})) {
|
|
389
|
+
console.log("##YES");
|
|
390
|
+
return true;
|
|
391
|
+
}
|
|
392
|
+
console.log("going up");
|
|
393
|
+
return false;
|
|
394
|
+
}
|
|
346
395
|
function buildAll(target, target2, target3) {
|
|
347
396
|
var _this = this;
|
|
348
397
|
console.log('Building all LINCD packages of this repository in order of dependencies');
|
|
@@ -1437,8 +1486,8 @@ var buildUpdated = function (back, target, target2, test) {
|
|
|
1437
1486
|
rebuildAllModules = false;
|
|
1438
1487
|
packagesLeft = packages.size;
|
|
1439
1488
|
runOnPackagesGroupedByDependencies(packages, function (packageGroup, dependencies) {
|
|
1440
|
-
|
|
1441
|
-
|
|
1489
|
+
debugInfo('Now checking: ' + chalk_1["default"].blue(packageGroup.map(function (i) { return i.packageName; })));
|
|
1490
|
+
debugInfo((packagesLeft) + " packages left.");
|
|
1442
1491
|
packagesLeft = packagesLeft - packageGroup.length;
|
|
1443
1492
|
return function (pkg) { return __awaiter(_this, void 0, void 0, function () {
|
|
1444
1493
|
var needRebuild;
|
|
@@ -1495,12 +1544,12 @@ var buildUpdated = function (back, target, target2, test) {
|
|
|
1495
1544
|
});
|
|
1496
1545
|
};
|
|
1497
1546
|
exports.buildUpdated = buildUpdated;
|
|
1498
|
-
var needsRebuilding = function (pkg,
|
|
1499
|
-
if (
|
|
1547
|
+
var needsRebuilding = function (pkg, log) {
|
|
1548
|
+
if (log === void 0) { log = false; }
|
|
1500
1549
|
var lastModifiedSource = getLastModifiedSourceTime(pkg.path);
|
|
1501
1550
|
var lastModifiedBundle = getLastBuildTime(pkg.path);
|
|
1502
1551
|
var result = lastModifiedSource.lastModifiedTime > lastModifiedBundle.lastModifiedTime;
|
|
1503
|
-
if (
|
|
1552
|
+
if (log) {
|
|
1504
1553
|
debugInfo(chalk_1["default"].cyan('Last modified source: ' +
|
|
1505
1554
|
lastModifiedSource.lastModifiedName +
|
|
1506
1555
|
' on ' +
|