zarro 1.189.0 โ†’ 1.190.1

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.
@@ -21,6 +21,12 @@
21
21
  const Version = requireModule("version");
22
22
  const SystemError = requireModule("system-error");
23
23
  const cache = requireModule("cache");
24
+ const cacheTTLEnvVar = "NUGET_HTTP_CACHE_TTL";
25
+ env.register({
26
+ name: cacheTTLEnvVar,
27
+ default: "300",
28
+ help: "The amount of time, in seconds, to cache nuget query results for (whilst the app is running)"
29
+ });
24
30
  const emojiLabels = {
25
31
  testing: `๐Ÿงช Testing`,
26
32
  packing: `๐Ÿ“ฆ Packing`,
@@ -819,8 +825,7 @@ WARNING: 'dotnet pack' ignores --version-suffix when a nuspec file is provided.
819
825
  if (opts.skipCache) {
820
826
  return await searchPackagesUncached(opts);
821
827
  }
822
- return await cache.through(JSON.stringify(opts), async () => await searchPackagesUncached(opts), 60 // cache for a minute
823
- );
828
+ return await cache.through(JSON.stringify(opts), async () => await searchPackagesUncached(opts), env.resolveNumber(cacheTTLEnvVar));
824
829
  }
825
830
  async function searchPackagesUncached(opts) {
826
831
  var _a;
package/index.js CHANGED
@@ -12,7 +12,8 @@ const
12
12
  readTextFile,
13
13
  fileExists,
14
14
  readTextFileLines,
15
- writeTextFile
15
+ writeTextFile,
16
+ rm
16
17
  } = require("yafs"),
17
18
  log = require("./gulp-tasks/modules/log"),
18
19
  path = require("path"),
@@ -261,74 +262,6 @@ function importTypeScript() {
261
262
  }
262
263
 
263
264
 
264
- async function transpileTasksUnder_(folder) {
265
- const toTranspile = [];
266
- const fullPath = path.isAbsolute(folder)
267
- ? folder
268
- : path.join(process.cwd(), folder);
269
- const contents = await ls(fullPath, {
270
- recurse: false,
271
- entities: FsEntities.files,
272
- match: /\.ts$/,
273
- fullPaths: true
274
- });
275
- for (const item of contents) {
276
- toTranspile.push(item);
277
- }
278
-
279
- if (toTranspile.length === 0) {
280
- debug(`no typescript modules found; skipping transpile phase.`);
281
- return;
282
- }
283
-
284
- importTypeScript();
285
-
286
- try {
287
- const
288
- { ExecStepContext } = require("exec-step"),
289
- ctx = new ExecStepContext(),
290
- { transpileModule, ModuleKind } = require("typescript");
291
- for (const src of toTranspile) {
292
- const test = src.replace(/\.ts$/, ".js");
293
- if (await fileExists(test)) {
294
- // assume this is a compilation handled elsewhere
295
- continue;
296
- }
297
- const output = src.replace(/\.ts$/, ".generated.js");
298
- if (await fileExists(output)) {
299
- const srcStat = await stat(src);
300
- const outStat = await stat(output);
301
-
302
- const srcLastModified = srcStat.mtime.getTime();
303
- const outLastModified = outStat.mtime.getTime();
304
-
305
-
306
- if (srcLastModified <= outLastModified) {
307
- debug(`${ output } modified after ${ src }; skipping transpile`);
308
- continue;
309
- }
310
- debug(`will transpile: ${ src }`);
311
- }
312
- await ctx.exec(
313
- `transpiling ${ src }`,
314
- async () => {
315
- const contents = await readTextFile(src);
316
- const transpiled = transpileModule(contents, {
317
- compilerOptions: {
318
- esModuleInterop: true,
319
- module: ModuleKind.CommonJS,
320
- target: "es2017"
321
- }
322
- }).outputText;
323
- await writeTextFile(output, transpiled);
324
- }
325
- );
326
- }
327
- } catch (e) {
328
- log.error(`one or more typescript modules could not be transpiled:\n${ e }`);
329
- }
330
- }
331
-
332
265
  const timestampMatcher = /\[\d\d:\d\d:\d\d]/;
333
266
 
334
267
  function patchConsoleOutputToSuppressIntermediateTasks() {
@@ -393,6 +326,43 @@ function looksLikeAnonymousTaskMessage(str) {
393
326
  return anonymousPos > -1;
394
327
  }
395
328
 
329
+ async function removeOrphanedGeneratedFilesUnder(dir) {
330
+ const allFiles = await ls(dir, {
331
+ recurse: true,
332
+ entities: FsEntities.files,
333
+ fullPaths: true
334
+ });
335
+ const lookup = new Set(allFiles);
336
+ for (let i = 0; i < allFiles.length; i++) {
337
+ const current = allFiles[i];
338
+ if (current.match(/\.generated\.js$/)) {
339
+ const seek = current.replace(".generated", "");
340
+ if (!lookup.has(seek)) {
341
+ await rm(current);
342
+ }
343
+ }
344
+ }
345
+ }
346
+
347
+ async function removeOrphanedGeneratedFiles() {
348
+ await Promise.all([
349
+ removeOrphanedGeneratedFilesUnder("local-tasks"),
350
+ removeOrphanedGeneratedFilesUnder("override-tasks")
351
+ ]);
352
+ const externalTaskFolders = await ls(
353
+ "external-tasks", {
354
+ entities: FsEntities.folders,
355
+ recurse: false,
356
+ fullPaths: true
357
+ }
358
+ ),
359
+ promises = externalTaskFolders.map(
360
+ f => removeOrphanedGeneratedFilesUnder(f)
361
+ );
362
+ await Promise.all(promises);
363
+
364
+ }
365
+
396
366
  (async function () {
397
367
  patchConsoleOutputToSuppressIntermediateTasks();
398
368
  try {
@@ -418,7 +388,8 @@ function looksLikeAnonymousTaskMessage(str) {
418
388
  ]);
419
389
  await Promise.all([
420
390
  transpileLocalTaskModules(),
421
- transpileLocalTasks()
391
+ transpileLocalTasks(),
392
+ removeOrphanedGeneratedFiles()
422
393
  ]);
423
394
  const handler = await findHandlerFor(args);
424
395
  if (!handler) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zarro",
3
- "version": "1.189.0",
3
+ "version": "1.190.1",
4
4
  "description": "Some glue to make gulp easier, perhaps even zero- or close-to-zero-conf",
5
5
  "bin": {
6
6
  "zarro": "index.js"