propagate-cli 1.9.8 → 1.9.13

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.
@@ -17,20 +17,26 @@ function createSubDirectoryMapOperation(proceed, abort, context) {
17
17
  ];
18
18
 
19
19
  directoryNames.forEach((directoryName) => {
20
- const absoluteDirectoryPath = absolutePathFromName(directoryName),
21
- entryNames = readDirectory(absoluteDirectoryPath);
22
-
23
- entryNames.forEach((entryName) => {
24
- const entryPath = `${directoryName}/${entryName}`,
25
- entryDirectory = isEntryDirectory(entryPath);
26
-
27
- if (entryDirectory) {
28
- const subDirectoryName = entryName, ///
29
- subDirectoryPath = entryPath; ///
30
-
31
- subDirectoryMap[subDirectoryName] = subDirectoryPath;
32
- }
33
- });
20
+ try {
21
+ const absoluteDirectoryPath = absolutePathFromName(directoryName),
22
+ entryNames = readDirectory(absoluteDirectoryPath);
23
+
24
+ entryNames.forEach((entryName) => {
25
+ const entryPath = `${directoryName}/${entryName}`,
26
+ entryDirectory = isEntryDirectory(entryPath);
27
+
28
+ if (entryDirectory) {
29
+ const subDirectoryName = entryName, ///
30
+ subDirectoryPath = entryPath; ///
31
+
32
+ subDirectoryMap[subDirectoryName] = subDirectoryPath;
33
+ }
34
+ });
35
+ } catch (error) {
36
+ console.log(`The '${directoryName}' directory cannot be read.`);
37
+
38
+ process.exit(1);
39
+ }
34
40
  });
35
41
 
36
42
  Object.assign(context, {
@@ -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
- const release = dependentRelease; ///
57
+ const release = dependentRelease; ///
59
58
 
60
- propagateDependencies(release, releases, releaseMap, releaseGraph, subDirectoryMap, forcedDependencyRelations);
59
+ propagateDependencies(release, releases, releaseMap, releaseGraph, subDirectoryMap, forcedDependencyRelations);
60
+ }
61
61
  });
62
62
  }
63
63
  }
@@ -90,3 +90,10 @@ function propagateDevDependencies(releases, releaseMap, releaseGraph) {
90
90
  }
91
91
  });
92
92
  }
93
+
94
+ /*
95
+ occam-grammars
96
+ occam-custom-grammars
97
+ occam-documents
98
+ occam-verifier
99
+ */
@@ -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.8",
4
+ "version": "1.9.13",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/propagate-cli",
7
7
  "description": "Propagate updated packages throughout a project.",
@@ -14,8 +14,8 @@
14
14
  },
15
15
  "dependencies": {
16
16
  "argumentative": "^2.0.15",
17
- "necessary": "^10.0.7",
18
- "occam-directed-graphs": "^3.0.17"
17
+ "necessary": "^11.0.1",
18
+ "occam-directed-graphs": "^3.0.23"
19
19
  },
20
20
  "devDependencies": {},
21
21
  "scripts": {}