fyn 1.1.31 → 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 +145 -59
  2. package/package.json +1 -1
package/dist/fyn.js CHANGED
@@ -1073,13 +1073,21 @@ class FynCli {
1073
1073
  }
1074
1074
  }));
1075
1075
 
1076
- const env = npmLifecycle.initEnv(process.env, this.fyn.production);
1076
+ const env = npmLifecycle.initEnv(process.env, this.fyn.production); // add fynpo top dir node_modules/.bin to PATH
1077
+
1078
+ if (this._config._fynpo.config) {
1079
+ xsh.envPath.addToFront(Path.join(this._config._fynpo.dir, "node_modules/.bin"), env);
1080
+ }
1081
+
1077
1082
  setupNodeGypEnv(env);
1078
1083
  return Promise.each(_scripts, s => _.get(pkg, ["scripts", s]) && this.runScript(pkg, s, Object.assign({}, env)));
1079
1084
  }
1080
1085
 
1081
1086
  async run(argv, script = "") {
1082
- this._config._fynpo = false;
1087
+ if (!this._config._fynpo) {
1088
+ this._config._fynpo = {};
1089
+ }
1090
+
1083
1091
  script = script || argv.args.script;
1084
1092
 
1085
1093
  if (argv.opts.list || !script) {
@@ -1138,7 +1146,31 @@ const defaultRc = __webpack_require__("./cli/default-rc.js");
1138
1146
 
1139
1147
  const npmConfig = __webpack_require__("./cli/config/npm-config.js");
1140
1148
 
1141
- const fynTil = __webpack_require__("./lib/util/fyntil.js");
1149
+ const fynTil = __webpack_require__("./lib/util/fyntil.js"); // replace any ${ENV} values with the appropriate environ.
1150
+ // copied from https://github.com/npm/config/blob/1f47a6c6ae7864b412d45c6a4a74930cf3365395/lib/env-replace.js
1151
+
1152
+
1153
+ const envExpr = /(?<!\\)(\\*)\$\{([^${}]+)\}/g;
1154
+
1155
+ function replaceEnv(f, env) {
1156
+ return f.replace(envExpr, (orig, esc, name) => {
1157
+ const val = env[name] !== undefined ? env[name] : `$\{${name}}`; // consume the escape chars that are relevant.
1158
+
1159
+ if (esc.length % 2) {
1160
+ return orig.slice((esc.length + 1) / 2);
1161
+ }
1162
+
1163
+ return esc.slice(esc.length / 2) + val;
1164
+ });
1165
+ }
1166
+
1167
+ function replaceRcEnv(rc, env) {
1168
+ for (const k in rc) {
1169
+ if (rc[k] && rc[k].replace) {
1170
+ rc[k] = replaceEnv(rc[k], env);
1171
+ }
1172
+ }
1173
+ }
1142
1174
 
1143
1175
  function readRc(fname) {
1144
1176
  const rcFname = Path.basename(fname);
@@ -1192,6 +1224,8 @@ function loadRc(cwd, fynpoDir) {
1192
1224
 
1193
1225
  const npmrc = _.merge.apply(_, [{}, npmConfig.defaults].concat(npmrcData));
1194
1226
 
1227
+ replaceRcEnv(all, process.env);
1228
+ replaceRcEnv(npmrc, process.env);
1195
1229
  return {
1196
1230
  all,
1197
1231
  npmrc,
@@ -1313,7 +1347,8 @@ const pickOptions = async (argv, nixClap, checkFynpo = true) => {
1313
1347
  return {
1314
1348
  opts: argv.opts,
1315
1349
  rcData,
1316
- _cliSource: argv.source
1350
+ _cliSource: argv.source,
1351
+ _fynpo: fynpo
1317
1352
  };
1318
1353
  };
1319
1354
 
@@ -1600,7 +1635,8 @@ const commands = {
1600
1635
  usage: "$0 $1 <command> [-- <args>...]",
1601
1636
  exec: async (argv, parsed) => {
1602
1637
  try {
1603
- return await new FynCli(await pickOptions(argv, parsed.nixClap, !argv.opts.list)).run(argv);
1638
+ const options = await pickOptions(argv, parsed.nixClap, !argv.opts.list);
1639
+ return await new FynCli(options).run(argv);
1604
1640
  } catch (err) {
1605
1641
  if (err.errno !== undefined) {
1606
1642
  process.exit(err.errno);
@@ -2496,6 +2532,7 @@ const Crypto = __webpack_require__("crypto");
2496
2532
  * ]
2497
2533
  * }
2498
2534
  * ```
2535
+ *
2499
2536
  * @param {*} tree - the dir tree
2500
2537
  * @param {*} output - output object
2501
2538
  * @param {*} baseDir - base dir path
@@ -2638,7 +2675,7 @@ class FynCentral {
2638
2675
  * to know if file changed.
2639
2676
  *
2640
2677
  * @param {*} integrity - shasum integrity for the package
2641
- * @returns
2678
+ * @returns void
2642
2679
  */
2643
2680
 
2644
2681
 
@@ -2766,9 +2803,16 @@ class FynCentral {
2766
2803
  }
2767
2804
 
2768
2805
  _untarStream(tarStream, targetDir) {
2769
- const dirTree = {
2770
- "/": {}
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;
2771
2813
  };
2814
+
2815
+ const dirTree = newDirObj();
2772
2816
  const strip = 1;
2773
2817
  const untarStream = Tar.x({
2774
2818
  strip,
@@ -2779,9 +2823,7 @@ class FynCentral {
2779
2823
  const isDir = entry.type === "Directory";
2780
2824
  const dirs = parts.slice(strip, isDir ? parts.length : parts.length - 1);
2781
2825
  const wtree = dirs.reduce((wt, dir) => {
2782
- return wt[dir] || (wt[dir] = {
2783
- "/": {}
2784
- });
2826
+ return wt[dir] || (wt[dir] = newDirObj());
2785
2827
  }, dirTree);
2786
2828
  if (isDir) return;
2787
2829
  const fname = parts[parts.length - 1];
@@ -2868,7 +2910,7 @@ class FynCentral {
2868
2910
  } else {
2869
2911
  logger.debug("storing tar to central store", pkgId, integrity);
2870
2912
  await this._storeTarStream(info, stream);
2871
- stream = undefined;
2913
+ stream = undefined; // eslint-disable-line
2872
2914
 
2873
2915
  this._map.set(integrity, info);
2874
2916
 
@@ -4038,6 +4080,10 @@ const {
4038
4080
 
4039
4081
  const npmConfigEnv = __webpack_require__("./lib/util/npm-config-env.js");
4040
4082
 
4083
+ const {
4084
+ AggregateError
4085
+ } = __webpack_require__("./node_modules/.f/_/@jchip/error/1.0.3/@jchip/error/dist/index.js");
4086
+
4041
4087
  const readPkgJson = dir => {
4042
4088
  return fyntil.readPkgJson(dir).catch(() => {
4043
4089
  return {};
@@ -4076,7 +4122,11 @@ class LifecycleScripts {
4076
4122
  // this._addNpmPackageConfig(this._appPkg.config, env);
4077
4123
  // this._addNpmPackageConfig(this._pkg.config, env);
4078
4124
  const env = Object.assign({}, npmConfigEnv(this._pkg, this._fyn.allrc || {}), override);
4079
- setupNodeGypEnv(env);
4125
+ setupNodeGypEnv(env); // add fynpo node_modules/.bin to PATH
4126
+
4127
+ if (this._fyn.isFynpo) {
4128
+ xsh.envPath.addToFront(Path.join(this._fyn._fynpo.dir, "node_modules/.bin"), env);
4129
+ }
4080
4130
 
4081
4131
  if (this._appDir) {
4082
4132
  xsh.envPath.addToFront(Path.join(this._appDir, "node_modules/.bin"), env);
@@ -4155,7 +4205,12 @@ class LifecycleScripts {
4155
4205
  logLabel: `${pkgName} npm script ${scriptName}`,
4156
4206
  outputLabel: `${dimPkgName} npm script ${scriptName}`
4157
4207
  });
4158
- return ve.show(child);
4208
+
4209
+ try {
4210
+ return await ve.show(child);
4211
+ } catch (err) {
4212
+ throw new AggregateError([err], `Failed running npm script '${name}' for package ${pkgName} at ${pkgDir}`);
4213
+ }
4159
4214
  }
4160
4215
 
4161
4216
  }
@@ -4197,11 +4252,16 @@ const {
4197
4252
  runNpmScript
4198
4253
  } = __webpack_require__("./lib/util/run-npm-script.js");
4199
4254
 
4255
+ const {
4256
+ AggregateError
4257
+ } = __webpack_require__("./node_modules/.f/_/@jchip/error/1.0.3/@jchip/error/dist/index.js");
4258
+
4200
4259
  class LocalPkgBuilder {
4201
4260
  constructor(options) {
4202
4261
  this._options = options;
4203
4262
  this._fyn = options.fyn;
4204
4263
  this._waitItems = {};
4264
+ this._failedItems = {};
4205
4265
  }
4206
4266
 
4207
4267
  async start() {
@@ -4224,11 +4284,17 @@ class LocalPkgBuilder {
4224
4284
  } = this._options;
4225
4285
 
4226
4286
  this._promiseQ.on("doneItem", data => {
4227
- this._waitItems[data.item.fullPath].resolve();
4287
+ this._waitItems[data.item.fullPath].resolve({});
4228
4288
  });
4229
4289
 
4230
4290
  this._promiseQ.on("failItem", data => {
4231
- this._waitItems[data.item.fullPath].reject(data.error);
4291
+ const itemRes = {
4292
+ error: new AggregateError([data.error], `failed build local package at ${data.item.fullPath}`)
4293
+ };
4294
+
4295
+ this._waitItems[data.item.fullPath].resolve(itemRes);
4296
+
4297
+ this._failedItems[data.item.fullPath] = itemRes;
4232
4298
  });
4233
4299
 
4234
4300
  this._defer = xaa.makeDefer();
@@ -4240,7 +4306,7 @@ class LocalPkgBuilder {
4240
4306
  });
4241
4307
 
4242
4308
  this._promiseQ.on("fail", data => {
4243
- this._defer.reject(data.error);
4309
+ this._defer.reject(new AggregateError([data.error], `failed to build local packages`));
4244
4310
  }); //
4245
4311
  // localsByDepth is array of array: level 1 depths, level 2 packages
4246
4312
  //
@@ -4326,6 +4392,10 @@ class LocalPkgBuilder {
4326
4392
  }
4327
4393
 
4328
4394
  async processItem(item) {
4395
+ if (!_.isEmpty(this._failedItems)) {
4396
+ return {};
4397
+ }
4398
+
4329
4399
  const dispPath = Path.relative(this._options.fyn._cwd, item.fullPath);
4330
4400
  const command = [process.argv[0], this._fynJs, this._fyn._options.registry && `--reg=${this._fyn._options.registry}`, "-q=d --pg=simple --no-build-local", !this._fyn._options.sourceMaps && "--no-source-maps"].filter(x => x).join(" ");
4331
4401
  const displayTitle = `building local pkg at ${dispPath}`;
@@ -4453,7 +4523,7 @@ module.exports = new CliLogger();
4453
4523
 
4454
4524
  "use strict";
4455
4525
 
4456
- /* eslint-disable no-magic-numbers, max-statements */
4526
+ /* eslint-disable no-magic-numbers, max-statements, no-param-reassign */
4457
4527
 
4458
4528
  const MAX_PENDING_SHOW = 10;
4459
4529
 
@@ -4525,7 +4595,7 @@ module.exports = {
4525
4595
 
4526
4596
  "use strict";
4527
4597
 
4528
- /* eslint-disable global-require, max-statements */
4598
+ /* eslint-disable global-require, max-statements, no-param-reassign */
4529
4599
 
4530
4600
  const Fs = __webpack_require__("./lib/util/file-ops.js");
4531
4601
 
@@ -5174,7 +5244,7 @@ module.exports = PkgDepLinker;
5174
5244
 
5175
5245
  "use strict";
5176
5246
 
5177
- /* eslint-disable no-magic-numbers */
5247
+ /* eslint-disable no-magic-numbers, no-param-reassign */
5178
5248
 
5179
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; }
5180
5250
 
@@ -5722,7 +5792,7 @@ module.exports = PkgDepLocker;
5722
5792
 
5723
5793
  "use strict";
5724
5794
 
5725
- /* eslint-disable no-magic-numbers, max-params, max-statements, complexity */
5795
+ /* eslint-disable no-magic-numbers, max-params, max-statements, complexity, no-param-reassign */
5726
5796
 
5727
5797
  const _ = __webpack_require__("./node_modules/.f/_/lodash/4.17.21/lodash/lodash.min.js");
5728
5798
 
@@ -5762,7 +5832,7 @@ const {
5762
5832
  const {
5763
5833
  getDepSection,
5764
5834
  makeDepStep
5765
- } = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.13-fynlocal_h/@fynpo/base/dist/index.js");
5835
+ } = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.14-fynlocal_h/@fynpo/base/dist/index.js");
5766
5836
 
5767
5837
  const xaa = __webpack_require__("./lib/util/xaa.js");
5768
5838
 
@@ -6240,7 +6310,7 @@ class PkgDepResolver {
6240
6310
  }
6241
6311
 
6242
6312
  for (const name in deps) {
6243
- if (this._fyn.checkNoFynLocal(name) || !fynpo.graph.getPackageByName(name)) {
6313
+ if (this._fyn.checkNoFynLocal(name) || !fynpo.graph.getPackageByName(name) || semverUtil.checkUrl(deps[name])) {
6244
6314
  continue;
6245
6315
  } //
6246
6316
  // Check if there is a fynpo package that match 'name@semver'?
@@ -7578,13 +7648,17 @@ const {
7578
7648
 
7579
7649
  const xaa = __webpack_require__("./lib/util/xaa.js");
7580
7650
 
7651
+ const {
7652
+ AggregateError
7653
+ } = __webpack_require__("./node_modules/.f/_/@jchip/error/1.0.3/@jchip/error/dist/index.js");
7654
+
7581
7655
  const {
7582
7656
  RESOLVE_ORDER,
7583
7657
  RSEMVERS,
7584
7658
  LOCK_RSEMVERS,
7585
7659
  SEMVER
7586
7660
  } = __webpack_require__("./lib/symbols.js");
7587
- /* 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 */
7588
7662
 
7589
7663
 
7590
7664
  class PkgInstaller {
@@ -7954,7 +8028,11 @@ class PkgInstaller {
7954
8028
 
7955
8029
  async _buildLocalPkg(depInfo) {
7956
8030
  if (this._fyn._options.buildLocal && this._fyn._localPkgBuilder) {
7957
- await this._fyn._localPkgBuilder.waitForItem(depInfo.dir);
8031
+ const itemRes = await this._fyn._localPkgBuilder.waitForItem(depInfo.dir);
8032
+
8033
+ if (itemRes && itemRes.error) {
8034
+ throw new AggregateError([itemRes.error], `install fail because local package build failed`);
8035
+ }
7958
8036
  }
7959
8037
  }
7960
8038
 
@@ -8254,7 +8332,7 @@ module.exports = PkgInstaller;
8254
8332
 
8255
8333
  "use strict";
8256
8334
 
8257
- /* eslint-disable max-nested-callbacks */
8335
+ /* eslint-disable max-nested-callbacks, no-param-reassign */
8258
8336
 
8259
8337
  const assert = __webpack_require__("assert");
8260
8338
 
@@ -8653,7 +8731,7 @@ module.exports = PkgOptResolver;
8653
8731
  // - npm registry
8654
8732
  //
8655
8733
 
8656
- /* eslint-disable no-magic-numbers, prefer-template, max-statements */
8734
+ /* eslint-disable no-magic-numbers, prefer-template, max-statements, no-param-reassign */
8657
8735
 
8658
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; }
8659
8737
 
@@ -8730,7 +8808,7 @@ const {
8730
8808
 
8731
8809
  const {
8732
8810
  PackageRef
8733
- } = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.13-fynlocal_h/@fynpo/base/dist/index.js");
8811
+ } = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.14-fynlocal_h/@fynpo/base/dist/index.js");
8734
8812
 
8735
8813
  const WATCH_TIME = 5000; // consider meta cache stale after this much time (30 minutes)
8736
8814
 
@@ -9499,7 +9577,7 @@ module.exports = {
9499
9577
 
9500
9578
  "use strict";
9501
9579
 
9502
- /* eslint-disable max-params */
9580
+ /* eslint-disable max-params, no-param-reassign */
9503
9581
 
9504
9582
  const _ = __webpack_require__("./node_modules/.f/_/lodash/4.17.21/lodash/lodash.min.js");
9505
9583
 
@@ -9748,7 +9826,7 @@ const {
9748
9826
  const {
9749
9827
  FynpoConfigManager,
9750
9828
  FynpoDepGraph
9751
- } = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.13-fynlocal_h/@fynpo/base/dist/index.js");
9829
+ } = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.14-fynlocal_h/@fynpo/base/dist/index.js");
9752
9830
  /* eslint-disable no-magic-numbers, max-statements, no-empty, complexity, no-eval */
9753
9831
 
9754
9832
 
@@ -10203,11 +10281,18 @@ async function generatePackTree(path, _logger = logger) {
10203
10281
  if (files.length > 1000) {
10204
10282
  _logger.warn(`Local linking package at ${path} has more than ${files.length} files.
10205
10283
  >>> This is unusual, please check package .npmignore or 'files' in package.json <<<`);
10206
- }
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
10207
10287
 
10208
- const fmap = {
10209
- [SYM_FILES]: []
10288
+
10289
+ const newDirObj = () => {
10290
+ const n = Object.create(null);
10291
+ n[SYM_FILES] = [];
10292
+ return n;
10210
10293
  };
10294
+
10295
+ const fmap = newDirObj();
10211
10296
  files.sort().forEach(filePath => {
10212
10297
  const dir = Path.dirname(filePath);
10213
10298
 
@@ -10220,9 +10305,7 @@ async function generatePackTree(path, _logger = logger) {
10220
10305
 
10221
10306
  dir.split("/").forEach(d => {
10222
10307
  if (!dmap[d]) {
10223
- dmap[d] = {
10224
- [SYM_FILES]: []
10225
- };
10308
+ dmap[d] = newDirObj();
10226
10309
  }
10227
10310
 
10228
10311
  dmap = dmap[d];
@@ -10501,7 +10584,7 @@ module.exports = __webpack_require__("./node_modules/.f/_/item-queue/1.1.2/item-
10501
10584
 
10502
10585
  "use strict";
10503
10586
 
10504
- /* eslint-disable no-magic-numbers */
10587
+ /* eslint-disable no-magic-numbers, no-param-reassign */
10505
10588
 
10506
10589
  const chalk = __webpack_require__("./node_modules/.f/_/chalk/4.1.2/chalk/source/index.js");
10507
10590
 
@@ -10613,6 +10696,7 @@ module.exports = ItemQueue;
10613
10696
 
10614
10697
  "use strict";
10615
10698
 
10699
+ /* eslint-disable no-param-reassign */
10616
10700
 
10617
10701
  const Promise = __webpack_require__("./node_modules/.f/_/bluebird/3.7.2/bluebird/js/release/bluebird.js");
10618
10702
 
@@ -10841,7 +10925,7 @@ function localSplit(v) {
10841
10925
 
10842
10926
 
10843
10927
  function getAsFilepath(semver) {
10844
- if (semver.startsWith("file:")) {
10928
+ if (semver.startsWith("file:") || semver.startsWith("link:")) {
10845
10929
  return semver.substr(5);
10846
10930
  }
10847
10931
 
@@ -10961,7 +11045,7 @@ function analyze(semver) {
10961
11045
  } else if (urlType === "sym1") {
10962
11046
  sv.path = semver.substr(5);
10963
11047
  sv.localType = "sym1";
10964
- } else if (urlType === "file") {
11048
+ } else if (urlType === "file" || urlType === "link") {
10965
11049
  setHardLocal(semver.substr(5));
10966
11050
  } else {
10967
11051
  sv.urlType = urlType;
@@ -11246,7 +11330,7 @@ module.exports = __webpack_require__("./node_modules/.f/_/xaa/1.7.0/xaa/dist/xaa
11246
11330
 
11247
11331
  /***/ }),
11248
11332
 
11249
- /***/ "./node_modules/.f/_/@fynpo/base/1.1.13-fynlocal_h/@fynpo/base/dist/caching.js":
11333
+ /***/ "./node_modules/.f/_/@fynpo/base/1.1.14-fynlocal_h/@fynpo/base/dist/caching.js":
11250
11334
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
11251
11335
 
11252
11336
  "use strict";
@@ -11267,7 +11351,7 @@ const fs_1 = (0, tslib_1.__importDefault)(__webpack_require__("fs"));
11267
11351
  const path_1 = (0, tslib_1.__importDefault)(__webpack_require__("path"));
11268
11352
  const crypto_1 = (0, tslib_1.__importDefault)(__webpack_require__("crypto"));
11269
11353
 
11270
- const minimatch_group_1 = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.13-fynlocal_h/@fynpo/base/dist/minimatch-group.js");
11354
+ const minimatch_group_1 = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.14-fynlocal_h/@fynpo/base/dist/minimatch-group.js");
11271
11355
  /**
11272
11356
  * create a sha256 hash for some data
11273
11357
  *
@@ -11521,12 +11605,13 @@ async function processOutput({
11521
11605
  } //
11522
11606
 
11523
11607
 
11608
+ const now = Date.now();
11524
11609
  return {
11525
11610
  files: allFiles,
11526
11611
  data,
11527
11612
  hash,
11528
- access: Date.now(),
11529
- create: Date.now()
11613
+ access: now,
11614
+ create: now
11530
11615
  };
11531
11616
  }
11532
11617
 
@@ -11534,7 +11619,7 @@ exports.processOutput = processOutput;
11534
11619
 
11535
11620
  /***/ }),
11536
11621
 
11537
- /***/ "./node_modules/.f/_/@fynpo/base/1.1.13-fynlocal_h/@fynpo/base/dist/fynpo-config.js":
11622
+ /***/ "./node_modules/.f/_/@fynpo/base/1.1.14-fynlocal_h/@fynpo/base/dist/fynpo-config.js":
11538
11623
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
11539
11624
 
11540
11625
  "use strict";
@@ -11684,7 +11769,7 @@ exports.FynpoConfigManager = FynpoConfigManager;
11684
11769
 
11685
11770
  /***/ }),
11686
11771
 
11687
- /***/ "./node_modules/.f/_/@fynpo/base/1.1.13-fynlocal_h/@fynpo/base/dist/fynpo-dep-graph.js":
11772
+ /***/ "./node_modules/.f/_/@fynpo/base/1.1.14-fynlocal_h/@fynpo/base/dist/fynpo-dep-graph.js":
11688
11773
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
11689
11774
 
11690
11775
  "use strict";
@@ -11714,9 +11799,9 @@ const minimatch_1 = (0, tslib_1.__importDefault)(__webpack_require__("./node_mod
11714
11799
  const lodash_1 = (0, tslib_1.__importDefault)(__webpack_require__("./node_modules/.f/_/lodash/4.17.21/lodash/lodash.min.js"));
11715
11800
  const semver_1 = (0, tslib_1.__importDefault)(__webpack_require__("./node_modules/.f/_/semver/7.3.5/semver/index.js"));
11716
11801
 
11717
- const minimatch_group_1 = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.13-fynlocal_h/@fynpo/base/dist/minimatch-group.js");
11802
+ const minimatch_group_1 = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.14-fynlocal_h/@fynpo/base/dist/minimatch-group.js");
11718
11803
 
11719
- const util_1 = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.13-fynlocal_h/@fynpo/base/dist/util.js");
11804
+ const util_1 = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.14-fynlocal_h/@fynpo/base/dist/util.js");
11720
11805
 
11721
11806
  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"));
11722
11807
  const DepSectionMap = {
@@ -12437,7 +12522,7 @@ exports.FynpoDepGraph = FynpoDepGraph;
12437
12522
 
12438
12523
  /***/ }),
12439
12524
 
12440
- /***/ "./node_modules/.f/_/@fynpo/base/1.1.13-fynlocal_h/@fynpo/base/dist/index.js":
12525
+ /***/ "./node_modules/.f/_/@fynpo/base/1.1.14-fynlocal_h/@fynpo/base/dist/index.js":
12441
12526
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
12442
12527
 
12443
12528
  "use strict";
@@ -12459,12 +12544,12 @@ const filter_scan_dir_1 = __webpack_require__("./node_modules/.f/_/filter-scan-d
12459
12544
  const minimatch_1 = (0, tslib_1.__importDefault)(__webpack_require__("./node_modules/.f/_/minimatch/3.0.4/minimatch/minimatch.js"));
12460
12545
  const lodash_1 = (0, tslib_1.__importDefault)(__webpack_require__("./node_modules/.f/_/lodash/4.17.21/lodash/lodash.min.js"));
12461
12546
 
12462
- const minimatch_group_1 = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.13-fynlocal_h/@fynpo/base/dist/minimatch-group.js");
12547
+ const minimatch_group_1 = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.14-fynlocal_h/@fynpo/base/dist/minimatch-group.js");
12463
12548
 
12464
- (0, tslib_1.__exportStar)(__webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.13-fynlocal_h/@fynpo/base/dist/fynpo-dep-graph.js"), exports);
12465
- (0, tslib_1.__exportStar)(__webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.13-fynlocal_h/@fynpo/base/dist/fynpo-config.js"), exports);
12466
- (0, tslib_1.__exportStar)(__webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.13-fynlocal_h/@fynpo/base/dist/util.js"), exports);
12467
- exports.caching = (0, tslib_1.__importStar)(__webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.13-fynlocal_h/@fynpo/base/dist/caching.js"));
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"));
12468
12553
  /**
12469
12554
  * Take an array of packages and figure out their dependencies on each other
12470
12555
  *
@@ -12720,7 +12805,7 @@ exports.makePkgDeps = makePkgDeps;
12720
12805
 
12721
12806
  /***/ }),
12722
12807
 
12723
- /***/ "./node_modules/.f/_/@fynpo/base/1.1.13-fynlocal_h/@fynpo/base/dist/minimatch-group.js":
12808
+ /***/ "./node_modules/.f/_/@fynpo/base/1.1.14-fynlocal_h/@fynpo/base/dist/minimatch-group.js":
12724
12809
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
12725
12810
 
12726
12811
  "use strict";
@@ -12772,7 +12857,7 @@ exports.groupMM = groupMM;
12772
12857
  * process a minimatch pattern to group them for matching directories
12773
12858
  *
12774
12859
  * - needs to create a new pattern at every non-string part
12775
- * @param pattern
12860
+ * @param m0 minimatch pattern
12776
12861
  */
12777
12862
 
12778
12863
  function deconstructMM(m0) {
@@ -12845,20 +12930,21 @@ function unrollMmMatch(path, mms) {
12845
12930
 
12846
12931
  for (let i = 0; i < parts.length - 1; i++) {
12847
12932
  rp = rp !== undefined ? rp + "/" + parts[i] : parts[i];
12933
+ const m1 = checkMmMatch(`${rp}/`, mms);
12848
12934
 
12849
- if (checkMmMatch(`${rp}/`, mms)) {
12850
- return true;
12935
+ if (m1) {
12936
+ return m1;
12851
12937
  }
12852
12938
  }
12853
12939
 
12854
- return !!checkMmMatch(path, mms);
12940
+ return checkMmMatch(path, mms);
12855
12941
  }
12856
12942
 
12857
12943
  exports.unrollMmMatch = unrollMmMatch;
12858
12944
 
12859
12945
  /***/ }),
12860
12946
 
12861
- /***/ "./node_modules/.f/_/@fynpo/base/1.1.13-fynlocal_h/@fynpo/base/dist/util.js":
12947
+ /***/ "./node_modules/.f/_/@fynpo/base/1.1.14-fynlocal_h/@fynpo/base/dist/util.js":
12862
12948
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
12863
12949
 
12864
12950
  "use strict";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fyn",
3
- "version": "1.1.31",
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/",