fyn 1.1.14 → 1.1.18
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 +4 -4
- package/dist/fyn.js +289 -104
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -14,7 +14,7 @@ Additionally, it has more unique features to improve productivity and efficiency
|
|
|
14
14
|
- efficient disk space usage with [central storage](#central-storage)
|
|
15
15
|
- smaller `node_modules` with [guaranteed single copy of a package](#smaller-node_modules)
|
|
16
16
|
- flexible dependencies lock by using a [lock time stamp](#locking-dependencies-by-time)
|
|
17
|
-
- built-in support for a
|
|
17
|
+
- built-in support for a monorepo workspace
|
|
18
18
|
- and [more](#features)
|
|
19
19
|
|
|
20
20
|
![fyn demo][fyn-demo-gif]
|
|
@@ -101,7 +101,7 @@ Want to find out more? Please read on below:
|
|
|
101
101
|
- Compatible with [npm] by internally using the same modules as [npm].
|
|
102
102
|
- Maintains as much of [npm]'s behaviors as possible.
|
|
103
103
|
- Able to use [npm]'s `npm-shrinkwrap.json` or `package-lock.json`.
|
|
104
|
-
- built-in support for maintaining a
|
|
104
|
+
- built-in support for maintaining a monorepo workspace.
|
|
105
105
|
|
|
106
106
|
## Overview
|
|
107
107
|
|
|
@@ -121,11 +121,11 @@ So why would you want to use this?
|
|
|
121
121
|
|
|
122
122
|
It also has a special `fynlocal` mode that's a better [npm link] for handling local packages.
|
|
123
123
|
|
|
124
|
-
It's workspace aware and fits perfectly with the
|
|
124
|
+
It's workspace aware and fits perfectly with the monorepo concept.
|
|
125
125
|
|
|
126
126
|
## Enhanced `npm link`
|
|
127
127
|
|
|
128
|
-
`fyn` has a `fynlocal` mode that's designed specifically to be a much better [npm link]. It effectively makes your disk a npm registry by treating packages on your local disk like they've been published. You can install and use them directly, and quickly test changes iteratively. It fits perfectly with the
|
|
128
|
+
`fyn` has a `fynlocal` mode that's designed specifically to be a much better [npm link]. It effectively makes your disk a npm registry by treating packages on your local disk like they've been published. You can install and use them directly, and quickly test changes iteratively. It fits perfectly with the monorepo workspace concept. It would be very useful if you've ever done any of these:
|
|
129
129
|
|
|
130
130
|
- Debug your application by inspecting code inside `node_modules`.
|
|
131
131
|
- Live edit your package that's installed to `node_modules`, and then have to copy the changes out to commit.
|
package/dist/fyn.js
CHANGED
|
@@ -973,7 +973,9 @@ class FynCli {
|
|
|
973
973
|
} // run npm scripts from fynpo, with lifecycle scripts added
|
|
974
974
|
|
|
975
975
|
|
|
976
|
-
const
|
|
976
|
+
const _runNpm = this.fyn._runNpm.map(s => Array.isArray(s) ? s.find(s1 => pkgScripts[s1] !== undefined) : s);
|
|
977
|
+
|
|
978
|
+
const fynpoNpmScripts = addNpmLifecycle(_.without(_runNpm, ...npmInstallScripts), pkgScripts);
|
|
977
979
|
|
|
978
980
|
if (fynpoNpmScripts.length > 0) {
|
|
979
981
|
await runNpmScript({
|
|
@@ -3187,6 +3189,11 @@ class Fyn {
|
|
|
3187
3189
|
|
|
3188
3190
|
if (this._fynpo.config) {
|
|
3189
3191
|
if (this._fynpo.graph.getPackageAtDir(this._cwd)) {
|
|
3192
|
+
// the command.bootstrap.npmRunScripts can be
|
|
3193
|
+
// - a string
|
|
3194
|
+
// - an array of strings
|
|
3195
|
+
// - an array of strings and/or array of strings - each sub array indicates a list of
|
|
3196
|
+
// script names and fyn will run only the first one that exist
|
|
3190
3197
|
fynpoNpmRun = _.get(this, "_fynpo.config.command.bootstrap.npmRunScripts", undefined);
|
|
3191
3198
|
|
|
3192
3199
|
if (_.isArray(fynpoNpmRun) && !_.isEmpty(fynpoNpmRun)) {
|
|
@@ -3789,14 +3796,23 @@ class Fyn {
|
|
|
3789
3796
|
}
|
|
3790
3797
|
}
|
|
3791
3798
|
|
|
3792
|
-
async
|
|
3793
|
-
|
|
3794
|
-
|
|
3795
|
-
|
|
3799
|
+
async moveToFv(dir, pkg, pkgJson) {
|
|
3800
|
+
const toDir = this.getInstalledPkgDir(pkgJson.name, pkgJson.version, {});
|
|
3801
|
+
|
|
3802
|
+
try {
|
|
3803
|
+
await Fs.access(toDir); // a copy already exist in FV dir, so remove it
|
|
3804
|
+
|
|
3805
|
+
logger.warn(`Removing ${dir} because its version ${pkgJson.version} is different from ${pkg.version}`);
|
|
3806
|
+
await Fs.$.rimraf(dir);
|
|
3807
|
+
} catch (err) {
|
|
3808
|
+
logger.debug(`Moving ${dir} to ${toDir} to replace with version ${pkg.version}`);
|
|
3809
|
+
await Fs.$.mkdirp(Path.dirname(toDir));
|
|
3810
|
+
await Fs.rename(dir, toDir);
|
|
3811
|
+
}
|
|
3796
3812
|
}
|
|
3797
3813
|
|
|
3798
|
-
async unlinkLocalPackage(
|
|
3799
|
-
logger.warn(
|
|
3814
|
+
async unlinkLocalPackage(dir, reason) {
|
|
3815
|
+
logger.warn(`Removing ${dir} because it's ${reason}`);
|
|
3800
3816
|
return await Fs.$.rimraf(dir);
|
|
3801
3817
|
} //
|
|
3802
3818
|
// A pkg that's to be extracted must:
|
|
@@ -3822,21 +3838,21 @@ class Fyn {
|
|
|
3822
3838
|
}
|
|
3823
3839
|
|
|
3824
3840
|
if (ostat.isSymbolicLink()) {
|
|
3825
|
-
await this.unlinkLocalPackage(
|
|
3841
|
+
await this.unlinkLocalPackage(fullOutDir, "a symlink");
|
|
3826
3842
|
} else if (!ostat.isDirectory()) {
|
|
3827
|
-
await this.
|
|
3843
|
+
await this.unlinkLocalPackage(fullOutDir, "not a directory");
|
|
3828
3844
|
} else {
|
|
3829
3845
|
try {
|
|
3830
3846
|
const pkgJson = await this.loadJsonForPkg(pkg, fullOutDir);
|
|
3831
3847
|
|
|
3832
3848
|
if (!pkgJson._invalid) {
|
|
3833
3849
|
return pkgJson;
|
|
3834
|
-
}
|
|
3835
|
-
|
|
3850
|
+
}
|
|
3836
3851
|
|
|
3837
|
-
|
|
3838
|
-
|
|
3839
|
-
|
|
3852
|
+
await this.moveToFv(fullOutDir, pkg, pkgJson);
|
|
3853
|
+
} catch (err) {
|
|
3854
|
+
logger.warn(`ensureProperPkgdir:`, err);
|
|
3855
|
+
}
|
|
3840
3856
|
}
|
|
3841
3857
|
|
|
3842
3858
|
return null;
|
|
@@ -3940,7 +3956,7 @@ const logger = __webpack_require__("./lib/logger.js");
|
|
|
3940
3956
|
|
|
3941
3957
|
const logFormat = __webpack_require__("./lib/util/log-format.js");
|
|
3942
3958
|
|
|
3943
|
-
const VisualExec = __webpack_require__("./node_modules/.f/_/visual-exec/0.1.
|
|
3959
|
+
const VisualExec = __webpack_require__("./node_modules/.f/_/visual-exec/0.1.14/visual-exec/lib/visual-exec.js");
|
|
3944
3960
|
|
|
3945
3961
|
const fyntil = __webpack_require__("./lib/util/fyntil.js");
|
|
3946
3962
|
|
|
@@ -4133,7 +4149,7 @@ class LifecycleScripts {
|
|
|
4133
4149
|
silent,
|
|
4134
4150
|
cwd: this._pkgDir,
|
|
4135
4151
|
env,
|
|
4136
|
-
maxBuffer: ONE_MB
|
|
4152
|
+
maxBuffer: 20 * ONE_MB
|
|
4137
4153
|
}, this._pkg.scripts[name]); // exec not silent so it's dumping to stdout
|
|
4138
4154
|
// and it's not a good idea to try to show visual progress of the execution
|
|
4139
4155
|
|
|
@@ -4179,7 +4195,7 @@ const logger = __webpack_require__("./lib/logger.js");
|
|
|
4179
4195
|
|
|
4180
4196
|
const PromiseQueue = __webpack_require__("./lib/util/promise-queue.js");
|
|
4181
4197
|
|
|
4182
|
-
const VisualExec = __webpack_require__("./node_modules/.f/_/visual-exec/0.1.
|
|
4198
|
+
const VisualExec = __webpack_require__("./node_modules/.f/_/visual-exec/0.1.14/visual-exec/lib/visual-exec.js");
|
|
4183
4199
|
|
|
4184
4200
|
const xaa = __webpack_require__("./node_modules/.f/_/xaa/1.7.0/xaa/dist/xaa.js");
|
|
4185
4201
|
|
|
@@ -4187,6 +4203,10 @@ const Fs = __webpack_require__("./lib/util/file-ops.js");
|
|
|
4187
4203
|
|
|
4188
4204
|
const _ = __webpack_require__("./node_modules/.f/_/lodash/4.17.21/lodash/lodash.min.js");
|
|
4189
4205
|
|
|
4206
|
+
const {
|
|
4207
|
+
runNpmScript
|
|
4208
|
+
} = __webpack_require__("./lib/util/run-npm-script.js");
|
|
4209
|
+
|
|
4190
4210
|
class LocalPkgBuilder {
|
|
4191
4211
|
constructor(options) {
|
|
4192
4212
|
this._options = options;
|
|
@@ -4237,22 +4257,22 @@ class LocalPkgBuilder {
|
|
|
4237
4257
|
|
|
4238
4258
|
|
|
4239
4259
|
const flatLocals = [].concat(...localsByDepth);
|
|
4240
|
-
const
|
|
4241
|
-
// convert items into array of
|
|
4242
|
-
// the first occurrence of duplicate
|
|
4260
|
+
const allPaths = flatLocals.map(x => x.fullPath); //
|
|
4261
|
+
// convert items into array of paths and then use _.uniq to only keep
|
|
4262
|
+
// the first occurrence of duplicate paths, and reverse them so the
|
|
4243
4263
|
// ones that has no dependence on the ones before them are build first.
|
|
4244
4264
|
//
|
|
4245
4265
|
|
|
4246
|
-
const
|
|
4266
|
+
const uniqPaths = _.uniq(allPaths).reverse();
|
|
4247
4267
|
|
|
4248
|
-
const
|
|
4249
|
-
a[x.
|
|
4268
|
+
const byPathLookup = flatLocals.reduce((a, x) => {
|
|
4269
|
+
a[x.fullPath] = x;
|
|
4250
4270
|
return a;
|
|
4251
4271
|
}, {});
|
|
4252
|
-
logger.debug("local pkgs for build all
|
|
4272
|
+
logger.debug("local pkgs for build all paths", allPaths, "uniq paths", uniqPaths);
|
|
4253
4273
|
|
|
4254
|
-
for (const
|
|
4255
|
-
await this.addItem(
|
|
4274
|
+
for (const path of uniqPaths) {
|
|
4275
|
+
await this.addItem(byPathLookup[path]);
|
|
4256
4276
|
}
|
|
4257
4277
|
|
|
4258
4278
|
logger.debug("resolving build local _started promise");
|
|
@@ -4301,18 +4321,21 @@ class LocalPkgBuilder {
|
|
|
4301
4321
|
|
|
4302
4322
|
if (x && x.promise) {
|
|
4303
4323
|
logger.debug("waiting for build local item", fullPath, x);
|
|
4304
|
-
await x.promise;
|
|
4324
|
+
const localBuildResult = await x.promise;
|
|
4305
4325
|
logger.debug("build local item awaited", fullPath);
|
|
4326
|
+
return localBuildResult;
|
|
4306
4327
|
} else {
|
|
4307
4328
|
logger.debug("status is false => no build local job for pkg at", fullPath, x);
|
|
4308
4329
|
}
|
|
4330
|
+
|
|
4331
|
+
return {};
|
|
4309
4332
|
}
|
|
4310
4333
|
|
|
4311
4334
|
waitForDone() {
|
|
4312
4335
|
return this._defer && this._defer.promise;
|
|
4313
4336
|
}
|
|
4314
4337
|
|
|
4315
|
-
processItem(item) {
|
|
4338
|
+
async processItem(item) {
|
|
4316
4339
|
const dispPath = Path.relative(this._options.fyn._cwd, item.fullPath);
|
|
4317
4340
|
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(" ");
|
|
4318
4341
|
const displayTitle = `building local pkg at ${dispPath}`;
|
|
@@ -4324,7 +4347,66 @@ class LocalPkgBuilder {
|
|
|
4324
4347
|
visualLogger: logger
|
|
4325
4348
|
});
|
|
4326
4349
|
ve.logFinalOutput = _.noop;
|
|
4327
|
-
|
|
4350
|
+
await ve.execute();
|
|
4351
|
+
const pkgJsonFile = Path.join(item.fullPath, "package.json");
|
|
4352
|
+
let pkgJson;
|
|
4353
|
+
const prePkgJson = pkgJson = JSON.parse(await Fs.readFile(pkgJsonFile));
|
|
4354
|
+
|
|
4355
|
+
if (_.get(prePkgJson, "scripts.prepublish") !== undefined) {
|
|
4356
|
+
if (_.get(prePkgJson, "scripts.prepare") !== undefined) {
|
|
4357
|
+
logger.warn(`
|
|
4358
|
+
Local package has 'prepare' and 'prepublish', skipping 'prepublish'. dir at ${dispPath}
|
|
4359
|
+
`);
|
|
4360
|
+
} else {
|
|
4361
|
+
logger.warn(`
|
|
4362
|
+
Build local dep package - running npm script 'prepublish' at ${dispPath}
|
|
4363
|
+
|
|
4364
|
+
==NOTE== While fyn will run 'prepublish' as part of installing this local package as a dependency,
|
|
4365
|
+
==NOTE== Please note that npm deprecated this script and recommend other npm lifecycle script
|
|
4366
|
+
==NOTE== such as 'prepare'. See docs here https://docs.npmjs.com/cli/v7/using-npm/scripts#prepare-and-prepublish
|
|
4367
|
+
==NOTE== If you want to use 'prepublishOnly', please note that fyn won't execute it as part of
|
|
4368
|
+
==NOTE== installing local packages.
|
|
4369
|
+
`);
|
|
4370
|
+
await runNpmScript({
|
|
4371
|
+
scripts: ["prepublish"],
|
|
4372
|
+
appDir: item.fullPath,
|
|
4373
|
+
dir: item.fullPath,
|
|
4374
|
+
fyn: this._fyn,
|
|
4375
|
+
depInfo: item,
|
|
4376
|
+
pkgJson: prePkgJson
|
|
4377
|
+
});
|
|
4378
|
+
pkgJson = JSON.parse(await Fs.readFile(pkgJsonFile));
|
|
4379
|
+
}
|
|
4380
|
+
}
|
|
4381
|
+
|
|
4382
|
+
if (_.get(prePkgJson, "scripts.prepack") !== undefined) {
|
|
4383
|
+
logger.debug(`Build local dep package - running npm script 'prepack' at ${dispPath}`);
|
|
4384
|
+
await runNpmScript({
|
|
4385
|
+
scripts: ["prepack"],
|
|
4386
|
+
appDir: item.fullPath,
|
|
4387
|
+
dir: item.fullPath,
|
|
4388
|
+
fyn: this._fyn,
|
|
4389
|
+
depInfo: item,
|
|
4390
|
+
pkgJson: prePkgJson
|
|
4391
|
+
});
|
|
4392
|
+
pkgJson = JSON.parse(await Fs.readFile(pkgJsonFile));
|
|
4393
|
+
}
|
|
4394
|
+
|
|
4395
|
+
if (_.get(pkgJson, "scripts.postpack") !== undefined) {
|
|
4396
|
+
logger.debug(`Build local dep package - running npm script 'postpack' at ${dispPath}`);
|
|
4397
|
+
await runNpmScript({
|
|
4398
|
+
scripts: ["postpack"],
|
|
4399
|
+
appDir: item.fullPath,
|
|
4400
|
+
dir: item.fullPath,
|
|
4401
|
+
fyn: this._fyn,
|
|
4402
|
+
depInfo: item,
|
|
4403
|
+
pkgJson
|
|
4404
|
+
});
|
|
4405
|
+
}
|
|
4406
|
+
|
|
4407
|
+
return {
|
|
4408
|
+
pkgJson
|
|
4409
|
+
};
|
|
4328
4410
|
}
|
|
4329
4411
|
|
|
4330
4412
|
}
|
|
@@ -5690,7 +5772,7 @@ const {
|
|
|
5690
5772
|
const {
|
|
5691
5773
|
getDepSection,
|
|
5692
5774
|
makeDepStep
|
|
5693
|
-
} = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.
|
|
5775
|
+
} = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.7-fynlocal_h/@fynpo/base/dist/index.js");
|
|
5694
5776
|
|
|
5695
5777
|
const xaa = __webpack_require__("./lib/util/xaa.js");
|
|
5696
5778
|
|
|
@@ -6042,6 +6124,32 @@ class PkgDepResolver {
|
|
|
6042
6124
|
this._promiseQ.addItem(PromiseQueue.pauseItem, true);
|
|
6043
6125
|
}
|
|
6044
6126
|
}
|
|
6127
|
+
|
|
6128
|
+
getAutoSemver(semver) {
|
|
6129
|
+
const autoSemver = _.get(this._fyn._fynpo, "config.localDepAutoSemver");
|
|
6130
|
+
|
|
6131
|
+
if (autoSemver) {
|
|
6132
|
+
const parsedSv = Semver.coerce(semver);
|
|
6133
|
+
|
|
6134
|
+
if (parsedSv && parsedSv.raw) {
|
|
6135
|
+
switch (autoSemver) {
|
|
6136
|
+
case "patch":
|
|
6137
|
+
semver = `~${parsedSv.raw}`;
|
|
6138
|
+
break;
|
|
6139
|
+
|
|
6140
|
+
case "minor":
|
|
6141
|
+
semver = `^${parsedSv.raw}`;
|
|
6142
|
+
break;
|
|
6143
|
+
|
|
6144
|
+
case "major":
|
|
6145
|
+
semver = "*";
|
|
6146
|
+
break;
|
|
6147
|
+
}
|
|
6148
|
+
}
|
|
6149
|
+
}
|
|
6150
|
+
|
|
6151
|
+
return semver;
|
|
6152
|
+
}
|
|
6045
6153
|
/**
|
|
6046
6154
|
* create the dep relation items for a package
|
|
6047
6155
|
*
|
|
@@ -6130,31 +6238,36 @@ class PkgDepResolver {
|
|
|
6130
6238
|
|
|
6131
6239
|
const fynDeps = _.get(pkg, ["fyn", depSec], {});
|
|
6132
6240
|
|
|
6133
|
-
let fromDir = pkg[PACKAGE_RAW_INFO] && pkg[PACKAGE_RAW_INFO].dir; // if in fynpo mode, gather deps that are actually local packages in the
|
|
6241
|
+
let fromDir = pkg[PACKAGE_RAW_INFO] && pkg[PACKAGE_RAW_INFO].dir; // if in fynpo mode, gather deps that are actually local packages in the monorepo
|
|
6134
6242
|
|
|
6135
6243
|
if (this._fyn.isFynpo) {
|
|
6136
6244
|
const locals = [];
|
|
6137
6245
|
const fynpo = this._fyn._fynpo;
|
|
6138
6246
|
|
|
6139
6247
|
if (!fromDir) {
|
|
6140
|
-
// this case means
|
|
6141
|
-
// TODO: should make sure mono-repo local copy's version satisfies
|
|
6142
|
-
// downstream pkg's semver
|
|
6248
|
+
// this case means a downstream pkg has a dep on a monorepo package
|
|
6143
6249
|
fromDir = this._fyn.cwd;
|
|
6144
6250
|
}
|
|
6145
6251
|
|
|
6146
6252
|
for (const name in deps) {
|
|
6147
|
-
if (this._fyn.checkNoFynLocal(name)) {
|
|
6253
|
+
if (this._fyn.checkNoFynLocal(name) || !fynpo.graph.getPackageByName(name)) {
|
|
6148
6254
|
continue;
|
|
6149
|
-
} //
|
|
6255
|
+
} //
|
|
6256
|
+
// Check if there is a fynpo package that match 'name@semver'?
|
|
6257
|
+
//
|
|
6150
6258
|
|
|
6151
6259
|
|
|
6152
|
-
const
|
|
6260
|
+
const semver = this.getAutoSemver(deps[name]);
|
|
6261
|
+
const fynpoPkg = fynpo.graph.resolvePackage(name, semver, false);
|
|
6153
6262
|
|
|
6154
6263
|
if (fynpoPkg) {
|
|
6155
6264
|
locals.push(fynpoPkg);
|
|
6156
6265
|
const fullPkgDir = Path.join(fynpo.dir, fynpoPkg.path);
|
|
6157
6266
|
fynDeps[name] = relativePath(fromDir, fullPkgDir, true);
|
|
6267
|
+
} else {
|
|
6268
|
+
const dispName = logFormat.pkgId(name);
|
|
6269
|
+
const versions = fynpo.graph.packages.byName[name].map(x => x.version).join(", ");
|
|
6270
|
+
logger.info(`No version of package in fynpo match semver: ${semver} name: ${dispName} versions: ${versions}`);
|
|
6158
6271
|
}
|
|
6159
6272
|
}
|
|
6160
6273
|
|
|
@@ -6179,7 +6292,7 @@ class PkgDepResolver {
|
|
|
6179
6292
|
}
|
|
6180
6293
|
|
|
6181
6294
|
const names = locals.map(x => x.name).join(", ");
|
|
6182
|
-
logger.info(`These packages in ${pkg.name}'s ${depSec} using local copies from your
|
|
6295
|
+
logger.info(`These packages in ${pkg.name}'s ${depSec} using local copies from your monorepo: ${names}`);
|
|
6183
6296
|
}
|
|
6184
6297
|
}
|
|
6185
6298
|
|
|
@@ -6745,7 +6858,7 @@ ${item.depPath.join(" > ")}`);
|
|
|
6745
6858
|
return false;
|
|
6746
6859
|
}
|
|
6747
6860
|
|
|
6748
|
-
const force = this._lockOnly && isOpt; // check if an already resolved local package satisfies item
|
|
6861
|
+
const force = this._lockOnly && !isOpt; // check if an already resolved local package satisfies item
|
|
6749
6862
|
// before trying to resolve with lock data
|
|
6750
6863
|
|
|
6751
6864
|
if (!this._fyn.preferLock) {
|
|
@@ -7966,13 +8079,17 @@ class PkgInstaller {
|
|
|
7966
8079
|
|
|
7967
8080
|
if (scope) await xaa.try(() => Fs.rmdir(Path.join(outDir, scope))); // get rid of potentially empty FV_DIR dir
|
|
7968
8081
|
|
|
7969
|
-
await xaa.try(() => Fs.rmdir(this._fyn.getFvDir()));
|
|
8082
|
+
await xaa.try(() => Fs.rmdir(this._fyn.getFvDir("_")));
|
|
7970
8083
|
}
|
|
7971
8084
|
/**
|
|
7972
8085
|
* Process detail layout for node_modules.
|
|
7973
8086
|
*
|
|
7974
|
-
*
|
|
7975
|
-
*
|
|
8087
|
+
* Real copies of packages are store under FV_DIR.
|
|
8088
|
+
*
|
|
8089
|
+
* 1. For top level packages that exist in app's package.json, make symlinks under node_modules.
|
|
8090
|
+
* 2. For packages that could be promoted to the top level:
|
|
8091
|
+
* - If flattenTop enabled, make symlinks under node_modules
|
|
8092
|
+
* - flattenTop disabled, make symlinks under FV_Dir/node_modules
|
|
7976
8093
|
*
|
|
7977
8094
|
* @returns {*} none
|
|
7978
8095
|
*/
|
|
@@ -8602,7 +8719,7 @@ const {
|
|
|
8602
8719
|
|
|
8603
8720
|
const PkgPreper = __webpack_require__("./node_modules/.f/_/pkg-preper/0.1.0/pkg-preper/lib/pkg-preper.js");
|
|
8604
8721
|
|
|
8605
|
-
const VisualExec = __webpack_require__("./node_modules/.f/_/visual-exec/0.1.
|
|
8722
|
+
const VisualExec = __webpack_require__("./node_modules/.f/_/visual-exec/0.1.14/visual-exec/lib/visual-exec.js");
|
|
8606
8723
|
|
|
8607
8724
|
const {
|
|
8608
8725
|
readPkgJson,
|
|
@@ -8621,11 +8738,11 @@ const {
|
|
|
8621
8738
|
|
|
8622
8739
|
const {
|
|
8623
8740
|
prePackObj
|
|
8624
|
-
} = __webpack_require__("./node_modules/.f/_/publish-util/
|
|
8741
|
+
} = __webpack_require__("./node_modules/.f/_/publish-util/2.0.0/publish-util/lib/index.js");
|
|
8625
8742
|
|
|
8626
8743
|
const {
|
|
8627
8744
|
PackageRef
|
|
8628
|
-
} = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.
|
|
8745
|
+
} = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.7-fynlocal_h/@fynpo/base/dist/index.js");
|
|
8629
8746
|
|
|
8630
8747
|
const WATCH_TIME = 5000; // consider meta cache stale after this much time (30 minutes)
|
|
8631
8748
|
|
|
@@ -8812,7 +8929,7 @@ class PkgSrcManager {
|
|
|
8812
8929
|
const publishUtilConfig = this.getPublishUtil(json, fullPath);
|
|
8813
8930
|
|
|
8814
8931
|
if (publishUtilConfig) {
|
|
8815
|
-
logger.
|
|
8932
|
+
logger.debug(`processing local package.json at ${fullPath} with https://www.npmjs.com/package/publish-util prePackObj`);
|
|
8816
8933
|
prePackObj(json, _objectSpread(_objectSpread({}, publishUtilConfig), {}, {
|
|
8817
8934
|
silent: true
|
|
8818
8935
|
}));
|
|
@@ -9641,7 +9758,7 @@ const {
|
|
|
9641
9758
|
const {
|
|
9642
9759
|
FynpoConfigManager,
|
|
9643
9760
|
FynpoDepGraph
|
|
9644
|
-
} = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.
|
|
9761
|
+
} = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.7-fynlocal_h/@fynpo/base/dist/index.js");
|
|
9645
9762
|
/* eslint-disable no-magic-numbers, max-statements, no-empty, complexity, no-eval */
|
|
9646
9763
|
|
|
9647
9764
|
|
|
@@ -10422,6 +10539,8 @@ const logFormat = __webpack_require__("./lib/util/log-format.js");
|
|
|
10422
10539
|
|
|
10423
10540
|
const logger = __webpack_require__("./lib/logger.js");
|
|
10424
10541
|
|
|
10542
|
+
const _ = __webpack_require__("./node_modules/.f/_/lodash/4.17.21/lodash/lodash.min.js");
|
|
10543
|
+
|
|
10425
10544
|
const {
|
|
10426
10545
|
INSTALL_PACKAGE
|
|
10427
10546
|
} = __webpack_require__("./lib/log-items.js");
|
|
@@ -10471,23 +10590,28 @@ const runNpmScript = ({
|
|
|
10471
10590
|
appDir,
|
|
10472
10591
|
fyn,
|
|
10473
10592
|
scripts,
|
|
10593
|
+
dir,
|
|
10594
|
+
pkgJson,
|
|
10474
10595
|
depInfo,
|
|
10475
10596
|
ignoreFailure,
|
|
10476
10597
|
withLifecycle = false
|
|
10477
10598
|
}) => {
|
|
10478
10599
|
const pkgId = logFormat.pkgId(depInfo);
|
|
10600
|
+
const options = Object.assign({
|
|
10601
|
+
appDir,
|
|
10602
|
+
_fyn: fyn,
|
|
10603
|
+
dir,
|
|
10604
|
+
json: pkgJson
|
|
10605
|
+
}, depInfo);
|
|
10479
10606
|
|
|
10480
|
-
if (withLifecycle) {
|
|
10481
|
-
scripts = addNpmLifecycle(scripts,
|
|
10607
|
+
if (withLifecycle && options.json) {
|
|
10608
|
+
scripts = addNpmLifecycle(scripts, _.get(options.json, "scripts", {}));
|
|
10482
10609
|
}
|
|
10483
10610
|
|
|
10484
10611
|
return Promise.each(scripts, script => {
|
|
10485
10612
|
running.push(pkgId);
|
|
10486
10613
|
updateRunning(script);
|
|
10487
|
-
const ls = new LifecycleScripts(
|
|
10488
|
-
appDir,
|
|
10489
|
-
_fyn: fyn
|
|
10490
|
-
}, depInfo));
|
|
10614
|
+
const ls = new LifecycleScripts(options);
|
|
10491
10615
|
return ls.execute(script, true).then(() => undefined).catch(e => {
|
|
10492
10616
|
if (!ignoreFailure) throw e;
|
|
10493
10617
|
logger.warn(chalk.yellow(`ignoring failure of npm script ${script} of ${pkgId}`, chalk.red(e.message)));
|
|
@@ -10891,7 +11015,7 @@ module.exports = __webpack_require__("./node_modules/.f/_/xaa/1.7.0/xaa/dist/xaa
|
|
|
10891
11015
|
|
|
10892
11016
|
/***/ }),
|
|
10893
11017
|
|
|
10894
|
-
/***/ "./node_modules/.f/_/@fynpo/base/1.1.
|
|
11018
|
+
/***/ "./node_modules/.f/_/@fynpo/base/1.1.7-fynlocal_h/@fynpo/base/dist/fynpo-config.js":
|
|
10895
11019
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
10896
11020
|
|
|
10897
11021
|
"use strict";
|
|
@@ -11041,7 +11165,7 @@ exports.FynpoConfigManager = FynpoConfigManager;
|
|
|
11041
11165
|
|
|
11042
11166
|
/***/ }),
|
|
11043
11167
|
|
|
11044
|
-
/***/ "./node_modules/.f/_/@fynpo/base/1.1.
|
|
11168
|
+
/***/ "./node_modules/.f/_/@fynpo/base/1.1.7-fynlocal_h/@fynpo/base/dist/fynpo-dep-graph.js":
|
|
11045
11169
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
11046
11170
|
|
|
11047
11171
|
"use strict";
|
|
@@ -11070,9 +11194,9 @@ const minimatch_1 = (0, tslib_1.__importDefault)(__webpack_require__("./node_mod
|
|
|
11070
11194
|
const lodash_1 = (0, tslib_1.__importDefault)(__webpack_require__("./node_modules/.f/_/lodash/4.17.21/lodash/lodash.min.js"));
|
|
11071
11195
|
const semver_1 = (0, tslib_1.__importDefault)(__webpack_require__("./node_modules/.f/_/semver/7.3.5/semver/index.js"));
|
|
11072
11196
|
|
|
11073
|
-
const minimatch_group_1 = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.
|
|
11197
|
+
const minimatch_group_1 = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.7-fynlocal_h/@fynpo/base/dist/minimatch-group.js");
|
|
11074
11198
|
|
|
11075
|
-
const util_1 = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.
|
|
11199
|
+
const util_1 = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.7-fynlocal_h/@fynpo/base/dist/util.js");
|
|
11076
11200
|
|
|
11077
11201
|
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"));
|
|
11078
11202
|
const DepSectionMap = {
|
|
@@ -11209,8 +11333,18 @@ exports.pkgId = pkgId;
|
|
|
11209
11333
|
* @returns package info
|
|
11210
11334
|
*/
|
|
11211
11335
|
|
|
11212
|
-
function resolvePackage(semver, packages) {
|
|
11213
|
-
|
|
11336
|
+
function resolvePackage(semver, packages, fallbackToFirst = true) {
|
|
11337
|
+
const found = packages.find(pkg => semver_1.default.satisfies(pkg.version, semver));
|
|
11338
|
+
|
|
11339
|
+
if (found) {
|
|
11340
|
+
return found;
|
|
11341
|
+
}
|
|
11342
|
+
|
|
11343
|
+
if (fallbackToFirst) {
|
|
11344
|
+
return packages[0];
|
|
11345
|
+
}
|
|
11346
|
+
|
|
11347
|
+
return undefined;
|
|
11214
11348
|
}
|
|
11215
11349
|
/**
|
|
11216
11350
|
* Make a package ID from basic info by joining name and version into a single string.
|
|
@@ -11514,13 +11648,14 @@ class FynpoDepGraph {
|
|
|
11514
11648
|
*
|
|
11515
11649
|
* @param name - package name
|
|
11516
11650
|
* @param semver - semver
|
|
11651
|
+
* @param fallbackToFirst - should use the first entry if semver didn't match any version
|
|
11517
11652
|
* @returns fynpo package info
|
|
11518
11653
|
*/
|
|
11519
11654
|
|
|
11520
11655
|
|
|
11521
|
-
resolvePackage(name, semver) {
|
|
11656
|
+
resolvePackage(name, semver, fallbackToFirst = true) {
|
|
11522
11657
|
if (this.packages.byName[name]) {
|
|
11523
|
-
return resolvePackage(semver, this.packages.byName[name]);
|
|
11658
|
+
return resolvePackage(semver, this.packages.byName[name], fallbackToFirst);
|
|
11524
11659
|
}
|
|
11525
11660
|
|
|
11526
11661
|
return undefined;
|
|
@@ -11781,7 +11916,7 @@ exports.FynpoDepGraph = FynpoDepGraph;
|
|
|
11781
11916
|
|
|
11782
11917
|
/***/ }),
|
|
11783
11918
|
|
|
11784
|
-
/***/ "./node_modules/.f/_/@fynpo/base/1.1.
|
|
11919
|
+
/***/ "./node_modules/.f/_/@fynpo/base/1.1.7-fynlocal_h/@fynpo/base/dist/index.js":
|
|
11785
11920
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
11786
11921
|
|
|
11787
11922
|
"use strict";
|
|
@@ -11802,11 +11937,11 @@ const filter_scan_dir_1 = (0, tslib_1.__importDefault)(__webpack_require__("./no
|
|
|
11802
11937
|
const minimatch_1 = (0, tslib_1.__importDefault)(__webpack_require__("./node_modules/.f/_/minimatch/3.0.4/minimatch/minimatch.js"));
|
|
11803
11938
|
const lodash_1 = (0, tslib_1.__importDefault)(__webpack_require__("./node_modules/.f/_/lodash/4.17.21/lodash/lodash.min.js"));
|
|
11804
11939
|
|
|
11805
|
-
const minimatch_group_1 = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.
|
|
11940
|
+
const minimatch_group_1 = __webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.7-fynlocal_h/@fynpo/base/dist/minimatch-group.js");
|
|
11806
11941
|
|
|
11807
|
-
(0, tslib_1.__exportStar)(__webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.
|
|
11808
|
-
(0, tslib_1.__exportStar)(__webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.
|
|
11809
|
-
(0, tslib_1.__exportStar)(__webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.
|
|
11942
|
+
(0, tslib_1.__exportStar)(__webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.7-fynlocal_h/@fynpo/base/dist/fynpo-dep-graph.js"), exports);
|
|
11943
|
+
(0, tslib_1.__exportStar)(__webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.7-fynlocal_h/@fynpo/base/dist/fynpo-config.js"), exports);
|
|
11944
|
+
(0, tslib_1.__exportStar)(__webpack_require__("./node_modules/.f/_/@fynpo/base/1.1.7-fynlocal_h/@fynpo/base/dist/util.js"), exports);
|
|
11810
11945
|
/**
|
|
11811
11946
|
* Take an array of packages and figure out their dependencies on each other
|
|
11812
11947
|
*
|
|
@@ -12061,7 +12196,7 @@ exports.makePkgDeps = makePkgDeps;
|
|
|
12061
12196
|
|
|
12062
12197
|
/***/ }),
|
|
12063
12198
|
|
|
12064
|
-
/***/ "./node_modules/.f/_/@fynpo/base/1.1.
|
|
12199
|
+
/***/ "./node_modules/.f/_/@fynpo/base/1.1.7-fynlocal_h/@fynpo/base/dist/minimatch-group.js":
|
|
12065
12200
|
/***/ ((__unused_webpack_module, exports) => {
|
|
12066
12201
|
|
|
12067
12202
|
"use strict";
|
|
@@ -12107,7 +12242,7 @@ exports.groupMM = groupMM;
|
|
|
12107
12242
|
|
|
12108
12243
|
/***/ }),
|
|
12109
12244
|
|
|
12110
|
-
/***/ "./node_modules/.f/_/@fynpo/base/1.1.
|
|
12245
|
+
/***/ "./node_modules/.f/_/@fynpo/base/1.1.7-fynlocal_h/@fynpo/base/dist/util.js":
|
|
12111
12246
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
12112
12247
|
|
|
12113
12248
|
"use strict";
|
|
@@ -60621,23 +60756,23 @@ function set(data, k, v) {
|
|
|
60621
60756
|
|
|
60622
60757
|
/***/ }),
|
|
60623
60758
|
|
|
60624
|
-
/***/ "./node_modules/.f/_/publish-util/
|
|
60759
|
+
/***/ "./node_modules/.f/_/publish-util/2.0.0/publish-util/lib/index.js":
|
|
60625
60760
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
60626
60761
|
|
|
60627
60762
|
const {
|
|
60628
60763
|
prePackObj,
|
|
60629
60764
|
prePack
|
|
60630
|
-
} = __webpack_require__("./node_modules/.f/_/publish-util/
|
|
60765
|
+
} = __webpack_require__("./node_modules/.f/_/publish-util/2.0.0/publish-util/lib/prepack.js");
|
|
60631
60766
|
|
|
60632
60767
|
const {
|
|
60633
60768
|
postPack
|
|
60634
|
-
} = __webpack_require__("./node_modules/.f/_/publish-util/
|
|
60769
|
+
} = __webpack_require__("./node_modules/.f/_/publish-util/2.0.0/publish-util/lib/postpack.js");
|
|
60635
60770
|
|
|
60636
60771
|
const {
|
|
60637
60772
|
npmPublish
|
|
60638
|
-
} = __webpack_require__("./node_modules/.f/_/publish-util/
|
|
60773
|
+
} = __webpack_require__("./node_modules/.f/_/publish-util/2.0.0/publish-util/lib/npm-publish.js");
|
|
60639
60774
|
|
|
60640
|
-
const utils = __webpack_require__("./node_modules/.f/_/publish-util/
|
|
60775
|
+
const utils = __webpack_require__("./node_modules/.f/_/publish-util/2.0.0/publish-util/lib/utils.js");
|
|
60641
60776
|
|
|
60642
60777
|
exports.npmPublish = npmPublish;
|
|
60643
60778
|
exports.prePackObj = prePackObj;
|
|
@@ -60647,7 +60782,7 @@ exports.utils = utils;
|
|
|
60647
60782
|
|
|
60648
60783
|
/***/ }),
|
|
60649
60784
|
|
|
60650
|
-
/***/ "./node_modules/.f/_/publish-util/
|
|
60785
|
+
/***/ "./node_modules/.f/_/publish-util/2.0.0/publish-util/lib/npm-publish.js":
|
|
60651
60786
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
60652
60787
|
|
|
60653
60788
|
"use strict";
|
|
@@ -60657,7 +60792,7 @@ const execa = __webpack_require__("./node_modules/.f/_/execa/5.1.1/execa/index.j
|
|
|
60657
60792
|
|
|
60658
60793
|
const {
|
|
60659
60794
|
getInfo
|
|
60660
|
-
} = __webpack_require__("./node_modules/.f/_/publish-util/
|
|
60795
|
+
} = __webpack_require__("./node_modules/.f/_/publish-util/2.0.0/publish-util/lib/utils.js");
|
|
60661
60796
|
|
|
60662
60797
|
const assert = __webpack_require__("assert");
|
|
60663
60798
|
|
|
@@ -60665,19 +60800,32 @@ const Fs = __webpack_require__("fs").promises;
|
|
|
60665
60800
|
|
|
60666
60801
|
const Path = __webpack_require__("path");
|
|
60667
60802
|
|
|
60668
|
-
function getArg(
|
|
60669
|
-
|
|
60803
|
+
function getArg({
|
|
60804
|
+
opt,
|
|
60805
|
+
msg,
|
|
60806
|
+
argv,
|
|
60807
|
+
value = true,
|
|
60808
|
+
valids = []
|
|
60809
|
+
}) {
|
|
60810
|
+
const tagIx = argv.indexOf(opt);
|
|
60811
|
+
|
|
60812
|
+
if (tagIx >= 0) {
|
|
60813
|
+
if (value) {
|
|
60814
|
+
const val = argv[tagIx + 1];
|
|
60670
60815
|
|
|
60671
|
-
|
|
60672
|
-
|
|
60816
|
+
if (valids.length > 0) {
|
|
60817
|
+
assert(valids.includes(val), `${opt} has a value ${val} but it must be one of: ${valids.join(", ")}`);
|
|
60818
|
+
} else {
|
|
60819
|
+
assert(val, `${opt} must specify a ${msg}`);
|
|
60820
|
+
}
|
|
60673
60821
|
|
|
60674
|
-
|
|
60675
|
-
|
|
60822
|
+
argv.splice(tagIx, 2);
|
|
60823
|
+
return [opt, val];
|
|
60676
60824
|
} else {
|
|
60677
|
-
|
|
60825
|
+
argv.splice(tagIx, 1);
|
|
60678
60826
|
}
|
|
60679
60827
|
|
|
60680
|
-
return [opt
|
|
60828
|
+
return [opt];
|
|
60681
60829
|
}
|
|
60682
60830
|
|
|
60683
60831
|
return [];
|
|
@@ -60691,18 +60839,36 @@ async function removeFile(name) {
|
|
|
60691
60839
|
} catch (_unused) {}
|
|
60692
60840
|
}
|
|
60693
60841
|
|
|
60694
|
-
|
|
60842
|
+
exports.npmPublish = async function npmPublish({
|
|
60843
|
+
exit = true,
|
|
60844
|
+
silent = false
|
|
60845
|
+
} = {}) {
|
|
60846
|
+
const noop = () => {};
|
|
60695
60847
|
|
|
60696
|
-
|
|
60848
|
+
process.on("SIGINT", noop);
|
|
60849
|
+
const argv = [].concat(process.argv.slice(2));
|
|
60697
60850
|
const {
|
|
60698
60851
|
pkgDir,
|
|
60699
60852
|
pkgFile,
|
|
60700
60853
|
pkg,
|
|
60701
60854
|
pkgData
|
|
60702
60855
|
} = await getInfo();
|
|
60703
|
-
const dryRun =
|
|
60704
|
-
|
|
60705
|
-
|
|
60856
|
+
const dryRun = getArg({
|
|
60857
|
+
opt: "--dry-run",
|
|
60858
|
+
value: false,
|
|
60859
|
+
argv
|
|
60860
|
+
}).length > 0;
|
|
60861
|
+
const tag = getArg({
|
|
60862
|
+
opt: "--tag",
|
|
60863
|
+
msg: "tag",
|
|
60864
|
+
argv
|
|
60865
|
+
});
|
|
60866
|
+
const access = getArg({
|
|
60867
|
+
opt: "--access",
|
|
60868
|
+
msg: "access",
|
|
60869
|
+
argv,
|
|
60870
|
+
valids: ["public", "restricted"]
|
|
60871
|
+
});
|
|
60706
60872
|
let changedPkg = false;
|
|
60707
60873
|
let exitCode = 0;
|
|
60708
60874
|
const tgzName = pkg.name.replace(/@/g, "").replace(/\//g, "-");
|
|
@@ -60713,7 +60879,10 @@ exports.npmPublish = async function npmPublish() {
|
|
|
60713
60879
|
const restore = async () => {
|
|
60714
60880
|
try {
|
|
60715
60881
|
if (changedPkg) {
|
|
60716
|
-
|
|
60882
|
+
if (!silent) {
|
|
60883
|
+
console.log("Restoring", pkgFile);
|
|
60884
|
+
}
|
|
60885
|
+
|
|
60717
60886
|
await Fs.writeFile(pkgFile, pkgData);
|
|
60718
60887
|
}
|
|
60719
60888
|
} catch (_unused2) {}
|
|
@@ -60721,6 +60890,8 @@ exports.npmPublish = async function npmPublish() {
|
|
|
60721
60890
|
try {
|
|
60722
60891
|
process.chdir(saveDir);
|
|
60723
60892
|
} catch (_unused3) {}
|
|
60893
|
+
|
|
60894
|
+
process.removeListener("SIGINT", noop);
|
|
60724
60895
|
};
|
|
60725
60896
|
|
|
60726
60897
|
try {
|
|
@@ -60760,11 +60931,15 @@ exports.npmPublish = async function npmPublish() {
|
|
|
60760
60931
|
}
|
|
60761
60932
|
|
|
60762
60933
|
if (!dryRun) {
|
|
60763
|
-
const publishArgs = [`publish`].concat(tag, access, fullTgzFile);
|
|
60764
|
-
|
|
60934
|
+
const publishArgs = [`publish`].concat(tag, access, fullTgzFile, argv);
|
|
60935
|
+
|
|
60936
|
+
if (!silent) {
|
|
60937
|
+
console.log("publishing args:", publishArgs.join(" "));
|
|
60938
|
+
}
|
|
60939
|
+
|
|
60765
60940
|
await execa(`npm`, publishArgs, execaOpts);
|
|
60766
60941
|
} else {
|
|
60767
|
-
console.log(tgzFile);
|
|
60942
|
+
console.log("dry-run", tgzFile, "args:", [].concat(tag, access, argv));
|
|
60768
60943
|
}
|
|
60769
60944
|
} catch (err) {
|
|
60770
60945
|
if (err.message.includes("SIGINT")) {
|
|
@@ -60777,13 +60952,18 @@ exports.npmPublish = async function npmPublish() {
|
|
|
60777
60952
|
} finally {
|
|
60778
60953
|
await restore();
|
|
60779
60954
|
await removeFile(fullTgzFile);
|
|
60780
|
-
|
|
60955
|
+
|
|
60956
|
+
if (exit) {
|
|
60957
|
+
process.exit(exitCode);
|
|
60958
|
+
}
|
|
60781
60959
|
}
|
|
60960
|
+
|
|
60961
|
+
return exitCode;
|
|
60782
60962
|
};
|
|
60783
60963
|
|
|
60784
60964
|
/***/ }),
|
|
60785
60965
|
|
|
60786
|
-
/***/ "./node_modules/.f/_/publish-util/
|
|
60966
|
+
/***/ "./node_modules/.f/_/publish-util/2.0.0/publish-util/lib/postpack.js":
|
|
60787
60967
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
60788
60968
|
|
|
60789
60969
|
"use strict";
|
|
@@ -60795,7 +60975,7 @@ const Fs = __webpack_require__("fs").promises;
|
|
|
60795
60975
|
|
|
60796
60976
|
const {
|
|
60797
60977
|
getInfo
|
|
60798
|
-
} = __webpack_require__("./node_modules/.f/_/publish-util/
|
|
60978
|
+
} = __webpack_require__("./node_modules/.f/_/publish-util/2.0.0/publish-util/lib/utils.js");
|
|
60799
60979
|
|
|
60800
60980
|
exports.postPack = async function postPack() {
|
|
60801
60981
|
const {
|
|
@@ -60817,7 +60997,7 @@ exports.postPack = async function postPack() {
|
|
|
60817
60997
|
|
|
60818
60998
|
/***/ }),
|
|
60819
60999
|
|
|
60820
|
-
/***/ "./node_modules/.f/_/publish-util/
|
|
61000
|
+
/***/ "./node_modules/.f/_/publish-util/2.0.0/publish-util/lib/prepack.js":
|
|
60821
61001
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
60822
61002
|
|
|
60823
61003
|
"use strict";
|
|
@@ -60833,7 +61013,7 @@ const {
|
|
|
60833
61013
|
removeFromObj,
|
|
60834
61014
|
keepStandardFields,
|
|
60835
61015
|
renameFromObj
|
|
60836
|
-
} = __webpack_require__("./node_modules/.f/_/publish-util/
|
|
61016
|
+
} = __webpack_require__("./node_modules/.f/_/publish-util/2.0.0/publish-util/lib/utils.js");
|
|
60837
61017
|
|
|
60838
61018
|
const _ = __webpack_require__("./node_modules/.f/_/lodash/4.17.21/lodash/lodash.min.js");
|
|
60839
61019
|
|
|
@@ -60867,8 +61047,8 @@ function prePackObj(pkg, config = {}) {
|
|
|
60867
61047
|
_.set(pkg, "scripts.postpack", "publish-util-postpack");
|
|
60868
61048
|
}
|
|
60869
61049
|
|
|
60870
|
-
if (pkg.scripts.
|
|
60871
|
-
delete pkg.scripts.
|
|
61050
|
+
if (pkg.scripts.prepack === "publish-util-prepack") {
|
|
61051
|
+
delete pkg.scripts.prepack;
|
|
60872
61052
|
}
|
|
60873
61053
|
|
|
60874
61054
|
if (keepObj) {
|
|
@@ -60905,7 +61085,7 @@ exports.prePack = async function prePack() {
|
|
|
60905
61085
|
|
|
60906
61086
|
/***/ }),
|
|
60907
61087
|
|
|
60908
|
-
/***/ "./node_modules/.f/_/publish-util/
|
|
61088
|
+
/***/ "./node_modules/.f/_/publish-util/2.0.0/publish-util/lib/utils.js":
|
|
60909
61089
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
60910
61090
|
|
|
60911
61091
|
"use strict";
|
|
@@ -90701,7 +90881,7 @@ var done = function (warnings, errors) {
|
|
|
90701
90881
|
|
|
90702
90882
|
/***/ }),
|
|
90703
90883
|
|
|
90704
|
-
/***/ "./node_modules/.f/_/visual-exec/0.1.
|
|
90884
|
+
/***/ "./node_modules/.f/_/visual-exec/0.1.14/visual-exec/lib/get-default-logger.js":
|
|
90705
90885
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
90706
90886
|
|
|
90707
90887
|
"use strict";
|
|
@@ -90732,7 +90912,7 @@ module.exports = getLogger;
|
|
|
90732
90912
|
|
|
90733
90913
|
/***/ }),
|
|
90734
90914
|
|
|
90735
|
-
/***/ "./node_modules/.f/_/visual-exec/0.1.
|
|
90915
|
+
/***/ "./node_modules/.f/_/visual-exec/0.1.14/visual-exec/lib/visual-exec.js":
|
|
90736
90916
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
90737
90917
|
|
|
90738
90918
|
"use strict";
|
|
@@ -90743,7 +90923,7 @@ const xsh = __webpack_require__("./node_modules/.f/_/xsh/0.4.5/xsh/lib/index.js"
|
|
|
90743
90923
|
|
|
90744
90924
|
const chalk = __webpack_require__("./node_modules/.f/_/chalk/4.1.2/chalk/source/index.js");
|
|
90745
90925
|
|
|
90746
|
-
const getDefaultLogger = __webpack_require__("./node_modules/.f/_/visual-exec/0.1.
|
|
90926
|
+
const getDefaultLogger = __webpack_require__("./node_modules/.f/_/visual-exec/0.1.14/visual-exec/lib/get-default-logger.js");
|
|
90747
90927
|
|
|
90748
90928
|
const VisualLogger = __webpack_require__("./node_modules/.f/_/visual-logger/1.1.3/visual-logger/lib/visual-logger.js");
|
|
90749
90929
|
|
|
@@ -90780,6 +90960,7 @@ class VisualExec {
|
|
|
90780
90960
|
this._maxBuffer = maxBuffer;
|
|
90781
90961
|
this._forceStderr = forceStderr;
|
|
90782
90962
|
this._checkStdoutError = checkStdoutError === true ? /error|warn|fatal|unhandled|reject|exception|failure|fail|failed/i : checkStdoutError;
|
|
90963
|
+
this._startTime = Date.now();
|
|
90783
90964
|
}
|
|
90784
90965
|
|
|
90785
90966
|
_makeTitle(command) {
|
|
@@ -90897,7 +91078,10 @@ class VisualExec {
|
|
|
90897
91078
|
|
|
90898
91079
|
output = err.output;
|
|
90899
91080
|
} else {
|
|
90900
|
-
|
|
91081
|
+
const time = ((Date.now() - this._startTime) / 1000).toFixed(2);
|
|
91082
|
+
const dispTime = `${chalk.magenta(time)}secs`;
|
|
91083
|
+
|
|
91084
|
+
this._logger.info(`Done ${this._logLabel} ${dispTime} ${chalk.green("exit code 0")}`);
|
|
90901
91085
|
}
|
|
90902
91086
|
|
|
90903
91087
|
this.logFinalOutput(err, output);
|
|
@@ -90934,6 +91118,7 @@ class VisualExec {
|
|
|
90934
91118
|
}
|
|
90935
91119
|
|
|
90936
91120
|
execute(command) {
|
|
91121
|
+
this._startTime = Date.now();
|
|
90937
91122
|
const child = xsh.exec({
|
|
90938
91123
|
silent: true,
|
|
90939
91124
|
cwd: this._cwd,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fyn",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.18",
|
|
4
4
|
"description": "A node package manager, fast, workspace, and better productivity and efficiency",
|
|
5
5
|
"main": "./bin/fyn.js",
|
|
6
6
|
"homepage": "https://www.electrode.io/fynpo/",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"coverage": "xrun xarc/check",
|
|
14
14
|
"ci:check": "xrun xarc/check",
|
|
15
15
|
"coveralls": "cat coverage/lcov.info | coveralls",
|
|
16
|
-
"prepublishOnly": "xrun
|
|
16
|
+
"prepublishOnly": "xrun build",
|
|
17
17
|
"postpack": "publish-util-postpack"
|
|
18
18
|
},
|
|
19
19
|
"bin": {
|