fyn 1.1.22 → 1.1.25

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.
package/README.md CHANGED
@@ -2,9 +2,8 @@
2
2
 
3
3
  [![NPM version][npm-image]][npm-url]
4
4
  [![Apache 2.0 License][apache-2.0-blue-image]][apache-2.0-url]
5
- [![Build Status][travis-image]][travis-url]
5
+ [![Build Status][build-image]][build-url]
6
6
  [![Coverage Status][coveralls-image]][coveralls-url]
7
- [![Dependency Status][daviddm-image]][daviddm-url] [![devDependency Status][daviddm-dev-image]][daviddm-dev-url]
8
7
 
9
8
  **fyn** is a node package manager that makes your disk a direct registry. It enables you to develop, publish, and test all your packages using local copies directly.
10
9
 
@@ -430,7 +429,7 @@ Other than benefiting from the massive package ecosystem and all the documents f
430
429
 
431
430
  ## License
432
431
 
433
- Copyright (c) 2015-present, WalmartLabs
432
+ Copyright (c) 2015-2021, WalmartLabs
434
433
 
435
434
  Licensed under the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0).
436
435
 
@@ -465,3 +464,5 @@ Licensed under the [Apache License, Version 2.0](https://www.apache.org/licenses
465
464
  [npm link]: https://docs.npmjs.com/cli/link.html
466
465
  [npm-lifecycle]: https://www.npmjs.com/package/npm-lifecycle
467
466
  [npmlog]: https://www.npmjs.com/package/npmlog
467
+ [build-image]: https://github.com/jchip/fynpo/actions/workflows/ci.yml/badge.svg
468
+ [build-url]: https://github.com/jchip/fynpo/actions/workflows/ci.yml
package/dist/fyn.js CHANGED
@@ -1682,10 +1682,13 @@ const nodeGyp = () => {
1682
1682
  __webpack_require__("./node_modules/.f/_/node-gyp/8.4.1/node-gyp/bin/node-gyp.js");
1683
1683
  };
1684
1684
 
1685
+ const hardLinkDir = __webpack_require__("./lib/util/hard-link-dir.js");
1686
+
1685
1687
  module.exports = {
1686
1688
  run,
1687
1689
  fun,
1688
- nodeGyp
1690
+ nodeGyp,
1691
+ hardLinkDir
1689
1692
  };
1690
1693
 
1691
1694
  /***/ }),
@@ -2468,7 +2471,7 @@ const {
2468
2471
  AggregateError
2469
2472
  } = __webpack_require__("./node_modules/.f/_/@jchip/error/1.0.3/@jchip/error/dist/index.js");
2470
2473
 
2471
- const filterScanDir = __webpack_require__("./node_modules/.f/_/filter-scan-dir/1.4.0/filter-scan-dir/lib/index.js");
2474
+ const filterScanDir = __webpack_require__("./node_modules/.f/_/filter-scan-dir/1.5.5/filter-scan-dir/lib/index.js");
2472
2475
 
2473
2476
  const Crypto = __webpack_require__("crypto");
2474
2477
  /**
@@ -2619,6 +2622,16 @@ class FynCentral {
2619
2622
 
2620
2623
  return info;
2621
2624
  }
2625
+ /**
2626
+ * Get the hash of a npm package's extracted content.
2627
+ * - only consider the file names and their mtime and size because npm tar files
2628
+ * with a fixed timestamp to publish, so the mtime give us some assurance
2629
+ * to know if file changed.
2630
+ *
2631
+ * @param {*} integrity - shasum integrity for the package
2632
+ * @returns
2633
+ */
2634
+
2622
2635
 
2623
2636
  async getContentShasum(integrity) {
2624
2637
  try {
@@ -2639,11 +2652,15 @@ class FynCentral {
2639
2652
  cwd: packageDir,
2640
2653
  filter,
2641
2654
  filterDir: filter,
2642
- sortFiles: true,
2655
+ fullStat: true,
2656
+ // need full stat for mtimeMs and size prop
2657
+ concurrency: 500,
2658
+ sortFiles: false,
2659
+ // concurrency breaks sorting, sort files all at once after
2643
2660
  includeDir: true
2644
2661
  });
2645
2662
  const hash = Crypto.createHash("sha512");
2646
- const shaSum = hash.update(JSON.stringify(files)).digest("base64");
2663
+ const shaSum = hash.update(JSON.stringify(files.sort())).digest("base64");
2647
2664
  return shaSum;
2648
2665
  } catch (_err) {
2649
2666
  return undefined;
@@ -5736,7 +5753,7 @@ const {
5736
5753
  const {
5737
5754
  getDepSection,
5738
5755
  makeDepStep
5739
- } = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.7-fynlocal_h/@fynpo/base/dist/index.js");
5756
+ } = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.9-fynlocal_h/@fynpo/base/dist/index.js");
5740
5757
 
5741
5758
  const xaa = __webpack_require__("./lib/util/xaa.js");
5742
5759
 
@@ -8706,7 +8723,7 @@ const {
8706
8723
 
8707
8724
  const {
8708
8725
  PackageRef
8709
- } = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.7-fynlocal_h/@fynpo/base/dist/index.js");
8726
+ } = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.9-fynlocal_h/@fynpo/base/dist/index.js");
8710
8727
 
8711
8728
  const WATCH_TIME = 5000; // consider meta cache stale after this much time (30 minutes)
8712
8729
 
@@ -9722,7 +9739,7 @@ const {
9722
9739
  const {
9723
9740
  FynpoConfigManager,
9724
9741
  FynpoDepGraph
9725
- } = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.7-fynlocal_h/@fynpo/base/dist/index.js");
9742
+ } = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.9-fynlocal_h/@fynpo/base/dist/index.js");
9726
9743
  /* eslint-disable no-magic-numbers, max-statements, no-empty, complexity, no-eval */
9727
9744
 
9728
9745
 
@@ -10158,7 +10175,7 @@ async function cleanExtraDest(dest, destFiles) {
10158
10175
  }
10159
10176
  }
10160
10177
 
10161
- const FILES = Symbol("files");
10178
+ const SYM_FILES = Symbol("files");
10162
10179
  /**
10163
10180
  * Generate a tree of files using npm-pack that a package would publish with.
10164
10181
  *
@@ -10166,26 +10183,27 @@ const FILES = Symbol("files");
10166
10183
  * @returns
10167
10184
  */
10168
10185
 
10169
- async function generatePackTree(path) {
10186
+ async function generatePackTree(path, _logger = logger) {
10170
10187
  const files = await npmPacklist({
10171
10188
  path,
10172
10189
  includeSymlinks: fynTil.strToBool(process.env.FYN_LOCAL_PACK_SYMLINKS)
10173
10190
  });
10174
- logger.debug(`local package linking - pack tree returned ${files.length} files to link`, JSON.stringify(files, null, 2));
10191
+
10192
+ _logger.debug(`local package linking - pack tree returned ${files.length} files to link`, JSON.stringify(files, null, 2));
10175
10193
 
10176
10194
  if (files.length > 1000) {
10177
- logger.warn(`Local linking package at ${path} has more than ${files.length} files.
10195
+ _logger.warn(`Local linking package at ${path} has more than ${files.length} files.
10178
10196
  >>> This is unusual, please check package .npmignore or 'files' in package.json <<<`);
10179
10197
  }
10180
10198
 
10181
10199
  const fmap = {
10182
- [FILES]: []
10200
+ [SYM_FILES]: []
10183
10201
  };
10184
10202
  files.sort().forEach(filePath => {
10185
10203
  const dir = Path.dirname(filePath);
10186
10204
 
10187
10205
  if (dir === ".") {
10188
- fmap[FILES].push(filePath);
10206
+ fmap[SYM_FILES].push(filePath);
10189
10207
  return;
10190
10208
  }
10191
10209
 
@@ -10194,13 +10212,13 @@ async function generatePackTree(path) {
10194
10212
  dir.split("/").forEach(d => {
10195
10213
  if (!dmap[d]) {
10196
10214
  dmap[d] = {
10197
- [FILES]: []
10215
+ [SYM_FILES]: []
10198
10216
  };
10199
10217
  }
10200
10218
 
10201
10219
  dmap = dmap[d];
10202
10220
  });
10203
- dmap[FILES].push(Path.basename(filePath));
10221
+ dmap[SYM_FILES].push(Path.basename(filePath));
10204
10222
  });
10205
10223
  return fmap;
10206
10224
  }
@@ -10362,7 +10380,7 @@ async function linkPackTree({
10362
10380
  sym1,
10363
10381
  sourceMaps
10364
10382
  }) {
10365
- const files = tree[FILES];
10383
+ const files = tree[SYM_FILES];
10366
10384
  const destFiles = await prepDestDir(dest); //
10367
10385
  // create hardlinks to files
10368
10386
  //
@@ -10452,7 +10470,9 @@ module.exports = {
10452
10470
  link,
10453
10471
  linkFile,
10454
10472
  copyFile,
10455
- linkSym1
10473
+ linkSym1,
10474
+ generatePackTree,
10475
+ SYM_FILES
10456
10476
  };
10457
10477
 
10458
10478
  /***/ }),
@@ -11150,7 +11170,7 @@ const Path = __webpack_require__("path");
11150
11170
 
11151
11171
  const mm = __webpack_require__("./node_modules/.f/_/minimatch/3.0.4/minimatch/minimatch.js");
11152
11172
 
11153
- const filterScanDir = __webpack_require__("./node_modules/.f/_/filter-scan-dir/1.4.0/filter-scan-dir/lib/index.js");
11173
+ const filterScanDir = __webpack_require__("./node_modules/.f/_/filter-scan-dir/1.5.5/filter-scan-dir/lib/index.js");
11154
11174
 
11155
11175
  async function _scanFileStats(dir, ignores, baseDir = "") {
11156
11176
  const ignore = fullPath => ignores.find(pattern => mm(fullPath, pattern, {
@@ -11183,7 +11203,10 @@ async function _scanFileStats(dir, ignores, baseDir = "") {
11183
11203
  dir: fullDir,
11184
11204
  includeRoot: false,
11185
11205
  filter,
11186
- filterDir: filter
11206
+ filterDir: filter,
11207
+ concurrency: 500,
11208
+ fullStat: true // we need full stat to get the mtimeMs prop
11209
+
11187
11210
  });
11188
11211
  return {
11189
11212
  latestMtimeMs,
@@ -11214,7 +11237,248 @@ module.exports = __webpack_require__("./node_modules/.f/_/xaa/1.7.0/xaa/dist/xaa
11214
11237
 
11215
11238
  /***/ }),
11216
11239
 
11217
- /***/ "./node_modules/.f/_/@fynpo/base/1.1.7-fynlocal_h/@fynpo/base/dist/fynpo-config.js":
11240
+ /***/ "./node_modules/.f/_/@fynpo/base/1.1.9-fynlocal_h/@fynpo/base/dist/caching.js":
11241
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
11242
+
11243
+ "use strict";
11244
+
11245
+
11246
+ Object.defineProperty(exports, "__esModule", ({
11247
+ value: true
11248
+ }));
11249
+ exports.processOutput = exports.processLifecycleInput = exports.processInput = void 0;
11250
+
11251
+ const tslib_1 = __webpack_require__("./node_modules/.f/_/tslib/2.1.0/tslib/tslib.es6.js");
11252
+
11253
+ const filter_scan_dir_1 = __webpack_require__("./node_modules/.f/_/filter-scan-dir/1.5.5/filter-scan-dir/lib/index.js");
11254
+
11255
+ const minimatch_1 = (0, tslib_1.__importDefault)(__webpack_require__("./node_modules/.f/_/minimatch/3.0.4/minimatch/minimatch.js"));
11256
+ const lodash_1 = (0, tslib_1.__importDefault)(__webpack_require__("./node_modules/.f/_/lodash/4.17.21/lodash/lodash.min.js"));
11257
+ const fs_1 = (0, tslib_1.__importDefault)(__webpack_require__("fs"));
11258
+ const path_1 = (0, tslib_1.__importDefault)(__webpack_require__("path"));
11259
+ const crypto_1 = (0, tslib_1.__importDefault)(__webpack_require__("crypto"));
11260
+ /**
11261
+ * generate sha256 has of a file
11262
+ *
11263
+ * @param filename
11264
+ * @returns
11265
+ */
11266
+
11267
+ async function hashFile(filename, encoding = "base64url") {
11268
+ const data = await fs_1.default.promises.readFile(filename);
11269
+ const hash = crypto_1.default.createHash("sha256").update(data).digest(encoding);
11270
+ return hash;
11271
+ }
11272
+ /**
11273
+ * create a sha256 hash for some data
11274
+ *
11275
+ * @param data
11276
+ * @returns
11277
+ */
11278
+
11279
+
11280
+ function hashData(data, encoding = "base64url") {
11281
+ return crypto_1.default.createHash("sha256").update(data).digest(encoding);
11282
+ }
11283
+ /**
11284
+ * generate hash for an array of files
11285
+ *
11286
+ * @param files
11287
+ * @returns object with each file point to its hash
11288
+ */
11289
+
11290
+
11291
+ async function hashFiles(cwd, files, encoding = "base64url") {
11292
+ const hashes = {};
11293
+ const promises = [];
11294
+
11295
+ for (const file of files) {
11296
+ promises.push(hashFile(path_1.default.join(cwd, file), encoding).then(h => hashes[file] = h));
11297
+ }
11298
+
11299
+ await Promise.all(promises);
11300
+ const result = {};
11301
+
11302
+ for (const file of files) {
11303
+ result[file] = hashes[file];
11304
+ }
11305
+
11306
+ return result;
11307
+ }
11308
+ /**
11309
+ *
11310
+ * @param cwd
11311
+ * @returns
11312
+ */
11313
+
11314
+
11315
+ async function readPackageJson(cwd) {
11316
+ return JSON.parse(await fs_1.default.promises.readFile(path_1.default.join(cwd, "package.json"), "utf-8"));
11317
+ }
11318
+ /**
11319
+ * Convert minimatch string patterns to Minimatch instances
11320
+ *
11321
+ * @param patterns
11322
+ * @returns
11323
+ */
11324
+
11325
+
11326
+ function makeMmPatterns(patterns, options = {
11327
+ dot: true
11328
+ }) {
11329
+ return [].concat(patterns).map(x => x && new minimatch_1.default.Minimatch(x, options)).filter(x => x);
11330
+ }
11331
+ /**
11332
+ *
11333
+ * @param fullPath
11334
+ * @param patterns
11335
+ * @returns
11336
+ */
11337
+
11338
+
11339
+ function checkMmMatch(fullPath, patterns) {
11340
+ return !lodash_1.default.isEmpty(patterns) && patterns.find(patternMm => patternMm.match(fullPath));
11341
+ }
11342
+ /**
11343
+ * Scan for files using include and exclude patterns
11344
+ *
11345
+ * @param cwd
11346
+ * @param input
11347
+ * @returns
11348
+ */
11349
+
11350
+
11351
+ async function scanFiles(cwd, includes, excludes) {
11352
+ const filter = (_file, _path, extras) => {
11353
+ if (!checkMmMatch(extras.dirFile, includes) || checkMmMatch(extras.dirFile, excludes)) {
11354
+ return false;
11355
+ }
11356
+
11357
+ return true;
11358
+ };
11359
+
11360
+ return (await (0, filter_scan_dir_1.filterScanDir)({
11361
+ cwd,
11362
+ filter,
11363
+ filterDir: filter,
11364
+ fullStat: false,
11365
+ concurrency: 500
11366
+ })).sort();
11367
+ }
11368
+
11369
+ async function processInput({
11370
+ cwd,
11371
+ input,
11372
+ packageJson,
11373
+ extra
11374
+ } = {
11375
+ input: {}
11376
+ }) {
11377
+ const files = await scanFiles(cwd, makeMmPatterns(input.include), makeMmPatterns(input.exclude));
11378
+ const fileHashes = await hashFiles(cwd, files);
11379
+ const data = {
11380
+ env: lodash_1.default.pick(process.env, input.includeEnv),
11381
+ versions: lodash_1.default.pick(process.versions, input.includeVersions),
11382
+ npmScripts: lodash_1.default.pick(lodash_1.default.get(packageJson || (await readPackageJson(cwd)), "scripts"), input.npmScripts),
11383
+ fileHashes,
11384
+ extra: extra || "" // additional data
11385
+
11386
+ };
11387
+ const hash = hashData(JSON.stringify(data));
11388
+ return {
11389
+ files,
11390
+ data,
11391
+ hash
11392
+ };
11393
+ }
11394
+
11395
+ exports.processInput = processInput;
11396
+ /**
11397
+ *
11398
+ * @param param0
11399
+ * @returns
11400
+ */
11401
+
11402
+ async function processLifecycleInput({
11403
+ cwd,
11404
+ input,
11405
+ packageJson
11406
+ } = {
11407
+ input: {}
11408
+ }) {
11409
+ packageJson = packageJson || (await readPackageJson(cwd));
11410
+ const npmScripts = lodash_1.default.pick(lodash_1.default.get(packageJson, "scripts"), input.npmScripts);
11411
+
11412
+ if (lodash_1.default.isEmpty(npmScripts)) {
11413
+ return {};
11414
+ }
11415
+
11416
+ return await processInput({
11417
+ cwd,
11418
+ input,
11419
+ packageJson
11420
+ });
11421
+ }
11422
+
11423
+ exports.processLifecycleInput = processLifecycleInput;
11424
+ /**
11425
+ * Process build cache output file config.
11426
+ *
11427
+ * @param param0
11428
+ * @returns
11429
+ */
11430
+
11431
+ async function processOutput({
11432
+ cwd,
11433
+ inputHash,
11434
+ calcHash,
11435
+ output,
11436
+ preFiles
11437
+ } = {
11438
+ output: {}
11439
+ }) {
11440
+ const mmIncludes = makeMmPatterns(output.include);
11441
+ const mmExcludes = makeMmPatterns(output.exclude);
11442
+ const files = await scanFiles(cwd, mmIncludes, mmExcludes);
11443
+ preFiles = [].concat(preFiles).filter(x => {
11444
+ if (!x || checkMmMatch(x, mmExcludes)) {
11445
+ return false;
11446
+ }
11447
+
11448
+ return true;
11449
+ }).map(x => x.replace(`${cwd}${path_1.default.sep}`, ""));
11450
+ let hash = "";
11451
+ let fileHashes = {};
11452
+ const allFiles = lodash_1.default.uniq(files.concat(preFiles)).sort();
11453
+ let data = {
11454
+ inputHash,
11455
+ fileHashes
11456
+ }; //
11457
+
11458
+ if (calcHash) {
11459
+ fileHashes = await hashFiles(cwd, allFiles);
11460
+ data = {
11461
+ inputHash,
11462
+ fileHashes
11463
+ };
11464
+ hash = hashData(JSON.stringify(data));
11465
+ } //
11466
+
11467
+
11468
+ return {
11469
+ files: allFiles,
11470
+ data,
11471
+ hash,
11472
+ access: Date.now(),
11473
+ create: Date.now()
11474
+ };
11475
+ }
11476
+
11477
+ exports.processOutput = processOutput;
11478
+
11479
+ /***/ }),
11480
+
11481
+ /***/ "./node_modules/.f/_/@fynpo/base/1.1.9-fynlocal_h/@fynpo/base/dist/fynpo-config.js":
11218
11482
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
11219
11483
 
11220
11484
  "use strict";
@@ -11364,7 +11628,7 @@ exports.FynpoConfigManager = FynpoConfigManager;
11364
11628
 
11365
11629
  /***/ }),
11366
11630
 
11367
- /***/ "./node_modules/.f/_/@fynpo/base/1.1.7-fynlocal_h/@fynpo/base/dist/fynpo-dep-graph.js":
11631
+ /***/ "./node_modules/.f/_/@fynpo/base/1.1.9-fynlocal_h/@fynpo/base/dist/fynpo-dep-graph.js":
11368
11632
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
11369
11633
 
11370
11634
  "use strict";
@@ -11388,14 +11652,15 @@ const path_1 = (0, tslib_1.__importDefault)(__webpack_require__("path"));
11388
11652
 
11389
11653
  const fs_1 = __webpack_require__("fs");
11390
11654
 
11391
- const filter_scan_dir_1 = (0, tslib_1.__importDefault)(__webpack_require__("./node_modules/.f/_/filter-scan-dir/1.4.0/filter-scan-dir/lib/index.js"));
11655
+ const filter_scan_dir_1 = __webpack_require__("./node_modules/.f/_/filter-scan-dir/1.5.5/filter-scan-dir/lib/index.js");
11656
+
11392
11657
  const minimatch_1 = (0, tslib_1.__importDefault)(__webpack_require__("./node_modules/.f/_/minimatch/3.0.4/minimatch/minimatch.js"));
11393
11658
  const lodash_1 = (0, tslib_1.__importDefault)(__webpack_require__("./node_modules/.f/_/lodash/4.17.21/lodash/lodash.min.js"));
11394
11659
  const semver_1 = (0, tslib_1.__importDefault)(__webpack_require__("./node_modules/.f/_/semver/7.3.5/semver/index.js"));
11395
11660
 
11396
- const minimatch_group_1 = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.7-fynlocal_h/@fynpo/base/dist/minimatch-group.js");
11661
+ const minimatch_group_1 = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.9-fynlocal_h/@fynpo/base/dist/minimatch-group.js");
11397
11662
 
11398
- const util_1 = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.7-fynlocal_h/@fynpo/base/dist/util.js");
11663
+ const util_1 = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.9-fynlocal_h/@fynpo/base/dist/util.js");
11399
11664
 
11400
11665
  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"));
11401
11666
  const DepSectionMap = {
@@ -11710,9 +11975,10 @@ class FynpoDepGraph {
11710
11975
  const files = [];
11711
11976
 
11712
11977
  for (const prefix in groups) {
11713
- const scanned = await (0, filter_scan_dir_1.default)({
11978
+ const scanned = await (0, filter_scan_dir_1.filterScanDir)({
11714
11979
  cwd,
11715
11980
  prefix,
11981
+ concurrency: 500,
11716
11982
  filter: (file, path) => {
11717
11983
  if (path && path !== "." && file === "package.json") {
11718
11984
  if (foundInAutoSearch(path)) {
@@ -11735,7 +12001,7 @@ class FynpoDepGraph {
11735
12001
  return false;
11736
12002
  }
11737
12003
 
11738
- return prefix === "." && groups[prefix] === null ? !dir.startsWith(".") : groups[prefix].find(save => save.mm.match(extras.dirFile));
12004
+ return prefix === "." && groups[prefix] === null ? !dir.startsWith(".") : Boolean(groups[prefix].find(save => save.mm.match(extras.dirFile)));
11739
12005
  }
11740
12006
 
11741
12007
  return false;
@@ -11744,7 +12010,7 @@ class FynpoDepGraph {
11744
12010
  files.push(scanned);
11745
12011
  }
11746
12012
 
11747
- const allFiles = [].concat(...files); // Read each package.json and generate PackageInfo for it
12013
+ const allFiles = [].concat(...files).sort(); // Read each package.json and generate PackageInfo for it
11748
12014
 
11749
12015
  for (const pkgFile of allFiles) {
11750
12016
  await this.addPackageByFile(pkgFile);
@@ -12115,7 +12381,7 @@ exports.FynpoDepGraph = FynpoDepGraph;
12115
12381
 
12116
12382
  /***/ }),
12117
12383
 
12118
- /***/ "./node_modules/.f/_/@fynpo/base/1.1.7-fynlocal_h/@fynpo/base/dist/index.js":
12384
+ /***/ "./node_modules/.f/_/@fynpo/base/1.1.9-fynlocal_h/@fynpo/base/dist/index.js":
12119
12385
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
12120
12386
 
12121
12387
  "use strict";
@@ -12124,7 +12390,7 @@ exports.FynpoDepGraph = FynpoDepGraph;
12124
12390
  Object.defineProperty(exports, "__esModule", ({
12125
12391
  value: true
12126
12392
  }));
12127
- exports.makePkgDeps = exports.readFynpoPackages = void 0;
12393
+ exports.makePkgDeps = exports.readFynpoPackages = exports.caching = void 0;
12128
12394
 
12129
12395
  const tslib_1 = __webpack_require__("./node_modules/.f/_/tslib/2.1.0/tslib/tslib.es6.js");
12130
12396
 
@@ -12132,15 +12398,17 @@ const path_1 = (0, tslib_1.__importDefault)(__webpack_require__("path"));
12132
12398
 
12133
12399
  const fs_1 = __webpack_require__("fs");
12134
12400
 
12135
- const filter_scan_dir_1 = (0, tslib_1.__importDefault)(__webpack_require__("./node_modules/.f/_/filter-scan-dir/1.4.0/filter-scan-dir/lib/index.js"));
12401
+ const filter_scan_dir_1 = __webpack_require__("./node_modules/.f/_/filter-scan-dir/1.5.5/filter-scan-dir/lib/index.js");
12402
+
12136
12403
  const minimatch_1 = (0, tslib_1.__importDefault)(__webpack_require__("./node_modules/.f/_/minimatch/3.0.4/minimatch/minimatch.js"));
12137
12404
  const lodash_1 = (0, tslib_1.__importDefault)(__webpack_require__("./node_modules/.f/_/lodash/4.17.21/lodash/lodash.min.js"));
12138
12405
 
12139
- const minimatch_group_1 = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.7-fynlocal_h/@fynpo/base/dist/minimatch-group.js");
12406
+ const minimatch_group_1 = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.9-fynlocal_h/@fynpo/base/dist/minimatch-group.js");
12140
12407
 
12141
- (0, tslib_1.__exportStar)(__webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.7-fynlocal_h/@fynpo/base/dist/fynpo-dep-graph.js"), exports);
12142
- (0, tslib_1.__exportStar)(__webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.7-fynlocal_h/@fynpo/base/dist/fynpo-config.js"), exports);
12143
- (0, tslib_1.__exportStar)(__webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.7-fynlocal_h/@fynpo/base/dist/util.js"), exports);
12408
+ (0, tslib_1.__exportStar)(__webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.9-fynlocal_h/@fynpo/base/dist/fynpo-dep-graph.js"), exports);
12409
+ (0, tslib_1.__exportStar)(__webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.9-fynlocal_h/@fynpo/base/dist/fynpo-config.js"), exports);
12410
+ (0, tslib_1.__exportStar)(__webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.9-fynlocal_h/@fynpo/base/dist/util.js"), exports);
12411
+ exports.caching = (0, tslib_1.__importStar)(__webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.9-fynlocal_h/@fynpo/base/dist/caching.js"));
12144
12412
  /**
12145
12413
  * Take an array of packages and figure out their dependencies on each other
12146
12414
  *
@@ -12256,13 +12524,14 @@ async function readFynpoPackages({
12256
12524
  const files = [];
12257
12525
 
12258
12526
  for (const prefix in groups) {
12259
- files.push(await (0, filter_scan_dir_1.default)({
12527
+ files.push(await (0, filter_scan_dir_1.filterScanDir)({
12260
12528
  cwd,
12261
12529
  prefix,
12530
+ concurrency: 500,
12262
12531
  filter: f => f === "package.json",
12263
12532
  filterDir: (dir, _p, extras) => {
12264
12533
  if (dir !== "node_modules") {
12265
- return groups[prefix].find(save => save.mm.match(extras.dirFile));
12534
+ return Boolean(groups[prefix].find(save => save.mm.match(extras.dirFile)));
12266
12535
  }
12267
12536
 
12268
12537
  return false;
@@ -12270,7 +12539,7 @@ async function readFynpoPackages({
12270
12539
  }));
12271
12540
  }
12272
12541
 
12273
- const allFiles = [].concat(...files);
12542
+ const allFiles = [].concat(...files).sort();
12274
12543
  const allPkgs = {};
12275
12544
 
12276
12545
  for (const pkgFile of allFiles) {
@@ -12395,7 +12664,7 @@ exports.makePkgDeps = makePkgDeps;
12395
12664
 
12396
12665
  /***/ }),
12397
12666
 
12398
- /***/ "./node_modules/.f/_/@fynpo/base/1.1.7-fynlocal_h/@fynpo/base/dist/minimatch-group.js":
12667
+ /***/ "./node_modules/.f/_/@fynpo/base/1.1.9-fynlocal_h/@fynpo/base/dist/minimatch-group.js":
12399
12668
  /***/ ((__unused_webpack_module, exports) => {
12400
12669
 
12401
12670
  "use strict";
@@ -12441,7 +12710,7 @@ exports.groupMM = groupMM;
12441
12710
 
12442
12711
  /***/ }),
12443
12712
 
12444
- /***/ "./node_modules/.f/_/@fynpo/base/1.1.7-fynlocal_h/@fynpo/base/dist/util.js":
12713
+ /***/ "./node_modules/.f/_/@fynpo/base/1.1.9-fynlocal_h/@fynpo/base/dist/util.js":
12445
12714
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
12446
12715
 
12447
12716
  "use strict";
@@ -41678,21 +41947,45 @@ function entries(obj) {
41678
41947
 
41679
41948
  /***/ }),
41680
41949
 
41681
- /***/ "./node_modules/.f/_/filter-scan-dir/1.4.0/filter-scan-dir/lib/index.js":
41682
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
41950
+ /***/ "./node_modules/.f/_/filter-scan-dir/1.5.5/filter-scan-dir/dist/index.js":
41951
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
41683
41952
 
41684
41953
  "use strict";
41685
41954
 
41686
- /* eslint-disable max-statements, complexity, comma-dangle, max-params */
41955
+ /* eslint-disable max-statements, complexity, comma-dangle, max-params, max-depth */
41687
41956
 
41688
- const Fs = __webpack_require__("fs");
41957
+ var __importDefault = this && this.__importDefault || function (mod) {
41958
+ return mod && mod.__esModule ? mod : {
41959
+ "default": mod
41960
+ };
41961
+ };
41689
41962
 
41690
- const Path = __webpack_require__("path");
41963
+ Object.defineProperty(exports, "__esModule", ({
41964
+ value: true
41965
+ }));
41966
+ exports.filterScanDirSync = exports.filterScanDir = void 0;
41967
+
41968
+ const fs_1 = __importDefault(__webpack_require__("fs"));
41969
+
41970
+ const path_1 = __importDefault(__webpack_require__("path"));
41971
+
41972
+ const util_1 = __importDefault(__webpack_require__("util"));
41973
+
41974
+ const util_2 = __webpack_require__("./node_modules/.f/_/filter-scan-dir/1.5.5/filter-scan-dir/dist/util.js");
41975
+ /**
41976
+ * create a new ExtrasData object
41977
+ *
41978
+ * @param file
41979
+ * @param fullFile
41980
+ * @param path
41981
+ * @param stat
41982
+ * @param options
41983
+ * @returns
41984
+ */
41691
41985
 
41692
- const Util = __webpack_require__("util");
41693
41986
 
41694
41987
  function makeExtrasData(file, fullFile, path, stat, options) {
41695
- const dirFile = options._path.join(path, file);
41988
+ const dirFile = options._join2(path, file);
41696
41989
 
41697
41990
  const ix = file.lastIndexOf(".");
41698
41991
 
@@ -41703,7 +41996,7 @@ function makeExtrasData(file, fullFile, path, stat, options) {
41703
41996
  stat,
41704
41997
  fullFile,
41705
41998
  dirFile,
41706
- ext: file.substr(ix),
41999
+ ext: file.substring(ix),
41707
42000
  noExt: file.substring(0, ix)
41708
42001
  };
41709
42002
  } else {
@@ -41718,6 +42011,14 @@ function makeExtrasData(file, fullFile, path, stat, options) {
41718
42011
  };
41719
42012
  }
41720
42013
  }
42014
+ /**
42015
+ * Add a file entry to the result
42016
+ *
42017
+ * @param result
42018
+ * @param options
42019
+ * @param extras
42020
+ */
42021
+
41721
42022
 
41722
42023
  function addResult(result, options, extras) {
41723
42024
  const group = (options.grouping && typeof result === "string" ? result : result && result.group) || "files";
@@ -41732,6 +42033,14 @@ function addResult(result, options, extras) {
41732
42033
  options.result[group].push(options.prependCwd ? extras.fullFile : extras.dirFile);
41733
42034
  }
41734
42035
  }
42036
+ /**
42037
+ * Process a directory entry
42038
+ *
42039
+ * @param options
42040
+ * @param extras
42041
+ * @returns
42042
+ */
42043
+
41735
42044
 
41736
42045
  function processDir(options, extras) {
41737
42046
  const filterResult = options.filterDir ? options.filterDir(extras.file, extras.path, extras) : true;
@@ -41752,6 +42061,14 @@ function processDir(options, extras) {
41752
42061
  skip: true
41753
42062
  };
41754
42063
  }
42064
+ /**
42065
+ * process a file entry
42066
+ *
42067
+ * @param options
42068
+ * @param extras
42069
+ * @returns
42070
+ */
42071
+
41755
42072
 
41756
42073
  function processFile(options, extras) {
41757
42074
  if (options.ignoreExt.length > 0 && options.ignoreExt.indexOf(extras.ext) >= 0) {
@@ -41774,21 +42091,41 @@ function processFile(options, extras) {
41774
42091
 
41775
42092
  return false;
41776
42093
  }
42094
+ /**
42095
+ * get the result base on grouping enable flag
42096
+ *
42097
+ * @param options
42098
+ * @returns
42099
+ */
42100
+
41777
42101
 
41778
42102
  function getResult(options) {
41779
42103
  return options.grouping ? Object.assign({
41780
42104
  files: []
41781
42105
  }, options.result) : options.result.files || [];
41782
42106
  }
42107
+ /**
42108
+ * sync version of directory walk
42109
+ *
42110
+ * @param path
42111
+ * @param options
42112
+ * @param level
42113
+ * @returns
42114
+ */
42115
+
41783
42116
 
41784
42117
  function walkSync(path, options, level = 0) {
41785
42118
  try {
41786
- const dir = options._path.join(options.dir, path);
42119
+ const dir = options._join2(options.dir, path);
41787
42120
 
41788
- let files = Fs.readdirSync(dir);
42121
+ let files = fs_1.default.readdirSync(dir, options.readdirOpts);
41789
42122
 
41790
42123
  if (options.sortFiles) {
41791
- files = files.sort();
42124
+ if (options.fullStat) {
42125
+ files = files.sort();
42126
+ } else {
42127
+ files = files.sort(util_2.direntCmp);
42128
+ }
41792
42129
  }
41793
42130
 
41794
42131
  const dirs = [];
@@ -41796,13 +42133,20 @@ function walkSync(path, options, level = 0) {
41796
42133
 
41797
42134
  for (let ix = 0; !stop && ix < files.length; ix++) {
41798
42135
  const file = files[ix];
42136
+ let extras;
41799
42137
 
41800
- const fullFile = options._path.join(dir, file);
42138
+ if (options.fullStat) {
42139
+ const fullFile = options._join2(dir, file);
41801
42140
 
41802
- const stat = Fs.statSync(fullFile);
41803
- const extras = makeExtrasData(file, fullFile, path, stat, options);
42141
+ const stat = fs_1.default.lstatSync(fullFile);
42142
+ extras = makeExtrasData(file, fullFile, path, stat, options);
42143
+ } else {
42144
+ const fullFile = options._join2(dir, file.name);
41804
42145
 
41805
- if (stat.isDirectory()) {
42146
+ extras = makeExtrasData(file.name, fullFile, path, file, options);
42147
+ }
42148
+
42149
+ if (extras.stat.isDirectory()) {
41806
42150
  dirs.push(extras);
41807
42151
  } else {
41808
42152
  stop = processFile(options, extras);
@@ -41833,17 +42177,29 @@ function walkSync(path, options, level = 0) {
41833
42177
  return getResult(options);
41834
42178
  }
41835
42179
 
41836
- const asyncReaddir = Util.promisify(Fs.readdir);
41837
- const asyncStat = Util.promisify(Fs.stat);
42180
+ const asyncReaddir = util_1.default.promisify(fs_1.default.readdir);
42181
+ const asyncLStat = util_1.default.promisify(fs_1.default.lstat);
42182
+ /**
42183
+ * async version of dir walk
42184
+ *
42185
+ * @param path
42186
+ * @param options
42187
+ * @param level
42188
+ * @returns
42189
+ */
41838
42190
 
41839
42191
  async function walk(path, options, level = 0) {
41840
42192
  try {
41841
- const dir = options._path.join(options.dir, path);
42193
+ const dir = options._join2(options.dir, path);
41842
42194
 
41843
- let files = await asyncReaddir(dir);
42195
+ let files = await asyncReaddir(dir, options.readdirOpts);
41844
42196
 
41845
42197
  if (options.sortFiles) {
41846
- files = files.sort();
42198
+ if (options.fullStat) {
42199
+ files = files.sort();
42200
+ } else {
42201
+ files = files.sort(util_2.direntCmp);
42202
+ }
41847
42203
  }
41848
42204
 
41849
42205
  const dirs = [];
@@ -41851,13 +42207,20 @@ async function walk(path, options, level = 0) {
41851
42207
 
41852
42208
  for (let ix = 0; !stop && ix < files.length; ix++) {
41853
42209
  const file = files[ix];
42210
+ let extras;
41854
42211
 
41855
- const fullFile = options._path.join(dir, file);
42212
+ if (options.fullStat) {
42213
+ const fullFile = options._join2(dir, file);
41856
42214
 
41857
- const stat = await asyncStat(fullFile);
41858
- const extras = makeExtrasData(file, fullFile, path, stat, options);
42215
+ const stat = await asyncLStat(fullFile);
42216
+ extras = makeExtrasData(file, fullFile, path, stat, options);
42217
+ } else {
42218
+ const fullFile = options._join2(dir, file.name);
41859
42219
 
41860
- if (stat.isDirectory()) {
42220
+ extras = makeExtrasData(file.name, fullFile, path, file, options);
42221
+ }
42222
+
42223
+ if (extras.stat.isDirectory()) {
41861
42224
  dirs.push(extras);
41862
42225
  } else {
41863
42226
  stop = processFile(options, extras);
@@ -41866,6 +42229,8 @@ async function walk(path, options, level = 0) {
41866
42229
 
41867
42230
 
41868
42231
  if (!stop && dirs.length > 0) {
42232
+ let promises = [];
42233
+
41869
42234
  for (let ix = 0; ix < dirs.length; ix++) {
41870
42235
  const extras = dirs[ix];
41871
42236
  const flags = processDir(options, extras);
@@ -41875,9 +42240,31 @@ async function walk(path, options, level = 0) {
41875
42240
  }
41876
42241
 
41877
42242
  if (!flags.skip && level < options.maxLevel) {
41878
- await walk(extras.dirFile, options, level + 1);
42243
+ const walkP = walk(extras.dirFile, options, level + 1);
42244
+
42245
+ if (options.concurrency > 1) {
42246
+ if (options._concurrentCount < options.concurrency) {
42247
+ options._concurrentCount++;
42248
+ promises.push(walkP);
42249
+ } else if (promises.length) {
42250
+ await Promise.all(promises);
42251
+ options._concurrentCount -= promises.length;
42252
+ promises = [walkP];
42253
+ options._concurrentCount++;
42254
+ } else {
42255
+ await walkP;
42256
+ }
42257
+ } else {
42258
+ await walkP;
42259
+ }
41879
42260
  }
41880
42261
  }
42262
+
42263
+ if (promises.length) {
42264
+ await Promise.all(promises);
42265
+ options._concurrentCount -= promises.length;
42266
+ promises = [];
42267
+ }
41881
42268
  }
41882
42269
  } catch (err) {
41883
42270
  if (options.rethrowError) {
@@ -41887,11 +42274,22 @@ async function walk(path, options, level = 0) {
41887
42274
 
41888
42275
  return getResult(options);
41889
42276
  }
42277
+ /**
42278
+ * make a copy of the user's options with proper defaults
42279
+ *
42280
+ * @param opts
42281
+ * @returns
42282
+ */
42283
+
41890
42284
 
41891
- function makeOptions(options) {
41892
- let cwd = (typeof options === "string" ? options : options.cwd || options.dir) || process.cwd();
42285
+ function makeOptions(opts) {
42286
+ const options = typeof opts === "string" ? {
42287
+ cwd: opts
42288
+ } : opts;
42289
+ const sep = options.pathSep || path_1.default.posix.sep;
42290
+ let cwd = options.cwd || options.dir || process.cwd();
41893
42291
 
41894
- if (!options._path && cwd.indexOf("\\") >= 0) {
42292
+ if (!options.hasOwnProperty("pathSep") && cwd.includes("\\")) {
41895
42293
  cwd = cwd.replace(/\\/g, "/");
41896
42294
  }
41897
42295
 
@@ -41909,33 +42307,144 @@ function makeOptions(options) {
41909
42307
  }
41910
42308
 
41911
42309
  return ext;
41912
- };
42310
+ }; // `includeRoot` was renamed to `prependCwd`, this avoid breaking code still using that
42311
+
41913
42312
 
41914
42313
  const prependCwd = (options.hasOwnProperty("includeRoot") ? options.includeRoot : options.prependCwd) || false;
41915
- return Object.assign({
41916
- _path: Path.posix,
42314
+ const opts2 = Object.assign({
42315
+ _join2: undefined,
41917
42316
  maxLevel: Infinity,
41918
42317
  prefix: "",
41919
- prependCwd
42318
+ prependCwd,
42319
+ fullStat: true,
42320
+ concurrency: 50,
42321
+ readdirOpts: undefined,
42322
+ grouping: undefined
41920
42323
  }, options, {
41921
42324
  dir: cwd,
41922
42325
  result: {},
41923
42326
  ignoreExt: [].concat(options.ignoreExt).map(cleanExt).filter(x => x),
41924
- filterExt: [].concat(options.filterExt).map(cleanExt).filter(x => x)
42327
+ filterExt: [].concat(options.filterExt).map(cleanExt).filter(x => x),
42328
+ _concurrentCount: 0
41925
42329
  });
42330
+ opts2._join2 = (0, util_2.makePathJoin2)(sep, opts2.dir, opts2.prefix);
42331
+
42332
+ if (!opts2.fullStat) {
42333
+ opts2.readdirOpts = {
42334
+ withFileTypes: true
42335
+ };
42336
+ }
42337
+
42338
+ return opts2;
41926
42339
  }
41927
42340
 
41928
- function filterScanDir(options) {
42341
+ function filterScanDir(options = {}) {
41929
42342
  const options2 = makeOptions(options);
41930
42343
  return walk(options2.prefix, options2);
41931
42344
  }
41932
42345
 
41933
- filterScanDir.sync = function filterScanDirSync(options) {
42346
+ exports.filterScanDir = filterScanDir;
42347
+
42348
+ function filterScanDirSync(options = {}) {
41934
42349
  const options2 = makeOptions(options);
41935
42350
  return walkSync(options2.prefix, options2);
42351
+ }
42352
+
42353
+ exports.filterScanDirSync = filterScanDirSync;
42354
+
42355
+ /***/ }),
42356
+
42357
+ /***/ "./node_modules/.f/_/filter-scan-dir/1.5.5/filter-scan-dir/dist/util.js":
42358
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
42359
+
42360
+ "use strict";
42361
+
42362
+
42363
+ var __importDefault = this && this.__importDefault || function (mod) {
42364
+ return mod && mod.__esModule ? mod : {
42365
+ "default": mod
42366
+ };
42367
+ };
42368
+
42369
+ Object.defineProperty(exports, "__esModule", ({
42370
+ value: true
42371
+ }));
42372
+ exports.makePathJoin2 = exports.direntCmp = void 0;
42373
+
42374
+ const path_1 = __importDefault(__webpack_require__("path"));
42375
+ /* @ignore */
42376
+
42377
+ /**
42378
+ * compare Dirent for sorting
42379
+ *
42380
+ * @param a
42381
+ * @param b
42382
+ * @returns
42383
+ * @ignore
42384
+ */
42385
+
42386
+
42387
+ const direntCmp = (a, b) => {
42388
+ if (a.name === b.name) {
42389
+ return 0;
42390
+ } else if (a.name > b.name) {
42391
+ return 1;
42392
+ } else {
42393
+ return -1;
42394
+ }
42395
+ };
42396
+
42397
+ exports.direntCmp = direntCmp;
42398
+ /**
42399
+ * Make a specialized and simple but faster version of path.join that handles just 2 args
42400
+ */
42401
+
42402
+ const makePathJoin2 = (sep, cwd, prefix) => {
42403
+ // user passed cwd or prefix that contains ../ or ..\\, which only path.join
42404
+ // can handle
42405
+ if (["../", "..\\"].find(s => cwd.includes(s) || prefix.includes(s)) || cwd.startsWith(".") && cwd.length > 1 || prefix.startsWith(".") && prefix.length > 1) {
42406
+ return path_1.default.join;
42407
+ }
42408
+
42409
+ return (a, b) => {
42410
+ if (a === ".") {
42411
+ return b || a;
42412
+ } else if (b === ".") {
42413
+ return a || b;
42414
+ } else if (a && b) {
42415
+ return a + sep + b;
42416
+ } else {
42417
+ return a || b || ".";
42418
+ }
42419
+ };
41936
42420
  };
41937
42421
 
41938
- module.exports = filterScanDir;
42422
+ exports.makePathJoin2 = makePathJoin2;
42423
+
42424
+ /***/ }),
42425
+
42426
+ /***/ "./node_modules/.f/_/filter-scan-dir/1.5.5/filter-scan-dir/lib/index.js":
42427
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
42428
+
42429
+ "use strict";
42430
+
42431
+
42432
+ const fsd = __webpack_require__("./node_modules/.f/_/filter-scan-dir/1.5.5/filter-scan-dir/dist/index.js");
42433
+
42434
+ const asyncApi = options => fsd.filterScanDir(options);
42435
+
42436
+ Object.defineProperties(asyncApi, {
42437
+ sync: {
42438
+ value: fsd.filterScanDirSync
42439
+ },
42440
+ filterScanDir: {
42441
+ value: fsd.filterScanDir
42442
+ },
42443
+ filterScanDirSync: {
42444
+ value: fsd.filterScanDirSync
42445
+ }
42446
+ });
42447
+ module.exports = asyncApi;
41939
42448
 
41940
42449
  /***/ }),
41941
42450
 
@@ -56133,7 +56642,7 @@ function retryThrow(path, opts, er) {
56133
56642
  /***/ (function(module, exports, __webpack_require__) {
56134
56643
 
56135
56644
  /* module decorator */ module = __webpack_require__.nmd(module);
56136
- var __WEBPACK_AMD_DEFINE_RESULT__;/**
56645
+ /**
56137
56646
  * @license
56138
56647
  * Lodash <https://lodash.com/>
56139
56648
  * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
@@ -60682,10 +61191,9 @@ var __WEBPACK_AMD_DEFINE_RESULT__;/**
60682
61191
  },
60683
61192
  be = de();
60684
61193
 
60685
- true ? (re._ = be, !(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {
61194
+ "function" == typeof define && "object" == typeof define.amd && define.amd ? (re._ = be, define(function () {
60686
61195
  return be;
60687
- }).call(exports, __webpack_require__, exports, module),
60688
- __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))) : 0;
61196
+ })) : ue ? ((ue.exports = be)._ = be, ee._ = be) : re._ = be;
60689
61197
  }).call(this);
60690
61198
 
60691
61199
  /***/ }),
@@ -101409,7 +101917,7 @@ exports.chain = __webpack_require__("./node_modules/.f/_/slide/1.1.6/slide/lib/c
101409
101917
 
101410
101918
  /***/ }),
101411
101919
 
101412
- /***/ "./node_modules/.f/_/smart-buffer/4.1.0/smart-buffer/build/smartbuffer.js":
101920
+ /***/ "./node_modules/.f/_/smart-buffer/4.2.0/smart-buffer/build/smartbuffer.js":
101413
101921
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
101414
101922
 
101415
101923
  "use strict";
@@ -101419,7 +101927,7 @@ Object.defineProperty(exports, "__esModule", ({
101419
101927
  value: true
101420
101928
  }));
101421
101929
 
101422
- const utils_1 = __webpack_require__("./node_modules/.f/_/smart-buffer/4.1.0/smart-buffer/build/utils.js"); // The default Buffer size if one is not provided.
101930
+ const utils_1 = __webpack_require__("./node_modules/.f/_/smart-buffer/4.2.0/smart-buffer/build/utils.js"); // The default Buffer size if one is not provided.
101423
101931
 
101424
101932
 
101425
101933
  const DEFAULT_SMARTBUFFER_SIZE = 4096; // The default string encoding to use for reading/writing strings.
@@ -101454,7 +101962,7 @@ class SmartBuffer {
101454
101962
  } // Check for initial Buffer
101455
101963
 
101456
101964
  } else if (options.buff) {
101457
- if (options.buff instanceof Buffer) {
101965
+ if (Buffer.isBuffer(options.buff)) {
101458
101966
  this._buff = options.buff;
101459
101967
  this.length = options.buff.length;
101460
101968
  } else {
@@ -102855,7 +103363,7 @@ exports.SmartBuffer = SmartBuffer;
102855
103363
 
102856
103364
  /***/ }),
102857
103365
 
102858
- /***/ "./node_modules/.f/_/smart-buffer/4.1.0/smart-buffer/build/utils.js":
103366
+ /***/ "./node_modules/.f/_/smart-buffer/4.2.0/smart-buffer/build/utils.js":
102859
103367
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
102860
103368
 
102861
103369
  "use strict";
@@ -103203,7 +103711,7 @@ const debug_1 = __importDefault(__webpack_require__("./stubs/debug.js"));
103203
103711
 
103204
103712
  const agent_base_1 = __webpack_require__("./node_modules/.f/_/agent-base/6.0.2/agent-base/dist/src/index.js");
103205
103713
 
103206
- const socks_1 = __webpack_require__("./node_modules/.f/_/socks/2.6.1/socks/build/index.js");
103714
+ const socks_1 = __webpack_require__("./node_modules/.f/_/socks/2.6.2/socks/build/index.js");
103207
103715
 
103208
103716
  const debug = debug_1.default('socks-proxy-agent');
103209
103717
 
@@ -103490,7 +103998,7 @@ const net = __webpack_require__("net");
103490
103998
 
103491
103999
  const ip = __webpack_require__("./node_modules/.f/_/ip/1.1.5/ip/lib/ip.js");
103492
104000
 
103493
- const smart_buffer_1 = __webpack_require__("./node_modules/.f/_/smart-buffer/4.1.0/smart-buffer/build/smartbuffer.js");
104001
+ const smart_buffer_1 = __webpack_require__("./node_modules/.f/_/smart-buffer/4.2.0/smart-buffer/build/smartbuffer.js");
103494
104002
 
103495
104003
  const constants_1 = __webpack_require__("./node_modules/.f/_/socks/2.3.3/socks/build/common/constants.js");
103496
104004
 
@@ -104658,7 +105166,7 @@ __export(__webpack_require__("./node_modules/.f/_/socks/2.3.3/socks/build/client
104658
105166
 
104659
105167
  /***/ }),
104660
105168
 
104661
- /***/ "./node_modules/.f/_/socks/2.6.1/socks/build/client/socksclient.js":
105169
+ /***/ "./node_modules/.f/_/socks/2.6.2/socks/build/client/socksclient.js":
104662
105170
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
104663
105171
 
104664
105172
  "use strict";
@@ -104707,15 +105215,15 @@ const net = __webpack_require__("net");
104707
105215
 
104708
105216
  const ip = __webpack_require__("./node_modules/.f/_/ip/1.1.5/ip/lib/ip.js");
104709
105217
 
104710
- const smart_buffer_1 = __webpack_require__("./node_modules/.f/_/smart-buffer/4.1.0/smart-buffer/build/smartbuffer.js");
105218
+ const smart_buffer_1 = __webpack_require__("./node_modules/.f/_/smart-buffer/4.2.0/smart-buffer/build/smartbuffer.js");
104711
105219
 
104712
- const constants_1 = __webpack_require__("./node_modules/.f/_/socks/2.6.1/socks/build/common/constants.js");
105220
+ const constants_1 = __webpack_require__("./node_modules/.f/_/socks/2.6.2/socks/build/common/constants.js");
104713
105221
 
104714
- const helpers_1 = __webpack_require__("./node_modules/.f/_/socks/2.6.1/socks/build/common/helpers.js");
105222
+ const helpers_1 = __webpack_require__("./node_modules/.f/_/socks/2.6.2/socks/build/common/helpers.js");
104715
105223
 
104716
- const receivebuffer_1 = __webpack_require__("./node_modules/.f/_/socks/2.6.1/socks/build/common/receivebuffer.js");
105224
+ const receivebuffer_1 = __webpack_require__("./node_modules/.f/_/socks/2.6.2/socks/build/common/receivebuffer.js");
104717
105225
 
104718
- const util_1 = __webpack_require__("./node_modules/.f/_/socks/2.6.1/socks/build/common/util.js");
105226
+ const util_1 = __webpack_require__("./node_modules/.f/_/socks/2.6.2/socks/build/common/util.js");
104719
105227
 
104720
105228
  Object.defineProperty(exports, "SocksClientError", ({
104721
105229
  enumerable: true,
@@ -104729,7 +105237,7 @@ class SocksClient extends events_1.EventEmitter {
104729
105237
  super();
104730
105238
  this.options = Object.assign({}, options); // Validate SocksClientOptions
104731
105239
 
104732
- helpers_1.validateSocksClientOptions(options); // Default state
105240
+ (0, helpers_1.validateSocksClientOptions)(options); // Default state
104733
105241
 
104734
105242
  this.setState(constants_1.SocksClientState.Created);
104735
105243
  }
@@ -104747,7 +105255,7 @@ class SocksClient extends events_1.EventEmitter {
104747
105255
  return new Promise((resolve, reject) => {
104748
105256
  // Validate SocksClientOptions
104749
105257
  try {
104750
- helpers_1.validateSocksClientOptions(options, ['connect']);
105258
+ (0, helpers_1.validateSocksClientOptions)(options, ['connect']);
104751
105259
  } catch (err) {
104752
105260
  if (typeof callback === 'function') {
104753
105261
  callback(err);
@@ -104797,7 +105305,7 @@ class SocksClient extends events_1.EventEmitter {
104797
105305
  return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
104798
105306
  // Validate SocksClientChainOptions
104799
105307
  try {
104800
- helpers_1.validateSocksClientChainOptions(options);
105308
+ (0, helpers_1.validateSocksClientChainOptions)(options);
104801
105309
  } catch (err) {
104802
105310
  if (typeof callback === 'function') {
104803
105311
  callback(err);
@@ -104810,7 +105318,7 @@ class SocksClient extends events_1.EventEmitter {
104810
105318
  let sock; // Shuffle proxies
104811
105319
 
104812
105320
  if (options.randomizeChain) {
104813
- util_1.shuffleArray(options.proxies);
105321
+ (0, util_1.shuffleArray)(options.proxies);
104814
105322
  }
104815
105323
 
104816
105324
  try {
@@ -104819,7 +105327,7 @@ class SocksClient extends events_1.EventEmitter {
104819
105327
  const nextProxy = options.proxies[i]; // If we've reached the last proxy in the chain, the destination is the actual destination, otherwise it's the next proxy.
104820
105328
 
104821
105329
  const nextDestination = i === options.proxies.length - 1 ? options.destination : {
104822
- host: options.proxies[i + 1].ipaddress,
105330
+ host: options.proxies[i + 1].host || options.proxies[i + 1].ipaddress,
104823
105331
  port: options.proxies[i + 1].port
104824
105332
  }; // Creates the next connection in the chain.
104825
105333
 
@@ -105560,7 +106068,7 @@ exports.SocksClient = SocksClient;
105560
106068
 
105561
106069
  /***/ }),
105562
106070
 
105563
- /***/ "./node_modules/.f/_/socks/2.6.1/socks/build/common/constants.js":
106071
+ /***/ "./node_modules/.f/_/socks/2.6.2/socks/build/common/constants.js":
105564
106072
  /***/ ((__unused_webpack_module, exports) => {
105565
106073
 
105566
106074
  "use strict";
@@ -105696,7 +106204,7 @@ exports.SocksClientState = SocksClientState;
105696
106204
 
105697
106205
  /***/ }),
105698
106206
 
105699
- /***/ "./node_modules/.f/_/socks/2.6.1/socks/build/common/helpers.js":
106207
+ /***/ "./node_modules/.f/_/socks/2.6.2/socks/build/common/helpers.js":
105700
106208
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
105701
106209
 
105702
106210
  "use strict";
@@ -105707,9 +106215,9 @@ Object.defineProperty(exports, "__esModule", ({
105707
106215
  }));
105708
106216
  exports.validateSocksClientChainOptions = exports.validateSocksClientOptions = void 0;
105709
106217
 
105710
- const util_1 = __webpack_require__("./node_modules/.f/_/socks/2.6.1/socks/build/common/util.js");
106218
+ const util_1 = __webpack_require__("./node_modules/.f/_/socks/2.6.2/socks/build/common/util.js");
105711
106219
 
105712
- const constants_1 = __webpack_require__("./node_modules/.f/_/socks/2.6.1/socks/build/common/constants.js");
106220
+ const constants_1 = __webpack_require__("./node_modules/.f/_/socks/2.6.2/socks/build/common/constants.js");
105713
106221
 
105714
106222
  const stream = __webpack_require__("stream");
105715
106223
  /**
@@ -105845,7 +106353,7 @@ function isValidTimeoutValue(value) {
105845
106353
 
105846
106354
  /***/ }),
105847
106355
 
105848
- /***/ "./node_modules/.f/_/socks/2.6.1/socks/build/common/receivebuffer.js":
106356
+ /***/ "./node_modules/.f/_/socks/2.6.2/socks/build/common/receivebuffer.js":
105849
106357
  /***/ ((__unused_webpack_module, exports) => {
105850
106358
 
105851
106359
  "use strict";
@@ -105908,7 +106416,7 @@ exports.ReceiveBuffer = ReceiveBuffer;
105908
106416
 
105909
106417
  /***/ }),
105910
106418
 
105911
- /***/ "./node_modules/.f/_/socks/2.6.1/socks/build/common/util.js":
106419
+ /***/ "./node_modules/.f/_/socks/2.6.2/socks/build/common/util.js":
105912
106420
  /***/ ((__unused_webpack_module, exports) => {
105913
106421
 
105914
106422
  "use strict";
@@ -105948,7 +106456,7 @@ exports.shuffleArray = shuffleArray;
105948
106456
 
105949
106457
  /***/ }),
105950
106458
 
105951
- /***/ "./node_modules/.f/_/socks/2.6.1/socks/build/index.js":
106459
+ /***/ "./node_modules/.f/_/socks/2.6.2/socks/build/index.js":
105952
106460
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
105953
106461
 
105954
106462
  "use strict";
@@ -105975,7 +106483,7 @@ Object.defineProperty(exports, "__esModule", ({
105975
106483
  value: true
105976
106484
  }));
105977
106485
 
105978
- __exportStar(__webpack_require__("./node_modules/.f/_/socks/2.6.1/socks/build/client/socksclient.js"), exports);
106486
+ __exportStar(__webpack_require__("./node_modules/.f/_/socks/2.6.2/socks/build/client/socksclient.js"), exports);
105979
106487
 
105980
106488
  /***/ }),
105981
106489
 
@@ -0,0 +1,81 @@
1
+ /*
2
+ object-assign
3
+ (c) Sindre Sorhus
4
+ @license MIT
5
+ */
6
+
7
+ /*!
8
+ * depd
9
+ * Copyright(c) 2014 Douglas Christopher Wilson
10
+ * MIT Licensed
11
+ */
12
+
13
+ /*!
14
+ * depd
15
+ * Copyright(c) 2014-2015 Douglas Christopher Wilson
16
+ * MIT Licensed
17
+ */
18
+
19
+ /*!
20
+ * depd
21
+ * Copyright(c) 2014-2017 Douglas Christopher Wilson
22
+ * MIT Licensed
23
+ */
24
+
25
+ /*!
26
+ * depd
27
+ * Copyright(c) 2015 Douglas Christopher Wilson
28
+ * MIT Licensed
29
+ */
30
+
31
+ /*!
32
+ * humanize-ms - index.js
33
+ * Copyright(c) 2014 dead_horse <dead_horse@qq.com>
34
+ * MIT Licensed
35
+ */
36
+
37
+ /*!
38
+ * negotiator
39
+ * Copyright(c) 2012 Federico Romero
40
+ * Copyright(c) 2012-2014 Isaac Z. Schlueter
41
+ * Copyright(c) 2015 Douglas Christopher Wilson
42
+ * MIT Licensed
43
+ */
44
+
45
+ /*! *****************************************************************************
46
+ Copyright (c) Microsoft Corporation.
47
+
48
+ Permission to use, copy, modify, and/or distribute this software for any
49
+ purpose with or without fee is hereby granted.
50
+
51
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
52
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
53
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
54
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
55
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
56
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
57
+ PERFORMANCE OF THIS SOFTWARE.
58
+ ***************************************************************************** */
59
+
60
+ /*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
61
+
62
+ /**
63
+ * @license
64
+ * Lodash <https://lodash.com/>
65
+ * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
66
+ * Released under MIT license <https://lodash.com/license>
67
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
68
+ * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
69
+ */
70
+
71
+ /**
72
+ * @preserve
73
+ * JS Implementation of incremental MurmurHash3 (r150) (as of May 10, 2013)
74
+ *
75
+ * @author <a href="mailto:jensyt@gmail.com">Jens Taylor</a>
76
+ * @see http://github.com/homebrewing/brauhaus-diff
77
+ * @author <a href="mailto:gary.court@gmail.com">Gary Court</a>
78
+ * @see http://github.com/garycourt/murmurhash-js
79
+ * @author <a href="mailto:aappleby@gmail.com">Austin Appleby</a>
80
+ * @see http://sites.google.com/site/murmurhash/
81
+ */
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "fyn",
3
- "version": "1.1.22",
4
- "description": "A node package manager, fast, workspace, and better productivity and efficiency",
3
+ "version": "1.1.25",
4
+ "description": "The package manager for fynpo, a zero setup monorepo manager",
5
5
  "main": "./bin/fyn.js",
6
- "homepage": "https://www.electrode.io/fynpo/",
6
+ "homepage": "https://jchip.github.io/fynpo/",
7
7
  "license": "Apache-2.0",
8
8
  "scripts": {
9
9
  "test": "xrun xarc/test-only",
@@ -18,6 +18,7 @@
18
18
  "postpack": "publish-util-postpack"
19
19
  },
20
20
  "bin": {
21
+ "0-npx-please-run-this-for-fyn": "./bin/fyn.js",
21
22
  "fyn": "./bin/fyn.js",
22
23
  "fun": "./bin/fun.js"
23
24
  },
@@ -61,7 +62,7 @@
61
62
  ],
62
63
  "repository": {
63
64
  "type": "git",
64
- "url": "https://github.com/electrode-io/fynpo.git",
65
+ "url": "https://github.com/jchip/fynpo.git",
65
66
  "directory": "packages/fyn"
66
67
  },
67
68
  "contributors": [