propagate-cli 1.9.9 → 1.9.11
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/bin/operation/propagateRelease.js +3 -3
- package/bin/releaseGraph.js +53 -29
- package/package.json +2 -2
|
@@ -53,11 +53,11 @@ function propagateDependencies(release, releases, releaseMap, releaseGraph, subD
|
|
|
53
53
|
|
|
54
54
|
if (!dependencyRelationForced) {
|
|
55
55
|
dependentRelease.updateDependencyVersion(name, versionString);
|
|
56
|
-
}
|
|
57
56
|
|
|
58
|
-
|
|
57
|
+
const release = dependentRelease; ///
|
|
59
58
|
|
|
60
|
-
|
|
59
|
+
propagateDependencies(release, releases, releaseMap, releaseGraph, subDirectoryMap, forcedDependencyRelations);
|
|
60
|
+
}
|
|
61
61
|
});
|
|
62
62
|
}
|
|
63
63
|
}
|
package/bin/releaseGraph.js
CHANGED
|
@@ -98,9 +98,12 @@ class ReleaseGraph {
|
|
|
98
98
|
|
|
99
99
|
dependencyDirectedGraph.addVerticesByVertexNames(vertexNames);
|
|
100
100
|
|
|
101
|
+
devDependencyDirectedGraph.addVerticesByVertexNames(vertexNames);
|
|
102
|
+
|
|
101
103
|
subDirectoryPaths.forEach((subDirectoryPath) => {
|
|
102
104
|
const release = releaseMap.retrieveRelease(subDirectoryPath),
|
|
103
|
-
releaseDependencyNames = release.getDependencyNames()
|
|
105
|
+
releaseDependencyNames = release.getDependencyNames(),
|
|
106
|
+
releaseDevDependencyNames = release.getDevDependencyNames();
|
|
104
107
|
|
|
105
108
|
releaseDependencyNames.forEach((releaseDependencyName) => {
|
|
106
109
|
const releaseNamesIncludesReleaseDependencyName = releaseNames.includes(releaseDependencyName);
|
|
@@ -113,34 +116,6 @@ class ReleaseGraph {
|
|
|
113
116
|
dependencyDirectedGraph.addEdgeByVertexNames(sourceVertexName, targetVertexName);
|
|
114
117
|
}
|
|
115
118
|
});
|
|
116
|
-
});
|
|
117
|
-
|
|
118
|
-
forcedDependencyRelations.forEach((forcedDependencyRelation) => {
|
|
119
|
-
const { dependent } = forcedDependencyRelation,
|
|
120
|
-
subDirectoryName = dependent, //
|
|
121
|
-
subDirectoryPath = subDirectoryMap[subDirectoryName], ///
|
|
122
|
-
release = releaseMap.retrieveRelease(subDirectoryPath);
|
|
123
|
-
|
|
124
|
-
if (release !== null) {
|
|
125
|
-
const { dependency } = forcedDependencyRelation,
|
|
126
|
-
dependencySubDirectoryName = dependency, ///
|
|
127
|
-
dependencySubDirectoryPath = subDirectoryMap[dependencySubDirectoryName], ///
|
|
128
|
-
dependencyRelease = releaseMap.retrieveRelease(dependencySubDirectoryPath);
|
|
129
|
-
|
|
130
|
-
if (dependencyRelease) {
|
|
131
|
-
const sourceVertexName = dependencySubDirectoryPath, ///
|
|
132
|
-
targetVertexName = subDirectoryPath; ///
|
|
133
|
-
|
|
134
|
-
dependencyDirectedGraph.addEdgeByVertexNames(sourceVertexName, targetVertexName);
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
});
|
|
138
|
-
|
|
139
|
-
devDependencyDirectedGraph.addVerticesByVertexNames(vertexNames);
|
|
140
|
-
|
|
141
|
-
subDirectoryPaths.forEach((subDirectoryPath) => {
|
|
142
|
-
const release = releaseMap.retrieveRelease(subDirectoryPath),
|
|
143
|
-
releaseDevDependencyNames = release.getDevDependencyNames();
|
|
144
119
|
|
|
145
120
|
releaseDevDependencyNames.forEach((releaseDevDependencyName) => {
|
|
146
121
|
const releaseNamesIncludesReleaseDevDependencyName = releaseNames.includes(releaseDevDependencyName);
|
|
@@ -155,6 +130,55 @@ class ReleaseGraph {
|
|
|
155
130
|
});
|
|
156
131
|
});
|
|
157
132
|
|
|
133
|
+
forcedDependencyRelations.forEach((forcedDependencyRelation) => {
|
|
134
|
+
const { dependent } = forcedDependencyRelation,
|
|
135
|
+
dependentSubDirectoryName = dependent, //
|
|
136
|
+
dependentSubDirectoryPath = subDirectoryMap[dependentSubDirectoryName], ///
|
|
137
|
+
dependentRelease = releaseMap.retrieveRelease(dependentSubDirectoryPath);
|
|
138
|
+
|
|
139
|
+
if (dependentRelease === null) {
|
|
140
|
+
console.log(`The '${dependent}' forced dependent does not exist.`);
|
|
141
|
+
|
|
142
|
+
process.exit(1);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
const { dependency } = forcedDependencyRelation,
|
|
146
|
+
dependencySubDirectoryName = dependency, ///
|
|
147
|
+
dependencySubDirectoryPath = subDirectoryMap[dependencySubDirectoryName], ///
|
|
148
|
+
dependencyRelease = releaseMap.retrieveRelease(dependencySubDirectoryPath);
|
|
149
|
+
|
|
150
|
+
if (dependencyRelease === null) {
|
|
151
|
+
console.log(`The '${dependency}' forced dependency does not exist.`);
|
|
152
|
+
|
|
153
|
+
process.exit(1);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
const sourceVertexName = dependencySubDirectoryPath, ///
|
|
157
|
+
targetVertexName = dependentSubDirectoryPath; ///
|
|
158
|
+
|
|
159
|
+
const dependencyDirectedGraphEdgePresent = dependencyDirectedGraph.isEdgePresentByVertexNames(sourceVertexName, targetVertexName),
|
|
160
|
+
dependencyRelationPresent = dependencyDirectedGraphEdgePresent; ///
|
|
161
|
+
|
|
162
|
+
if (dependencyRelationPresent) {
|
|
163
|
+
console.log(`The '${dependency}' -> '${dependent}' dependency relation is present and therefore cannot be forced.`);
|
|
164
|
+
|
|
165
|
+
process.exit(1);
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
const devDependencyDirectedGraphEdgePresent = devDependencyDirectedGraph.isEdgePresentByVertexNames(sourceVertexName, targetVertexName),
|
|
169
|
+
devDependencyRelationPresent = devDependencyDirectedGraphEdgePresent; ///
|
|
170
|
+
|
|
171
|
+
if (!devDependencyRelationPresent) {
|
|
172
|
+
console.log(`The '${dependency}' -> '${dependent}' developer dependency relation is not present and therefore cannot be forced.`);
|
|
173
|
+
|
|
174
|
+
process.exit(1);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
if (dependencyRelease) {
|
|
178
|
+
dependencyDirectedGraph.addEdgeByVertexNames(sourceVertexName, targetVertexName);
|
|
179
|
+
}
|
|
180
|
+
});
|
|
181
|
+
|
|
158
182
|
const releaseGraph = new ReleaseGraph(dependencyDirectedGraph, devDependencyDirectedGraph);
|
|
159
183
|
|
|
160
184
|
return releaseGraph;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "propagate-cli",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "1.9.
|
|
4
|
+
"version": "1.9.11",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/propagate-cli",
|
|
7
7
|
"description": "Propagate updated packages throughout a project.",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"argumentative": "^2.0.15",
|
|
17
17
|
"necessary": "^10.0.7",
|
|
18
|
-
"occam-directed-graphs": "^3.0.
|
|
18
|
+
"occam-directed-graphs": "^3.0.23"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {},
|
|
21
21
|
"scripts": {}
|