fyn 1.1.34 → 1.1.37

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 +157 -36
  2. package/package.json +1 -1
package/dist/fyn.js CHANGED
@@ -542,6 +542,8 @@ const {
542
542
  setupNodeGypEnv
543
543
  } = __webpack_require__("./lib/util/setup-node-gyp.js");
544
544
 
545
+ const hardLinkDir = __webpack_require__("./lib/util/hard-link-dir.js");
546
+
545
547
  const xsh = __webpack_require__("./node_modules/.f/_/xsh/0.4.5/xsh/lib/index.js");
546
548
 
547
549
  function checkNewVersion(npmConfig) {
@@ -864,6 +866,27 @@ class FynCli {
864
866
  logger.error("No package was removed");
865
867
  return false;
866
868
  }
869
+
870
+ async syncLocalLinks() {
871
+ await this.fyn._initializePkg();
872
+ const {
873
+ localPkgLinks
874
+ } = this.fyn._installConfig;
875
+
876
+ if (!_.isEmpty(localPkgLinks)) {
877
+ for (const vdir in localPkgLinks) {
878
+ const tgtDir = Path.join(this.fyn._cwd, vdir);
879
+ const srcDir = Path.join(this.fyn._cwd, localPkgLinks[vdir].srcDir);
880
+ await hardLinkDir.link(srcDir, tgtDir, {
881
+ sourceMaps: localPkgLinks[vdir].sourceMaps
882
+ });
883
+ }
884
+
885
+ logger.info(`refreshed linked files for local packages`);
886
+ } else {
887
+ logger.info(`There are no local packages`);
888
+ }
889
+ }
867
890
  /*
868
891
  * npm scripts execution order on install
869
892
  * 1. preinstall
@@ -1671,6 +1694,21 @@ const commands = {
1671
1694
  type: "boolean"
1672
1695
  }
1673
1696
  }
1697
+ },
1698
+ "sync-local": {
1699
+ desc: "Refresh locally linked package files",
1700
+ alias: "sl",
1701
+
1702
+ async exec(argv, parsed) {
1703
+ try {
1704
+ const opts = await pickOptions(argv, parsed.nixClap, true);
1705
+ const cli = new FynCli(opts);
1706
+ return cli.syncLocalLinks();
1707
+ } catch (err) {
1708
+ process.exit(1);
1709
+ }
1710
+ }
1711
+
1674
1712
  }
1675
1713
  };
1676
1714
 
@@ -2255,6 +2293,7 @@ class DepItem {
2255
2293
 
2256
2294
  this.promoted = undefined;
2257
2295
  this.depth = parent && parent.depth + 1 || options.depth || 0;
2296
+ this.nameDepPath = this.depth > 1 ? parent.nameDepPath + "/" + this.name : this.name;
2258
2297
  this.priority = options.priority;
2259
2298
  }
2260
2299
 
@@ -3059,6 +3098,8 @@ const {
3059
3098
  const {
3060
3099
  parseYarnLock
3061
3100
  } = __webpack_require__("./yarn/index.js");
3101
+
3102
+ const mm = __webpack_require__("./node_modules/.f/_/minimatch/3.0.4/minimatch/minimatch.js");
3062
3103
  /* eslint-disable no-magic-numbers, max-statements, no-empty, complexity, no-eval */
3063
3104
 
3064
3105
 
@@ -3320,6 +3361,20 @@ class Fyn {
3320
3361
  }
3321
3362
 
3322
3363
  this._runNpm = _.uniq([].concat(this._options.runNpm, fynpoNpmRun).filter(x => x));
3364
+
3365
+ const resData = _objectSpread(_objectSpread({}, this._pkg.resolutions), _.get(this._fynpo, ["config", "resolutions"]));
3366
+
3367
+ if (!_.isEmpty(resData)) {
3368
+ this._resolutions = resData;
3369
+ this._resolutionsMatchers = Object.keys(resData).map(x => {
3370
+ const pts = x.split("/");
3371
+ const x2 = pts.length === 1 || pts[0][0] === "@" && pts.length === 2 ? `**/${x}` : x;
3372
+ return {
3373
+ mm: new mm.Minimatch(x2),
3374
+ res: resData[x]
3375
+ };
3376
+ });
3377
+ }
3323
3378
  }
3324
3379
  }
3325
3380
 
@@ -3408,6 +3463,10 @@ class Fyn {
3408
3463
 
3409
3464
  getInstallConfigFile() {
3410
3465
  return Path.join(this.getFvDir(FYN_INSTALL_CONFIG_FILE));
3466
+ }
3467
+
3468
+ setLocalPkgLinks(localLinks) {
3469
+ this._installConfig.localPkgLinks = localLinks;
3411
3470
  } // save the config to outputDir
3412
3471
 
3413
3472
 
@@ -3741,7 +3800,7 @@ class Fyn {
3741
3800
  * - Rare but could occur if fyn is used for monorepo and user has script
3742
3801
  * that run concurrent installs
3743
3802
  *
3744
- * @returns {boolean} if lock was acquired
3803
+ * @returns {Promise<boolean>} if lock was acquired
3745
3804
  */
3746
3805
 
3747
3806
 
@@ -5832,7 +5891,7 @@ const {
5832
5891
  const {
5833
5892
  getDepSection,
5834
5893
  makeDepStep
5835
- } = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.14-fynlocal_h/@fynpo/base/dist/index.js");
5894
+ } = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.15-fynlocal_h/@fynpo/base/dist/index.js");
5836
5895
 
5837
5896
  const xaa = __webpack_require__("./lib/util/xaa.js");
5838
5897
 
@@ -5854,6 +5913,8 @@ const {
5854
5913
  PACKAGE_RAW_INFO,
5855
5914
  DEP_ITEM
5856
5915
  } = __webpack_require__("./lib/symbols.js");
5916
+
5917
+ const failMetaMsg = name => `Unable to retrieve meta for package ${name} - If you've updated its version recently, try to run fyn with '--refresh-meta' again`;
5857
5918
  /*
5858
5919
  * Package dependencies resolver
5859
5920
  *
@@ -6906,6 +6967,35 @@ ${item.depPath.join(" > ")}`);
6906
6967
  resolved
6907
6968
  };
6908
6969
  }
6970
+ /**
6971
+ * Match a nested dep to user's resolutions data
6972
+ *
6973
+ * spec: https://github.com/yarnpkg/rfcs/blob/master/implemented/0000-selective-versions-resolutions.md
6974
+ *
6975
+ * @param {*} item
6976
+ * @returns
6977
+ */
6978
+
6979
+
6980
+ _replaceWithResolutionsData(item) {
6981
+ if (item.depth < 2 || !this._fyn._resolutions || item._semver.$$) {
6982
+ return undefined;
6983
+ }
6984
+
6985
+ const depPath = item.nameDepPath;
6986
+
6987
+ const found = this._fyn._resolutionsMatchers.find(r => r.mm.match(depPath));
6988
+
6989
+ if (found) {
6990
+ const {
6991
+ res
6992
+ } = found;
6993
+ logger.debug(`${depPath} changed to ${res} from ${item.semver} by resolutions data`);
6994
+ semverUtil.replace(item._semver, res);
6995
+ }
6996
+
6997
+ return undefined;
6998
+ }
6909
6999
 
6910
7000
  _resolveWithLockData(item) {
6911
7001
  //
@@ -7020,19 +7110,21 @@ ${item.depPath.join(" > ")}`);
7020
7110
  });
7021
7111
  };
7022
7112
 
7023
- const promise = !item.semverPath || this._fyn.preferLock ? tryLock().then(r => r || item.semverPath && tryLocal()) : tryLocal().then(r => r || tryLock());
7024
-
7025
- const failMetaMsg = name => `Unable to retrieve meta for package ${name} - If you've updated its version recently, try to run fyn with '--refresh-meta' again`;
7113
+ this._replaceWithResolutionsData(item);
7026
7114
 
7115
+ const promise = !item.semverPath || this._fyn.preferLock ? tryLock().then(r => r || item.semverPath && tryLocal()) : tryLocal().then(r => r || tryLock());
7027
7116
  return promise.then(r => {
7028
7117
  if (r && !_.get(r, ["meta", "versions", r.resolved, "_missingJson"])) {
7029
7118
  return r;
7030
7119
  }
7031
7120
 
7032
- if (this._lockOnly || item.localType) return undefined; // neither local nor lock was able to resolve for item
7121
+ if (this._lockOnly || item.localType) {
7122
+ return undefined;
7123
+ } // neither local nor lock was able to resolve for item
7033
7124
  // so try to fetch from registry for real meta to resolve
7034
7125
  // always fetch the item and let pkg src manager deal with caching
7035
7126
 
7127
+
7036
7128
  return this._pkgSrcMgr.fetchMeta(item).then(meta => {
7037
7129
  if (!meta) {
7038
7130
  throw new Error(failMetaMsg(item.name));
@@ -7074,6 +7166,11 @@ ${item.depPath.join(" > ")}`);
7074
7166
  meta,
7075
7167
  resolved
7076
7168
  } = r;
7169
+
7170
+ if (item._semver.$$ && !Semver.satisfies(resolved, item._semver.$$)) {
7171
+ logger.warn(`${item.nameDepPath}@${resolved} resolved by resolutions data doesn't satisfy original semver ${item._semver.$$}`);
7172
+ }
7173
+
7077
7174
  await this.addPackageResolution(item, meta, resolved);
7078
7175
  }).then(() => {
7079
7176
  const depthData = this._depthResolving[item.depth];
@@ -7668,6 +7765,7 @@ class PkgInstaller {
7668
7765
  this._depLinker = new PkgDepLinker({
7669
7766
  fyn: this._fyn
7670
7767
  });
7768
+ this._localLinks = {};
7671
7769
  }
7672
7770
 
7673
7771
  async install() {
@@ -7706,6 +7804,8 @@ class PkgInstaller {
7706
7804
  this.preInstall = undefined;
7707
7805
  this.postInstall = undefined;
7708
7806
  this.toLink = undefined;
7807
+
7808
+ this._fyn.setLocalPkgLinks(this._localLinks);
7709
7809
  });
7710
7810
  }
7711
7811
 
@@ -7720,8 +7820,15 @@ class PkgInstaller {
7720
7820
  const vdir = this._fyn.getInstalledPkgDir(depInfo.name, depInfo.version, depInfo);
7721
7821
 
7722
7822
  if (depInfo.local === "hard") {
7823
+ const {
7824
+ sourceMaps
7825
+ } = this._fyn._options;
7826
+ this._localLinks[Path.relative(this._fyn._cwd, vdir)] = {
7827
+ srcDir: Path.relative(this._fyn._cwd, depInfo.dir),
7828
+ sourceMaps
7829
+ };
7723
7830
  await hardLinkDir.link(depInfo.dir, vdir, {
7724
- sourceMaps: this._fyn._options.sourceMaps
7831
+ sourceMaps
7725
7832
  });
7726
7833
  } else {
7727
7834
  // await this._depLinker.symlinkLocalPackage(vdir, depInfo.dir);
@@ -8808,7 +8915,7 @@ const {
8808
8915
 
8809
8916
  const {
8810
8917
  PackageRef
8811
- } = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.14-fynlocal_h/@fynpo/base/dist/index.js");
8918
+ } = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.15-fynlocal_h/@fynpo/base/dist/index.js");
8812
8919
 
8813
8920
  const WATCH_TIME = 5000; // consider meta cache stale after this much time (30 minutes)
8814
8921
 
@@ -9826,7 +9933,7 @@ const {
9826
9933
  const {
9827
9934
  FynpoConfigManager,
9828
9935
  FynpoDepGraph
9829
- } = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.14-fynlocal_h/@fynpo/base/dist/index.js");
9936
+ } = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.15-fynlocal_h/@fynpo/base/dist/index.js");
9830
9937
  /* eslint-disable no-magic-numbers, max-statements, no-empty, complexity, no-eval */
9831
9938
 
9832
9939
 
@@ -11062,6 +11169,11 @@ function analyze(semver) {
11062
11169
 
11063
11170
  return sv;
11064
11171
  }
11172
+
11173
+ function replace(sv, replaced) {
11174
+ sv.$$ = sv.$;
11175
+ sv.$ = replaced;
11176
+ }
11065
11177
  /**
11066
11178
  * semver utilities lib
11067
11179
  */
@@ -11073,6 +11185,7 @@ const semverLib = {
11073
11185
  },
11074
11186
  split,
11075
11187
  analyze,
11188
+ replace,
11076
11189
  localify,
11077
11190
  localifyHard,
11078
11191
  unlocalify,
@@ -11330,7 +11443,7 @@ module.exports = __webpack_require__("./node_modules/.f/_/xaa/1.7.0/xaa/dist/xaa
11330
11443
 
11331
11444
  /***/ }),
11332
11445
 
11333
- /***/ "./node_modules/.f/_/@fynpo/base/1.1.14-fynlocal_h/@fynpo/base/dist/caching.js":
11446
+ /***/ "./node_modules/.f/_/@fynpo/base/1.1.15-fynlocal_h/@fynpo/base/dist/caching.js":
11334
11447
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
11335
11448
 
11336
11449
  "use strict";
@@ -11351,7 +11464,7 @@ const fs_1 = (0, tslib_1.__importDefault)(__webpack_require__("fs"));
11351
11464
  const path_1 = (0, tslib_1.__importDefault)(__webpack_require__("path"));
11352
11465
  const crypto_1 = (0, tslib_1.__importDefault)(__webpack_require__("crypto"));
11353
11466
 
11354
- const minimatch_group_1 = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.14-fynlocal_h/@fynpo/base/dist/minimatch-group.js");
11467
+ const minimatch_group_1 = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.15-fynlocal_h/@fynpo/base/dist/minimatch-group.js");
11355
11468
  /**
11356
11469
  * create a sha256 hash for some data
11357
11470
  *
@@ -11619,7 +11732,7 @@ exports.processOutput = processOutput;
11619
11732
 
11620
11733
  /***/ }),
11621
11734
 
11622
- /***/ "./node_modules/.f/_/@fynpo/base/1.1.14-fynlocal_h/@fynpo/base/dist/fynpo-config.js":
11735
+ /***/ "./node_modules/.f/_/@fynpo/base/1.1.15-fynlocal_h/@fynpo/base/dist/fynpo-config.js":
11623
11736
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
11624
11737
 
11625
11738
  "use strict";
@@ -11769,7 +11882,7 @@ exports.FynpoConfigManager = FynpoConfigManager;
11769
11882
 
11770
11883
  /***/ }),
11771
11884
 
11772
- /***/ "./node_modules/.f/_/@fynpo/base/1.1.14-fynlocal_h/@fynpo/base/dist/fynpo-dep-graph.js":
11885
+ /***/ "./node_modules/.f/_/@fynpo/base/1.1.15-fynlocal_h/@fynpo/base/dist/fynpo-dep-graph.js":
11773
11886
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
11774
11887
 
11775
11888
  "use strict";
@@ -11799,9 +11912,9 @@ const minimatch_1 = (0, tslib_1.__importDefault)(__webpack_require__("./node_mod
11799
11912
  const lodash_1 = (0, tslib_1.__importDefault)(__webpack_require__("./node_modules/.f/_/lodash/4.17.21/lodash/lodash.min.js"));
11800
11913
  const semver_1 = (0, tslib_1.__importDefault)(__webpack_require__("./node_modules/.f/_/semver/7.3.5/semver/index.js"));
11801
11914
 
11802
- const minimatch_group_1 = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.14-fynlocal_h/@fynpo/base/dist/minimatch-group.js");
11915
+ const minimatch_group_1 = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.15-fynlocal_h/@fynpo/base/dist/minimatch-group.js");
11803
11916
 
11804
- const util_1 = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.14-fynlocal_h/@fynpo/base/dist/util.js");
11917
+ const util_1 = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.15-fynlocal_h/@fynpo/base/dist/util.js");
11805
11918
 
11806
11919
  const is_path_inside_1 = (0, tslib_1.__importDefault)(__webpack_require__("./node_modules/.f/_/is-path-inside/3.0.3/is-path-inside/index.js"));
11807
11920
  const DepSectionMap = {
@@ -11973,12 +12086,12 @@ class FynpoDepGraph {
11973
12086
  this._options = _objectSpread({
11974
12087
  cwd: process.cwd()
11975
12088
  }, options);
11976
- this.depMapByPath = {};
11977
- this.resolvedCache = {};
12089
+ this.depMapByPath = Object.create(null);
12090
+ this.resolvedCache = Object.create(null);
11978
12091
  this.packages = {
11979
- byId: {},
11980
- byName: {},
11981
- byPath: {}
12092
+ byId: Object.create(null),
12093
+ byName: Object.create(null),
12094
+ byPath: Object.create(null)
11982
12095
  };
11983
12096
  }
11984
12097
  /**
@@ -11991,10 +12104,13 @@ class FynpoDepGraph {
11991
12104
  await this.readPackages();
11992
12105
  }
11993
12106
 
11994
- this.updateDepMap();
12107
+ this.resolveDirectDeps(); // we don't need indirect deps
12108
+ // topo sort works with only direct deps
12109
+ // this.resolveIndirectDeps();
11995
12110
  }
11996
12111
  /**
11997
12112
  * update package depdencies map
12113
+ *
11998
12114
  * - re-entrant safe
11999
12115
  */
12000
12116
 
@@ -12012,7 +12128,9 @@ class FynpoDepGraph {
12012
12128
 
12013
12129
  getTopoSortPackagePaths() {
12014
12130
  const depRecords = {};
12015
- const changed = [];
12131
+ const changed = []; //
12132
+ // first start with packages that has zero local dependencies
12133
+ //
12016
12134
 
12017
12135
  for (const path in this.depMapByPath) {
12018
12136
  const depData = this.depMapByPath[path];
@@ -12030,12 +12148,14 @@ class FynpoDepGraph {
12030
12148
  const sorted = [];
12031
12149
 
12032
12150
  while (changed.length > 0) {
12151
+ // remove the zero local dependencies packages from queue
12033
12152
  const record = depRecords[changed.pop()];
12034
12153
  /* istanbul ignore else */
12035
12154
 
12036
12155
  if (record.count === 0) {
12156
+ // add package to result
12037
12157
  record.count = -1;
12038
- sorted.push(record.depData.pkgInfo.path);
12158
+ sorted.push(record.depData.pkgInfo.path); // subtract depdendencies count for all packages depending on the removed package
12039
12159
 
12040
12160
  for (const path in record.depData.dependentsByPath) {
12041
12161
  const record2 = depRecords[path];
@@ -12214,7 +12334,7 @@ class FynpoDepGraph {
12214
12334
  byName
12215
12335
  } = this.packages;
12216
12336
 
12217
- if (byName.hasOwnProperty(pkgJson.name)) {
12337
+ if (byName[pkgJson.name]) {
12218
12338
  byName[pkgJson.name].push(pkgInfo);
12219
12339
  } else {
12220
12340
  byName[pkgJson.name] = [pkgInfo];
@@ -12308,8 +12428,8 @@ class FynpoDepGraph {
12308
12428
  if (!depMapByPath[path]) {
12309
12429
  depMapByPath[path] = {
12310
12430
  pkgInfo: byPath[path],
12311
- localDepsByPath: {},
12312
- dependentsByPath: {}
12431
+ localDepsByPath: Object.create(null),
12432
+ dependentsByPath: Object.create(null)
12313
12433
  };
12314
12434
  }
12315
12435
  }
@@ -12371,7 +12491,7 @@ class FynpoDepGraph {
12371
12491
  const dataPkg = this.depMapByPath[pkgInfo.path];
12372
12492
  const dataDep = this.depMapByPath[depPkg.path]; // check circular
12373
12493
 
12374
- if (dataDep.localDepsByPath.hasOwnProperty(pkgInfo.path)) {
12494
+ if (dataDep.localDepsByPath[pkgInfo.path]) {
12375
12495
  // remember circular package's path
12376
12496
  if (!dataPkg.pathOfCirculars) {
12377
12497
  dataPkg.pathOfCirculars = [];
@@ -12464,6 +12584,7 @@ class FynpoDepGraph {
12464
12584
  /**
12465
12585
  * Figure out all the packages' indirect dependencies on other local packages
12466
12586
  *
12587
+ * TODO: very inefficient. optimize this.
12467
12588
  */
12468
12589
 
12469
12590
 
@@ -12495,7 +12616,7 @@ class FynpoDepGraph {
12495
12616
  } // check if pkg is already part of localDeps
12496
12617
 
12497
12618
 
12498
- if (!dataPkg.localDepsByPath.hasOwnProperty(depInfo.path)) {
12619
+ if (!dataPkg.localDepsByPath[depInfo.path]) {
12499
12620
  change++;
12500
12621
  this.addDep(pkgInfo, depInfo, sec, stepsCopy);
12501
12622
  } // resolve further with deps of depPkg
@@ -12522,7 +12643,7 @@ exports.FynpoDepGraph = FynpoDepGraph;
12522
12643
 
12523
12644
  /***/ }),
12524
12645
 
12525
- /***/ "./node_modules/.f/_/@fynpo/base/1.1.14-fynlocal_h/@fynpo/base/dist/index.js":
12646
+ /***/ "./node_modules/.f/_/@fynpo/base/1.1.15-fynlocal_h/@fynpo/base/dist/index.js":
12526
12647
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
12527
12648
 
12528
12649
  "use strict";
@@ -12544,12 +12665,12 @@ const filter_scan_dir_1 = __webpack_require__("./node_modules/.f/_/filter-scan-d
12544
12665
  const minimatch_1 = (0, tslib_1.__importDefault)(__webpack_require__("./node_modules/.f/_/minimatch/3.0.4/minimatch/minimatch.js"));
12545
12666
  const lodash_1 = (0, tslib_1.__importDefault)(__webpack_require__("./node_modules/.f/_/lodash/4.17.21/lodash/lodash.min.js"));
12546
12667
 
12547
- const minimatch_group_1 = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.14-fynlocal_h/@fynpo/base/dist/minimatch-group.js");
12668
+ const minimatch_group_1 = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.15-fynlocal_h/@fynpo/base/dist/minimatch-group.js");
12548
12669
 
12549
- (0, tslib_1.__exportStar)(__webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.14-fynlocal_h/@fynpo/base/dist/fynpo-dep-graph.js"), exports);
12550
- (0, tslib_1.__exportStar)(__webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.14-fynlocal_h/@fynpo/base/dist/fynpo-config.js"), exports);
12551
- (0, tslib_1.__exportStar)(__webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.14-fynlocal_h/@fynpo/base/dist/util.js"), exports);
12552
- exports.caching = (0, tslib_1.__importStar)(__webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.14-fynlocal_h/@fynpo/base/dist/caching.js"));
12670
+ (0, tslib_1.__exportStar)(__webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.15-fynlocal_h/@fynpo/base/dist/fynpo-dep-graph.js"), exports);
12671
+ (0, tslib_1.__exportStar)(__webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.15-fynlocal_h/@fynpo/base/dist/fynpo-config.js"), exports);
12672
+ (0, tslib_1.__exportStar)(__webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.15-fynlocal_h/@fynpo/base/dist/util.js"), exports);
12673
+ exports.caching = (0, tslib_1.__importStar)(__webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.15-fynlocal_h/@fynpo/base/dist/caching.js"));
12553
12674
  /**
12554
12675
  * Take an array of packages and figure out their dependencies on each other
12555
12676
  *
@@ -12805,7 +12926,7 @@ exports.makePkgDeps = makePkgDeps;
12805
12926
 
12806
12927
  /***/ }),
12807
12928
 
12808
- /***/ "./node_modules/.f/_/@fynpo/base/1.1.14-fynlocal_h/@fynpo/base/dist/minimatch-group.js":
12929
+ /***/ "./node_modules/.f/_/@fynpo/base/1.1.15-fynlocal_h/@fynpo/base/dist/minimatch-group.js":
12809
12930
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
12810
12931
 
12811
12932
  "use strict";
@@ -12944,7 +13065,7 @@ exports.unrollMmMatch = unrollMmMatch;
12944
13065
 
12945
13066
  /***/ }),
12946
13067
 
12947
- /***/ "./node_modules/.f/_/@fynpo/base/1.1.14-fynlocal_h/@fynpo/base/dist/util.js":
13068
+ /***/ "./node_modules/.f/_/@fynpo/base/1.1.15-fynlocal_h/@fynpo/base/dist/util.js":
12948
13069
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
12949
13070
 
12950
13071
  "use strict";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fyn",
3
- "version": "1.1.34",
3
+ "version": "1.1.37",
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/",