@andersbakken/fisk 4.0.29 → 4.0.31

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.
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  'use strict';
3
3
 
4
- var fs$p = require('fs');
4
+ var fs$o = require('fs');
5
5
  var assert$1 = require('assert');
6
6
  var require$$0$3 = require('constants');
7
7
  var require$$0$4 = require('stream');
8
8
  var require$$4$1 = require('util');
9
- var path$l = require('path');
9
+ var path$k = require('path');
10
10
  var require$$1$1 = require('os');
11
11
  var child_process = require('child_process');
12
12
  var require$$0$5 = require('events');
@@ -26,12 +26,12 @@ var posix = require('posix');
26
26
 
27
27
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
28
28
 
29
- var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs$p);
29
+ var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs$o);
30
30
  var assert__default = /*#__PURE__*/_interopDefaultLegacy(assert$1);
31
31
  var require$$0__default = /*#__PURE__*/_interopDefaultLegacy(require$$0$3);
32
32
  var require$$0__default$1 = /*#__PURE__*/_interopDefaultLegacy(require$$0$4);
33
33
  var require$$4__default = /*#__PURE__*/_interopDefaultLegacy(require$$4$1);
34
- var path__default = /*#__PURE__*/_interopDefaultLegacy(path$l);
34
+ var path__default = /*#__PURE__*/_interopDefaultLegacy(path$k);
35
35
  var require$$1__default = /*#__PURE__*/_interopDefaultLegacy(require$$1$1);
36
36
  var child_process__default = /*#__PURE__*/_interopDefaultLegacy(child_process);
37
37
  var require$$0__default$2 = /*#__PURE__*/_interopDefaultLegacy(require$$0$5);
@@ -231,7 +231,7 @@ var lib$3 = {
231
231
  set exports(v){ libExports$1 = v; },
232
232
  };
233
233
 
234
- var fs$o = {};
234
+ var fs$n = {};
235
235
 
236
236
  var universalify = {};
237
237
 
@@ -756,7 +756,7 @@ function clone$1 (obj) {
756
756
  return copy
757
757
  }
758
758
 
759
- var fs$n = fs__default["default"];
759
+ var fs$m = fs__default["default"];
760
760
  var polyfills = polyfills$1;
761
761
  var legacy = legacyStreams;
762
762
  var clone = clone_1;
@@ -798,18 +798,18 @@ else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || ''))
798
798
  };
799
799
 
800
800
  // Once time initialization
801
- if (!fs$n[gracefulQueue]) {
801
+ if (!fs$m[gracefulQueue]) {
802
802
  // This queue can be shared by multiple loaded instances
803
803
  var queue = commonjsGlobal[gracefulQueue] || [];
804
- publishQueue(fs$n, queue);
804
+ publishQueue(fs$m, queue);
805
805
 
806
806
  // Patch fs.close/closeSync to shared queue version, because we need
807
807
  // to retry() whenever a close happens *anywhere* in the program.
808
808
  // This is essential when multiple graceful-fs instances are
809
809
  // in play at the same time.
810
- fs$n.close = (function (fs$close) {
810
+ fs$m.close = (function (fs$close) {
811
811
  function close (fd, cb) {
812
- return fs$close.call(fs$n, fd, function (err) {
812
+ return fs$close.call(fs$m, fd, function (err) {
813
813
  // This function uses the graceful-fs shared queue
814
814
  if (!err) {
815
815
  resetQueue();
@@ -824,12 +824,12 @@ if (!fs$n[gracefulQueue]) {
824
824
  value: fs$close
825
825
  });
826
826
  return close
827
- })(fs$n.close);
827
+ })(fs$m.close);
828
828
 
829
- fs$n.closeSync = (function (fs$closeSync) {
829
+ fs$m.closeSync = (function (fs$closeSync) {
830
830
  function closeSync (fd) {
831
831
  // This function uses the graceful-fs shared queue
832
- fs$closeSync.apply(fs$n, arguments);
832
+ fs$closeSync.apply(fs$m, arguments);
833
833
  resetQueue();
834
834
  }
835
835
 
@@ -837,24 +837,24 @@ if (!fs$n[gracefulQueue]) {
837
837
  value: fs$closeSync
838
838
  });
839
839
  return closeSync
840
- })(fs$n.closeSync);
840
+ })(fs$m.closeSync);
841
841
 
842
842
  if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || '')) {
843
843
  process.on('exit', function() {
844
- debug$7(fs$n[gracefulQueue]);
845
- assert__default["default"].equal(fs$n[gracefulQueue].length, 0);
844
+ debug$7(fs$m[gracefulQueue]);
845
+ assert__default["default"].equal(fs$m[gracefulQueue].length, 0);
846
846
  });
847
847
  }
848
848
  }
849
849
 
850
850
  if (!commonjsGlobal[gracefulQueue]) {
851
- publishQueue(commonjsGlobal, fs$n[gracefulQueue]);
851
+ publishQueue(commonjsGlobal, fs$m[gracefulQueue]);
852
852
  }
853
853
 
854
- var gracefulFs = patch(clone(fs$n));
855
- if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs$n.__patched) {
856
- gracefulFs = patch(fs$n);
857
- fs$n.__patched = true;
854
+ var gracefulFs = patch(clone(fs$m));
855
+ if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs$m.__patched) {
856
+ gracefulFs = patch(fs$m);
857
+ fs$m.__patched = true;
858
858
  }
859
859
 
860
860
  function patch (fs) {
@@ -1128,7 +1128,7 @@ function patch (fs) {
1128
1128
 
1129
1129
  function enqueue (elem) {
1130
1130
  debug$7('ENQUEUE', elem[0].name, elem[1]);
1131
- fs$n[gracefulQueue].push(elem);
1131
+ fs$m[gracefulQueue].push(elem);
1132
1132
  retry();
1133
1133
  }
1134
1134
 
@@ -1140,12 +1140,12 @@ var retryTimer;
1140
1140
  // delay between attempts so that we'll retry these jobs sooner
1141
1141
  function resetQueue () {
1142
1142
  var now = Date.now();
1143
- for (var i = 0; i < fs$n[gracefulQueue].length; ++i) {
1143
+ for (var i = 0; i < fs$m[gracefulQueue].length; ++i) {
1144
1144
  // entries that are only a length of 2 are from an older version, don't
1145
1145
  // bother modifying those since they'll be retried anyway.
1146
- if (fs$n[gracefulQueue][i].length > 2) {
1147
- fs$n[gracefulQueue][i][3] = now; // startTime
1148
- fs$n[gracefulQueue][i][4] = now; // lastTime
1146
+ if (fs$m[gracefulQueue][i].length > 2) {
1147
+ fs$m[gracefulQueue][i][3] = now; // startTime
1148
+ fs$m[gracefulQueue][i][4] = now; // lastTime
1149
1149
  }
1150
1150
  }
1151
1151
  // call retry to make sure we're actively processing the queue
@@ -1157,10 +1157,10 @@ function retry () {
1157
1157
  clearTimeout(retryTimer);
1158
1158
  retryTimer = undefined;
1159
1159
 
1160
- if (fs$n[gracefulQueue].length === 0)
1160
+ if (fs$m[gracefulQueue].length === 0)
1161
1161
  return
1162
1162
 
1163
- var elem = fs$n[gracefulQueue].shift();
1163
+ var elem = fs$m[gracefulQueue].shift();
1164
1164
  var fn = elem[0];
1165
1165
  var args = elem[1];
1166
1166
  // these items may be unset if they were added by an older graceful-fs
@@ -1195,7 +1195,7 @@ function retry () {
1195
1195
  } else {
1196
1196
  // if we can't do this job yet, push it to the end of the queue
1197
1197
  // and let the next iteration check again
1198
- fs$n[gracefulQueue].push(elem);
1198
+ fs$m[gracefulQueue].push(elem);
1199
1199
  }
1200
1200
  }
1201
1201
 
@@ -1308,13 +1308,13 @@ function retry () {
1308
1308
  });
1309
1309
  })
1310
1310
  };
1311
- } (fs$o));
1311
+ } (fs$n));
1312
1312
 
1313
- const path$k = path__default["default"];
1313
+ const path$j = path__default["default"];
1314
1314
 
1315
1315
  // get drive on windows
1316
1316
  function getRootPath (p) {
1317
- p = path$k.normalize(path$k.resolve(p)).split(path$k.sep);
1317
+ p = path$j.normalize(path$j.resolve(p)).split(path$j.sep);
1318
1318
  if (p.length > 0) return p[0]
1319
1319
  return null
1320
1320
  }
@@ -1334,8 +1334,8 @@ var win32 = {
1334
1334
  invalidWin32Path: invalidWin32Path$2
1335
1335
  };
1336
1336
 
1337
- const fs$m = gracefulFs;
1338
- const path$j = path__default["default"];
1337
+ const fs$l = gracefulFs;
1338
+ const path$i = path__default["default"];
1339
1339
  const invalidWin32Path$1 = win32.invalidWin32Path;
1340
1340
 
1341
1341
  const o777$1 = parseInt('0777', 8);
@@ -1355,7 +1355,7 @@ function mkdirs$2 (p, opts, callback, made) {
1355
1355
  }
1356
1356
 
1357
1357
  let mode = opts.mode;
1358
- const xfs = opts.fs || fs$m;
1358
+ const xfs = opts.fs || fs$l;
1359
1359
 
1360
1360
  if (mode === undefined) {
1361
1361
  mode = o777$1 & (~process.umask());
@@ -1363,7 +1363,7 @@ function mkdirs$2 (p, opts, callback, made) {
1363
1363
  if (!made) made = null;
1364
1364
 
1365
1365
  callback = callback || function () {};
1366
- p = path$j.resolve(p);
1366
+ p = path$i.resolve(p);
1367
1367
 
1368
1368
  xfs.mkdir(p, mode, er => {
1369
1369
  if (!er) {
@@ -1372,8 +1372,8 @@ function mkdirs$2 (p, opts, callback, made) {
1372
1372
  }
1373
1373
  switch (er.code) {
1374
1374
  case 'ENOENT':
1375
- if (path$j.dirname(p) === p) return callback(er)
1376
- mkdirs$2(path$j.dirname(p), opts, (er, made) => {
1375
+ if (path$i.dirname(p) === p) return callback(er)
1376
+ mkdirs$2(path$i.dirname(p), opts, (er, made) => {
1377
1377
  if (er) callback(er, made);
1378
1378
  else mkdirs$2(p, opts, callback, made);
1379
1379
  });
@@ -1396,8 +1396,8 @@ function mkdirs$2 (p, opts, callback, made) {
1396
1396
 
1397
1397
  var mkdirs_1$1 = mkdirs$2;
1398
1398
 
1399
- const fs$l = gracefulFs;
1400
- const path$i = path__default["default"];
1399
+ const fs$k = gracefulFs;
1400
+ const path$h = path__default["default"];
1401
1401
  const invalidWin32Path = win32.invalidWin32Path;
1402
1402
 
1403
1403
  const o777 = parseInt('0777', 8);
@@ -1408,7 +1408,7 @@ function mkdirsSync$2 (p, opts, made) {
1408
1408
  }
1409
1409
 
1410
1410
  let mode = opts.mode;
1411
- const xfs = opts.fs || fs$l;
1411
+ const xfs = opts.fs || fs$k;
1412
1412
 
1413
1413
  if (process.platform === 'win32' && invalidWin32Path(p)) {
1414
1414
  const errInval = new Error(p + ' contains invalid WIN32 path characters.');
@@ -1421,15 +1421,15 @@ function mkdirsSync$2 (p, opts, made) {
1421
1421
  }
1422
1422
  if (!made) made = null;
1423
1423
 
1424
- p = path$i.resolve(p);
1424
+ p = path$h.resolve(p);
1425
1425
 
1426
1426
  try {
1427
1427
  xfs.mkdirSync(p, mode);
1428
1428
  made = made || p;
1429
1429
  } catch (err0) {
1430
1430
  if (err0.code === 'ENOENT') {
1431
- if (path$i.dirname(p) === p) throw err0
1432
- made = mkdirsSync$2(path$i.dirname(p), opts, made);
1431
+ if (path$h.dirname(p) === p) throw err0
1432
+ made = mkdirsSync$2(path$h.dirname(p), opts, made);
1433
1433
  mkdirsSync$2(p, opts, made);
1434
1434
  } else {
1435
1435
  // In the case of any other error, just see if there's a dir there
@@ -1463,39 +1463,39 @@ var mkdirs_1 = {
1463
1463
  ensureDirSync: mkdirsSync$1
1464
1464
  };
1465
1465
 
1466
- const fs$k = gracefulFs;
1466
+ const fs$j = gracefulFs;
1467
1467
  const os = require$$1__default["default"];
1468
- const path$h = path__default["default"];
1468
+ const path$g = path__default["default"];
1469
1469
 
1470
1470
  // HFS, ext{2,3}, FAT do not, Node.js v0.10 does not
1471
1471
  function hasMillisResSync () {
1472
- let tmpfile = path$h.join('millis-test-sync' + Date.now().toString() + Math.random().toString().slice(2));
1473
- tmpfile = path$h.join(os.tmpdir(), tmpfile);
1472
+ let tmpfile = path$g.join('millis-test-sync' + Date.now().toString() + Math.random().toString().slice(2));
1473
+ tmpfile = path$g.join(os.tmpdir(), tmpfile);
1474
1474
 
1475
1475
  // 550 millis past UNIX epoch
1476
1476
  const d = new Date(1435410243862);
1477
- fs$k.writeFileSync(tmpfile, 'https://github.com/jprichardson/node-fs-extra/pull/141');
1478
- const fd = fs$k.openSync(tmpfile, 'r+');
1479
- fs$k.futimesSync(fd, d, d);
1480
- fs$k.closeSync(fd);
1481
- return fs$k.statSync(tmpfile).mtime > 1435410243000
1477
+ fs$j.writeFileSync(tmpfile, 'https://github.com/jprichardson/node-fs-extra/pull/141');
1478
+ const fd = fs$j.openSync(tmpfile, 'r+');
1479
+ fs$j.futimesSync(fd, d, d);
1480
+ fs$j.closeSync(fd);
1481
+ return fs$j.statSync(tmpfile).mtime > 1435410243000
1482
1482
  }
1483
1483
 
1484
1484
  function hasMillisRes (callback) {
1485
- let tmpfile = path$h.join('millis-test' + Date.now().toString() + Math.random().toString().slice(2));
1486
- tmpfile = path$h.join(os.tmpdir(), tmpfile);
1485
+ let tmpfile = path$g.join('millis-test' + Date.now().toString() + Math.random().toString().slice(2));
1486
+ tmpfile = path$g.join(os.tmpdir(), tmpfile);
1487
1487
 
1488
1488
  // 550 millis past UNIX epoch
1489
1489
  const d = new Date(1435410243862);
1490
- fs$k.writeFile(tmpfile, 'https://github.com/jprichardson/node-fs-extra/pull/141', err => {
1490
+ fs$j.writeFile(tmpfile, 'https://github.com/jprichardson/node-fs-extra/pull/141', err => {
1491
1491
  if (err) return callback(err)
1492
- fs$k.open(tmpfile, 'r+', (err, fd) => {
1492
+ fs$j.open(tmpfile, 'r+', (err, fd) => {
1493
1493
  if (err) return callback(err)
1494
- fs$k.futimes(fd, d, d, err => {
1494
+ fs$j.futimes(fd, d, d, err => {
1495
1495
  if (err) return callback(err)
1496
- fs$k.close(fd, err => {
1496
+ fs$j.close(fd, err => {
1497
1497
  if (err) return callback(err)
1498
- fs$k.stat(tmpfile, (err, stats) => {
1498
+ fs$j.stat(tmpfile, (err, stats) => {
1499
1499
  if (err) return callback(err)
1500
1500
  callback(null, stats.mtime > 1435410243000);
1501
1501
  });
@@ -1517,10 +1517,10 @@ function timeRemoveMillis (timestamp) {
1517
1517
 
1518
1518
  function utimesMillis (path, atime, mtime, callback) {
1519
1519
  // if (!HAS_MILLIS_RES) return fs.utimes(path, atime, mtime, callback)
1520
- fs$k.open(path, 'r+', (err, fd) => {
1520
+ fs$j.open(path, 'r+', (err, fd) => {
1521
1521
  if (err) return callback(err)
1522
- fs$k.futimes(fd, atime, mtime, futimesErr => {
1523
- fs$k.close(fd, closeErr => {
1522
+ fs$j.futimes(fd, atime, mtime, futimesErr => {
1523
+ fs$j.close(fd, closeErr => {
1524
1524
  if (callback) callback(futimesErr || closeErr);
1525
1525
  });
1526
1526
  });
@@ -1528,9 +1528,9 @@ function utimesMillis (path, atime, mtime, callback) {
1528
1528
  }
1529
1529
 
1530
1530
  function utimesMillisSync (path, atime, mtime) {
1531
- const fd = fs$k.openSync(path, 'r+');
1532
- fs$k.futimesSync(fd, atime, mtime);
1533
- return fs$k.closeSync(fd)
1531
+ const fd = fs$j.openSync(path, 'r+');
1532
+ fs$j.futimesSync(fd, atime, mtime);
1533
+ return fs$j.closeSync(fd)
1534
1534
  }
1535
1535
 
1536
1536
  var utimes$1 = {
@@ -1553,8 +1553,8 @@ var buffer$1 = function (size) {
1553
1553
  return new Buffer(size)
1554
1554
  };
1555
1555
 
1556
- const fs$j = gracefulFs;
1557
- const path$g = path__default["default"];
1556
+ const fs$i = gracefulFs;
1557
+ const path$f = path__default["default"];
1558
1558
  const mkdirpSync$1 = mkdirs_1.mkdirsSync;
1559
1559
  const utimesSync = utimes$1.utimesMillisSync;
1560
1560
 
@@ -1580,8 +1580,8 @@ function copySync$2 (src, dest, opts) {
1580
1580
 
1581
1581
  if (opts.filter && !opts.filter(src, dest)) return
1582
1582
 
1583
- const destParent = path$g.dirname(dest);
1584
- if (!fs$j.existsSync(destParent)) mkdirpSync$1(destParent);
1583
+ const destParent = path$f.dirname(dest);
1584
+ if (!fs$i.existsSync(destParent)) mkdirpSync$1(destParent);
1585
1585
  return startCopy$1(resolvedDest, src, dest, opts)
1586
1586
  }
1587
1587
 
@@ -1591,7 +1591,7 @@ function startCopy$1 (resolvedDest, src, dest, opts) {
1591
1591
  }
1592
1592
 
1593
1593
  function getStats$1 (resolvedDest, src, dest, opts) {
1594
- const statSync = opts.dereference ? fs$j.statSync : fs$j.lstatSync;
1594
+ const statSync = opts.dereference ? fs$i.statSync : fs$i.lstatSync;
1595
1595
  const st = statSync(src);
1596
1596
 
1597
1597
  if (st.isDirectory()) return onDir$1(st, resolvedDest, src, dest, opts)
@@ -1609,7 +1609,7 @@ function onFile$1 (srcStat, resolvedDest, src, dest, opts) {
1609
1609
 
1610
1610
  function mayCopyFile$1 (srcStat, src, dest, opts) {
1611
1611
  if (opts.overwrite) {
1612
- fs$j.unlinkSync(dest);
1612
+ fs$i.unlinkSync(dest);
1613
1613
  return copyFile$1(srcStat, src, dest, opts)
1614
1614
  } else if (opts.errorOnExist) {
1615
1615
  throw new Error(`'${dest}' already exists`)
@@ -1617,9 +1617,9 @@ function mayCopyFile$1 (srcStat, src, dest, opts) {
1617
1617
  }
1618
1618
 
1619
1619
  function copyFile$1 (srcStat, src, dest, opts) {
1620
- if (typeof fs$j.copyFileSync === 'function') {
1621
- fs$j.copyFileSync(src, dest);
1622
- fs$j.chmodSync(dest, srcStat.mode);
1620
+ if (typeof fs$i.copyFileSync === 'function') {
1621
+ fs$i.copyFileSync(src, dest);
1622
+ fs$i.chmodSync(dest, srcStat.mode);
1623
1623
  if (opts.preserveTimestamps) {
1624
1624
  return utimesSync(dest, srcStat.atime, srcStat.mtime)
1625
1625
  }
@@ -1632,20 +1632,20 @@ function copyFileFallback$1 (srcStat, src, dest, opts) {
1632
1632
  const BUF_LENGTH = 64 * 1024;
1633
1633
  const _buff = buffer$1(BUF_LENGTH);
1634
1634
 
1635
- const fdr = fs$j.openSync(src, 'r');
1636
- const fdw = fs$j.openSync(dest, 'w', srcStat.mode);
1635
+ const fdr = fs$i.openSync(src, 'r');
1636
+ const fdw = fs$i.openSync(dest, 'w', srcStat.mode);
1637
1637
  let pos = 0;
1638
1638
 
1639
1639
  while (pos < srcStat.size) {
1640
- const bytesRead = fs$j.readSync(fdr, _buff, 0, BUF_LENGTH, pos);
1641
- fs$j.writeSync(fdw, _buff, 0, bytesRead);
1640
+ const bytesRead = fs$i.readSync(fdr, _buff, 0, BUF_LENGTH, pos);
1641
+ fs$i.writeSync(fdw, _buff, 0, bytesRead);
1642
1642
  pos += bytesRead;
1643
1643
  }
1644
1644
 
1645
- if (opts.preserveTimestamps) fs$j.futimesSync(fdw, srcStat.atime, srcStat.mtime);
1645
+ if (opts.preserveTimestamps) fs$i.futimesSync(fdw, srcStat.atime, srcStat.mtime);
1646
1646
 
1647
- fs$j.closeSync(fdr);
1648
- fs$j.closeSync(fdw);
1647
+ fs$i.closeSync(fdr);
1648
+ fs$i.closeSync(fdw);
1649
1649
  }
1650
1650
 
1651
1651
  function onDir$1 (srcStat, resolvedDest, src, dest, opts) {
@@ -1664,50 +1664,50 @@ function onDir$1 (srcStat, resolvedDest, src, dest, opts) {
1664
1664
  }
1665
1665
 
1666
1666
  function mayCopyDir$1 (src, dest, opts) {
1667
- if (!fs$j.statSync(dest).isDirectory()) {
1667
+ if (!fs$i.statSync(dest).isDirectory()) {
1668
1668
  throw new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`)
1669
1669
  }
1670
1670
  return copyDir$1(src, dest, opts)
1671
1671
  }
1672
1672
 
1673
1673
  function mkDirAndCopy$1 (srcStat, src, dest, opts) {
1674
- fs$j.mkdirSync(dest, srcStat.mode);
1675
- fs$j.chmodSync(dest, srcStat.mode);
1674
+ fs$i.mkdirSync(dest, srcStat.mode);
1675
+ fs$i.chmodSync(dest, srcStat.mode);
1676
1676
  return copyDir$1(src, dest, opts)
1677
1677
  }
1678
1678
 
1679
1679
  function copyDir$1 (src, dest, opts) {
1680
- fs$j.readdirSync(src).forEach(item => copyDirItem$1(item, src, dest, opts));
1680
+ fs$i.readdirSync(src).forEach(item => copyDirItem$1(item, src, dest, opts));
1681
1681
  }
1682
1682
 
1683
1683
  function copyDirItem$1 (item, src, dest, opts) {
1684
- const srcItem = path$g.join(src, item);
1685
- const destItem = path$g.join(dest, item);
1684
+ const srcItem = path$f.join(src, item);
1685
+ const destItem = path$f.join(dest, item);
1686
1686
  const resolvedDest = checkPaths$1(srcItem, destItem);
1687
1687
  return startCopy$1(resolvedDest, srcItem, destItem, opts)
1688
1688
  }
1689
1689
 
1690
1690
  function onLink$1 (resolvedDest, src, dest, opts) {
1691
- let resolvedSrc = fs$j.readlinkSync(src);
1691
+ let resolvedSrc = fs$i.readlinkSync(src);
1692
1692
 
1693
1693
  if (opts.dereference) {
1694
- resolvedSrc = path$g.resolve(process.cwd(), resolvedSrc);
1694
+ resolvedSrc = path$f.resolve(process.cwd(), resolvedSrc);
1695
1695
  }
1696
1696
 
1697
1697
  if (resolvedDest === notExist$1 || resolvedDest === existsReg$1) {
1698
1698
  // if dest already exists, fs throws error anyway,
1699
1699
  // so no need to guard against it here.
1700
- return fs$j.symlinkSync(resolvedSrc, dest)
1700
+ return fs$i.symlinkSync(resolvedSrc, dest)
1701
1701
  } else {
1702
1702
  if (opts.dereference) {
1703
- resolvedDest = path$g.resolve(process.cwd(), resolvedDest);
1703
+ resolvedDest = path$f.resolve(process.cwd(), resolvedDest);
1704
1704
  }
1705
1705
  if (pathsAreIdentical$1(resolvedSrc, resolvedDest)) return
1706
1706
 
1707
1707
  // prevent copy if src is a subdir of dest since unlinking
1708
1708
  // dest in this case would result in removing src contents
1709
1709
  // and therefore a broken symlink would be created.
1710
- if (fs$j.statSync(dest).isDirectory() && isSrcSubdir$3(resolvedDest, resolvedSrc)) {
1710
+ if (fs$i.statSync(dest).isDirectory() && isSrcSubdir$3(resolvedDest, resolvedSrc)) {
1711
1711
  throw new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`)
1712
1712
  }
1713
1713
  return copyLink$1(resolvedSrc, dest)
@@ -1715,15 +1715,15 @@ function onLink$1 (resolvedDest, src, dest, opts) {
1715
1715
  }
1716
1716
 
1717
1717
  function copyLink$1 (resolvedSrc, dest) {
1718
- fs$j.unlinkSync(dest);
1719
- return fs$j.symlinkSync(resolvedSrc, dest)
1718
+ fs$i.unlinkSync(dest);
1719
+ return fs$i.symlinkSync(resolvedSrc, dest)
1720
1720
  }
1721
1721
 
1722
1722
  // return true if dest is a subdir of src, otherwise false.
1723
1723
  // extract dest base dir and check if that is the same as src basename.
1724
1724
  function isSrcSubdir$3 (src, dest) {
1725
- const srcArray = path$g.resolve(src).split(path$g.sep);
1726
- const destArray = path$g.resolve(dest).split(path$g.sep);
1725
+ const srcArray = path$f.resolve(src).split(path$f.sep);
1726
+ const destArray = path$f.resolve(dest).split(path$f.sep);
1727
1727
 
1728
1728
  return srcArray.reduce((acc, current, i) => {
1729
1729
  return acc && destArray[i] === current
@@ -1734,7 +1734,7 @@ function isSrcSubdir$3 (src, dest) {
1734
1734
  function checkDest$1 (dest) {
1735
1735
  let resolvedPath;
1736
1736
  try {
1737
- resolvedPath = fs$j.readlinkSync(dest);
1737
+ resolvedPath = fs$i.readlinkSync(dest);
1738
1738
  } catch (err) {
1739
1739
  if (err.code === 'ENOENT') return notExist$1
1740
1740
 
@@ -1748,8 +1748,8 @@ function checkDest$1 (dest) {
1748
1748
 
1749
1749
  function pathsAreIdentical$1 (src, dest) {
1750
1750
  const os = process.platform;
1751
- const resolvedSrc = path$g.resolve(src);
1752
- const resolvedDest = path$g.resolve(dest);
1751
+ const resolvedSrc = path$f.resolve(src);
1752
+ const resolvedDest = path$f.resolve(dest);
1753
1753
  // case-insensitive paths
1754
1754
  if (os === 'darwin' || os === 'win32') {
1755
1755
  return resolvedSrc.toLowerCase() === resolvedDest.toLowerCase()
@@ -1776,19 +1776,19 @@ var copySync$1 = {
1776
1776
  };
1777
1777
 
1778
1778
  const u$a = universalify.fromPromise;
1779
- const fs$i = fs$o;
1779
+ const fs$h = fs$n;
1780
1780
 
1781
1781
  function pathExists$8 (path) {
1782
- return fs$i.access(path).then(() => true).catch(() => false)
1782
+ return fs$h.access(path).then(() => true).catch(() => false)
1783
1783
  }
1784
1784
 
1785
1785
  var pathExists_1 = {
1786
1786
  pathExists: u$a(pathExists$8),
1787
- pathExistsSync: fs$i.existsSync
1787
+ pathExistsSync: fs$h.existsSync
1788
1788
  };
1789
1789
 
1790
- const fs$h = gracefulFs;
1791
- const path$f = path__default["default"];
1790
+ const fs$g = gracefulFs;
1791
+ const path$e = path__default["default"];
1792
1792
  const mkdirp$1 = mkdirs_1.mkdirs;
1793
1793
  const pathExists$7 = pathExists_1.pathExists;
1794
1794
  const utimes = utimes$1.utimesMillis;
@@ -1824,7 +1824,7 @@ function copy$2 (src, dest, opts, cb) {
1824
1824
  }
1825
1825
 
1826
1826
  function checkParentDir (resolvedDest, src, dest, opts, cb) {
1827
- const destParent = path$f.dirname(dest);
1827
+ const destParent = path$e.dirname(dest);
1828
1828
  pathExists$7(destParent, (err, dirExists) => {
1829
1829
  if (err) return cb(err)
1830
1830
  if (dirExists) return startCopy(resolvedDest, src, dest, opts, cb)
@@ -1851,7 +1851,7 @@ function handleFilter (onInclude, resolvedDest, src, dest, opts, cb) {
1851
1851
  }
1852
1852
 
1853
1853
  function getStats (resolvedDest, src, dest, opts, cb) {
1854
- const stat = opts.dereference ? fs$h.stat : fs$h.lstat;
1854
+ const stat = opts.dereference ? fs$g.stat : fs$g.lstat;
1855
1855
  stat(src, (err, st) => {
1856
1856
  if (err) return cb(err)
1857
1857
 
@@ -1871,7 +1871,7 @@ function onFile (srcStat, resolvedDest, src, dest, opts, cb) {
1871
1871
 
1872
1872
  function mayCopyFile (srcStat, src, dest, opts, cb) {
1873
1873
  if (opts.overwrite) {
1874
- fs$h.unlink(dest, err => {
1874
+ fs$g.unlink(dest, err => {
1875
1875
  if (err) return cb(err)
1876
1876
  return copyFile(srcStat, src, dest, opts, cb)
1877
1877
  });
@@ -1881,8 +1881,8 @@ function mayCopyFile (srcStat, src, dest, opts, cb) {
1881
1881
  }
1882
1882
 
1883
1883
  function copyFile (srcStat, src, dest, opts, cb) {
1884
- if (typeof fs$h.copyFile === 'function') {
1885
- return fs$h.copyFile(src, dest, err => {
1884
+ if (typeof fs$g.copyFile === 'function') {
1885
+ return fs$g.copyFile(src, dest, err => {
1886
1886
  if (err) return cb(err)
1887
1887
  return setDestModeAndTimestamps(srcStat, dest, opts, cb)
1888
1888
  })
@@ -1891,9 +1891,9 @@ function copyFile (srcStat, src, dest, opts, cb) {
1891
1891
  }
1892
1892
 
1893
1893
  function copyFileFallback (srcStat, src, dest, opts, cb) {
1894
- const rs = fs$h.createReadStream(src);
1894
+ const rs = fs$g.createReadStream(src);
1895
1895
  rs.on('error', err => cb(err)).once('open', () => {
1896
- const ws = fs$h.createWriteStream(dest, { mode: srcStat.mode });
1896
+ const ws = fs$g.createWriteStream(dest, { mode: srcStat.mode });
1897
1897
  ws.on('error', err => cb(err))
1898
1898
  .on('open', () => rs.pipe(ws))
1899
1899
  .once('close', () => setDestModeAndTimestamps(srcStat, dest, opts, cb));
@@ -1901,7 +1901,7 @@ function copyFileFallback (srcStat, src, dest, opts, cb) {
1901
1901
  }
1902
1902
 
1903
1903
  function setDestModeAndTimestamps (srcStat, dest, opts, cb) {
1904
- fs$h.chmod(dest, srcStat.mode, err => {
1904
+ fs$g.chmod(dest, srcStat.mode, err => {
1905
1905
  if (err) return cb(err)
1906
1906
  if (opts.preserveTimestamps) {
1907
1907
  return utimes(dest, srcStat.atime, srcStat.mtime, cb)
@@ -1926,7 +1926,7 @@ function onDir (srcStat, resolvedDest, src, dest, opts, cb) {
1926
1926
  }
1927
1927
 
1928
1928
  function mayCopyDir (src, dest, opts, cb) {
1929
- fs$h.stat(dest, (err, st) => {
1929
+ fs$g.stat(dest, (err, st) => {
1930
1930
  if (err) return cb(err)
1931
1931
  if (!st.isDirectory()) {
1932
1932
  return cb(new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`))
@@ -1936,9 +1936,9 @@ function mayCopyDir (src, dest, opts, cb) {
1936
1936
  }
1937
1937
 
1938
1938
  function mkDirAndCopy (srcStat, src, dest, opts, cb) {
1939
- fs$h.mkdir(dest, srcStat.mode, err => {
1939
+ fs$g.mkdir(dest, srcStat.mode, err => {
1940
1940
  if (err) return cb(err)
1941
- fs$h.chmod(dest, srcStat.mode, err => {
1941
+ fs$g.chmod(dest, srcStat.mode, err => {
1942
1942
  if (err) return cb(err)
1943
1943
  return copyDir(src, dest, opts, cb)
1944
1944
  });
@@ -1946,7 +1946,7 @@ function mkDirAndCopy (srcStat, src, dest, opts, cb) {
1946
1946
  }
1947
1947
 
1948
1948
  function copyDir (src, dest, opts, cb) {
1949
- fs$h.readdir(src, (err, items) => {
1949
+ fs$g.readdir(src, (err, items) => {
1950
1950
  if (err) return cb(err)
1951
1951
  return copyDirItems(items, src, dest, opts, cb)
1952
1952
  });
@@ -1959,8 +1959,8 @@ function copyDirItems (items, src, dest, opts, cb) {
1959
1959
  }
1960
1960
 
1961
1961
  function copyDirItem (items, item, src, dest, opts, cb) {
1962
- const srcItem = path$f.join(src, item);
1963
- const destItem = path$f.join(dest, item);
1962
+ const srcItem = path$e.join(src, item);
1963
+ const destItem = path$e.join(dest, item);
1964
1964
  checkPaths(srcItem, destItem, (err, resolvedDest) => {
1965
1965
  if (err) return cb(err)
1966
1966
  startCopy(resolvedDest, srcItem, destItem, opts, err => {
@@ -1971,27 +1971,27 @@ function copyDirItem (items, item, src, dest, opts, cb) {
1971
1971
  }
1972
1972
 
1973
1973
  function onLink (resolvedDest, src, dest, opts, cb) {
1974
- fs$h.readlink(src, (err, resolvedSrc) => {
1974
+ fs$g.readlink(src, (err, resolvedSrc) => {
1975
1975
  if (err) return cb(err)
1976
1976
 
1977
1977
  if (opts.dereference) {
1978
- resolvedSrc = path$f.resolve(process.cwd(), resolvedSrc);
1978
+ resolvedSrc = path$e.resolve(process.cwd(), resolvedSrc);
1979
1979
  }
1980
1980
 
1981
1981
  if (resolvedDest === notExist || resolvedDest === existsReg) {
1982
1982
  // if dest already exists, fs throws error anyway,
1983
1983
  // so no need to guard against it here.
1984
- return fs$h.symlink(resolvedSrc, dest, cb)
1984
+ return fs$g.symlink(resolvedSrc, dest, cb)
1985
1985
  } else {
1986
1986
  if (opts.dereference) {
1987
- resolvedDest = path$f.resolve(process.cwd(), resolvedDest);
1987
+ resolvedDest = path$e.resolve(process.cwd(), resolvedDest);
1988
1988
  }
1989
1989
  if (pathsAreIdentical(resolvedSrc, resolvedDest)) return cb()
1990
1990
 
1991
1991
  // prevent copy if src is a subdir of dest since unlinking
1992
1992
  // dest in this case would result in removing src contents
1993
1993
  // and therefore a broken symlink would be created.
1994
- fs$h.stat(dest, (err, st) => {
1994
+ fs$g.stat(dest, (err, st) => {
1995
1995
  if (err) return cb(err)
1996
1996
  if (st.isDirectory() && isSrcSubdir$2(resolvedDest, resolvedSrc)) {
1997
1997
  return cb(new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`))
@@ -2003,17 +2003,17 @@ function onLink (resolvedDest, src, dest, opts, cb) {
2003
2003
  }
2004
2004
 
2005
2005
  function copyLink (resolvedSrc, dest, cb) {
2006
- fs$h.unlink(dest, err => {
2006
+ fs$g.unlink(dest, err => {
2007
2007
  if (err) return cb(err)
2008
- return fs$h.symlink(resolvedSrc, dest, cb)
2008
+ return fs$g.symlink(resolvedSrc, dest, cb)
2009
2009
  });
2010
2010
  }
2011
2011
 
2012
2012
  // return true if dest is a subdir of src, otherwise false.
2013
2013
  // extract dest base dir and check if that is the same as src basename.
2014
2014
  function isSrcSubdir$2 (src, dest) {
2015
- const srcArray = path$f.resolve(src).split(path$f.sep);
2016
- const destArray = path$f.resolve(dest).split(path$f.sep);
2015
+ const srcArray = path$e.resolve(src).split(path$e.sep);
2016
+ const destArray = path$e.resolve(dest).split(path$e.sep);
2017
2017
 
2018
2018
  return srcArray.reduce((acc, current, i) => {
2019
2019
  return acc && destArray[i] === current
@@ -2022,7 +2022,7 @@ function isSrcSubdir$2 (src, dest) {
2022
2022
 
2023
2023
  // check if dest exists and is a symlink.
2024
2024
  function checkDest (dest, cb) {
2025
- fs$h.readlink(dest, (err, resolvedPath) => {
2025
+ fs$g.readlink(dest, (err, resolvedPath) => {
2026
2026
  if (err) {
2027
2027
  if (err.code === 'ENOENT') return cb(null, notExist)
2028
2028
 
@@ -2037,8 +2037,8 @@ function checkDest (dest, cb) {
2037
2037
 
2038
2038
  function pathsAreIdentical (src, dest) {
2039
2039
  const os = process.platform;
2040
- const resolvedSrc = path$f.resolve(src);
2041
- const resolvedDest = path$f.resolve(dest);
2040
+ const resolvedSrc = path$e.resolve(src);
2041
+ const resolvedDest = path$e.resolve(dest);
2042
2042
  // case-insensitive paths
2043
2043
  if (os === 'darwin' || os === 'win32') {
2044
2044
  return resolvedSrc.toLowerCase() === resolvedDest.toLowerCase()
@@ -2067,8 +2067,8 @@ var copy$1 = {
2067
2067
  copy: u$9(copy_1)
2068
2068
  };
2069
2069
 
2070
- const fs$g = gracefulFs;
2071
- const path$e = path__default["default"];
2070
+ const fs$f = gracefulFs;
2071
+ const path$d = path__default["default"];
2072
2072
  const assert = assert__default["default"];
2073
2073
 
2074
2074
  const isWindows = (process.platform === 'win32');
@@ -2083,9 +2083,9 @@ function defaults (options) {
2083
2083
  'readdir'
2084
2084
  ];
2085
2085
  methods.forEach(m => {
2086
- options[m] = options[m] || fs$g[m];
2086
+ options[m] = options[m] || fs$f[m];
2087
2087
  m = m + 'Sync';
2088
- options[m] = options[m] || fs$g[m];
2088
+ options[m] = options[m] || fs$f[m];
2089
2089
  });
2090
2090
 
2091
2091
  options.maxBusyTries = options.maxBusyTries || 3;
@@ -2273,7 +2273,7 @@ function rmkids (p, options, cb) {
2273
2273
  if (n === 0) return options.rmdir(p, cb)
2274
2274
 
2275
2275
  files.forEach(f => {
2276
- rimraf$1(path$e.join(p, f), options, er => {
2276
+ rimraf$1(path$d.join(p, f), options, er => {
2277
2277
  if (errState) {
2278
2278
  return
2279
2279
  }
@@ -2355,7 +2355,7 @@ function rmdirSync (p, options, originalEr) {
2355
2355
  function rmkidsSync (p, options) {
2356
2356
  assert(p);
2357
2357
  assert(options);
2358
- options.readdirSync(p).forEach(f => rimrafSync(path$e.join(p, f), options));
2358
+ options.readdirSync(p).forEach(f => rimrafSync(path$d.join(p, f), options));
2359
2359
 
2360
2360
  // We only end up here once we got ENOTEMPTY at least once, and
2361
2361
  // at this point, we are guaranteed to have removed all the kids.
@@ -2389,17 +2389,17 @@ var remove$2 = {
2389
2389
  };
2390
2390
 
2391
2391
  const u$7 = universalify.fromCallback;
2392
- const fs$f = fs__default["default"];
2393
- const path$d = path__default["default"];
2392
+ const fs$e = fs__default["default"];
2393
+ const path$c = path__default["default"];
2394
2394
  const mkdir$5 = mkdirs_1;
2395
2395
  const remove$1 = remove$2;
2396
2396
 
2397
2397
  const emptyDir = u$7(function emptyDir (dir, callback) {
2398
2398
  callback = callback || function () {};
2399
- fs$f.readdir(dir, (err, items) => {
2399
+ fs$e.readdir(dir, (err, items) => {
2400
2400
  if (err) return mkdir$5.mkdirs(dir, callback)
2401
2401
 
2402
- items = items.map(item => path$d.join(dir, item));
2402
+ items = items.map(item => path$c.join(dir, item));
2403
2403
 
2404
2404
  deleteItem();
2405
2405
 
@@ -2417,13 +2417,13 @@ const emptyDir = u$7(function emptyDir (dir, callback) {
2417
2417
  function emptyDirSync (dir) {
2418
2418
  let items;
2419
2419
  try {
2420
- items = fs$f.readdirSync(dir);
2420
+ items = fs$e.readdirSync(dir);
2421
2421
  } catch (err) {
2422
2422
  return mkdir$5.mkdirsSync(dir)
2423
2423
  }
2424
2424
 
2425
2425
  items.forEach(item => {
2426
- item = path$d.join(dir, item);
2426
+ item = path$c.join(dir, item);
2427
2427
  remove$1.removeSync(item);
2428
2428
  });
2429
2429
  }
@@ -2436,22 +2436,22 @@ var empty = {
2436
2436
  };
2437
2437
 
2438
2438
  const u$6 = universalify.fromCallback;
2439
- const path$c = path__default["default"];
2440
- const fs$e = gracefulFs;
2439
+ const path$b = path__default["default"];
2440
+ const fs$d = gracefulFs;
2441
2441
  const mkdir$4 = mkdirs_1;
2442
2442
  const pathExists$6 = pathExists_1.pathExists;
2443
2443
 
2444
2444
  function createFile$1 (file, callback) {
2445
2445
  function makeFile () {
2446
- fs$e.writeFile(file, '', err => {
2446
+ fs$d.writeFile(file, '', err => {
2447
2447
  if (err) return callback(err)
2448
2448
  callback();
2449
2449
  });
2450
2450
  }
2451
2451
 
2452
- fs$e.stat(file, (err, stats) => { // eslint-disable-line handle-callback-err
2452
+ fs$d.stat(file, (err, stats) => { // eslint-disable-line handle-callback-err
2453
2453
  if (!err && stats.isFile()) return callback()
2454
- const dir = path$c.dirname(file);
2454
+ const dir = path$b.dirname(file);
2455
2455
  pathExists$6(dir, (err, dirExists) => {
2456
2456
  if (err) return callback(err)
2457
2457
  if (dirExists) return makeFile()
@@ -2466,16 +2466,16 @@ function createFile$1 (file, callback) {
2466
2466
  function createFileSync$1 (file) {
2467
2467
  let stats;
2468
2468
  try {
2469
- stats = fs$e.statSync(file);
2469
+ stats = fs$d.statSync(file);
2470
2470
  } catch (e) {}
2471
2471
  if (stats && stats.isFile()) return
2472
2472
 
2473
- const dir = path$c.dirname(file);
2474
- if (!fs$e.existsSync(dir)) {
2473
+ const dir = path$b.dirname(file);
2474
+ if (!fs$d.existsSync(dir)) {
2475
2475
  mkdir$4.mkdirsSync(dir);
2476
2476
  }
2477
2477
 
2478
- fs$e.writeFileSync(file, '');
2478
+ fs$d.writeFileSync(file, '');
2479
2479
  }
2480
2480
 
2481
2481
  var file$1 = {
@@ -2484,14 +2484,14 @@ var file$1 = {
2484
2484
  };
2485
2485
 
2486
2486
  const u$5 = universalify.fromCallback;
2487
- const path$b = path__default["default"];
2488
- const fs$d = gracefulFs;
2487
+ const path$a = path__default["default"];
2488
+ const fs$c = gracefulFs;
2489
2489
  const mkdir$3 = mkdirs_1;
2490
2490
  const pathExists$5 = pathExists_1.pathExists;
2491
2491
 
2492
2492
  function createLink (srcpath, dstpath, callback) {
2493
2493
  function makeLink (srcpath, dstpath) {
2494
- fs$d.link(srcpath, dstpath, err => {
2494
+ fs$c.link(srcpath, dstpath, err => {
2495
2495
  if (err) return callback(err)
2496
2496
  callback(null);
2497
2497
  });
@@ -2500,13 +2500,13 @@ function createLink (srcpath, dstpath, callback) {
2500
2500
  pathExists$5(dstpath, (err, destinationExists) => {
2501
2501
  if (err) return callback(err)
2502
2502
  if (destinationExists) return callback(null)
2503
- fs$d.lstat(srcpath, (err) => {
2503
+ fs$c.lstat(srcpath, (err) => {
2504
2504
  if (err) {
2505
2505
  err.message = err.message.replace('lstat', 'ensureLink');
2506
2506
  return callback(err)
2507
2507
  }
2508
2508
 
2509
- const dir = path$b.dirname(dstpath);
2509
+ const dir = path$a.dirname(dstpath);
2510
2510
  pathExists$5(dir, (err, dirExists) => {
2511
2511
  if (err) return callback(err)
2512
2512
  if (dirExists) return makeLink(srcpath, dstpath)
@@ -2520,22 +2520,22 @@ function createLink (srcpath, dstpath, callback) {
2520
2520
  }
2521
2521
 
2522
2522
  function createLinkSync (srcpath, dstpath) {
2523
- const destinationExists = fs$d.existsSync(dstpath);
2523
+ const destinationExists = fs$c.existsSync(dstpath);
2524
2524
  if (destinationExists) return undefined
2525
2525
 
2526
2526
  try {
2527
- fs$d.lstatSync(srcpath);
2527
+ fs$c.lstatSync(srcpath);
2528
2528
  } catch (err) {
2529
2529
  err.message = err.message.replace('lstat', 'ensureLink');
2530
2530
  throw err
2531
2531
  }
2532
2532
 
2533
- const dir = path$b.dirname(dstpath);
2534
- const dirExists = fs$d.existsSync(dir);
2535
- if (dirExists) return fs$d.linkSync(srcpath, dstpath)
2533
+ const dir = path$a.dirname(dstpath);
2534
+ const dirExists = fs$c.existsSync(dir);
2535
+ if (dirExists) return fs$c.linkSync(srcpath, dstpath)
2536
2536
  mkdir$3.mkdirsSync(dir);
2537
2537
 
2538
- return fs$d.linkSync(srcpath, dstpath)
2538
+ return fs$c.linkSync(srcpath, dstpath)
2539
2539
  }
2540
2540
 
2541
2541
  var link$1 = {
@@ -2543,8 +2543,8 @@ var link$1 = {
2543
2543
  createLinkSync
2544
2544
  };
2545
2545
 
2546
- const path$a = path__default["default"];
2547
- const fs$c = gracefulFs;
2546
+ const path$9 = path__default["default"];
2547
+ const fs$b = gracefulFs;
2548
2548
  const pathExists$4 = pathExists_1.pathExists;
2549
2549
 
2550
2550
  /**
@@ -2570,8 +2570,8 @@ const pathExists$4 = pathExists_1.pathExists;
2570
2570
  */
2571
2571
 
2572
2572
  function symlinkPaths$1 (srcpath, dstpath, callback) {
2573
- if (path$a.isAbsolute(srcpath)) {
2574
- return fs$c.lstat(srcpath, (err) => {
2573
+ if (path$9.isAbsolute(srcpath)) {
2574
+ return fs$b.lstat(srcpath, (err) => {
2575
2575
  if (err) {
2576
2576
  err.message = err.message.replace('lstat', 'ensureSymlink');
2577
2577
  return callback(err)
@@ -2582,8 +2582,8 @@ function symlinkPaths$1 (srcpath, dstpath, callback) {
2582
2582
  })
2583
2583
  })
2584
2584
  } else {
2585
- const dstdir = path$a.dirname(dstpath);
2586
- const relativeToDst = path$a.join(dstdir, srcpath);
2585
+ const dstdir = path$9.dirname(dstpath);
2586
+ const relativeToDst = path$9.join(dstdir, srcpath);
2587
2587
  return pathExists$4(relativeToDst, (err, exists) => {
2588
2588
  if (err) return callback(err)
2589
2589
  if (exists) {
@@ -2592,14 +2592,14 @@ function symlinkPaths$1 (srcpath, dstpath, callback) {
2592
2592
  'toDst': srcpath
2593
2593
  })
2594
2594
  } else {
2595
- return fs$c.lstat(srcpath, (err) => {
2595
+ return fs$b.lstat(srcpath, (err) => {
2596
2596
  if (err) {
2597
2597
  err.message = err.message.replace('lstat', 'ensureSymlink');
2598
2598
  return callback(err)
2599
2599
  }
2600
2600
  return callback(null, {
2601
2601
  'toCwd': srcpath,
2602
- 'toDst': path$a.relative(dstdir, srcpath)
2602
+ 'toDst': path$9.relative(dstdir, srcpath)
2603
2603
  })
2604
2604
  })
2605
2605
  }
@@ -2609,28 +2609,28 @@ function symlinkPaths$1 (srcpath, dstpath, callback) {
2609
2609
 
2610
2610
  function symlinkPathsSync$1 (srcpath, dstpath) {
2611
2611
  let exists;
2612
- if (path$a.isAbsolute(srcpath)) {
2613
- exists = fs$c.existsSync(srcpath);
2612
+ if (path$9.isAbsolute(srcpath)) {
2613
+ exists = fs$b.existsSync(srcpath);
2614
2614
  if (!exists) throw new Error('absolute srcpath does not exist')
2615
2615
  return {
2616
2616
  'toCwd': srcpath,
2617
2617
  'toDst': srcpath
2618
2618
  }
2619
2619
  } else {
2620
- const dstdir = path$a.dirname(dstpath);
2621
- const relativeToDst = path$a.join(dstdir, srcpath);
2622
- exists = fs$c.existsSync(relativeToDst);
2620
+ const dstdir = path$9.dirname(dstpath);
2621
+ const relativeToDst = path$9.join(dstdir, srcpath);
2622
+ exists = fs$b.existsSync(relativeToDst);
2623
2623
  if (exists) {
2624
2624
  return {
2625
2625
  'toCwd': relativeToDst,
2626
2626
  'toDst': srcpath
2627
2627
  }
2628
2628
  } else {
2629
- exists = fs$c.existsSync(srcpath);
2629
+ exists = fs$b.existsSync(srcpath);
2630
2630
  if (!exists) throw new Error('relative srcpath does not exist')
2631
2631
  return {
2632
2632
  'toCwd': srcpath,
2633
- 'toDst': path$a.relative(dstdir, srcpath)
2633
+ 'toDst': path$9.relative(dstdir, srcpath)
2634
2634
  }
2635
2635
  }
2636
2636
  }
@@ -2641,13 +2641,13 @@ var symlinkPaths_1 = {
2641
2641
  symlinkPathsSync: symlinkPathsSync$1
2642
2642
  };
2643
2643
 
2644
- const fs$b = gracefulFs;
2644
+ const fs$a = gracefulFs;
2645
2645
 
2646
2646
  function symlinkType$1 (srcpath, type, callback) {
2647
2647
  callback = (typeof type === 'function') ? type : callback;
2648
2648
  type = (typeof type === 'function') ? false : type;
2649
2649
  if (type) return callback(null, type)
2650
- fs$b.lstat(srcpath, (err, stats) => {
2650
+ fs$a.lstat(srcpath, (err, stats) => {
2651
2651
  if (err) return callback(null, 'file')
2652
2652
  type = (stats && stats.isDirectory()) ? 'dir' : 'file';
2653
2653
  callback(null, type);
@@ -2659,7 +2659,7 @@ function symlinkTypeSync$1 (srcpath, type) {
2659
2659
 
2660
2660
  if (type) return type
2661
2661
  try {
2662
- stats = fs$b.lstatSync(srcpath);
2662
+ stats = fs$a.lstatSync(srcpath);
2663
2663
  } catch (e) {
2664
2664
  return 'file'
2665
2665
  }
@@ -2672,8 +2672,8 @@ var symlinkType_1 = {
2672
2672
  };
2673
2673
 
2674
2674
  const u$4 = universalify.fromCallback;
2675
- const path$9 = path__default["default"];
2676
- const fs$a = gracefulFs;
2675
+ const path$8 = path__default["default"];
2676
+ const fs$9 = gracefulFs;
2677
2677
  const _mkdirs = mkdirs_1;
2678
2678
  const mkdirs = _mkdirs.mkdirs;
2679
2679
  const mkdirsSync = _mkdirs.mkdirsSync;
@@ -2700,13 +2700,13 @@ function createSymlink (srcpath, dstpath, type, callback) {
2700
2700
  srcpath = relative.toDst;
2701
2701
  symlinkType(relative.toCwd, type, (err, type) => {
2702
2702
  if (err) return callback(err)
2703
- const dir = path$9.dirname(dstpath);
2703
+ const dir = path$8.dirname(dstpath);
2704
2704
  pathExists$3(dir, (err, dirExists) => {
2705
2705
  if (err) return callback(err)
2706
- if (dirExists) return fs$a.symlink(srcpath, dstpath, type, callback)
2706
+ if (dirExists) return fs$9.symlink(srcpath, dstpath, type, callback)
2707
2707
  mkdirs(dir, err => {
2708
2708
  if (err) return callback(err)
2709
- fs$a.symlink(srcpath, dstpath, type, callback);
2709
+ fs$9.symlink(srcpath, dstpath, type, callback);
2710
2710
  });
2711
2711
  });
2712
2712
  });
@@ -2715,17 +2715,17 @@ function createSymlink (srcpath, dstpath, type, callback) {
2715
2715
  }
2716
2716
 
2717
2717
  function createSymlinkSync (srcpath, dstpath, type) {
2718
- const destinationExists = fs$a.existsSync(dstpath);
2718
+ const destinationExists = fs$9.existsSync(dstpath);
2719
2719
  if (destinationExists) return undefined
2720
2720
 
2721
2721
  const relative = symlinkPathsSync(srcpath, dstpath);
2722
2722
  srcpath = relative.toDst;
2723
2723
  type = symlinkTypeSync(relative.toCwd, type);
2724
- const dir = path$9.dirname(dstpath);
2725
- const exists = fs$a.existsSync(dir);
2726
- if (exists) return fs$a.symlinkSync(srcpath, dstpath, type)
2724
+ const dir = path$8.dirname(dstpath);
2725
+ const exists = fs$9.existsSync(dir);
2726
+ if (exists) return fs$9.symlinkSync(srcpath, dstpath, type)
2727
2727
  mkdirsSync(dir);
2728
- return fs$a.symlinkSync(srcpath, dstpath, type)
2728
+ return fs$9.symlinkSync(srcpath, dstpath, type)
2729
2729
  }
2730
2730
 
2731
2731
  var symlink$1 = {
@@ -2901,7 +2901,7 @@ var jsonfile = {
2901
2901
  writeJsonSync: jsonFile$3.writeFileSync
2902
2902
  };
2903
2903
 
2904
- const path$8 = path__default["default"];
2904
+ const path$7 = path__default["default"];
2905
2905
  const mkdir$2 = mkdirs_1;
2906
2906
  const pathExists$2 = pathExists_1.pathExists;
2907
2907
  const jsonFile$2 = jsonfile;
@@ -2912,7 +2912,7 @@ function outputJson (file, data, options, callback) {
2912
2912
  options = {};
2913
2913
  }
2914
2914
 
2915
- const dir = path$8.dirname(file);
2915
+ const dir = path$7.dirname(file);
2916
2916
 
2917
2917
  pathExists$2(dir, (err, itDoes) => {
2918
2918
  if (err) return callback(err)
@@ -2927,15 +2927,15 @@ function outputJson (file, data, options, callback) {
2927
2927
 
2928
2928
  var outputJson_1 = outputJson;
2929
2929
 
2930
- const fs$9 = gracefulFs;
2931
- const path$7 = path__default["default"];
2930
+ const fs$8 = gracefulFs;
2931
+ const path$6 = path__default["default"];
2932
2932
  const mkdir$1 = mkdirs_1;
2933
2933
  const jsonFile$1 = jsonfile;
2934
2934
 
2935
2935
  function outputJsonSync (file, data, options) {
2936
- const dir = path$7.dirname(file);
2936
+ const dir = path$6.dirname(file);
2937
2937
 
2938
- if (!fs$9.existsSync(dir)) {
2938
+ if (!fs$8.existsSync(dir)) {
2939
2939
  mkdir$1.mkdirsSync(dir);
2940
2940
  }
2941
2941
 
@@ -2959,8 +2959,8 @@ jsonFile.readJSONSync = jsonFile.readJsonSync;
2959
2959
 
2960
2960
  var json = jsonFile;
2961
2961
 
2962
- const fs$8 = gracefulFs;
2963
- const path$6 = path__default["default"];
2962
+ const fs$7 = gracefulFs;
2963
+ const path$5 = path__default["default"];
2964
2964
  const copySync = copySync$1.copySync;
2965
2965
  const removeSync = remove$2.removeSync;
2966
2966
  const mkdirpSync = mkdirs_1.mkdirsSync;
@@ -2970,20 +2970,20 @@ function moveSync (src, dest, options) {
2970
2970
  options = options || {};
2971
2971
  const overwrite = options.overwrite || options.clobber || false;
2972
2972
 
2973
- src = path$6.resolve(src);
2974
- dest = path$6.resolve(dest);
2973
+ src = path$5.resolve(src);
2974
+ dest = path$5.resolve(dest);
2975
2975
 
2976
- if (src === dest) return fs$8.accessSync(src)
2976
+ if (src === dest) return fs$7.accessSync(src)
2977
2977
 
2978
2978
  if (isSrcSubdir$1(src, dest)) throw new Error(`Cannot move '${src}' into itself '${dest}'.`)
2979
2979
 
2980
- mkdirpSync(path$6.dirname(dest));
2980
+ mkdirpSync(path$5.dirname(dest));
2981
2981
  tryRenameSync();
2982
2982
 
2983
2983
  function tryRenameSync () {
2984
2984
  if (overwrite) {
2985
2985
  try {
2986
- return fs$8.renameSync(src, dest)
2986
+ return fs$7.renameSync(src, dest)
2987
2987
  } catch (err) {
2988
2988
  if (err.code === 'ENOTEMPTY' || err.code === 'EEXIST' || err.code === 'EPERM') {
2989
2989
  removeSync(dest);
@@ -2996,8 +2996,8 @@ function moveSync (src, dest, options) {
2996
2996
  }
2997
2997
  } else {
2998
2998
  try {
2999
- fs$8.linkSync(src, dest);
3000
- return fs$8.unlinkSync(src)
2999
+ fs$7.linkSync(src, dest);
3000
+ return fs$7.unlinkSync(src)
3001
3001
  } catch (err) {
3002
3002
  if (err.code === 'EXDEV' || err.code === 'EISDIR' || err.code === 'EPERM' || err.code === 'ENOTSUP') {
3003
3003
  return moveSyncAcrossDevice(src, dest, overwrite)
@@ -3009,7 +3009,7 @@ function moveSync (src, dest, options) {
3009
3009
  }
3010
3010
 
3011
3011
  function moveSyncAcrossDevice (src, dest, overwrite) {
3012
- const stat = fs$8.statSync(src);
3012
+ const stat = fs$7.statSync(src);
3013
3013
 
3014
3014
  if (stat.isDirectory()) {
3015
3015
  return moveDirSyncAcrossDevice(src, dest, overwrite)
@@ -3024,20 +3024,20 @@ function moveFileSyncAcrossDevice (src, dest, overwrite) {
3024
3024
 
3025
3025
  const flags = overwrite ? 'w' : 'wx';
3026
3026
 
3027
- const fdr = fs$8.openSync(src, 'r');
3028
- const stat = fs$8.fstatSync(fdr);
3029
- const fdw = fs$8.openSync(dest, flags, stat.mode);
3027
+ const fdr = fs$7.openSync(src, 'r');
3028
+ const stat = fs$7.fstatSync(fdr);
3029
+ const fdw = fs$7.openSync(dest, flags, stat.mode);
3030
3030
  let pos = 0;
3031
3031
 
3032
3032
  while (pos < stat.size) {
3033
- const bytesRead = fs$8.readSync(fdr, _buff, 0, BUF_LENGTH, pos);
3034
- fs$8.writeSync(fdw, _buff, 0, bytesRead);
3033
+ const bytesRead = fs$7.readSync(fdr, _buff, 0, BUF_LENGTH, pos);
3034
+ fs$7.writeSync(fdw, _buff, 0, bytesRead);
3035
3035
  pos += bytesRead;
3036
3036
  }
3037
3037
 
3038
- fs$8.closeSync(fdr);
3039
- fs$8.closeSync(fdw);
3040
- return fs$8.unlinkSync(src)
3038
+ fs$7.closeSync(fdr);
3039
+ fs$7.closeSync(fdw);
3040
+ return fs$7.unlinkSync(src)
3041
3041
  }
3042
3042
 
3043
3043
  function moveDirSyncAcrossDevice (src, dest, overwrite) {
@@ -3062,10 +3062,10 @@ function moveDirSyncAcrossDevice (src, dest, overwrite) {
3062
3062
  // extract dest base dir and check if that is the same as src basename
3063
3063
  function isSrcSubdir$1 (src, dest) {
3064
3064
  try {
3065
- return fs$8.statSync(src).isDirectory() &&
3065
+ return fs$7.statSync(src).isDirectory() &&
3066
3066
  src !== dest &&
3067
3067
  dest.indexOf(src) > -1 &&
3068
- dest.split(path$6.dirname(src) + path$6.sep)[1].split(path$6.sep)[0] === path$6.basename(src)
3068
+ dest.split(path$5.dirname(src) + path$5.sep)[1].split(path$5.sep)[0] === path$5.basename(src)
3069
3069
  } catch (e) {
3070
3070
  return false
3071
3071
  }
@@ -3076,8 +3076,8 @@ var moveSync_1 = {
3076
3076
  };
3077
3077
 
3078
3078
  const u$1 = universalify.fromCallback;
3079
- const fs$7 = gracefulFs;
3080
- const path$5 = path__default["default"];
3079
+ const fs$6 = gracefulFs;
3080
+ const path$4 = path__default["default"];
3081
3081
  const copy = copy$1.copy;
3082
3082
  const remove = remove$2.remove;
3083
3083
  const mkdirp = mkdirs_1.mkdirp;
@@ -3091,18 +3091,18 @@ function move (src, dest, opts, cb) {
3091
3091
 
3092
3092
  const overwrite = opts.overwrite || opts.clobber || false;
3093
3093
 
3094
- src = path$5.resolve(src);
3095
- dest = path$5.resolve(dest);
3094
+ src = path$4.resolve(src);
3095
+ dest = path$4.resolve(dest);
3096
3096
 
3097
- if (src === dest) return fs$7.access(src, cb)
3097
+ if (src === dest) return fs$6.access(src, cb)
3098
3098
 
3099
- fs$7.stat(src, (err, st) => {
3099
+ fs$6.stat(src, (err, st) => {
3100
3100
  if (err) return cb(err)
3101
3101
 
3102
3102
  if (st.isDirectory() && isSrcSubdir(src, dest)) {
3103
3103
  return cb(new Error(`Cannot move '${src}' to a subdirectory of itself, '${dest}'.`))
3104
3104
  }
3105
- mkdirp(path$5.dirname(dest), err => {
3105
+ mkdirp(path$4.dirname(dest), err => {
3106
3106
  if (err) return cb(err)
3107
3107
  return doRename(src, dest, overwrite, cb)
3108
3108
  });
@@ -3124,7 +3124,7 @@ function doRename (src, dest, overwrite, cb) {
3124
3124
  }
3125
3125
 
3126
3126
  function rename (src, dest, overwrite, cb) {
3127
- fs$7.rename(src, dest, err => {
3127
+ fs$6.rename(src, dest, err => {
3128
3128
  if (!err) return cb()
3129
3129
  if (err.code !== 'EXDEV') return cb(err)
3130
3130
  return moveAcrossDevice(src, dest, overwrite, cb)
@@ -3144,8 +3144,8 @@ function moveAcrossDevice (src, dest, overwrite, cb) {
3144
3144
  }
3145
3145
 
3146
3146
  function isSrcSubdir (src, dest) {
3147
- const srcArray = src.split(path$5.sep);
3148
- const destArray = dest.split(path$5.sep);
3147
+ const srcArray = src.split(path$4.sep);
3148
+ const destArray = dest.split(path$4.sep);
3149
3149
 
3150
3150
  return srcArray.reduce((acc, current, i) => {
3151
3151
  return acc && destArray[i] === current
@@ -3157,8 +3157,8 @@ var move_1 = {
3157
3157
  };
3158
3158
 
3159
3159
  const u = universalify.fromCallback;
3160
- const fs$6 = gracefulFs;
3161
- const path$4 = path__default["default"];
3160
+ const fs$5 = gracefulFs;
3161
+ const path$3 = path__default["default"];
3162
3162
  const mkdir = mkdirs_1;
3163
3163
  const pathExists = pathExists_1.pathExists;
3164
3164
 
@@ -3168,26 +3168,26 @@ function outputFile (file, data, encoding, callback) {
3168
3168
  encoding = 'utf8';
3169
3169
  }
3170
3170
 
3171
- const dir = path$4.dirname(file);
3171
+ const dir = path$3.dirname(file);
3172
3172
  pathExists(dir, (err, itDoes) => {
3173
3173
  if (err) return callback(err)
3174
- if (itDoes) return fs$6.writeFile(file, data, encoding, callback)
3174
+ if (itDoes) return fs$5.writeFile(file, data, encoding, callback)
3175
3175
 
3176
3176
  mkdir.mkdirs(dir, err => {
3177
3177
  if (err) return callback(err)
3178
3178
 
3179
- fs$6.writeFile(file, data, encoding, callback);
3179
+ fs$5.writeFile(file, data, encoding, callback);
3180
3180
  });
3181
3181
  });
3182
3182
  }
3183
3183
 
3184
3184
  function outputFileSync (file, ...args) {
3185
- const dir = path$4.dirname(file);
3186
- if (fs$6.existsSync(dir)) {
3187
- return fs$6.writeFileSync(file, ...args)
3185
+ const dir = path$3.dirname(file);
3186
+ if (fs$5.existsSync(dir)) {
3187
+ return fs$5.writeFileSync(file, ...args)
3188
3188
  }
3189
3189
  mkdir.mkdirsSync(dir);
3190
- fs$6.writeFileSync(file, ...args);
3190
+ fs$5.writeFileSync(file, ...args);
3191
3191
  }
3192
3192
 
3193
3193
  var output = {
@@ -3200,7 +3200,7 @@ var output = {
3200
3200
  module.exports = Object.assign(
3201
3201
  {},
3202
3202
  // Export promiseified graceful-fs:
3203
- fs$o,
3203
+ fs$n,
3204
3204
  // Export extra methods:
3205
3205
  copySync$1,
3206
3206
  copy$1,
@@ -3225,13 +3225,13 @@ var output = {
3225
3225
  }
3226
3226
  } (lib$3));
3227
3227
 
3228
- var fs$5 = libExports$1;
3228
+ var fs$4 = libExports$1;
3229
3229
 
3230
3230
  class File {
3231
3231
  constructor(path, hash) {
3232
3232
  this.path = path;
3233
3233
  this.hash = hash;
3234
- this._fd = fs$5.openSync(path, "w");
3234
+ this._fd = fs$4.openSync(path, "w");
3235
3235
  this.system = undefined;
3236
3236
  this._writing = false;
3237
3237
  this.originalPath = undefined;
@@ -3258,14 +3258,14 @@ class File {
3258
3258
  if (!this._fd) {
3259
3259
  throw new Error(`No fd for ${this.path}`);
3260
3260
  }
3261
- fs$5.closeSync(this._fd);
3262
- fs$5.unlinkSync(this.path);
3261
+ fs$4.closeSync(this._fd);
3262
+ fs$4.unlinkSync(this.path);
3263
3263
  }
3264
3264
  close() {
3265
3265
  if (this._fd === undefined) {
3266
3266
  throw new Error(`No fd for ${this.path}`);
3267
3267
  }
3268
- fs$5.closeSync(this._fd);
3268
+ fs$4.closeSync(this._fd);
3269
3269
  this._fd = undefined;
3270
3270
  }
3271
3271
  _write() {
@@ -3273,7 +3273,7 @@ class File {
3273
3273
  const pending = this._pending.shift();
3274
3274
  if (pending) {
3275
3275
  assert__default["default"](this._fd !== undefined);
3276
- fs$5.write(this._fd, pending.data)
3276
+ fs$4.write(this._fd, pending.data)
3277
3277
  .then(() => {
3278
3278
  pending.resolve();
3279
3279
  assert__default["default"](this._pending);
@@ -3288,7 +3288,7 @@ class File {
3288
3288
  })
3289
3289
  .catch((e) => {
3290
3290
  assert__default["default"](this._fd !== undefined);
3291
- fs$5.closeSync(this._fd);
3291
+ fs$4.closeSync(this._fd);
3292
3292
  this._fd = undefined;
3293
3293
  pending.reject(e);
3294
3294
  this._clearPending(e);
@@ -3394,7 +3394,7 @@ var randomstring$1 = {
3394
3394
  generate: generate
3395
3395
  };
3396
3396
 
3397
- var fs$4 = fs__default["default"],
3397
+ var fs$3 = fs__default["default"],
3398
3398
  randomstring = randomstring$1;
3399
3399
 
3400
3400
 
@@ -3425,7 +3425,7 @@ function createFile(template, callback) {
3425
3425
  }
3426
3426
  }
3427
3427
 
3428
- fs$4.open(filename, 'ax+', 384 /*=0600*/, function(err, fd) {
3428
+ fs$3.open(filename, 'ax+', 384 /*=0600*/, function(err, fd) {
3429
3429
  if (err) {
3430
3430
  if (err.code === 'EEXIST') {
3431
3431
  // FIXME: infinite loop
@@ -3441,7 +3441,7 @@ function createFile(template, callback) {
3441
3441
  }
3442
3442
 
3443
3443
  if (fd) {
3444
- fs$4.close(fd, function(err) {
3444
+ fs$3.close(fd, function(err) {
3445
3445
  callback(err, filename);
3446
3446
  });
3447
3447
  } else {
@@ -3466,7 +3466,7 @@ function createFileSync(template) {
3466
3466
  isExist = false;
3467
3467
  filename = randomstring.generate(template);
3468
3468
  try {
3469
- fd = fs$4.openSync(filename, 'ax+', 384 /*=0600*/);
3469
+ fd = fs$3.openSync(filename, 'ax+', 384 /*=0600*/);
3470
3470
  } catch (e) {
3471
3471
  if (e.code === 'EEXIST') {
3472
3472
  isExist = true;
@@ -3474,7 +3474,7 @@ function createFileSync(template) {
3474
3474
  throw e;
3475
3475
  }
3476
3476
  } finally {
3477
- fd && fs$4.closeSync(fd);
3477
+ fd && fs$3.closeSync(fd);
3478
3478
  }
3479
3479
  } while (isExist);
3480
3480
 
@@ -3509,7 +3509,7 @@ function createDir(template, callback) {
3509
3509
  }
3510
3510
  }
3511
3511
 
3512
- fs$4.mkdir(dirname, 448 /*=0700*/, function(err) {
3512
+ fs$3.mkdir(dirname, 448 /*=0700*/, function(err) {
3513
3513
  if (err) {
3514
3514
  if (err.code === 'EEXIST') {
3515
3515
  // FIXME: infinite loop
@@ -3543,7 +3543,7 @@ function createDirSync(template) {
3543
3543
  isExist = false;
3544
3544
  dirname = randomstring.generate(template);
3545
3545
  try {
3546
- fs$4.mkdirSync(dirname, 448 /*=0700*/);
3546
+ fs$3.mkdirSync(dirname, 448 /*=0700*/);
3547
3547
  } catch (e) {
3548
3548
  if (e.code === 'EEXIST') {
3549
3549
  isExist = true;
@@ -3592,7 +3592,7 @@ function untarFile(archive, file) {
3592
3592
  child_process__default["default"].exec(`tar -zxf "${archive}" ${file}`, { cwd: tmpdir }, (err) => {
3593
3593
  if (err) {
3594
3594
  try {
3595
- fs$5.removeSync(tmpdir);
3595
+ fs$4.removeSync(tmpdir);
3596
3596
  }
3597
3597
  catch (e) {
3598
3598
  console.error("Got an error removing the temp dir", tmpdir);
@@ -3600,9 +3600,9 @@ function untarFile(archive, file) {
3600
3600
  reject(err);
3601
3601
  return;
3602
3602
  }
3603
- fs$5.readFile(path__default["default"].join(tmpdir, file), "utf8", (error, data) => {
3603
+ fs$4.readFile(path__default["default"].join(tmpdir, file), "utf8", (error, data) => {
3604
3604
  try {
3605
- fs$5.removeSync(tmpdir);
3605
+ fs$4.removeSync(tmpdir);
3606
3606
  }
3607
3607
  catch (e) {
3608
3608
  console.error("Got an error removing the temp dir", tmpdir);
@@ -3645,12 +3645,12 @@ class Environments {
3645
3645
  }
3646
3646
  }
3647
3647
  return new Promise((resolve, reject) => {
3648
- fs$5.stat(p)
3648
+ fs$4.stat(p)
3649
3649
  .then((st) => {
3650
3650
  if (st.isDirectory()) {
3651
3651
  // we're good
3652
3652
  this._path = p;
3653
- fs$5.readdir(p).then((files) => {
3653
+ fs$4.readdir(p).then((files) => {
3654
3654
  const promises = [];
3655
3655
  files.forEach((e) => {
3656
3656
  if (e.length === 47 && e.indexOf(".tar.gz", 40) === 40) {
@@ -3685,7 +3685,7 @@ class Environments {
3685
3685
  .catch((e) => {
3686
3686
  if ("code" in e && e.code === "ENOENT") {
3687
3687
  // make the directory
3688
- fs$5.mkdirp(p, (err) => {
3688
+ fs$4.mkdirp(p, (err) => {
3689
3689
  if (err) {
3690
3690
  reject(`Can't make directory ${p}: ${e.message}`);
3691
3691
  return;
@@ -3707,7 +3707,7 @@ class Environments {
3707
3707
  return undefined;
3708
3708
  }
3709
3709
  assert__default["default"](this._path);
3710
- fs$5.mkdirpSync(this._path);
3710
+ fs$4.mkdirpSync(this._path);
3711
3711
  return new File(path__default["default"].join(this._path, `${environment.hash}.tar.gz`), environment.hash);
3712
3712
  }
3713
3713
  complete(file) {
@@ -3798,7 +3798,7 @@ class Environments {
3798
3798
  remove(hash) {
3799
3799
  // ### this should be promisified
3800
3800
  try {
3801
- fs$5.removeSync(this._data[hash].path);
3801
+ fs$4.removeSync(this._data[hash].path);
3802
3802
  delete this._data[hash];
3803
3803
  this.unlink(hash);
3804
3804
  this.unlink(undefined, hash);
@@ -41046,19 +41046,19 @@ function requireQuery () {
41046
41046
  */
41047
41047
 
41048
41048
  var debug$1 = requireSrc()('express:view');
41049
- var path$3 = path__default["default"];
41050
- var fs$3 = fs__default["default"];
41049
+ var path$2 = path__default["default"];
41050
+ var fs$2 = fs__default["default"];
41051
41051
 
41052
41052
  /**
41053
41053
  * Module variables.
41054
41054
  * @private
41055
41055
  */
41056
41056
 
41057
- var dirname = path$3.dirname;
41058
- var basename$1 = path$3.basename;
41059
- var extname$2 = path$3.extname;
41060
- var join$1 = path$3.join;
41061
- var resolve$3 = path$3.resolve;
41057
+ var dirname = path$2.dirname;
41058
+ var basename$1 = path$2.basename;
41059
+ var extname$2 = path$2.extname;
41060
+ var join$1 = path$2.join;
41061
+ var resolve$3 = path$2.resolve;
41062
41062
 
41063
41063
  /**
41064
41064
  * Module exports.
@@ -41207,7 +41207,7 @@ function tryStat(path) {
41207
41207
  debug$1('stat "%s"', path);
41208
41208
 
41209
41209
  try {
41210
- return fs$3.statSync(path);
41210
+ return fs$2.statSync(path);
41211
41211
  } catch (e) {
41212
41212
  return undefined;
41213
41213
  }
@@ -44785,7 +44785,7 @@ var require$$2 = {
44785
44785
  ]
44786
44786
  };
44787
44787
 
44788
- var fs$2 = fs__default["default"];
44788
+ var fs$1 = fs__default["default"];
44789
44789
 
44790
44790
  function Mime() {
44791
44791
  // Map of extension -> mime type
@@ -44835,7 +44835,7 @@ Mime.prototype.load = function(file) {
44835
44835
  this._loading = file;
44836
44836
  // Read file and split into lines
44837
44837
  var map = {},
44838
- content = fs$2.readFileSync(file, 'ascii'),
44838
+ content = fs$1.readFileSync(file, 'ascii'),
44839
44839
  lines = content.split(/[\r\n]+/);
44840
44840
 
44841
44841
  lines.forEach(function(line) {
@@ -45237,12 +45237,12 @@ var encodeUrl$1 = encodeurl;
45237
45237
  var escapeHtml$1 = escapeHtml_1;
45238
45238
  var etag = etag_1;
45239
45239
  var fresh$1 = fresh_1;
45240
- var fs$1 = fs__default["default"];
45240
+ var fs = fs__default["default"];
45241
45241
  var mime$2 = mime_1;
45242
45242
  var ms = ms$1;
45243
45243
  var onFinished$1 = requireOnFinished();
45244
45244
  var parseRange$1 = rangeParser_1;
45245
- var path$2 = path__default["default"];
45245
+ var path$1 = path__default["default"];
45246
45246
  var statuses$1 = statuses$3;
45247
45247
  var Stream = require$$0__default$1["default"];
45248
45248
  var util = require$$4__default["default"];
@@ -45252,11 +45252,11 @@ var util = require$$4__default["default"];
45252
45252
  * @private
45253
45253
  */
45254
45254
 
45255
- var extname$1 = path$2.extname;
45256
- var join = path$2.join;
45257
- var normalize = path$2.normalize;
45258
- var resolve$2 = path$2.resolve;
45259
- var sep = path$2.sep;
45255
+ var extname$1 = path$1.extname;
45256
+ var join = path$1.join;
45257
+ var normalize = path$1.normalize;
45258
+ var resolve$2 = path$1.resolve;
45259
+ var sep = path$1.sep;
45260
45260
 
45261
45261
  /**
45262
45262
  * Regular expression for identifying a bytes Range header.
@@ -45931,7 +45931,7 @@ SendStream.prototype.sendFile = function sendFile (path) {
45931
45931
  var self = this;
45932
45932
 
45933
45933
  debug('stat "%s"', path);
45934
- fs$1.stat(path, function onstat (err, stat) {
45934
+ fs.stat(path, function onstat (err, stat) {
45935
45935
  if (err && err.code === 'ENOENT' && !extname$1(path) && path[path.length - 1] !== sep) {
45936
45936
  // not found, check extensions
45937
45937
  return next(err)
@@ -45952,7 +45952,7 @@ SendStream.prototype.sendFile = function sendFile (path) {
45952
45952
  var p = path + '.' + self._extensions[i++];
45953
45953
 
45954
45954
  debug('stat "%s"', p);
45955
- fs$1.stat(p, function (err, stat) {
45955
+ fs.stat(p, function (err, stat) {
45956
45956
  if (err) return next(err)
45957
45957
  if (stat.isDirectory()) return next()
45958
45958
  self.emit('file', p, stat);
@@ -45980,7 +45980,7 @@ SendStream.prototype.sendIndex = function sendIndex (path) {
45980
45980
  var p = join(path, self._index[i]);
45981
45981
 
45982
45982
  debug('stat "%s"', p);
45983
- fs$1.stat(p, function (err, stat) {
45983
+ fs.stat(p, function (err, stat) {
45984
45984
  if (err) return next(err)
45985
45985
  if (stat.isDirectory()) return next()
45986
45986
  self.emit('file', p, stat);
@@ -46004,7 +46004,7 @@ SendStream.prototype.stream = function stream (path, options) {
46004
46004
  var res = this.res;
46005
46005
 
46006
46006
  // pipe
46007
- var stream = fs$1.createReadStream(path, options);
46007
+ var stream = fs.createReadStream(path, options);
46008
46008
  this.emit('stream', stream);
46009
46009
  stream.pipe(res);
46010
46010
 
@@ -50617,7 +50617,7 @@ var escapeHtml = escapeHtml_1;
50617
50617
  var http = require$$2__default["default"];
50618
50618
  var isAbsolute = utils.isAbsolute;
50619
50619
  var onFinished = requireOnFinished();
50620
- var path$1 = path__default["default"];
50620
+ var path = path__default["default"];
50621
50621
  var statuses = statuses$3;
50622
50622
  var merge = utilsMergeExports;
50623
50623
  var sign = cookieSignature.sign;
@@ -50626,9 +50626,9 @@ var normalizeTypes = utils.normalizeTypes;
50626
50626
  var setCharset = utils.setCharset;
50627
50627
  var cookie = cookie$1;
50628
50628
  var send = sendExports;
50629
- var extname = path$1.extname;
50629
+ var extname = path.extname;
50630
50630
  var mime = send.mime;
50631
- var resolve$1 = path$1.resolve;
50631
+ var resolve$1 = path.resolve;
50632
50632
  var vary = varyExports;
50633
50633
 
50634
50634
  /**
@@ -52484,7 +52484,7 @@ function validateCache(option) {
52484
52484
  // console.log(dir);
52485
52485
  let version;
52486
52486
  try {
52487
- version = fs$5.readFileSync(file);
52487
+ version = fs$4.readFileSync(file);
52488
52488
  if (version.readUInt32BE() === Version) {
52489
52489
  return;
52490
52490
  }
@@ -52495,11 +52495,11 @@ function validateCache(option) {
52495
52495
  if (version) {
52496
52496
  console.log(`Wrong version. Destroying cache ${dir}`);
52497
52497
  }
52498
- fs$5.removeSync(dir);
52499
- fs$5.mkdirpSync(dir);
52498
+ fs$4.removeSync(dir);
52499
+ fs$4.mkdirpSync(dir);
52500
52500
  const buf = Buffer.allocUnsafe(4);
52501
52501
  buf.writeUInt32BE(Version);
52502
- fs$5.writeFileSync(file, buf);
52502
+ fs$4.writeFileSync(file, buf);
52503
52503
  }
52504
52504
  function common$1(option) {
52505
52505
  validateCache(option);
@@ -53490,273 +53490,269 @@ var xdgBasedir = {};
53490
53490
  }
53491
53491
  } (xdgBasedir));
53492
53492
 
53493
- var minimist;
53494
- var hasRequiredMinimist;
53493
+ function hasKey(obj, keys) {
53494
+ var o = obj;
53495
+ keys.slice(0, -1).forEach(function (key) {
53496
+ o = o[key] || {};
53497
+ });
53495
53498
 
53496
- function requireMinimist () {
53497
- if (hasRequiredMinimist) return minimist;
53498
- hasRequiredMinimist = 1;
53499
- minimist = function (args, opts) {
53500
- if (!opts) opts = {};
53501
-
53502
- var flags = { bools : {}, strings : {}, unknownFn: null };
53499
+ var key = keys[keys.length - 1];
53500
+ return key in o;
53501
+ }
53503
53502
 
53504
- if (typeof opts['unknown'] === 'function') {
53505
- flags.unknownFn = opts['unknown'];
53506
- }
53503
+ function isNumber(x) {
53504
+ if (typeof x === 'number') { return true; }
53505
+ if ((/^0x[0-9a-f]+$/i).test(x)) { return true; }
53506
+ return (/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/).test(x);
53507
+ }
53507
53508
 
53508
- if (typeof opts['boolean'] === 'boolean' && opts['boolean']) {
53509
- flags.allBools = true;
53510
- } else {
53511
- [].concat(opts['boolean']).filter(Boolean).forEach(function (key) {
53512
- flags.bools[key] = true;
53513
- });
53514
- }
53515
-
53516
- var aliases = {};
53517
- Object.keys(opts.alias || {}).forEach(function (key) {
53518
- aliases[key] = [].concat(opts.alias[key]);
53519
- aliases[key].forEach(function (x) {
53520
- aliases[x] = [key].concat(aliases[key].filter(function (y) {
53521
- return x !== y;
53522
- }));
53523
- });
53524
- });
53509
+ function isConstructorOrProto(obj, key) {
53510
+ return (key === 'constructor' && typeof obj[key] === 'function') || key === '__proto__';
53511
+ }
53525
53512
 
53526
- [].concat(opts.string).filter(Boolean).forEach(function (key) {
53527
- flags.strings[key] = true;
53528
- if (aliases[key]) {
53529
- flags.strings[aliases[key]] = true;
53530
- }
53531
- });
53513
+ var minimist = function (args, opts) {
53514
+ if (!opts) { opts = {}; }
53532
53515
 
53533
- var defaults = opts['default'] || {};
53534
-
53535
- var argv = { _ : [] };
53536
- Object.keys(flags.bools).forEach(function (key) {
53537
- setArg(key, defaults[key] === undefined ? false : defaults[key]);
53538
- });
53539
-
53540
- var notFlags = [];
53516
+ var flags = {
53517
+ bools: {},
53518
+ strings: {},
53519
+ unknownFn: null,
53520
+ };
53541
53521
 
53542
- if (args.indexOf('--') !== -1) {
53543
- notFlags = args.slice(args.indexOf('--')+1);
53544
- args = args.slice(0, args.indexOf('--'));
53545
- }
53522
+ if (typeof opts.unknown === 'function') {
53523
+ flags.unknownFn = opts.unknown;
53524
+ }
53546
53525
 
53547
- function argDefined(key, arg) {
53548
- return (flags.allBools && /^--[^=]+$/.test(arg)) ||
53549
- flags.strings[key] || flags.bools[key] || aliases[key];
53550
- }
53526
+ if (typeof opts.boolean === 'boolean' && opts.boolean) {
53527
+ flags.allBools = true;
53528
+ } else {
53529
+ [].concat(opts.boolean).filter(Boolean).forEach(function (key) {
53530
+ flags.bools[key] = true;
53531
+ });
53532
+ }
53551
53533
 
53552
- function setArg (key, val, arg) {
53553
- if (arg && flags.unknownFn && !argDefined(key, arg)) {
53554
- if (flags.unknownFn(arg) === false) return;
53555
- }
53534
+ var aliases = {};
53556
53535
 
53557
- var value = !flags.strings[key] && isNumber(val)
53558
- ? Number(val) : val
53559
- ;
53560
- setKey(argv, key.split('.'), value);
53561
-
53562
- (aliases[key] || []).forEach(function (x) {
53563
- setKey(argv, x.split('.'), value);
53564
- });
53565
- }
53536
+ function aliasIsBoolean(key) {
53537
+ return aliases[key].some(function (x) {
53538
+ return flags.bools[x];
53539
+ });
53540
+ }
53566
53541
 
53567
- function setKey (obj, keys, value) {
53568
- var o = obj;
53569
- for (var i = 0; i < keys.length-1; i++) {
53570
- var key = keys[i];
53571
- if (isConstructorOrProto(o, key)) return;
53572
- if (o[key] === undefined) o[key] = {};
53573
- if (o[key] === Object.prototype || o[key] === Number.prototype
53574
- || o[key] === String.prototype) o[key] = {};
53575
- if (o[key] === Array.prototype) o[key] = [];
53576
- o = o[key];
53577
- }
53542
+ Object.keys(opts.alias || {}).forEach(function (key) {
53543
+ aliases[key] = [].concat(opts.alias[key]);
53544
+ aliases[key].forEach(function (x) {
53545
+ aliases[x] = [key].concat(aliases[key].filter(function (y) {
53546
+ return x !== y;
53547
+ }));
53548
+ });
53549
+ });
53578
53550
 
53579
- var key = keys[keys.length - 1];
53580
- if (isConstructorOrProto(o, key)) return;
53581
- if (o === Object.prototype || o === Number.prototype
53582
- || o === String.prototype) o = {};
53583
- if (o === Array.prototype) o = [];
53584
- if (o[key] === undefined || flags.bools[key] || typeof o[key] === 'boolean') {
53585
- o[key] = value;
53586
- }
53587
- else if (Array.isArray(o[key])) {
53588
- o[key].push(value);
53589
- }
53590
- else {
53591
- o[key] = [ o[key], value ];
53592
- }
53593
- }
53594
-
53595
- function aliasIsBoolean(key) {
53596
- return aliases[key].some(function (x) {
53597
- return flags.bools[x];
53598
- });
53599
- }
53551
+ [].concat(opts.string).filter(Boolean).forEach(function (key) {
53552
+ flags.strings[key] = true;
53553
+ if (aliases[key]) {
53554
+ [].concat(aliases[key]).forEach(function (k) {
53555
+ flags.strings[k] = true;
53556
+ });
53557
+ }
53558
+ });
53600
53559
 
53601
- for (var i = 0; i < args.length; i++) {
53602
- var arg = args[i];
53603
-
53604
- if (/^--.+=/.test(arg)) {
53605
- // Using [\s\S] instead of . because js doesn't support the
53606
- // 'dotall' regex modifier. See:
53607
- // http://stackoverflow.com/a/1068308/13216
53608
- var m = arg.match(/^--([^=]+)=([\s\S]*)$/);
53609
- var key = m[1];
53610
- var value = m[2];
53611
- if (flags.bools[key]) {
53612
- value = value !== 'false';
53613
- }
53614
- setArg(key, value, arg);
53615
- }
53616
- else if (/^--no-.+/.test(arg)) {
53617
- var key = arg.match(/^--no-(.+)/)[1];
53618
- setArg(key, false, arg);
53619
- }
53620
- else if (/^--.+/.test(arg)) {
53621
- var key = arg.match(/^--(.+)/)[1];
53622
- var next = args[i + 1];
53623
- if (next !== undefined && !/^-/.test(next)
53624
- && !flags.bools[key]
53625
- && !flags.allBools
53626
- && (aliases[key] ? !aliasIsBoolean(key) : true)) {
53627
- setArg(key, next, arg);
53628
- i++;
53629
- }
53630
- else if (/^(true|false)$/.test(next)) {
53631
- setArg(key, next === 'true', arg);
53632
- i++;
53633
- }
53634
- else {
53635
- setArg(key, flags.strings[key] ? '' : true, arg);
53636
- }
53637
- }
53638
- else if (/^-[^-]+/.test(arg)) {
53639
- var letters = arg.slice(1,-1).split('');
53640
-
53641
- var broken = false;
53642
- for (var j = 0; j < letters.length; j++) {
53643
- var next = arg.slice(j+2);
53644
-
53645
- if (next === '-') {
53646
- setArg(letters[j], next, arg);
53647
- continue;
53648
- }
53649
-
53650
- if (/[A-Za-z]/.test(letters[j]) && /=/.test(next)) {
53651
- setArg(letters[j], next.split('=')[1], arg);
53652
- broken = true;
53653
- break;
53654
- }
53655
-
53656
- if (/[A-Za-z]/.test(letters[j])
53657
- && /-?\d+(\.\d*)?(e-?\d+)?$/.test(next)) {
53658
- setArg(letters[j], next, arg);
53659
- broken = true;
53660
- break;
53661
- }
53662
-
53663
- if (letters[j+1] && letters[j+1].match(/\W/)) {
53664
- setArg(letters[j], arg.slice(j+2), arg);
53665
- broken = true;
53666
- break;
53667
- }
53668
- else {
53669
- setArg(letters[j], flags.strings[letters[j]] ? '' : true, arg);
53670
- }
53671
- }
53672
-
53673
- var key = arg.slice(-1)[0];
53674
- if (!broken && key !== '-') {
53675
- if (args[i+1] && !/^(-|--)[^-]/.test(args[i+1])
53676
- && !flags.bools[key]
53677
- && (aliases[key] ? !aliasIsBoolean(key) : true)) {
53678
- setArg(key, args[i+1], arg);
53679
- i++;
53680
- }
53681
- else if (args[i+1] && /^(true|false)$/.test(args[i+1])) {
53682
- setArg(key, args[i+1] === 'true', arg);
53683
- i++;
53684
- }
53685
- else {
53686
- setArg(key, flags.strings[key] ? '' : true, arg);
53687
- }
53688
- }
53689
- }
53690
- else {
53691
- if (!flags.unknownFn || flags.unknownFn(arg) !== false) {
53692
- argv._.push(
53693
- flags.strings['_'] || !isNumber(arg) ? arg : Number(arg)
53694
- );
53695
- }
53696
- if (opts.stopEarly) {
53697
- argv._.push.apply(argv._, args.slice(i + 1));
53698
- break;
53699
- }
53700
- }
53701
- }
53702
-
53703
- Object.keys(defaults).forEach(function (key) {
53704
- if (!hasKey(argv, key.split('.'))) {
53705
- setKey(argv, key.split('.'), defaults[key]);
53706
-
53707
- (aliases[key] || []).forEach(function (x) {
53708
- setKey(argv, x.split('.'), defaults[key]);
53709
- });
53710
- }
53711
- });
53712
-
53713
- if (opts['--']) {
53714
- argv['--'] = new Array();
53715
- notFlags.forEach(function(key) {
53716
- argv['--'].push(key);
53717
- });
53718
- }
53719
- else {
53720
- notFlags.forEach(function(key) {
53721
- argv._.push(key);
53722
- });
53723
- }
53560
+ var defaults = opts.default || {};
53724
53561
 
53725
- return argv;
53726
- };
53562
+ var argv = { _: [] };
53727
53563
 
53728
- function hasKey (obj, keys) {
53729
- var o = obj;
53730
- keys.slice(0,-1).forEach(function (key) {
53731
- o = (o[key] || {});
53732
- });
53564
+ function argDefined(key, arg) {
53565
+ return (flags.allBools && (/^--[^=]+$/).test(arg))
53566
+ || flags.strings[key]
53567
+ || flags.bools[key]
53568
+ || aliases[key];
53569
+ }
53570
+
53571
+ function setKey(obj, keys, value) {
53572
+ var o = obj;
53573
+ for (var i = 0; i < keys.length - 1; i++) {
53574
+ var key = keys[i];
53575
+ if (isConstructorOrProto(o, key)) { return; }
53576
+ if (o[key] === undefined) { o[key] = {}; }
53577
+ if (
53578
+ o[key] === Object.prototype
53579
+ || o[key] === Number.prototype
53580
+ || o[key] === String.prototype
53581
+ ) {
53582
+ o[key] = {};
53583
+ }
53584
+ if (o[key] === Array.prototype) { o[key] = []; }
53585
+ o = o[key];
53586
+ }
53733
53587
 
53734
- var key = keys[keys.length - 1];
53735
- return key in o;
53588
+ var lastKey = keys[keys.length - 1];
53589
+ if (isConstructorOrProto(o, lastKey)) { return; }
53590
+ if (
53591
+ o === Object.prototype
53592
+ || o === Number.prototype
53593
+ || o === String.prototype
53594
+ ) {
53595
+ o = {};
53596
+ }
53597
+ if (o === Array.prototype) { o = []; }
53598
+ if (o[lastKey] === undefined || flags.bools[lastKey] || typeof o[lastKey] === 'boolean') {
53599
+ o[lastKey] = value;
53600
+ } else if (Array.isArray(o[lastKey])) {
53601
+ o[lastKey].push(value);
53602
+ } else {
53603
+ o[lastKey] = [o[lastKey], value];
53604
+ }
53736
53605
  }
53737
53606
 
53738
- function isNumber (x) {
53739
- if (typeof x === 'number') return true;
53740
- if (/^0x[0-9a-f]+$/i.test(x)) return true;
53741
- return /^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(x);
53607
+ function setArg(key, val, arg) {
53608
+ if (arg && flags.unknownFn && !argDefined(key, arg)) {
53609
+ if (flags.unknownFn(arg) === false) { return; }
53610
+ }
53611
+
53612
+ var value = !flags.strings[key] && isNumber(val)
53613
+ ? Number(val)
53614
+ : val;
53615
+ setKey(argv, key.split('.'), value);
53616
+
53617
+ (aliases[key] || []).forEach(function (x) {
53618
+ setKey(argv, x.split('.'), value);
53619
+ });
53742
53620
  }
53743
53621
 
53622
+ Object.keys(flags.bools).forEach(function (key) {
53623
+ setArg(key, defaults[key] === undefined ? false : defaults[key]);
53624
+ });
53625
+
53626
+ var notFlags = [];
53744
53627
 
53745
- function isConstructorOrProto (obj, key) {
53746
- return key === 'constructor' && typeof obj[key] === 'function' || key === '__proto__';
53628
+ if (args.indexOf('--') !== -1) {
53629
+ notFlags = args.slice(args.indexOf('--') + 1);
53630
+ args = args.slice(0, args.indexOf('--'));
53747
53631
  }
53748
- return minimist;
53749
- }
53750
53632
 
53751
- /*global require,module,process*/
53633
+ for (var i = 0; i < args.length; i++) {
53634
+ var arg = args[i];
53635
+ var key;
53636
+ var next;
53637
+
53638
+ if ((/^--.+=/).test(arg)) {
53639
+ // Using [\s\S] instead of . because js doesn't support the
53640
+ // 'dotall' regex modifier. See:
53641
+ // http://stackoverflow.com/a/1068308/13216
53642
+ var m = arg.match(/^--([^=]+)=([\s\S]*)$/);
53643
+ key = m[1];
53644
+ var value = m[2];
53645
+ if (flags.bools[key]) {
53646
+ value = value !== 'false';
53647
+ }
53648
+ setArg(key, value, arg);
53649
+ } else if ((/^--no-.+/).test(arg)) {
53650
+ key = arg.match(/^--no-(.+)/)[1];
53651
+ setArg(key, false, arg);
53652
+ } else if ((/^--.+/).test(arg)) {
53653
+ key = arg.match(/^--(.+)/)[1];
53654
+ next = args[i + 1];
53655
+ if (
53656
+ next !== undefined
53657
+ && !(/^(-|--)[^-]/).test(next)
53658
+ && !flags.bools[key]
53659
+ && !flags.allBools
53660
+ && (aliases[key] ? !aliasIsBoolean(key) : true)
53661
+ ) {
53662
+ setArg(key, next, arg);
53663
+ i += 1;
53664
+ } else if ((/^(true|false)$/).test(next)) {
53665
+ setArg(key, next === 'true', arg);
53666
+ i += 1;
53667
+ } else {
53668
+ setArg(key, flags.strings[key] ? '' : true, arg);
53669
+ }
53670
+ } else if ((/^-[^-]+/).test(arg)) {
53671
+ var letters = arg.slice(1, -1).split('');
53672
+
53673
+ var broken = false;
53674
+ for (var j = 0; j < letters.length; j++) {
53675
+ next = arg.slice(j + 2);
53752
53676
 
53753
- const fs = fs__default["default"];
53754
- const path = path__default["default"];
53755
- const appPath = appRootPath;
53756
- const xdg = xdgBasedir;
53677
+ if (next === '-') {
53678
+ setArg(letters[j], next, arg);
53679
+ continue;
53680
+ }
53757
53681
 
53758
- function split(data)
53759
- {
53682
+ if ((/[A-Za-z]/).test(letters[j]) && next[0] === '=') {
53683
+ setArg(letters[j], next.slice(1), arg);
53684
+ broken = true;
53685
+ break;
53686
+ }
53687
+
53688
+ if (
53689
+ (/[A-Za-z]/).test(letters[j])
53690
+ && (/-?\d+(\.\d*)?(e-?\d+)?$/).test(next)
53691
+ ) {
53692
+ setArg(letters[j], next, arg);
53693
+ broken = true;
53694
+ break;
53695
+ }
53696
+
53697
+ if (letters[j + 1] && letters[j + 1].match(/\W/)) {
53698
+ setArg(letters[j], arg.slice(j + 2), arg);
53699
+ broken = true;
53700
+ break;
53701
+ } else {
53702
+ setArg(letters[j], flags.strings[letters[j]] ? '' : true, arg);
53703
+ }
53704
+ }
53705
+
53706
+ key = arg.slice(-1)[0];
53707
+ if (!broken && key !== '-') {
53708
+ if (
53709
+ args[i + 1]
53710
+ && !(/^(-|--)[^-]/).test(args[i + 1])
53711
+ && !flags.bools[key]
53712
+ && (aliases[key] ? !aliasIsBoolean(key) : true)
53713
+ ) {
53714
+ setArg(key, args[i + 1], arg);
53715
+ i += 1;
53716
+ } else if (args[i + 1] && (/^(true|false)$/).test(args[i + 1])) {
53717
+ setArg(key, args[i + 1] === 'true', arg);
53718
+ i += 1;
53719
+ } else {
53720
+ setArg(key, flags.strings[key] ? '' : true, arg);
53721
+ }
53722
+ }
53723
+ } else {
53724
+ if (!flags.unknownFn || flags.unknownFn(arg) !== false) {
53725
+ argv._.push(flags.strings._ || !isNumber(arg) ? arg : Number(arg));
53726
+ }
53727
+ if (opts.stopEarly) {
53728
+ argv._.push.apply(argv._, args.slice(i + 1));
53729
+ break;
53730
+ }
53731
+ }
53732
+ }
53733
+
53734
+ Object.keys(defaults).forEach(function (k) {
53735
+ if (!hasKey(argv, k.split('.'))) {
53736
+ setKey(argv, k.split('.'), defaults[k]);
53737
+
53738
+ (aliases[k] || []).forEach(function (x) {
53739
+ setKey(argv, x.split('.'), defaults[k]);
53740
+ });
53741
+ }
53742
+ });
53743
+
53744
+ if (opts['--']) {
53745
+ argv['--'] = notFlags.slice();
53746
+ } else {
53747
+ notFlags.forEach(function (k) {
53748
+ argv._.push(k);
53749
+ });
53750
+ }
53751
+
53752
+ return argv;
53753
+ };
53754
+
53755
+ function split(data) {
53760
53756
  const pre = data.split("\n");
53761
53757
  // rejoin with lines that starts with a whitespace
53762
53758
  const out = [];
@@ -53775,7 +53771,8 @@ function split(data)
53775
53771
  --idx;
53776
53772
  if (idx < cur.length - 1)
53777
53773
  cur = cur.substr(0, idx + 1);
53778
- } else if (cur.length > 0) {
53774
+ }
53775
+ else if (cur.length > 0) {
53779
53776
  out.push(cur.trim());
53780
53777
  cur = line.trim();
53781
53778
  }
@@ -53785,9 +53782,7 @@ function split(data)
53785
53782
  }
53786
53783
  return out;
53787
53784
  }
53788
-
53789
- function realValue(v)
53790
- {
53785
+ function realValue(v) {
53791
53786
  if (typeof v !== "string")
53792
53787
  return v;
53793
53788
  if (/^[-0-9.]+$/.exec(v)) {
@@ -53796,119 +53791,130 @@ function realValue(v)
53796
53791
  return vf;
53797
53792
  }
53798
53793
  switch (v) {
53799
- case "true":
53800
- return true;
53801
- case "false":
53802
- return false;
53794
+ case "true":
53795
+ return true;
53796
+ case "false":
53797
+ return false;
53803
53798
  }
53804
53799
  return v;
53805
53800
  }
53806
-
53807
- class Options {
53801
+ class Engine {
53802
+ argv;
53803
+ prefix;
53804
+ additionalFiles;
53805
+ applicationPath;
53806
+ debug;
53807
+ options;
53808
+ configDirs;
53808
53809
  constructor(options, argv) {
53809
53810
  this.argv = Object.assign({}, argv);
53810
53811
  this.prefix = options.prefix;
53811
53812
  this.additionalFiles = options.additionalFiles || [];
53812
- this.applicationPath = options.noApplicationPath ? "" : appPath.toString();
53813
- this.debug = options.debug;
53813
+ this.applicationPath = options.noApplicationPath ? "" : appRootPath.toString();
53814
+ this.debug = options.debug ?? false;
53814
53815
  this.options = {};
53815
- this.configDirs = this.argv["config-dir"] || options.configDirs || xdg.configDirs;
53816
+ this.configDirs = this.argv["config-dir"] || options.configDirs || xdgBasedir.configDirs;
53816
53817
  this._read();
53817
53818
  }
53818
-
53819
53819
  value(name) {
53820
53820
  // foo-bar becomes FOO_BAR as env
53821
- if (name in this.argv)
53821
+ if (name in this.argv) {
53822
53822
  return this.argv[name];
53823
+ }
53823
53824
  const envname = (this.prefix + "_" + name).replace(/-/g, "_").toUpperCase();
53824
- if (envname in process.env)
53825
+ if (envname in process.env) {
53825
53826
  return realValue(process.env[envname]);
53826
-
53827
- if (name in this.options)
53827
+ }
53828
+ if (name in this.options) {
53828
53829
  return this.options[name];
53830
+ }
53829
53831
  return undefined;
53830
53832
  }
53831
-
53833
+ string(name) {
53834
+ const ret = this.value(name);
53835
+ if (ret === undefined) {
53836
+ return undefined;
53837
+ }
53838
+ return String(ret);
53839
+ }
53832
53840
  _homedir() {
53833
53841
  let home = process.env.home;
53834
53842
  if (home) {
53835
- return path.join(home, ".config");
53843
+ return path__default["default"].join(home, ".config");
53836
53844
  }
53837
53845
  return undefined;
53838
53846
  }
53839
-
53840
53847
  _log(...args) {
53841
53848
  if (this.debug)
53842
53849
  console.log(...args);
53843
53850
  }
53844
-
53845
53851
  _read() {
53846
53852
  // if we have a config file passed, read it
53847
- let file = this.value("config-file");
53853
+ let file = this.string("config-file");
53848
53854
  if (!file && this.prefix)
53849
53855
  file = this.prefix + ".conf";
53850
53856
  if (!file)
53851
53857
  return;
53852
-
53853
53858
  let data = [];
53854
53859
  let seen = new Set();
53855
- const Failed = 0;
53856
- const Success = 1;
53857
- const Seen = 2;
53858
- const read = file => {
53860
+ const read = (file) => {
53859
53861
  if (seen.has(file))
53860
- return Seen;
53862
+ return 2 /* OptionsReadResult.Seen */;
53861
53863
  seen.add(file);
53862
53864
  try {
53863
- const contents = fs.readFileSync(file, "utf8");
53865
+ const contents = fs__default["default"].readFileSync(file, "utf8");
53864
53866
  this._log(`Loaded ${contents.length} bytes from ${file}`);
53865
-
53866
53867
  if (contents) {
53867
- data.push({ file: file, contents: contents });
53868
- return Success;
53868
+ data.push({ file, contents });
53869
+ return 1 /* OptionsReadResult.Success */;
53869
53870
  }
53870
- } catch (e) {
53871
+ }
53872
+ catch (e) {
53871
53873
  this._log(`Failed to load ${file}`);
53872
53874
  }
53873
- return Failed;
53875
+ return 0 /* OptionsReadResult.Failed */;
53874
53876
  };
53875
-
53876
53877
  // console.log("about to read file", file, "additionalFiles", this.additionalFiles, "configDirs", this.configDirs, "applicationPath", this.applicationPath, "homedir", this._homedir());
53877
- if (path.isAbsolute(file)) {
53878
+ if (path__default["default"].isAbsolute(file)) {
53878
53879
  read(file);
53879
- } else {
53880
+ }
53881
+ else {
53880
53882
  this.additionalFiles.forEach(file => {
53881
- if (path.isAbsolute(file) && read(file) == Failed)
53883
+ if (path__default["default"].isAbsolute(file) && read(file) == 0 /* OptionsReadResult.Failed */) {
53882
53884
  read(file + ".conf");
53885
+ }
53883
53886
  });
53884
53887
  ([this.applicationPath, this._homedir()].concat(this.configDirs)).forEach(root => {
53885
53888
  // in case we appended with undefined
53886
- if (!root)
53889
+ if (!root) {
53887
53890
  return;
53891
+ }
53888
53892
  this.additionalFiles.forEach(additional => {
53889
- if (!path.isAbsolute(additional)) {
53890
- let file = path.join(root, additional);
53891
- if (read(file) == Failed)
53893
+ if (!path__default["default"].isAbsolute(additional)) {
53894
+ let file = path__default["default"].join(root, additional);
53895
+ if (read(file) == 0 /* OptionsReadResult.Failed */)
53892
53896
  read(file + ".conf");
53893
53897
  }
53894
53898
  });
53895
-
53896
- let filePath = path.join(root, file);
53897
- if (read(filePath) == Failed)
53899
+ let filePath = path__default["default"].join(root, file);
53900
+ if (read(filePath) == 0 /* OptionsReadResult.Failed */) {
53898
53901
  read(filePath + ".conf");
53902
+ }
53899
53903
  });
53900
53904
  }
53901
53905
  for (let i = data.length - 1; i >= 0; --i) {
53902
53906
  let str = data[i].contents;
53903
- if (!str)
53907
+ if (!str) {
53904
53908
  continue;
53909
+ }
53905
53910
  try {
53906
53911
  let obj = JSON.parse(str);
53907
53912
  for (let key in obj) {
53908
53913
  this._log(`Assigning ${JSON.stringify(obj[key])} over ${JSON.stringify(this.options[key])} for ${key} from ${data[i].file} (JSON)`);
53909
53914
  this.options[key] = obj[key];
53910
53915
  }
53911
- } catch (err) {
53916
+ }
53917
+ catch (err) {
53912
53918
  const items = split(str);
53913
53919
  for (let j = 0; j < items.length; ++j) {
53914
53920
  const item = items[j].trim();
@@ -53921,12 +53927,12 @@ class Options {
53921
53927
  this._log("Couldn't find =", item);
53922
53928
  continue;
53923
53929
  }
53924
- const key = item.substr(0, eq).trim();
53930
+ const key = item.substring(0, eq).trim();
53925
53931
  if (!key.length) {
53926
53932
  this._log("empty key", item);
53927
53933
  continue;
53928
53934
  }
53929
- const value = item.substr(eq + 1).trim();
53935
+ const value = item.substring(eq + 1).trim();
53930
53936
  this._log(`Assigning ${value} over ${this.options[key]} for ${key} from ${data[i].file} (INI)`);
53931
53937
  this.options[key] = value;
53932
53938
  }
@@ -53934,37 +53940,34 @@ class Options {
53934
53940
  }
53935
53941
  }
53936
53942
  }
53937
-
53938
- const data = {};
53939
-
53940
- var options = function(options, argv) {
53941
- if (!argv)
53942
- argv = requireMinimist()(process.argv.slice(2));
53943
- if (!(options instanceof Object))
53944
- options = { prefix: options || "" };
53945
-
53946
- data.options = new Options(options, argv);
53947
- let ret = function(name, defaultValue) {
53948
- const val = data.options.value(name);
53949
- if (typeof val === "undefined")
53943
+ function options (optionsOptions, argv) {
53944
+ if (!argv) {
53945
+ argv = minimist(process.argv.slice(2));
53946
+ }
53947
+ if (!(optionsOptions instanceof Object)) {
53948
+ optionsOptions = { prefix: optionsOptions || "" };
53949
+ }
53950
+ const engine = new Engine(optionsOptions, argv);
53951
+ function value(name, defaultValue) {
53952
+ const val = engine.value(name);
53953
+ if (val === undefined)
53950
53954
  return defaultValue;
53951
53955
  return val;
53952
- };
53953
- ret.prefix = options.prefix;
53954
- ret.int = function(name, defaultValue) {
53955
- const v = parseInt(data.options.value(name));
53956
+ }
53957
+ function float(name, defaultValue) {
53958
+ const v = parseFloat(engine.string(name) || "");
53956
53959
  if (typeof v === "number" && !isNaN(v))
53957
53960
  return v;
53958
53961
  return defaultValue;
53959
- };
53960
- ret.float = function(name, defaultValue) {
53961
- const v = parseFloat(data.options.value(name));
53962
+ }
53963
+ function int(name, defaultValue) {
53964
+ const v = parseInt(engine.string(name) || "");
53962
53965
  if (typeof v === "number" && !isNaN(v))
53963
53966
  return v;
53964
53967
  return defaultValue;
53965
- };
53966
- ret.json = function(name, defaultValue) {
53967
- const opt = data.options.value(name);
53968
+ }
53969
+ function json(name, defaultValue) {
53970
+ const opt = engine.value(name);
53968
53971
  if (opt === undefined)
53969
53972
  return defaultValue;
53970
53973
  if (typeof opt !== "string")
@@ -53972,12 +53975,22 @@ var options = function(options, argv) {
53972
53975
  try {
53973
53976
  const json = JSON.parse(opt);
53974
53977
  return json;
53975
- } catch (e) {
53978
+ }
53979
+ catch (e) {
53976
53980
  }
53977
53981
  return defaultValue;
53978
- };
53979
- return ret;
53980
- };
53982
+ }
53983
+ function string(name, defaultValue) {
53984
+ return engine.string(name) ?? defaultValue;
53985
+ }
53986
+ return Object.assign(value, {
53987
+ prefix: optionsOptions.prefix,
53988
+ float,
53989
+ int,
53990
+ json,
53991
+ string,
53992
+ });
53993
+ }
53981
53994
 
53982
53995
  const option = options({
53983
53996
  prefix: "fisk/scheduler",
@@ -54005,7 +54018,7 @@ server.on("error", (error) => {
54005
54018
  });
54006
54019
  let schedulerNpmVersion;
54007
54020
  try {
54008
- schedulerNpmVersion = String(JSON.parse(fs$5.readFileSync(path__default["default"].join(__dirname, "../package.json"), "utf8")).version);
54021
+ schedulerNpmVersion = String(JSON.parse(fs$4.readFileSync(path__default["default"].join(__dirname, "../package.json"), "utf8")).version);
54009
54022
  }
54010
54023
  catch (err) {
54011
54024
  console.log("Couldn't parse package json", err);
@@ -54025,7 +54038,7 @@ const db = new Database(path__default["default"].join(common.cacheDir(), "db.jso
54025
54038
  let objectCache;
54026
54039
  const logFileDir = path__default["default"].join(common.cacheDir(), "logs");
54027
54040
  try {
54028
- fs$5.mkdirSync(logFileDir);
54041
+ fs$4.mkdirSync(logFileDir);
54029
54042
  }
54030
54043
  catch (err) {
54031
54044
  /* */
@@ -54266,14 +54279,14 @@ function purgeEnvironmentsToMaxSize() {
54266
54279
  const p = Environments.instance.path;
54267
54280
  try {
54268
54281
  let purged = false;
54269
- fs$5.readdirSync(p)
54282
+ fs$4.readdirSync(p)
54270
54283
  .map((file) => {
54271
54284
  // console.log("got file", file);
54272
54285
  const abs = path__default["default"].join(p, file);
54273
54286
  if (file.length !== 47 || file.indexOf(".tar.gz", 40) !== 40) {
54274
54287
  try {
54275
54288
  console.log("Removing unexpected file", abs);
54276
- fs$5.removeSync(abs);
54289
+ fs$4.removeSync(abs);
54277
54290
  }
54278
54291
  catch (err) {
54279
54292
  console.error("Failed to remove file", abs, err);
@@ -54282,7 +54295,7 @@ function purgeEnvironmentsToMaxSize() {
54282
54295
  }
54283
54296
  let stat;
54284
54297
  try {
54285
- stat = fs$5.statSync(abs);
54298
+ stat = fs$4.statSync(abs);
54286
54299
  }
54287
54300
  catch (err) {
54288
54301
  return undefined;
@@ -54490,7 +54503,7 @@ server.on("listen", (app) => {
54490
54503
  res.sendStatus(404);
54491
54504
  return;
54492
54505
  }
54493
- const rstream = fs$5.createReadStream(env.path);
54506
+ const rstream = fs$4.createReadStream(env.path);
54494
54507
  rstream.on("error", (err) => {
54495
54508
  console.error("Got read stream error for", env.path, err);
54496
54509
  rstream.close();
@@ -54501,7 +54514,7 @@ server.on("listen", (app) => {
54501
54514
  console.log("quitting", req.query);
54502
54515
  if ("purge_environments" in req.query) {
54503
54516
  try {
54504
- fs$5.removeSync(path__default["default"].join(common.cacheDir(), "environments"));
54517
+ fs$4.removeSync(path__default["default"].join(common.cacheDir(), "environments"));
54505
54518
  }
54506
54519
  catch (err) {
54507
54520
  /* */
@@ -54575,7 +54588,7 @@ ${msg.stdout ? "stdout:\n" + msg.stdout + "\n" : ""}${msg.stderr ? "stderr:\n" +
54575
54588
  });
54576
54589
  function updateLogFilesToMonitors() {
54577
54590
  if (monitors.length) {
54578
- fs$5.readdir(logFileDir, (err, files) => {
54591
+ fs$4.readdir(logFileDir, (err, files) => {
54579
54592
  if (files) {
54580
54593
  files = files.reverse();
54581
54594
  }
@@ -54588,13 +54601,13 @@ function updateLogFilesToMonitors() {
54588
54601
  }
54589
54602
  }
54590
54603
  function clearLogFiles() {
54591
- fs$5.readdir(logFileDir, (err, files) => {
54604
+ fs$4.readdir(logFileDir, (err, files) => {
54592
54605
  if (err) {
54593
54606
  console.log("Got error removing log files", err);
54594
54607
  return;
54595
54608
  }
54596
54609
  for (const file of files) {
54597
- fs$5.unlink(path__default["default"].join(logFileDir, file), (error) => {
54610
+ fs$4.unlink(path__default["default"].join(logFileDir, file), (error) => {
54598
54611
  if (error) {
54599
54612
  console.log("failed to remove file", path__default["default"].join(logFileDir, file), error);
54600
54613
  }
@@ -54604,7 +54617,7 @@ function clearLogFiles() {
54604
54617
  });
54605
54618
  }
54606
54619
  try {
54607
- fs$5.watch(logFileDir, (type) => {
54620
+ fs$4.watch(logFileDir, (type) => {
54608
54621
  if (type === "rename") {
54609
54622
  updateLogFilesToMonitors();
54610
54623
  }
@@ -54639,7 +54652,7 @@ function formatDate(date) {
54639
54652
  }
54640
54653
  function addLogFile(log) {
54641
54654
  try {
54642
- fs$5.writeFileSync(path__default["default"].join(logFileDir, `${formatDate(new Date())} ${log.source} ${log.ip}`), log.contents);
54655
+ fs$4.writeFileSync(path__default["default"].join(logFileDir, `${formatDate(new Date())} ${log.source} ${log.ip}`), log.contents);
54643
54656
  }
54644
54657
  catch (err) {
54645
54658
  console.error(`Failed to write log file from ${log.ip}`, err);
@@ -55055,7 +55068,7 @@ server.on("monitor", (client) => {
55055
55068
  break;
55056
55069
  case "logFiles":
55057
55070
  // console.log("logFiles:", message);
55058
- fs$5.readdir(logFileDir, (err, files) => {
55071
+ fs$4.readdir(logFileDir, (err, files) => {
55059
55072
  if (files) {
55060
55073
  files = files.reverse();
55061
55074
  }
@@ -55070,7 +55083,7 @@ server.on("monitor", (client) => {
55070
55083
  return;
55071
55084
  }
55072
55085
  const f = path__default["default"].join(logFileDir, message.file);
55073
- fs$5.readFile(f, "utf8", (err, contents) => {
55086
+ fs$4.readFile(f, "utf8", (err, contents) => {
55074
55087
  // console.log("sending file", f, contents.length);
55075
55088
  client.send({ type: "logFile", file: f, contents: contents || "" });
55076
55089
  });