@lage-run/cli 0.16.5 → 0.16.6
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/CHANGELOG.json +16 -1
- package/CHANGELOG.md +10 -2
- package/lib/commands/info/action.js +31 -6
- package/package.json +1 -1
package/CHANGELOG.json
CHANGED
|
@@ -2,7 +2,22 @@
|
|
|
2
2
|
"name": "@lage-run/cli",
|
|
3
3
|
"entries": [
|
|
4
4
|
{
|
|
5
|
-
"date": "
|
|
5
|
+
"date": "Mon, 26 Feb 2024 16:18:42 GMT",
|
|
6
|
+
"version": "0.16.6",
|
|
7
|
+
"tag": "@lage-run/cli_v0.16.6",
|
|
8
|
+
"comments": {
|
|
9
|
+
"patch": [
|
|
10
|
+
{
|
|
11
|
+
"author": "sverre.johansen@gmail.com",
|
|
12
|
+
"package": "@lage-run/cli",
|
|
13
|
+
"commit": "9346c9d5b06973485c23cd3269228f91b0d79cbb",
|
|
14
|
+
"comment": "Fix undefined dependencies in info output"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"date": "Thu, 21 Dec 2023 09:49:09 GMT",
|
|
6
21
|
"version": "0.16.5",
|
|
7
22
|
"tag": "@lage-run/cli_v0.16.5",
|
|
8
23
|
"comments": {
|
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
# Change Log - @lage-run/cli
|
|
2
2
|
|
|
3
|
-
This log was last generated on
|
|
3
|
+
This log was last generated on Mon, 26 Feb 2024 16:18:42 GMT and should not be manually modified.
|
|
4
4
|
|
|
5
5
|
<!-- Start content -->
|
|
6
6
|
|
|
7
|
+
## 0.16.6
|
|
8
|
+
|
|
9
|
+
Mon, 26 Feb 2024 16:18:42 GMT
|
|
10
|
+
|
|
11
|
+
### Patches
|
|
12
|
+
|
|
13
|
+
- Fix undefined dependencies in info output (sverre.johansen@gmail.com)
|
|
14
|
+
|
|
7
15
|
## 0.16.5
|
|
8
16
|
|
|
9
|
-
Thu, 21 Dec 2023 09:
|
|
17
|
+
Thu, 21 Dec 2023 09:49:09 GMT
|
|
10
18
|
|
|
11
19
|
### Patches
|
|
12
20
|
|
|
@@ -76,13 +76,12 @@ function prepareAndGetFilteredPackages(config, logger, root, options, packageInf
|
|
|
76
76
|
}
|
|
77
77
|
function processTargets(targets, packageInfos, config) {
|
|
78
78
|
const packageTasks = new Map(); // Initialize the map with the correct type
|
|
79
|
+
const dependenciesCache = new Map();
|
|
79
80
|
for (const target of targets.values()){
|
|
80
81
|
if (shouldSkipTarget(target, packageInfos)) {
|
|
81
82
|
continue;
|
|
82
83
|
}
|
|
83
|
-
const
|
|
84
|
-
target.dependencies.splice(startIdIndex, 1);
|
|
85
|
-
const packageTask = generatePackageTask(target, config);
|
|
84
|
+
const packageTask = generatePackageTask(target, targets, packageInfos, dependenciesCache, config);
|
|
86
85
|
if (packageTask) {
|
|
87
86
|
// Check if the packageTask is defined before accessing its properties
|
|
88
87
|
const packageName = packageTask.package;
|
|
@@ -94,22 +93,48 @@ function processTargets(targets, packageInfos, config) {
|
|
|
94
93
|
}
|
|
95
94
|
return packageTasks;
|
|
96
95
|
}
|
|
96
|
+
function isTargetNoop(target, packageInfos) {
|
|
97
|
+
return !packageInfos[target.packageName]?.scripts?.[target.task];
|
|
98
|
+
}
|
|
97
99
|
function shouldSkipTarget(target, packageInfos) {
|
|
98
|
-
return target.id === (0, _targetgraph.getStartTargetId)() ||
|
|
100
|
+
return target.id === (0, _targetgraph.getStartTargetId)() || isTargetNoop(target, packageInfos);
|
|
99
101
|
}
|
|
100
|
-
function generatePackageTask(target, config) {
|
|
102
|
+
function generatePackageTask(target, targets, packageInfos, dependenciesCache, config) {
|
|
101
103
|
const command = generateCommand(target, config);
|
|
102
104
|
const workingDirectory = getWorkingDirectory(target);
|
|
105
|
+
const dependenciesSet = resolveDependencies(target.dependencies, targets, packageInfos, dependenciesCache);
|
|
103
106
|
const packageTask = {
|
|
104
107
|
id: target.id,
|
|
105
108
|
command,
|
|
106
|
-
dependencies:
|
|
109
|
+
dependencies: [
|
|
110
|
+
...dependenciesSet
|
|
111
|
+
],
|
|
107
112
|
workingDirectory,
|
|
108
113
|
package: target.packageName,
|
|
109
114
|
task: target.task
|
|
110
115
|
};
|
|
111
116
|
return packageTask;
|
|
112
117
|
}
|
|
118
|
+
function resolveDependencies(dependencies, targets, packageInfos, dependenciesCache) {
|
|
119
|
+
const result = new Set();
|
|
120
|
+
for (const dependency of dependencies){
|
|
121
|
+
if (dependency === (0, _targetgraph.getStartTargetId)()) {
|
|
122
|
+
continue;
|
|
123
|
+
}
|
|
124
|
+
if (!dependenciesCache.has(dependency)) {
|
|
125
|
+
const dependencyTarget = targets.get(dependency);
|
|
126
|
+
if (isTargetNoop(dependencyTarget, packageInfos)) {
|
|
127
|
+
dependenciesCache.set(dependency, resolveDependencies(dependencyTarget.dependencies, targets, packageInfos, dependenciesCache));
|
|
128
|
+
} else {
|
|
129
|
+
dependenciesCache.set(dependency, new Set([
|
|
130
|
+
dependency
|
|
131
|
+
]));
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
dependenciesCache.get(dependency)?.forEach((dependency)=>result.add(dependency));
|
|
135
|
+
}
|
|
136
|
+
return result;
|
|
137
|
+
}
|
|
113
138
|
function generateCommand(target, config) {
|
|
114
139
|
const npmClient = config.npmClient ?? "npm";
|
|
115
140
|
const command = [
|