fyn 1.1.33 → 1.1.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/fyn.js +35 -23
  2. package/package.json +1 -1
package/dist/fyn.js CHANGED
@@ -2532,6 +2532,7 @@ const Crypto = __webpack_require__("crypto");
2532
2532
  * ]
2533
2533
  * }
2534
2534
  * ```
2535
+ *
2535
2536
  * @param {*} tree - the dir tree
2536
2537
  * @param {*} output - output object
2537
2538
  * @param {*} baseDir - base dir path
@@ -2674,7 +2675,7 @@ class FynCentral {
2674
2675
  * to know if file changed.
2675
2676
  *
2676
2677
  * @param {*} integrity - shasum integrity for the package
2677
- * @returns
2678
+ * @returns void
2678
2679
  */
2679
2680
 
2680
2681
 
@@ -2802,9 +2803,16 @@ class FynCentral {
2802
2803
  }
2803
2804
 
2804
2805
  _untarStream(tarStream, targetDir) {
2805
- const dirTree = {
2806
- "/": {}
2806
+ // since we are using objects to store directory tree we have to
2807
+ // create objects without the normal prototypes to avoid name conflict
2808
+ // with file names
2809
+ const newDirObj = () => {
2810
+ const n = Object.create(null);
2811
+ n["/"] = Object.create(null);
2812
+ return n;
2807
2813
  };
2814
+
2815
+ const dirTree = newDirObj();
2808
2816
  const strip = 1;
2809
2817
  const untarStream = Tar.x({
2810
2818
  strip,
@@ -2815,9 +2823,7 @@ class FynCentral {
2815
2823
  const isDir = entry.type === "Directory";
2816
2824
  const dirs = parts.slice(strip, isDir ? parts.length : parts.length - 1);
2817
2825
  const wtree = dirs.reduce((wt, dir) => {
2818
- return wt[dir] || (wt[dir] = {
2819
- "/": {}
2820
- });
2826
+ return wt[dir] || (wt[dir] = newDirObj());
2821
2827
  }, dirTree);
2822
2828
  if (isDir) return;
2823
2829
  const fname = parts[parts.length - 1];
@@ -2904,7 +2910,7 @@ class FynCentral {
2904
2910
  } else {
2905
2911
  logger.debug("storing tar to central store", pkgId, integrity);
2906
2912
  await this._storeTarStream(info, stream);
2907
- stream = undefined;
2913
+ stream = undefined; // eslint-disable-line
2908
2914
 
2909
2915
  this._map.set(integrity, info);
2910
2916
 
@@ -4387,7 +4393,7 @@ class LocalPkgBuilder {
4387
4393
 
4388
4394
  async processItem(item) {
4389
4395
  if (!_.isEmpty(this._failedItems)) {
4390
- return;
4396
+ return {};
4391
4397
  }
4392
4398
 
4393
4399
  const dispPath = Path.relative(this._options.fyn._cwd, item.fullPath);
@@ -4517,7 +4523,7 @@ module.exports = new CliLogger();
4517
4523
 
4518
4524
  "use strict";
4519
4525
 
4520
- /* eslint-disable no-magic-numbers, max-statements */
4526
+ /* eslint-disable no-magic-numbers, max-statements, no-param-reassign */
4521
4527
 
4522
4528
  const MAX_PENDING_SHOW = 10;
4523
4529
 
@@ -4589,7 +4595,7 @@ module.exports = {
4589
4595
 
4590
4596
  "use strict";
4591
4597
 
4592
- /* eslint-disable global-require, max-statements */
4598
+ /* eslint-disable global-require, max-statements, no-param-reassign */
4593
4599
 
4594
4600
  const Fs = __webpack_require__("./lib/util/file-ops.js");
4595
4601
 
@@ -5238,7 +5244,7 @@ module.exports = PkgDepLinker;
5238
5244
 
5239
5245
  "use strict";
5240
5246
 
5241
- /* eslint-disable no-magic-numbers */
5247
+ /* eslint-disable no-magic-numbers, no-param-reassign */
5242
5248
 
5243
5249
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
5244
5250
 
@@ -5786,7 +5792,7 @@ module.exports = PkgDepLocker;
5786
5792
 
5787
5793
  "use strict";
5788
5794
 
5789
- /* eslint-disable no-magic-numbers, max-params, max-statements, complexity */
5795
+ /* eslint-disable no-magic-numbers, max-params, max-statements, complexity, no-param-reassign */
5790
5796
 
5791
5797
  const _ = __webpack_require__("./node_modules/.f/_/lodash/4.17.21/lodash/lodash.min.js");
5792
5798
 
@@ -7652,7 +7658,7 @@ const {
7652
7658
  LOCK_RSEMVERS,
7653
7659
  SEMVER
7654
7660
  } = __webpack_require__("./lib/symbols.js");
7655
- /* eslint-disable max-statements,no-magic-numbers,no-empty,complexity,prefer-template,max-len, max-depth */
7661
+ /* eslint-disable max-statements,no-magic-numbers,no-empty,complexity,prefer-template,max-len, max-depth, no-param-reassign */
7656
7662
 
7657
7663
 
7658
7664
  class PkgInstaller {
@@ -8326,7 +8332,7 @@ module.exports = PkgInstaller;
8326
8332
 
8327
8333
  "use strict";
8328
8334
 
8329
- /* eslint-disable max-nested-callbacks */
8335
+ /* eslint-disable max-nested-callbacks, no-param-reassign */
8330
8336
 
8331
8337
  const assert = __webpack_require__("assert");
8332
8338
 
@@ -8725,7 +8731,7 @@ module.exports = PkgOptResolver;
8725
8731
  // - npm registry
8726
8732
  //
8727
8733
 
8728
- /* eslint-disable no-magic-numbers, prefer-template, max-statements */
8734
+ /* eslint-disable no-magic-numbers, prefer-template, max-statements, no-param-reassign */
8729
8735
 
8730
8736
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
8731
8737
 
@@ -9571,7 +9577,7 @@ module.exports = {
9571
9577
 
9572
9578
  "use strict";
9573
9579
 
9574
- /* eslint-disable max-params */
9580
+ /* eslint-disable max-params, no-param-reassign */
9575
9581
 
9576
9582
  const _ = __webpack_require__("./node_modules/.f/_/lodash/4.17.21/lodash/lodash.min.js");
9577
9583
 
@@ -10275,11 +10281,18 @@ async function generatePackTree(path, _logger = logger) {
10275
10281
  if (files.length > 1000) {
10276
10282
  _logger.warn(`Local linking package at ${path} has more than ${files.length} files.
10277
10283
  >>> This is unusual, please check package .npmignore or 'files' in package.json <<<`);
10278
- }
10284
+ } // since we are using objects to store directory tree we have to
10285
+ // create objects without the normal prototypes to avoid name conflict
10286
+ // with file names
10279
10287
 
10280
- const fmap = {
10281
- [SYM_FILES]: []
10288
+
10289
+ const newDirObj = () => {
10290
+ const n = Object.create(null);
10291
+ n[SYM_FILES] = [];
10292
+ return n;
10282
10293
  };
10294
+
10295
+ const fmap = newDirObj();
10283
10296
  files.sort().forEach(filePath => {
10284
10297
  const dir = Path.dirname(filePath);
10285
10298
 
@@ -10292,9 +10305,7 @@ async function generatePackTree(path, _logger = logger) {
10292
10305
 
10293
10306
  dir.split("/").forEach(d => {
10294
10307
  if (!dmap[d]) {
10295
- dmap[d] = {
10296
- [SYM_FILES]: []
10297
- };
10308
+ dmap[d] = newDirObj();
10298
10309
  }
10299
10310
 
10300
10311
  dmap = dmap[d];
@@ -10573,7 +10584,7 @@ module.exports = __webpack_require__("./node_modules/.f/_/item-queue/1.1.2/item-
10573
10584
 
10574
10585
  "use strict";
10575
10586
 
10576
- /* eslint-disable no-magic-numbers */
10587
+ /* eslint-disable no-magic-numbers, no-param-reassign */
10577
10588
 
10578
10589
  const chalk = __webpack_require__("./node_modules/.f/_/chalk/4.1.2/chalk/source/index.js");
10579
10590
 
@@ -10685,6 +10696,7 @@ module.exports = ItemQueue;
10685
10696
 
10686
10697
  "use strict";
10687
10698
 
10699
+ /* eslint-disable no-param-reassign */
10688
10700
 
10689
10701
  const Promise = __webpack_require__("./node_modules/.f/_/bluebird/3.7.2/bluebird/js/release/bluebird.js");
10690
10702
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fyn",
3
- "version": "1.1.33",
3
+ "version": "1.1.34",
4
4
  "description": "The package manager for fynpo, a zero setup monorepo manager",
5
5
  "main": "./bin/fyn.js",
6
6
  "homepage": "https://jchip.github.io/fynpo/",