enablement-build-monorepo-version 1.0.13 → 1.0.17

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.
Files changed (2) hide show
  1. package/index.mjs +76 -80
  2. package/package.json +4 -4
package/index.mjs CHANGED
@@ -119,6 +119,18 @@ async function main(options) {
119
119
  const scanlist = [];
120
120
  const changedFolders = [];
121
121
 
122
+ const changeConfig = path.join(options.prefixPath,options.hashFile);
123
+ let previous = {};
124
+
125
+ // make sure hash config file exits
126
+ if(!existsSync(changeConfig)) {
127
+ writeFileSync(changeConfig, "{}", "utf8");
128
+ }
129
+
130
+ // load previous hashes
131
+ let data = readFileSync(changeConfig, "utf8");
132
+ previous=JSON.parse(data);
133
+
122
134
  let children = options.children.replace(/\s/g,",");
123
135
  children.split(',').forEach((packageFolder)=>{
124
136
  scanlist.push(new Promise((resolve, reject) => {
@@ -137,99 +149,77 @@ async function main(options) {
137
149
  current[name]={hash:children[i].hash,...v};
138
150
  }
139
151
 
140
- const changeConfig = path.join(options.prefixPath,options.hashFile);
141
- let previous = {};
152
+ if(options.changed || options.version || options.tag) {
142
153
 
143
- // make sure hash config file exits
144
- if(!existsSync(changeConfig)) {
145
- writeFileSync(changeConfig, "{}", "utf8");
146
- }
147
-
148
- // load previous hashes
149
- readFile(changeConfig, "utf8", async (error, data) => {
150
- if (error) {
151
- console.log(error);
152
- reject(error);
153
- return;
154
+ let dependencies={};
155
+ if(options.dependencies) {
156
+ if(existsSync(options.dependencies)) {
157
+ dependencies = dependencyMap(options.dependencies);
158
+ if(options.debug) console.log('Loaded dependencies\n',JSON.stringify(dependencies));
159
+ } else {
160
+ console.log('\x1b[33m%s\x1b[0m', `Could not load dependency file ${options.dependencies}`);
161
+ }
154
162
  }
155
- previous=JSON.parse(data);
156
163
 
157
- if(options.changed || options.version || options.tag) {
164
+ let results = await compare(packageFolder, previous,current,dependencies,options);
165
+ if(options.debug) console.log("COMPARE",JSON.stringify(results));
158
166
 
159
- let dependencies={};
160
- if(options.dependencies) {
161
- if(existsSync(options.dependencies)) {
162
- dependencies = dependencyMap(options.dependencies);
163
- if(options.debug) console.log('Loaded dependencies\n',JSON.stringify(dependencies));
164
- } else {
165
- console.log('\x1b[33m%s\x1b[0m', `Could not load dependency file ${options.dependencies}`);
166
- }
167
+ for(let i=0;i<results.length;i++) {
168
+ if(results[i].value.changed) {
169
+ changeList.push(results[i].value.name);
170
+ if(changedFolders.indexOf(results[i].value.packageFolder)<0) changedFolders.push(results[i].value.packageFolder);
167
171
  }
172
+ }
168
173
 
169
- let results = await compare(packageFolder, previous,current,dependencies,options);
170
- if(options.debug) console.log("COMPARE",JSON.stringify(results));
171
-
172
- for(let i=0;i<results.length;i++) {
174
+ for(let i=0;i<results.length;i++) {
175
+ if(results[i].value.packageFolder!==packageFolder) continue;
176
+ if(options.version) {
177
+ if(options.debug) console.log(results[i]);
178
+ let safeName = results[i].value.name;
179
+ safeName = safeName.replace(/-/g, '').replace(/_/g, '').replace(/\./g, '');
173
180
  if(results[i].value.changed) {
174
- changeList.push(results[i].value.name);
175
- if(changedFolders.indexOf(results[i].value.packageFolder)<0) changedFolders.push(results[i].value.packageFolder);
181
+ console.log(`##vso[task.setvariable variable=${safeName};isoutput=true;]${results[i].value.version}`);
182
+ if(options.saveVersion) {
183
+ scanlist.push(updateVersion(packageFolder,results[i].value.name,results[i].value.version));
184
+ }
185
+ } else {
186
+ console.log(`##vso[task.setvariable variable=${safeName};isoutput=true;]${results[i].value.previous}`);
176
187
  }
177
188
  }
178
-
179
- for(let i=0;i<results.length;i++) {
180
- if(results[i].value.packageFolder!==packageFolder) continue;
181
- if(options.version) {
182
- if(options.debug) console.log(results[i]);
183
- let safeName = results[i].value.name;
184
- safeName = safeName.replace(/-/g, '').replace(/_/g, '').replace(/\./g, '');
185
- if(results[i].value.changed) {
186
- console.log(`##vso[task.setvariable variable=${safeName};isoutput=true;]${results[i].value.version}`);
187
- if(options.saveVersion) {
188
- scanlist.push(updateVersion(packageFolder,results[i].value.name,results[i].value.version));
189
+ if(options.tag) {
190
+ scanlist.push(new Promise((resolve,reject)=>{
191
+ let v = results[i].value.version;
192
+ if(!v) v=getCurrentVersion(options.prefixPath,packageFolder,results[i].value.name)?.version;
193
+ let rev=results[i].value.name+'@'+v;
194
+ v=results[i].value.name+'/'+v;
195
+ exec(`git describe --tags ${v}`, (err, tag, stderr) => {
196
+ if (err) {
197
+ exec(`git tag ${v} -m "${rev}"`, (err, tag, stderr) => {
198
+ if (err) {
199
+ reject(err);
200
+ return;
201
+ }
202
+ resolve(rev);
203
+ });
204
+ return;
189
205
  }
190
- } else {
191
- console.log(`##vso[task.setvariable variable=${safeName};isoutput=true;]${results[i].value.previous}`);
192
- }
193
- }
194
- if(options.tag) {
195
- scanlist.push(new Promise((resolve,reject)=>{
196
- let v = results[i].value.version;
197
- if(!v) v=getCurrentVersion(options.prefixPath,packageFolder,results[i].value.name)?.version;
198
- let rev=results[i].value.name+'@'+v;
199
- v=results[i].value.name+'/'+v;
200
- exec(`git describe --tags ${v}`, (err, tag, stderr) => {
201
- if (err) {
202
- exec(`git tag ${v} -m "${rev}"`, (err, tag, stderr) => {
203
- if (err) {
204
- reject(err);
205
- return;
206
- }
207
- resolve(rev);
208
- });
209
- return;
210
- }
211
- });
212
- }));
213
- }
206
+ });
207
+ }));
214
208
  }
215
209
  }
210
+ }
216
211
 
217
- // write current hashes
218
- if(options.hash) {
219
- let names = Object.keys(current);
220
- for(let i=0;i<names.length;i++) {
221
- if(current[names[i]].packageFolder!==packageFolder) continue;
222
- let v = getCurrentVersion(options.prefixPath,packageFolder,names[i]);
223
- current[names[i]].version = v.version;
224
- current[names[i]].fullName = v.fullName;
225
- }
226
-
227
- writeFileSync(changeConfig, JSON.stringify(current, null, 2), "utf8");
228
- console.log('folder hashes written successfully');
212
+ // save current hashes
213
+ if(options.hash) {
214
+ let names = Object.keys(current);
215
+ for(let i=0;i<names.length;i++) {
216
+ if(current[names[i]].packageFolder!==packageFolder) continue;
217
+ let v = getCurrentVersion(options.prefixPath,packageFolder,names[i]);
218
+ current[names[i]].version = v.version;
219
+ current[names[i]].fullName = v.fullName;
229
220
  }
230
-
231
- resolve("OK");
232
- });
221
+ }
222
+ resolve("OK");
233
223
  })
234
224
  .catch(error => {
235
225
  return console.error('hashing failed:', error);
@@ -249,6 +239,13 @@ async function main(options) {
249
239
  });
250
240
  }
251
241
  }
242
+
243
+ // write current hashes
244
+ if(options.hash) {
245
+ writeFileSync(changeConfig, JSON.stringify(current, null, 2), "utf8");
246
+ console.log('folder hashes written successfully');
247
+ }
248
+
252
249
  mainResolve("DONE");
253
250
  },mainreject);
254
251
  });
@@ -306,7 +303,6 @@ if (process.argv.length === 2) {
306
303
  const text = await main(options);
307
304
  console.log(text);
308
305
  } catch (e) {
309
- console.log("KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK")
310
306
  console.log(e);
311
307
  process.exit(1);
312
308
  }
package/package.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "enablement-build-monorepo-version",
3
- "version": "1.0.13",
3
+ "version": "1.0.17",
4
4
  "description": "This detects changes in the children packages of a monorepo.",
5
5
  "type": "module",
6
6
  "module": "./index.mjs",
7
7
  "bin": "./index.mjs",
8
8
  "license": "MIT",
9
9
  "author": "Chris Doty",
10
- "dependencies": {
11
- "minimatch": "~5.1.2"
12
- },
13
10
  "scripts": {
14
11
  "start": "node index.mjs"
12
+ },
13
+ "dependencies": {
14
+ "minimatch": "~5.1.2"
15
15
  }
16
16
  }