Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@pnpm/default-reporter

Package Overview
Dependencies
Maintainers
3
Versions
349
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@pnpm/default-reporter - npm Package Compare versions

Comparing version 0.0.0-2020520224551 to 0.0.0-2020821233223

lib/reporterForClient/reportContext.d.ts

160

CHANGELOG.md
# @pnpm/default-reporter
## 0.0.0-2020520224551
## 0.0.0-2020821233223
### Patch Changes
- Updated dependencies [a2a6203be]
- @pnpm/config@0.0.0-2020520224551
- Updated dependencies [269d104db]
- @pnpm/config@0.0.0-2020821233223
## 7.9.1
### Patch Changes
- 3b8e3b6b1: Always print the final progress stats.
- Updated dependencies [767212f4e]
- Updated dependencies [092f8dd83]
- @pnpm/config@11.3.0
## 7.9.0
### Minor Changes
- 663afd68e: Scope is not reported when the scope is only one project.
- 86cd72de3: Show the progress of adding packages to the virtual store.
### Patch Changes
- Updated dependencies [86cd72de3]
- @pnpm/core-loggers@5.0.0
## 7.8.0
### Minor Changes
- 09b42d3ab: Use RxJS instead of "most".
## 7.7.0
### Minor Changes
- af8361946: Sometimes, when installing new dependencies that rely on many peer dependencies, or when running installation on a huge monorepo, there will be hundreds or thousands of warnings. Printing many messages to the terminal is expensive and reduces speed, so pnpm will only print a few warnings and report the total number of the unprinted warnings.
## 7.6.4
### Patch Changes
- Updated dependencies [75a36deba]
- Updated dependencies [9f1a29ff9]
- @pnpm/error@1.3.1
- @pnpm/config@11.2.7
## 7.6.3
### Patch Changes
- 13c332e69: Fixes a regression published in pnpm v5.5.3 as a result of nullish coalescing refactoring.
## 7.6.2
### Patch Changes
- Updated dependencies [ac0d3e122]
- @pnpm/config@11.2.6
## 7.6.1
### Patch Changes
- Updated dependencies [972864e0d]
- @pnpm/config@11.2.5
## 7.6.0
### Minor Changes
- 6d480dd7a: Print the authorization settings (with hidden private info), when an authorization error happens during fetch.
### Patch Changes
- Updated dependencies [6d480dd7a]
- @pnpm/error@1.3.0
- @pnpm/config@11.2.4
## 7.5.4
### Patch Changes
- Updated dependencies [13c18e397]
- @pnpm/config@11.2.3
## 7.5.3
### Patch Changes
- Updated dependencies [3f6d35997]
- @pnpm/config@11.2.2
## 7.5.2
### Patch Changes
- Updated dependencies [a2ef8084f]
- @pnpm/config@11.2.1
## 7.5.1
### Patch Changes
- Updated dependencies [ad69677a7]
- @pnpm/config@11.2.0
## 7.5.0
### Minor Changes
- 9a908bc07: Print info after install about hardlinked/copied packages in `node_modules/.pnpm`
### Patch Changes
- Updated dependencies [9a908bc07]
- Updated dependencies [9a908bc07]
- @pnpm/core-loggers@4.2.0
## 7.4.7
### Patch Changes
- Updated dependencies [65b4d07ca]
- Updated dependencies [ab3b8f51d]
- @pnpm/config@11.1.0
## 7.4.6
### Patch Changes
- @pnpm/config@11.0.1
## 7.4.5
### Patch Changes
- Updated dependencies [71aeb9a38]
- Updated dependencies [915828b46]
- @pnpm/config@11.0.0
## 7.4.4
### Patch Changes
- @pnpm/config@10.0.1
## 7.4.3
### Patch Changes
- 220896511: Remove common-tags from dependencies.
- Updated dependencies [db17f6f7b]
- Updated dependencies [1146b76d2]
- Updated dependencies [db17f6f7b]
- @pnpm/config@10.0.0
- @pnpm/types@6.2.0
- @pnpm/core-loggers@4.1.2
## 7.4.2

@@ -11,0 +165,0 @@

4

lib/index.d.ts
import { Config } from '@pnpm/config';
import { LogLevel } from '@pnpm/logger';
import most = require('most');
import * as Rx from 'rxjs';
export default function (opts: {

@@ -31,2 +31,2 @@ streamParser: object;

};
}): most.Stream<string>;
}): Rx.Observable<string>;
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.toOutput$ = void 0;
const zen_push_1 = require("@zkochan/zen-push");
const Rx = __importStar(require("rxjs"));
const operators_1 = require("rxjs/operators");
const constants_1 = require("./constants");
const mergeOutputs_1 = __importDefault(require("./mergeOutputs"));
const reporterForClient_1 = __importDefault(require("./reporterForClient"));
const reporterForServer_1 = __importDefault(require("./reporterForServer"));
const createDiffer = require("ansi-diff");
const most = require("most");
const constants_1 = require("./constants");
const mergeOutputs_1 = require("./mergeOutputs");
const reporterForClient_1 = require("./reporterForClient");
const reporterForServer_1 = require("./reporterForServer");
function default_1(opts) {
var _a, _b, _c, _d;
if (opts.context.argv[0] === 'server') {
const log$ = most.fromEvent('data', opts.streamParser);
reporterForServer_1.default(log$);
// eslint-disable-next-line
const log$ = Rx.fromEvent(opts.streamParser, 'data');
reporterForServer_1.default(log$, opts.context.config);
return;

@@ -52,22 +75,27 @@ }

opts = opts || {};
const fetchingProgressPushStream = new zen_push_1.default();
const progressPushStream = new zen_push_1.default();
const stagePushStream = new zen_push_1.default();
const deprecationPushStream = new zen_push_1.default();
const summaryPushStream = new zen_push_1.default();
const lifecyclePushStream = new zen_push_1.default();
const statsPushStream = new zen_push_1.default();
const installCheckPushStream = new zen_push_1.default();
const registryPushStream = new zen_push_1.default();
const rootPushStream = new zen_push_1.default();
const packageManifestPushStream = new zen_push_1.default();
const linkPushStream = new zen_push_1.default();
const otherPushStream = new zen_push_1.default();
const hookPushStream = new zen_push_1.default();
const skippedOptionalDependencyPushStream = new zen_push_1.default();
const scopePushStream = new zen_push_1.default();
const requestRetryPushStream = new zen_push_1.default();
const contextPushStream = new Rx.Subject();
const fetchingProgressPushStream = new Rx.Subject();
const progressPushStream = new Rx.Subject();
const stagePushStream = new Rx.Subject();
const deprecationPushStream = new Rx.Subject();
const summaryPushStream = new Rx.Subject();
const lifecyclePushStream = new Rx.Subject();
const statsPushStream = new Rx.Subject();
const packageImportMethodPushStream = new Rx.Subject();
const installCheckPushStream = new Rx.Subject();
const registryPushStream = new Rx.Subject();
const rootPushStream = new Rx.Subject();
const packageManifestPushStream = new Rx.Subject();
const linkPushStream = new Rx.Subject();
const otherPushStream = new Rx.Subject();
const hookPushStream = new Rx.Subject();
const skippedOptionalDependencyPushStream = new Rx.Subject();
const scopePushStream = new Rx.Subject();
const requestRetryPushStream = new Rx.Subject();
setTimeout(() => {
opts.streamParser['on']('data', (log) => {
switch (log.name) {
case 'pnpm:context':
contextPushStream.next(log);
break;
case 'pnpm:fetching-progress':

@@ -94,2 +122,5 @@ fetchingProgressPushStream.next(log);

break;
case 'pnpm:package-import-method':
packageImportMethodPushStream.next(log);
break;
case 'pnpm:install-check':

@@ -122,6 +153,6 @@ installCheckPushStream.next(log);

break;
case 'pnpm': // tslint:disable-line
case 'pnpm:global': // tslint:disable-line
case 'pnpm:store': // tslint:disable-line
case 'pnpm:lockfile': // tslint:disable-line
case 'pnpm': // eslint-disable-line
case 'pnpm:global': // eslint-disable-line
case 'pnpm:store': // eslint-disable-line
case 'pnpm:lockfile': // eslint-disable-line
otherPushStream.next(log);

@@ -133,19 +164,21 @@ break;

const log$ = {
deprecation: most.from(deprecationPushStream.observable),
fetchingProgress: most.from(fetchingProgressPushStream.observable),
hook: most.from(hookPushStream.observable),
installCheck: most.from(installCheckPushStream.observable),
lifecycle: most.from(lifecyclePushStream.observable),
link: most.from(linkPushStream.observable),
other: most.from(otherPushStream.observable),
packageManifest: most.from(packageManifestPushStream.observable),
progress: most.from(progressPushStream.observable),
registry: most.from(registryPushStream.observable),
requestRetry: most.from(requestRetryPushStream.observable),
root: most.from(rootPushStream.observable),
scope: most.from(scopePushStream.observable),
skippedOptionalDependency: most.from(skippedOptionalDependencyPushStream.observable),
stage: most.from(stagePushStream.observable),
stats: most.from(statsPushStream.observable),
summary: most.from(summaryPushStream.observable),
context: Rx.from(contextPushStream),
deprecation: Rx.from(deprecationPushStream),
fetchingProgress: Rx.from(fetchingProgressPushStream),
hook: Rx.from(hookPushStream),
installCheck: Rx.from(installCheckPushStream),
lifecycle: Rx.from(lifecyclePushStream),
link: Rx.from(linkPushStream),
other: Rx.from(otherPushStream),
packageImportMethod: Rx.from(packageImportMethodPushStream),
packageManifest: Rx.from(packageManifestPushStream),
progress: Rx.from(progressPushStream),
registry: Rx.from(registryPushStream),
requestRetry: Rx.from(requestRetryPushStream),
root: Rx.from(rootPushStream),
scope: Rx.from(scopePushStream),
skippedOptionalDependency: Rx.from(skippedOptionalDependencyPushStream),
stage: Rx.from(stagePushStream),
stats: Rx.from(statsPushStream),
summary: Rx.from(summaryPushStream),
};

@@ -155,2 +188,3 @@ const outputs = reporterForClient_1.default(log$, {

cmd: opts.context.argv[0],
config: opts.context.config,
isRecursive: ((_b = opts.context.config) === null || _b === void 0 ? void 0 : _b['recursive']) === true,

@@ -164,8 +198,8 @@ logLevel: (_c = opts.reportingOptions) === null || _c === void 0 ? void 0 : _c.logLevel,

if ((_g = opts.reportingOptions) === null || _g === void 0 ? void 0 : _g.appendOnly) {
return most.join(most.mergeArray(outputs)
.map((log) => log.map((msg) => msg.msg)));
return Rx.merge(...outputs)
.pipe(operators_1.map((log) => log.pipe(operators_1.map((msg) => msg.msg))), operators_1.mergeAll());
}
return mergeOutputs_1.default(outputs).multicast();
return mergeOutputs_1.default(outputs);
}
exports.toOutput$ = toOutput$;
//# sourceMappingURL=index.js.map

@@ -1,4 +0,4 @@

import most = require('most');
export default function mergeOutputs(outputs: Array<most.Stream<most.Stream<{
import * as Rx from 'rxjs';
export default function mergeOutputs(outputs: Array<Rx.Observable<Rx.Observable<{
msg: string;
}>>>): most.Stream<string>;
}>>>): Rx.Observable<string>;
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
const most = require("most");
const constants_1 = require("./constants");
const Rx = __importStar(require("rxjs"));
const operators_1 = require("rxjs/operators");
function mergeOutputs(outputs) {

@@ -9,8 +29,7 @@ let blockNo = 0;

let started = false;
return most.join(most.mergeArray(outputs)
.map((log) => {
let previousOuput = null;
return Rx.merge(...outputs).pipe(operators_1.map((log) => {
let currentBlockNo = -1;
let currentFixedBlockNo = -1;
return log
.map((msg) => {
return log.pipe(operators_1.map((msg) => {
if (msg['fixed']) {

@@ -35,6 +54,5 @@ if (currentFixedBlockNo === -1) {

};
});
}))
.scan((acc, log) => {
if (log.fixed === true) {
}));
}), operators_1.mergeAll(), operators_1.scan((acc, log) => {
if (log.fixed) {
acc.fixedBlocks[log.blockNo] = log.msg;

@@ -47,4 +65,3 @@ }

return acc;
}, { fixedBlocks: [], blocks: [] })
.map((sections) => {
}, { fixedBlocks: [], blocks: [] }), operators_1.map((sections) => {
const fixedBlocks = sections.fixedBlocks.filter(Boolean);

@@ -60,4 +77,3 @@ const nonFixedPart = sections.blocks.filter(Boolean).join(constants_1.EOL);

return `${nonFixedPart}${constants_1.EOL}${fixedPart}`;
})
.filter((msg) => {
}), operators_1.filter((msg) => {
if (started) {

@@ -70,6 +86,11 @@ return true;

return true;
})
.skipRepeats();
}), operators_1.filter((msg) => {
if (msg !== previousOuput) {
previousOuput = msg;
return true;
}
return false;
}));
}
exports.default = mergeOutputs;
//# sourceMappingURL=mergeOutputs.js.map
import { Config } from '@pnpm/config';
import * as logs from '@pnpm/core-loggers';
import { LogLevel } from '@pnpm/logger';
import most = require('most');
import * as Rx from 'rxjs';
export default function (log$: {
fetchingProgress: most.Stream<logs.FetchingProgressLog>;
progress: most.Stream<logs.ProgressLog>;
stage: most.Stream<logs.StageLog>;
deprecation: most.Stream<logs.DeprecationLog>;
summary: most.Stream<logs.SummaryLog>;
lifecycle: most.Stream<logs.LifecycleLog>;
stats: most.Stream<logs.StatsLog>;
installCheck: most.Stream<logs.InstallCheckLog>;
registry: most.Stream<logs.RegistryLog>;
root: most.Stream<logs.RootLog>;
packageManifest: most.Stream<logs.PackageManifestLog>;
requestRetry: most.Stream<logs.RequestRetryLog>;
link: most.Stream<logs.LinkLog>;
other: most.Stream<logs.Log>;
hook: most.Stream<logs.HookLog>;
scope: most.Stream<logs.ScopeLog>;
skippedOptionalDependency: most.Stream<logs.SkippedOptionalDependencyLog>;
context: Rx.Observable<logs.ContextLog>;
fetchingProgress: Rx.Observable<logs.FetchingProgressLog>;
progress: Rx.Observable<logs.ProgressLog>;
stage: Rx.Observable<logs.StageLog>;
deprecation: Rx.Observable<logs.DeprecationLog>;
summary: Rx.Observable<logs.SummaryLog>;
lifecycle: Rx.Observable<logs.LifecycleLog>;
stats: Rx.Observable<logs.StatsLog>;
installCheck: Rx.Observable<logs.InstallCheckLog>;
registry: Rx.Observable<logs.RegistryLog>;
root: Rx.Observable<logs.RootLog>;
packageManifest: Rx.Observable<logs.PackageManifestLog>;
requestRetry: Rx.Observable<logs.RequestRetryLog>;
link: Rx.Observable<logs.LinkLog>;
other: Rx.Observable<logs.Log>;
hook: Rx.Observable<logs.HookLog>;
scope: Rx.Observable<logs.ScopeLog>;
skippedOptionalDependency: Rx.Observable<logs.SkippedOptionalDependencyLog>;
packageImportMethod: Rx.Observable<logs.PackageImportMethodLog>;
}, opts: {
appendOnly?: boolean;
cmd: string;
config?: Config;
isRecursive: boolean;

@@ -32,4 +35,4 @@ logLevel?: LogLevel;

width?: number;
}): Array<most.Stream<most.Stream<{
}): Array<Rx.Observable<Rx.Observable<{
msg: string;
}>>>;
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const reportBigTarballsProgress_1 = require("./reportBigTarballsProgress");
const reportDeprecations_1 = require("./reportDeprecations");
const reportHooks_1 = require("./reportHooks");
const reportInstallChecks_1 = require("./reportInstallChecks");
const reportLifecycleScripts_1 = require("./reportLifecycleScripts");
const reportMisc_1 = require("./reportMisc");
const reportProgress_1 = require("./reportProgress");
const reportRequestRetry_1 = require("./reportRequestRetry");
const reportScope_1 = require("./reportScope");
const reportSkippedOptionalDependencies_1 = require("./reportSkippedOptionalDependencies");
const reportStats_1 = require("./reportStats");
const reportSummary_1 = require("./reportSummary");
const operators_1 = require("rxjs/operators");
const reportBigTarballsProgress_1 = __importDefault(require("./reportBigTarballsProgress"));
const reportContext_1 = __importDefault(require("./reportContext"));
const reportDeprecations_1 = __importDefault(require("./reportDeprecations"));
const reportHooks_1 = __importDefault(require("./reportHooks"));
const reportInstallChecks_1 = __importDefault(require("./reportInstallChecks"));
const reportLifecycleScripts_1 = __importDefault(require("./reportLifecycleScripts"));
const reportMisc_1 = __importDefault(require("./reportMisc"));
const reportProgress_1 = __importDefault(require("./reportProgress"));
const reportRequestRetry_1 = __importDefault(require("./reportRequestRetry"));
const reportScope_1 = __importDefault(require("./reportScope"));
const reportSkippedOptionalDependencies_1 = __importDefault(require("./reportSkippedOptionalDependencies"));
const reportStats_1 = __importDefault(require("./reportStats"));
const reportSummary_1 = __importDefault(require("./reportSummary"));
function default_1(log$, opts) {

@@ -19,9 +24,12 @@ var _a, _b, _c, _d;

const cwd = (_d = (_c = opts.pnpmConfig) === null || _c === void 0 ? void 0 : _c.dir) !== null && _d !== void 0 ? _d : process.cwd();
const throttle = typeof opts.throttleProgress === 'number' && opts.throttleProgress > 0
? operators_1.throttleTime(opts.throttleProgress, undefined, { leading: true, trailing: true })
: undefined;
const outputs = [
reportProgress_1.default(log$, {
cwd,
throttleProgress: opts.throttleProgress,
throttle,
}),
reportLifecycleScripts_1.default(log$, {
appendOnly: opts.appendOnly || opts.streamLifecycleOutput,
appendOnly: opts.appendOnly === true || opts.streamLifecycleOutput,
cwd,

@@ -32,2 +40,3 @@ width,

reportMisc_1.default(log$, {
config: opts.config,
cwd,

@@ -48,2 +57,3 @@ logLevel: opts.logLevel,

reportHooks_1.default(log$.hook, { cwd, isRecursive: opts.isRecursive }),
reportContext_1.default(log$, { cwd }),
];

@@ -50,0 +60,0 @@ if (!opts.appendOnly) {

import * as logs from '@pnpm/core-loggers';
import most = require('most');
import * as Rx from 'rxjs';
export interface PackageDiff {

@@ -23,9 +23,9 @@ added: boolean;

export default function (log$: {
deprecation: most.Stream<logs.DeprecationLog>;
summary: most.Stream<logs.SummaryLog>;
root: most.Stream<logs.RootLog>;
packageManifest: most.Stream<logs.PackageManifestLog>;
deprecation: Rx.Observable<logs.DeprecationLog>;
summary: Rx.Observable<logs.SummaryLog>;
root: Rx.Observable<logs.RootLog>;
packageManifest: Rx.Observable<logs.PackageManifestLog>;
}, opts: {
prefix: string;
}): most.Stream<{
}): Rx.Observable<{
dev: Map<PackageDiff>;

@@ -32,0 +32,0 @@ nodeModulesOnly: Map<PackageDiff>;

"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.propertyByDependencyType = void 0;
const most = require("most");
const Rx = __importStar(require("rxjs"));
const operators_1 = require("rxjs/operators");
const R = require("ramda");

@@ -15,9 +35,8 @@ exports.propertyByDependencyType = {

const deprecationSet$ = log$.deprecation
.filter((log) => log.prefix === opts.prefix)
.scan((acc, log) => {
.pipe(operators_1.filter((log) => log.prefix === opts.prefix), operators_1.scan((acc, log) => {
acc.add(log.pkgId);
return acc;
}, new Set());
const pkgsDiff$ = most.combine((rootLog, deprecationSet) => [rootLog, deprecationSet], log$.root.filter((log) => log.prefix === opts.prefix), deprecationSet$)
.scan((pkgsDiff, args) => {
}, new Set()), operators_1.startWith(new Set()));
const filterPrefix = operators_1.filter((log) => log.prefix === opts.prefix);
const pkgsDiff$ = Rx.combineLatest(log$.root.pipe(filterPrefix), deprecationSet$).pipe(operators_1.scan((pkgsDiff, args) => {
const rootLog = args[0];

@@ -52,8 +71,14 @@ const deprecationSet = args[1];

prod: {},
});
const packageManifest$ = most.fromPromise(most.merge(log$.packageManifest.filter((log) => log.prefix === opts.prefix), log$.summary.filter((log) => log.prefix === opts.prefix).constant({}))
.take(2)
.reduce(R.merge, {}) // tslint:disable-line:no-any
}), operators_1.startWith({
dev: {},
nodeModulesOnly: {},
optional: {},
peer: {},
prod: {},
}));
const packageManifest$ = Rx.merge(log$.packageManifest.pipe(filterPrefix), log$.summary.pipe(filterPrefix, operators_1.mapTo({})))
.pipe(operators_1.take(2), operators_1.reduce(R.merge, {}) // eslint-disable-line @typescript-eslint/no-explicit-any
);
return most.combine((pkgsDiff, packageManifests) => {
return Rx.combineLatest(pkgsDiff$, packageManifest$)
.pipe(operators_1.map(([pkgsDiff, packageManifests]) => {
if (!packageManifests['initial'] || !packageManifests['updated'])

@@ -89,3 +114,3 @@ return pkgsDiff;

return pkgsDiff;
}, pkgsDiff$, packageManifest$);
}));
}

@@ -92,0 +117,0 @@ exports.default = default_1;

import { FetchingProgressLog } from '@pnpm/core-loggers';
import most = require('most');
import * as Rx from 'rxjs';
declare const _default: (log$: {
fetchingProgress: most.Stream<FetchingProgressLog>;
}) => most.Stream<most.Stream<{
fetchingProgress: Rx.Observable<FetchingProgressLog>;
}) => Rx.Observable<Rx.Observable<{
fixed: boolean;

@@ -7,0 +7,0 @@ msg: string;

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const operators_1 = require("rxjs/operators");
const outputConstants_1 = require("./outputConstants");
const prettyBytes = require("pretty-bytes");
const outputConstants_1 = require("./outputConstants");
const BIG_TARBALL_SIZE = 1024 * 1024 * 5; // 5 MB
exports.default = (log$) => {
return log$.fetchingProgress
.filter((log) => log.status === 'started' &&
return log$.fetchingProgress.pipe(operators_1.filter((log) => log.status === 'started' &&
typeof log.size === 'number' && log.size >= BIG_TARBALL_SIZE &&
// When retrying the download, keep the existing progress line.
// Fixing issue: https://github.com/pnpm/pnpm/issues/1013
log.attempt === 1)
.map((startedLog) => {
log.attempt === 1), operators_1.map((startedLog) => {
const size = prettyBytes(startedLog['size']);
return log$.fetchingProgress
.filter((log) => log.status === 'in_progress' && log.packageId === startedLog['packageId'])
.map((log) => log['downloaded'])
.startWith(0)
.map((downloadedRaw) => {
return log$.fetchingProgress.pipe(operators_1.filter((log) => log.status === 'in_progress' && log.packageId === startedLog['packageId']), operators_1.map((log) => log['downloaded']), operators_1.startWith(0), operators_1.map((downloadedRaw) => {
const done = startedLog['size'] === downloadedRaw;

@@ -26,5 +21,5 @@ const downloaded = prettyBytes(downloadedRaw);

};
});
});
}));
}));
};
//# sourceMappingURL=reportBigTarballsProgress.js.map
import { DeprecationLog } from '@pnpm/core-loggers';
import most = require('most');
declare const _default: (deprecation$: most.Stream<DeprecationLog>, opts: {
import * as Rx from 'rxjs';
declare const _default: (deprecation$: Rx.Observable<DeprecationLog>, opts: {
cwd: string;
isRecursive: boolean;
}) => most.Stream<most.Stream<{
}) => Rx.Observable<Rx.Observable<{
msg: string;
}>>;
export default _default;
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const Rx = __importStar(require("rxjs"));
const operators_1 = require("rxjs/operators");
const formatWarn_1 = __importDefault(require("./utils/formatWarn"));
const zooming_1 = require("./utils/zooming");
const chalk = require("chalk");
const most = require("most");
const formatWarn_1 = require("./utils/formatWarn");
const zooming_1 = require("./utils/zooming");
exports.default = (deprecation$, opts) => {
return deprecation$
// print warnings only about deprecated packages from the root
.filter((log) => log.depth === 0)
.map((log) => {
return deprecation$.pipe(
// print warnings only about deprecated packages from the root
operators_1.filter((log) => log.depth === 0), operators_1.map((log) => {
if (!opts.isRecursive && log.prefix === opts.cwd) {
return {
return Rx.of({
msg: formatWarn_1.default(`${chalk.red('deprecated')} ${log.pkgName}@${log.pkgVersion}: ${log.deprecated}`),
};
});
}
return {
return Rx.of({
msg: zooming_1.zoomOut(opts.cwd, log.prefix, formatWarn_1.default(`${chalk.red('deprecated')} ${log.pkgName}@${log.pkgVersion}`)),
};
})
.map(most.of);
});
}));
};
//# sourceMappingURL=reportDeprecations.js.map
import { HookLog } from '@pnpm/core-loggers';
import most = require('most');
declare const _default: (hook$: most.Stream<HookLog>, opts: {
import * as Rx from 'rxjs';
declare const _default: (hook$: Rx.Observable<HookLog>, opts: {
cwd: string;
isRecursive: boolean;
}) => most.Stream<most.Stream<{
}) => Rx.Observable<Rx.Observable<{
msg: string;
}>>;
export default _default;
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
const Rx = __importStar(require("rxjs"));
const operators_1 = require("rxjs/operators");
const zooming_1 = require("./utils/zooming");
const chalk = require("chalk");
const most = require("most");
const zooming_1 = require("./utils/zooming");
exports.default = (hook$, opts) => {
return hook$
.map((log) => ({
return hook$.pipe(operators_1.map((log) => Rx.of({
msg: zooming_1.autozoom(opts.cwd, log.prefix, `${chalk.magentaBright(log.hook)}: ${log.message}`, {
zoomOutCurrent: opts.isRecursive,
}),
}))
.map(most.of);
})));
};
//# sourceMappingURL=reportHooks.js.map
import { InstallCheckLog } from '@pnpm/core-loggers';
import most = require('most');
declare const _default: (installCheck$: most.Stream<InstallCheckLog>, opts: {
import * as Rx from 'rxjs';
declare const _default: (installCheck$: Rx.Observable<InstallCheckLog>, opts: {
cwd: string;
}) => most.Stream<most.Stream<{
msg: string;
}) => Rx.Observable<Rx.Observable<{
msg: unknown;
}>>;
export default _default;
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const most = require("most");
const formatWarn_1 = require("./utils/formatWarn");
const Rx = __importStar(require("rxjs"));
const operators_1 = require("rxjs/operators");
const formatWarn_1 = __importDefault(require("./utils/formatWarn"));
const zooming_1 = require("./utils/zooming");
exports.default = (installCheck$, opts) => {
return installCheck$
.map(formatInstallCheck.bind(null, opts.cwd))
.filter(Boolean)
.map((msg) => ({ msg }))
.map(most.of);
return installCheck$.pipe(operators_1.map((log) => formatInstallCheck(opts.cwd, log)), operators_1.filter(Boolean), operators_1.map((msg) => Rx.of({ msg })));
};

@@ -22,5 +41,5 @@ function formatInstallCheck(currentPrefix, logObj, opts) {

default:
return;
return undefined;
}
}
//# sourceMappingURL=reportInstallChecks.js.map
import { LifecycleLog } from '@pnpm/core-loggers';
import most = require('most');
import * as Rx from 'rxjs';
declare const _default: (log$: {
lifecycle: most.Stream<LifecycleLog>;
lifecycle: Rx.Observable<LifecycleLog>;
}, opts: {

@@ -9,5 +9,5 @@ appendOnly?: boolean;

width: number;
}) => most.Stream<most.Stream<{
}) => Rx.Observable<Rx.Observable<{
msg: string;
}>>;
export default _default;
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
const zen_push_1 = require("@zkochan/zen-push");
const Rx = __importStar(require("rxjs"));
const operators_1 = require("rxjs/operators");
const constants_1 = require("../constants");
const formatPrefix_1 = __importStar(require("./utils/formatPrefix"));
const outputConstants_1 = require("./outputConstants");
const chalk = require("chalk");
const most = require("most");
const path = require("path");
const prettyTime = require("pretty-time");
const stripAnsi = require("strip-ansi");
const constants_1 = require("../constants");
const outputConstants_1 = require("./outputConstants");
const formatPrefix_1 = require("./utils/formatPrefix");
const NODE_MODULES = `${path.sep}node_modules${path.sep}`;

@@ -23,12 +42,11 @@ // When streaming processes are spawned, use this color for prefix

const streamLifecycleOutput = createStreamLifecycleOutput(opts.cwd);
return log$.lifecycle
.map((log) => most.of({
return log$.lifecycle.pipe(operators_1.map((log) => Rx.of({
msg: streamLifecycleOutput(log),
}));
})));
}
const lifecycleMessages = {};
const lifecycleStreamByDepPath = {};
const lifecyclePushStream = new zen_push_1.default();
const lifecyclePushStream = new Rx.Subject();
// TODO: handle promise of .forEach?!
log$.lifecycle // tslint:disable-line
log$.lifecycle // eslint-disable-line
.forEach((log) => {

@@ -54,4 +72,4 @@ const key = `${log.stage}:${log.depPath}`;

if (!lifecycleStreamByDepPath[key]) {
lifecycleStreamByDepPath[key] = new zen_push_1.default();
lifecyclePushStream.next(most.from(lifecycleStreamByDepPath[key].observable));
lifecycleStreamByDepPath[key] = new Rx.Subject();
lifecyclePushStream.next(Rx.from(lifecycleStreamByDepPath[key]));
}

@@ -63,19 +81,19 @@ lifecycleStreamByDepPath[key].next({ msg });

});
return most.from(lifecyclePushStream.observable);
return Rx.from(lifecyclePushStream);
};
function renderCollapsedScriptOutput(log, messageCache, opts) {
messageCache['label'] = messageCache['label'] ||
`${highlightLastFolder(formatPrefix_1.formatPrefixNoTrim(opts.cwd, log.wd))}: Running ${log.stage} script`;
var _a;
messageCache.label = (_a = messageCache.label) !== null && _a !== void 0 ? _a : `${highlightLastFolder(formatPrefix_1.formatPrefixNoTrim(opts.cwd, log.wd))}: Running ${log.stage} script`;
if (!opts.exit) {
updateMessageCache(log, messageCache, opts);
return `${messageCache['label']}...`;
return `${messageCache.label}...`;
}
const time = prettyTime(process.hrtime(messageCache.startTime));
if (log['exitCode'] === 0) {
return `${messageCache['label']}, done in ${time}`;
return `${messageCache.label}, done in ${time}`;
}
if (log['optional'] === true) {
return `${messageCache['label']}, failed in ${time} (skipped as optional)`;
return `${messageCache.label}, failed in ${time} (skipped as optional)`;
}
return `${messageCache['label']}, failed in ${time}${constants_1.EOL}${renderScriptOutput(log, messageCache, opts)}`;
return `${messageCache.label}, failed in ${time}${constants_1.EOL}${renderScriptOutput(log, messageCache, opts)}`;
}

@@ -82,0 +100,0 @@ function renderScriptOutput(log, messageCache, opts) {

@@ -0,14 +1,16 @@

import { Config } from '@pnpm/config';
import { Log, RegistryLog } from '@pnpm/core-loggers';
import { LogLevel } from '@pnpm/logger';
import most = require('most');
import * as Rx from 'rxjs';
declare const _default: (log$: {
registry: most.Stream<RegistryLog>;
other: most.Stream<Log>;
registry: Rx.Observable<RegistryLog>;
other: Rx.Observable<Log>;
}, opts: {
cwd: string;
logLevel?: LogLevel;
config?: Config;
zoomOutCurrent: boolean;
}) => most.Stream<most.Stream<{
}) => Rx.Observable<Rx.Observable<{
msg: any;
}>>;
export default _default;
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const most = require("most");
const reportError_1 = __importDefault(require("../reportError"));
const formatWarn_1 = __importDefault(require("./utils/formatWarn"));
const zooming_1 = require("./utils/zooming");
const Rx = __importStar(require("rxjs"));
const operators_1 = require("rxjs/operators");
const os = require("os");
const reportError_1 = require("../reportError");
const formatWarn_1 = require("./utils/formatWarn");
const zooming_1 = require("./utils/zooming");
// tslint:disable:object-literal-sort-keys
// eslint-disable:object-literal-sort-keys
const LOG_LEVEL_NUMBER = {

@@ -15,26 +38,51 @@ error: 0,

};
// tslint:enable:object-literal-sort-keys
// eslint-enable:object-literal-sort-keys
const MAX_SHOWN_WARNINGS = 5;
exports.default = (log$, opts) => {
var _a, _b;
const maxLogLevel = (_b = LOG_LEVEL_NUMBER[(_a = opts.logLevel) !== null && _a !== void 0 ? _a : 'info']) !== null && _b !== void 0 ? _b : LOG_LEVEL_NUMBER['info'];
return most.merge(log$.registry, log$.other)
.filter((obj) => LOG_LEVEL_NUMBER[obj.level] <= maxLogLevel &&
(obj.level !== 'info' || !obj['prefix'] || obj['prefix'] === opts.cwd))
.map((obj) => {
const reportWarning = makeWarningReporter(opts);
return Rx.merge(log$.registry, log$.other).pipe(operators_1.filter((obj) => LOG_LEVEL_NUMBER[obj.level] <= maxLogLevel &&
(obj.level !== 'info' || !obj['prefix'] || obj['prefix'] === opts.cwd)), operators_1.map((obj) => {
var _a;
switch (obj.level) {
case 'warn':
return zooming_1.autozoom(opts.cwd, obj.prefix, formatWarn_1.default(obj.message), opts);
case 'warn': {
return reportWarning(obj);
}
case 'error':
if (((_a = obj['message']) === null || _a === void 0 ? void 0 : _a['prefix']) && obj['message']['prefix'] !== opts.cwd) {
return `${obj['message']['prefix']}:` + os.EOL + reportError_1.default(obj);
return Rx.of({
msg: `${obj['message']['prefix']}:` + os.EOL + reportError_1.default(obj, opts.config),
});
}
return reportError_1.default(obj);
return Rx.of({ msg: reportError_1.default(obj, opts.config) });
default:
return obj['message'];
return Rx.of({ msg: obj['message'] });
}
})
.map((msg) => ({ msg }))
.map(most.of);
}));
};
// Sometimes, when installing new dependencies that rely on many peer dependencies,
// or when running installation on a huge monorepo, there will be hundreds or thousands of warnings.
// Printing many messages to the terminal is expensive and reduces speed,
// so pnpm will only print a few warnings and report the total number of the unprinted warnings.
function makeWarningReporter(opts) {
let warningsCounter = 0;
let collapsedWarnings;
return (obj) => {
warningsCounter++;
if (warningsCounter <= MAX_SHOWN_WARNINGS) {
return Rx.of({ msg: zooming_1.autozoom(opts.cwd, obj.prefix, formatWarn_1.default(obj.message), opts) });
}
const warningMsg = formatWarn_1.default(`${warningsCounter - MAX_SHOWN_WARNINGS} other warnings`);
if (!collapsedWarnings) {
collapsedWarnings = new Rx.Subject();
// For some reason, without using setTimeout, the warning summary is printed above the rest of the warnings
// Even though the summary event happens last. Probably a bug in "most".
setTimeout(() => collapsedWarnings.next({ msg: warningMsg }), 0);
return Rx.from(collapsedWarnings);
}
setTimeout(() => collapsedWarnings.next({ msg: warningMsg }), 0);
return Rx.NEVER;
};
}
//# sourceMappingURL=reportMisc.js.map
import { ProgressLog, StageLog } from '@pnpm/core-loggers';
import most = require('most');
import * as Rx from 'rxjs';
declare const _default: (log$: {
progress: most.Stream<ProgressLog>;
stage: most.Stream<StageLog>;
progress: Rx.Observable<ProgressLog>;
stage: Rx.Observable<StageLog>;
}, opts: {
cwd: string;
throttleProgress?: number;
}) => most.Stream<most.Stream<any>>;
throttle?: Rx.OperatorFunction<any, any>;
}) => Rx.Observable<Rx.Observable<any>>;
export default _default;
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
const zen_push_1 = require("@zkochan/zen-push");
const most = require("most");
const Rx = __importStar(require("rxjs"));
const operators_1 = require("rxjs/operators");
const outputConstants_1 = require("./outputConstants");
const zooming_1 = require("./utils/zooming");
exports.default = (log$, opts) => {
const progressOutput = typeof opts.throttleProgress === 'number' && opts.throttleProgress > 0
? throttledProgressOutput.bind(null, opts.throttleProgress)
: nonThrottledProgressOutput;
return getModulesInstallProgress$(log$.stage, log$.progress)
.map(({ importingDone$, progress$, requirer }) => {
const progressOutput = throttledProgressOutput.bind(null, opts.throttle);
return getModulesInstallProgress$(log$.stage, log$.progress).pipe(operators_1.map(({ importingDone$, progress$, requirer }) => {
const output$ = progressOutput(importingDone$, progress$);

@@ -17,22 +33,22 @@ if (requirer === opts.cwd) {

}
return output$.map((msg) => {
return output$.pipe(operators_1.map((msg) => {
msg['msg'] = zooming_1.zoomOut(opts.cwd, requirer, msg['msg']);
return msg;
});
});
}));
}));
};
function throttledProgressOutput(throttleProgress, importingDone$, progress$) {
// Reporting is done every `throttleProgress` milliseconds
// and once all packages are fetched.
const sampler = most.merge(most.periodic(throttleProgress).until(importingDone$.skip(1)), importingDone$);
return most.sample(createStatusMessage, sampler, progress$, importingDone$)
function throttledProgressOutput(
// eslint-disable-next-line @typescript-eslint/no-explicit-any
throttle, importingDone$, progress$) {
let combinedProgress = Rx.combineLatest(progress$, importingDone$)
// Avoid logs after all resolved packages were downloaded.
// Fixing issue: https://github.com/pnpm/pnpm/issues/1028#issuecomment-364782901
.skipAfter((msg) => msg['done'] === true);
.pipe(operators_1.takeWhile(([, importingDone]) => !importingDone, true));
if (throttle) {
combinedProgress = combinedProgress.pipe(throttle);
}
return combinedProgress.pipe(operators_1.map(createStatusMessage));
}
function nonThrottledProgressOutput(importingDone$, progress$) {
return most.combine(createStatusMessage, progress$, importingDone$);
}
function getModulesInstallProgress$(stage$, progress$) {
const modulesInstallProgressPushStream = new zen_push_1.default();
const modulesInstallProgressPushStream = new Rx.Subject();
const progessStatsPushStreamByRequirer = getProgessStatsPushStreamByRequirer(progress$);

@@ -43,29 +59,24 @@ const stagePushStreamByRequirer = {};

if (!stagePushStreamByRequirer[log.prefix]) {
stagePushStreamByRequirer[log.prefix] = new zen_push_1.default();
stagePushStreamByRequirer[log.prefix] = new Rx.Subject();
if (!progessStatsPushStreamByRequirer[log.prefix]) {
progessStatsPushStreamByRequirer[log.prefix] = new zen_push_1.default();
progessStatsPushStreamByRequirer[log.prefix] = new Rx.Subject();
}
modulesInstallProgressPushStream.next({
importingDone$: stage$ToImportingDone$(most.from(stagePushStreamByRequirer[log.prefix].observable)),
progress$: most.from(progessStatsPushStreamByRequirer[log.prefix].observable),
importingDone$: stage$ToImportingDone$(Rx.from(stagePushStreamByRequirer[log.prefix])),
progress$: Rx.from(progessStatsPushStreamByRequirer[log.prefix]),
requirer: log.prefix,
});
}
setTimeout(() => {
stagePushStreamByRequirer[log.prefix].next(log);
if (log.stage === 'importing_done') {
progessStatsPushStreamByRequirer[log.prefix].complete();
stagePushStreamByRequirer[log.prefix].complete();
}
}, 0);
});
return most.from(modulesInstallProgressPushStream.observable);
stagePushStreamByRequirer[log.prefix].next(log);
if (log.stage === 'importing_done') {
progessStatsPushStreamByRequirer[log.prefix].complete();
stagePushStreamByRequirer[log.prefix].complete();
}
})
.catch(() => { });
return Rx.from(modulesInstallProgressPushStream);
}
function stage$ToImportingDone$(stage$) {
return stage$
.filter((log) => log.stage === 'importing_done')
.constant(true)
.take(1)
.startWith(false)
.multicast();
.pipe(operators_1.filter((log) => log.stage === 'importing_done'), operators_1.mapTo(true), operators_1.take(1), operators_1.startWith(false));
}

@@ -80,2 +91,3 @@ function getProgessStatsPushStreamByRequirer(progress$) {

fetched: 0,
imported: 0,
resolved: 0,

@@ -95,12 +107,16 @@ reused: 0,

break;
case 'imported':
previousProgressStatsByRequirer[log.requester].imported++;
break;
}
if (!progessStatsPushStreamByRequirer[log.requester]) {
progessStatsPushStreamByRequirer[log.requester] = new zen_push_1.default();
progessStatsPushStreamByRequirer[log.requester] = new Rx.Subject();
}
progessStatsPushStreamByRequirer[log.requester].next(previousProgressStatsByRequirer[log.requester]);
});
})
.catch(() => { });
return progessStatsPushStreamByRequirer;
}
function createStatusMessage(progress, importingDone) {
const msg = `Resolving: total ${outputConstants_1.hlValue(progress.resolved.toString())}, reused ${outputConstants_1.hlValue(progress.reused.toString())}, downloaded ${outputConstants_1.hlValue(progress.fetched.toString())}`;
function createStatusMessage([progress, importingDone]) {
const msg = `Progress: resolved ${outputConstants_1.hlValue(progress.resolved.toString())}, reused ${outputConstants_1.hlValue(progress.reused.toString())}, downloaded ${outputConstants_1.hlValue(progress.fetched.toString())}, added ${outputConstants_1.hlValue(progress.imported.toString())}`;
if (importingDone) {

@@ -107,0 +123,0 @@ return {

import { RequestRetryLog } from '@pnpm/core-loggers';
import most = require('most');
declare const _default: (requestRetry$: most.Stream<RequestRetryLog>) => most.Stream<most.Stream<{
import * as Rx from 'rxjs';
declare const _default: (requestRetry$: Rx.Observable<RequestRetryLog>) => Rx.Observable<Rx.Observable<{
msg: string;
}>>;
export default _default;
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const common_tags_1 = require("common-tags");
const most = require("most");
const Rx = __importStar(require("rxjs"));
const operators_1 = require("rxjs/operators");
const formatWarn_1 = __importDefault(require("./utils/formatWarn"));
const prettyMilliseconds = require("pretty-ms");
const formatWarn_1 = require("./utils/formatWarn");
exports.default = (requestRetry$) => {
return requestRetry$
.map((log) => {
return requestRetry$.pipe(operators_1.map((log) => {
const retriesLeft = log.maxRetries - log.attempt + 1;
const errorCode = log.error['httpStatusCode'] || log.error['status'] || log.error['errno'] || log.error['code'];
const msg = common_tags_1.oneLine `${log.method} ${log.url} error (${errorCode}).
Will retry in ${prettyMilliseconds(log.timeout, { verbose: true })}.
${retriesLeft} retries left.`;
return most.of({ msg: formatWarn_1.default(msg) });
});
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
const msg = `${log.method} ${log.url} error (${errorCode}). \
Will retry in ${prettyMilliseconds(log.timeout, { verbose: true })}. \
${retriesLeft} retries left.`;
return Rx.of({ msg: formatWarn_1.default(msg) });
}));
};
//# sourceMappingURL=reportRequestRetry.js.map
import { ScopeLog } from '@pnpm/core-loggers';
import most = require('most');
declare const _default: (scope$: most.Stream<ScopeLog>, opts: {
import * as Rx from 'rxjs';
declare const _default: (scope$: Rx.Observable<ScopeLog>, opts: {
isRecursive: boolean;
cmd: string;
}) => most.Stream<any>;
}) => Rx.Observable<Rx.Observable<{
msg: string;
}>>;
export default _default;
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
const most = require("most");
const Rx = __importStar(require("rxjs"));
const operators_1 = require("rxjs/operators");
const COMMANDS_THAT_REPORT_SCOPE = new Set([

@@ -17,14 +37,9 @@ 'install',

if (!COMMANDS_THAT_REPORT_SCOPE.has(opts.cmd)) {
return most.never();
return Rx.NEVER;
}
return scope$
.take(1)
.map((log) => {
if (log.selected === 1 && typeof log.total !== 'number') {
if (!log.workspacePrefix)
return most.never();
if (!opts.isRecursive)
return most.of({ msg: 'Scope: current workspace package' });
return scope$.pipe(operators_1.take(1), operators_1.map((log) => {
if (log.selected === 1) {
return Rx.NEVER;
}
let msg = `Scope: `;
let msg = 'Scope: ';
if (log.selected === log.total) {

@@ -45,5 +60,5 @@ msg += `all ${log.total}`;

}
return most.of({ msg });
});
return Rx.of({ msg });
}));
};
//# sourceMappingURL=reportScope.js.map
import { SkippedOptionalDependencyLog } from '@pnpm/core-loggers';
import most = require('most');
declare const _default: (skippedOptionalDependency$: most.Stream<SkippedOptionalDependencyLog>, opts: {
import * as Rx from 'rxjs';
declare const _default: (skippedOptionalDependency$: Rx.Observable<SkippedOptionalDependencyLog>, opts: {
cwd: string;
}) => most.Stream<most.Stream<{
}) => Rx.Observable<Rx.Observable<{
msg: string;
}>>;
export default _default;
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
const most = require("most");
const Rx = __importStar(require("rxjs"));
const operators_1 = require("rxjs/operators");
exports.default = (skippedOptionalDependency$, opts) => {
return skippedOptionalDependency$
.filter((log) => Boolean(log['prefix'] === opts.cwd && log.parents && log.parents.length === 0))
.map((log) => most.of({
msg: `info: ${log.package['id'] || log.package.name && (`${log.package.name}@${log.package.version}`) || log.package['pref']} is an optional dependency and failed compatibility check. Excluding it from installation.`,
}));
return skippedOptionalDependency$.pipe(operators_1.filter((log) => Boolean(log['prefix'] === opts.cwd && log.parents && log.parents.length === 0)), operators_1.map((log) => Rx.of({
msg: `info: ${
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
log.package['id'] || log.package.name && (`${log.package.name}@${log.package.version}`) || log.package['pref']} is an optional dependency and failed compatibility check. Excluding it from installation.`,
})));
};
//# sourceMappingURL=reportSkippedOptionalDependencies.js.map
import { StatsLog } from '@pnpm/core-loggers';
import most = require('most');
import * as Rx from 'rxjs';
declare const _default: (log$: {
stats: most.Stream<StatsLog>;
stats: Rx.Observable<StatsLog>;
}, opts: {

@@ -10,5 +10,5 @@ cmd: string;

width: number;
}) => most.Stream<most.Stream<{
}) => Rx.Observable<Rx.Observable<{
msg: string;
}>>[];
export default _default;
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
const Rx = __importStar(require("rxjs"));
const operators_1 = require("rxjs/operators");
const constants_1 = require("../constants");
const outputConstants_1 = require("./outputConstants");
const zooming_1 = require("./utils/zooming");
const chalk = require("chalk");
const most = require("most");
const R = require("ramda");
const stringLength = require("string-length");
const constants_1 = require("../constants");
const outputConstants_1 = require("./outputConstants");
const zooming_1 = require("./utils/zooming");
exports.default = (log$, opts) => {
const stats$ = opts.isRecursive
? log$.stats
: log$.stats.filter((log) => log.prefix !== opts.cwd);
: log$.stats.pipe(operators_1.filter((log) => log.prefix !== opts.cwd));
const outputs = [

@@ -31,6 +51,3 @@ statsForNotCurrentPackage(stats$, {

function statsForCurrentPackage(stats$, opts) {
return most.fromPromise(stats$
.filter((log) => log.prefix === opts.currentPrefix)
.take((opts.cmd === 'install' || opts.cmd === 'install-test' || opts.cmd === 'add' || opts.cmd === 'update') ? 2 : 1)
.reduce((acc, log) => {
return stats$.pipe(operators_1.filter((log) => log.prefix === opts.currentPrefix), operators_1.take((opts.cmd === 'install' || opts.cmd === 'install-test' || opts.cmd === 'add' || opts.cmd === 'update') ? 2 : 1), operators_1.reduce((acc, log) => {
if (typeof log['added'] === 'number') {

@@ -43,25 +60,26 @@ acc['added'] = log['added'];

return acc;
}, {}))
.map((stats) => {
}, {}), operators_1.map((stats) => {
if (!stats['removed'] && !stats['added']) {
if (opts.cmd === 'link') {
return most.never();
return Rx.NEVER;
}
return most.of({ msg: 'Already up-to-date' });
return Rx.of({ msg: 'Already up-to-date' });
}
let msg = 'Packages:';
if (stats['added']) {
msg += ' ' + chalk.green(`+${stats['added']}`);
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
msg += ' ' + chalk.green(`+${stats['added'].toString()}`);
}
if (stats['removed']) {
msg += ' ' + chalk.red(`-${stats['removed']}`);
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
msg += ' ' + chalk.red(`-${stats['removed'].toString()}`);
}
msg += constants_1.EOL + printPlusesAndMinuses(opts.width, (stats['added'] || 0), (stats['removed'] || 0));
return most.of({ msg });
});
return Rx.of({ msg });
}));
}
function statsForNotCurrentPackage(stats$, opts) {
const stats = {};
const cookedStats$ = (opts.cmd !== 'remove'
? stats$
.loop((stats, log) => {
? stats$.pipe(operators_1.map((log) => {
// As of pnpm v2.9.0, during `pnpm recursive link`, logging of removed stats happens twice

@@ -76,7 +94,7 @@ // 1. during linking

else if (typeof stats[log.prefix].added === 'number' && typeof log['added'] === 'number') {
stats[log.prefix].added += log['added'];
stats[log.prefix].added += log['added']; // eslint-disable-line
return { seed: stats, value: null };
}
else if (typeof stats[log.prefix].removed === 'number' && typeof log['removed'] === 'number') {
stats[log.prefix].removed += log['removed'];
stats[log.prefix].removed += log['removed']; // eslint-disable-line
return { seed: stats, value: null };

@@ -87,15 +105,15 @@ }

delete stats[log.prefix];
return { seed: stats, value };
return value;
}
}, {})
}, {}))
: stats$);
return cookedStats$
.filter((stats) => stats !== null && (stats['removed'] || stats['added']))
.map((stats) => {
return cookedStats$.pipe(operators_1.filter((stats) => stats !== null && (stats['removed'] || stats['added'])), operators_1.map((stats) => {
const parts = [];
if (stats['added']) {
parts.push(padStep(chalk.green(`+${stats['added']}`), 4));
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
parts.push(padStep(chalk.green(`+${stats['added'].toString()}`), 4));
}
if (stats['removed']) {
parts.push(padStep(chalk.red(`-${stats['removed']}`), 4));
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
parts.push(padStep(chalk.red(`-${stats['removed'].toString()}`), 4));
}

@@ -105,4 +123,4 @@ let msg = zooming_1.zoomOut(opts.currentPrefix, stats['prefix'], parts.join(' '));

msg += ' ' + printPlusesAndMinuses(rest, roundStats(stats['added'] || 0), roundStats(stats['removed'] || 0));
return most.of({ msg });
});
return Rx.of({ msg });
}));
}

@@ -109,0 +127,0 @@ function padStep(s, step) {

@@ -0,15 +1,15 @@

import { DeprecationLog, PackageManifestLog, RootLog, SummaryLog } from '@pnpm/core-loggers';
import { Config } from '@pnpm/config';
import { DeprecationLog, PackageManifestLog, RootLog, SummaryLog } from '@pnpm/core-loggers';
import most = require('most');
import * as Rx from 'rxjs';
declare const _default: (log$: {
deprecation: most.Stream<DeprecationLog>;
summary: most.Stream<SummaryLog>;
root: most.Stream<RootLog>;
packageManifest: most.Stream<PackageManifestLog>;
deprecation: Rx.Observable<DeprecationLog>;
summary: Rx.Observable<SummaryLog>;
root: Rx.Observable<RootLog>;
packageManifest: Rx.Observable<PackageManifestLog>;
}, opts: {
cwd: string;
pnpmConfig?: Config;
}) => most.Stream<most.Stream<{
}) => Rx.Observable<Rx.Observable<{
msg: string;
}>>;
export default _default;
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
const Rx = __importStar(require("rxjs"));
const operators_1 = require("rxjs/operators");
const constants_1 = require("../constants");
const pkgsDiff_1 = __importStar(require("./pkgsDiff"));
const outputConstants_1 = require("./outputConstants");
const chalk = require("chalk");
const most = require("most");
const path = require("path");
const R = require("ramda");
const semver = require("semver");
const constants_1 = require("../constants");
const outputConstants_1 = require("./outputConstants");
const pkgsDiff_1 = require("./pkgsDiff");
exports.default = (log$, opts) => {
const pkgsDiff$ = pkgsDiff_1.default(log$, { prefix: opts.cwd });
const summaryLog$ = log$.summary
.take(1);
return most.combine((pkgsDiff) => {
const summaryLog$ = log$.summary.pipe(operators_1.take(1));
return Rx.combineLatest(pkgsDiff$, summaryLog$)
.pipe(operators_1.take(1), operators_1.map(([pkgsDiff]) => {
var _a;
let msg = '';

@@ -21,3 +42,3 @@ for (const depType of ['prod', 'optional', 'peer', 'dev', 'nodeModulesOnly']) {

msg += constants_1.EOL;
if (opts.pnpmConfig && opts.pnpmConfig.global) {
if ((_a = opts.pnpmConfig) === null || _a === void 0 ? void 0 : _a.global) {
msg += chalk.cyanBright(`${opts.cwd}:`);

@@ -33,6 +54,4 @@ }

}
return { msg };
}, pkgsDiff$, summaryLog$)
.take(1)
.map(most.of);
return Rx.of({ msg });
}));
};

@@ -39,0 +58,0 @@ function printDiffs(pkgsDiff, opts) {

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.formatPrefixNoTrim = void 0;
const outputConstants_1 = require("../outputConstants");
const path = require("path");
const normalize = require("normalize-path");
const path = require("path");
const outputConstants_1 = require("../outputConstants");
function formatPrefix(cwd, prefix) {

@@ -8,0 +8,0 @@ prefix = formatPrefixNoTrim(cwd, prefix);

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.zoomOut = exports.autozoom = void 0;
const outputConstants_1 = require("../outputConstants");
const formatPrefix_1 = __importDefault(require("./formatPrefix"));
const rightPad = require("right-pad");
const outputConstants_1 = require("../outputConstants");
const formatPrefix_1 = require("./formatPrefix");
function autozoom(currentPrefix, logPrefix, line, opts) {

@@ -8,0 +11,0 @@ if (!logPrefix || !opts.zoomOutCurrent && currentPrefix === logPrefix) {

@@ -0,3 +1,4 @@

import { Config } from '@pnpm/config';
import { Log } from '@pnpm/core-loggers';
import most = require('most');
export default function (log$: most.Stream<Log>): void;
import * as Rx from 'rxjs';
export default function (log$: Rx.Observable<Log>, config?: Config): void;
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const reportError_1 = __importDefault(require("./reportError"));
const chalk = require("chalk");
const reportError_1 = require("./reportError");
function default_1(log$) {
function default_1(log$, config) {
log$.subscribe({

@@ -19,3 +22,3 @@ complete: () => undefined,

case 'error':
console.log(reportError_1.default(log));
console.log(reportError_1.default(log, config));
return;

@@ -26,3 +29,2 @@ case 'debug':

console.log(log['message']);
return;
}

@@ -29,0 +31,0 @@ },

@@ -0,2 +1,3 @@

import { Config } from '@pnpm/config';
import { Log } from '@pnpm/core-loggers';
export default function reportError(logObj: Log): string;
export default function reportError(logObj: Log, config?: Config): string;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const constants_1 = require("./constants");
const chalk = require("chalk");
const commonTags = require("common-tags");
const R = require("ramda");
const StackTracey = require("stacktracey");
const constants_1 = require("./constants");
StackTracey.maxColumnWidths = {

@@ -13,7 +12,5 @@ callee: 25,

};
const stripIndent = commonTags.stripIndent;
const stripIndents = commonTags.stripIndents;
const highlight = chalk.yellow;
const colorPath = chalk.gray;
function reportError(logObj) {
function reportError(logObj, config) {
var _a, _b, _c, _d;

@@ -47,3 +44,6 @@ if (logObj['err']) {

return reportEngineError(err, logObj['message']);
default:
case 'ERR_PNPM_FETCH_401':
case 'ERR_PNPM_FETCH_403':
return reportAuthError(err, logObj['message'], config);
default: {
// Errors with unknown error codes are printed with stack trace

@@ -63,2 +63,3 @@ if (!((_b = (_a = err.code) === null || _a === void 0 ? void 0 : _a.startsWith) === null || _b === void 0 ? void 0 : _b.call(_a, 'ERR_PNPM_'))) {

return errorOutput;
}
}

@@ -70,13 +71,12 @@ }

function formatPkgsStack(pkgsStack) {
return 'This error happened while installing the dependencies of ' +
`${pkgsStack[0].name}@${pkgsStack[0].version}` +
pkgsStack.slice(1).map(({ name, version }) => `${constants_1.EOL} at ${name}@${version}`);
return `This error happened while installing the dependencies of \
${pkgsStack[0].name}@${pkgsStack[0].version}\
${pkgsStack.slice(1).map(({ name, version }) => `${constants_1.EOL} at ${name}@${version}`).join('')}`;
}
function formatNoMatchingVersion(err, msg) {
const meta = msg['packageMeta'];
let output = stripIndent `
${formatErrorSummary(err.message)}
let output = `\
${formatErrorSummary(err.message)}
The latest release of ${meta.name} is "${meta['dist-tags'].latest}".
` + constants_1.EOL;
The latest release of ${meta.name} is "${meta['dist-tags'].latest}".${constants_1.EOL}`;
if (!R.equals(R.keys(meta['dist-tags']), ['latest'])) {

@@ -94,37 +94,32 @@ output += constants_1.EOL + 'Other releases are:' + constants_1.EOL;

function reportUnexpectedStore(err, msg) {
return stripIndent `
${formatErrorSummary(err.message)}
return `${formatErrorSummary(err.message)}
The dependencies at "${msg['modulesDir']}" are currently linked from the store at "${msg['expectedStorePath']}".
The dependencies at "${msg.modulesDir}" are currently linked from the store at "${msg.expectedStorePath}".
pnpm now wants to use the store at "${msg['actualStorePath']}" to link dependencies.
pnpm now wants to use the store at "${msg.actualStorePath}" to link dependencies.
If you want to use the new store location, reinstall your dependencies with "pnpm install".
If you want to use the new store location, reinstall your dependencies with "pnpm install".
You may change the global store location by running "pnpm config set store-dir <dir>".
(This error may happen if the node_modules was installed with a different major version of pnpm)
`;
You may change the global store location by running "pnpm config set store-dir <dir>".
(This error may happen if the node_modules was installed with a different major version of pnpm)`;
}
function reportUnexpectedVirtualStoreDir(err, msg) {
return stripIndent `
${formatErrorSummary(err.message)}
return `${formatErrorSummary(err.message)}
The dependencies at "${msg['modulesDir']}" are currently symlinked from the virtual store directory at "${msg['expected']}".
The dependencies at "${msg.modulesDir}" are currently symlinked from the virtual store directory at "${msg.expected}".
pnpm now wants to use the virtual store at "${msg['actual']}" to link dependencies from the store.
pnpm now wants to use the virtual store at "${msg.actual}" to link dependencies from the store.
If you want to use the new virtual store location, reinstall your dependencies with "pnpm install".
If you want to use the new virtual store location, reinstall your dependencies with "pnpm install".
You may change the virtual store location by changing the value of the virtual-store-dir config.
`;
You may change the virtual store location by changing the value of the virtual-store-dir config.`;
}
function reportStoreBreakingChange(msg) {
let output = stripIndent `
${formatErrorSummary(`The store used for the current node_modules is incomatible with the current version of pnpm`)}
Store path: ${colorPath(msg['storePath'])}
let output = `\
${formatErrorSummary('The store used for the current node_modules is incomatible with the current version of pnpm')}
Store path: ${colorPath(msg.storePath)}
Run "pnpm install" to recreate node_modules.
`;
if (msg['additionalInformation']) {
output += constants_1.EOL + constants_1.EOL + msg['additionalInformation'];
Run "pnpm install" to recreate node_modules.`;
if (msg.additionalInformation) {
output = `${output}${constants_1.EOL}${constants_1.EOL}${msg.additionalInformation}`;
}

@@ -135,10 +130,9 @@ output += formatRelatedSources(msg);

function reportModulesBreakingChange(msg) {
let output = stripIndent `
${formatErrorSummary(`The current version of pnpm is not compatible with the available node_modules structure`)}
node_modules path: ${colorPath(msg['modulesPath'])}
let output = `\
${formatErrorSummary('The current version of pnpm is not compatible with the available node_modules structure')}
node_modules path: ${colorPath(msg.modulesPath)}
Run ${highlight('pnpm install')} to recreate node_modules.
`;
if (msg['additionalInformation']) {
output += constants_1.EOL + constants_1.EOL + msg['additionalInformation'];
Run ${highlight('pnpm install')} to recreate node_modules.`;
if (msg.additionalInformation) {
output = `${output}${constants_1.EOL}${constants_1.EOL}${msg.additionalInformation}`;
}

@@ -150,10 +144,10 @@ output += formatRelatedSources(msg);

let output = '';
if (!msg['relatedIssue'] && !msg['relatedPR'])
if (!msg.relatedIssue && !msg.relatedPR)
return output;
output += constants_1.EOL;
if (msg['relatedIssue']) {
output += constants_1.EOL + `Related issue: ${colorPath(`https://github.com/pnpm/pnpm/issues/${msg['relatedIssue']}`)}`;
if (msg.relatedIssue) {
output += constants_1.EOL + `Related issue: ${colorPath(`https://github.com/pnpm/pnpm/issues/${msg.relatedIssue}`)}`;
}
if (msg['relatedPR']) {
output += constants_1.EOL + `Related PR: ${colorPath(`https://github.com/pnpm/pnpm/pull/${msg['relatedPR']}`)}`;
if (msg.relatedPR) {
output += constants_1.EOL + `Related PR: ${colorPath(`https://github.com/pnpm/pnpm/pull/${msg.relatedPR}`)}`;
}

@@ -172,6 +166,3 @@ return output;

if (prettyStack) {
return stripIndents `
${formatErrorSummary(errorMessage)}
${prettyStack}
`;
return `${formatErrorSummary(errorMessage)}${constants_1.EOL}${prettyStack}`;
}

@@ -185,17 +176,15 @@ }

function reportModifiedDependency(msg) {
return stripIndent `
${formatErrorSummary('Packages in the store have been mutated')}
return `\
${formatErrorSummary('Packages in the store have been mutated')}
These packages are modified:
${msg['modified'].map((pkgPath) => colorPath(pkgPath)).join(constants_1.EOL)}
These packages are modified:
${msg.modified.map((pkgPath) => colorPath(pkgPath)).join(constants_1.EOL)}
You can run ${highlight('pnpm install')} to refetch the modified packages
`;
You can run ${highlight('pnpm install')} to refetch the modified packages`;
}
function reportLockfileBreakingChange(err, msg) {
return stripIndent `
${formatErrorSummary(err.message)}
return `\
${formatErrorSummary(err.message)}
Run with the ${highlight('--force')} parameter to recreate the lockfile.
`;
Run with the ${highlight('--force')} parameter to recreate the lockfile.`;
}

@@ -210,20 +199,19 @@ function formatRecursiveCommandSummary(msg) {

function reportBadTarballSize(err, msg) {
return stripIndent `
${formatErrorSummary(err.message)}
return `\
${formatErrorSummary(err.message)}
Seems like you have internet connection issues.
Try running the same command again.
If that doesn't help, try one of the following:
Seems like you have internet connection issues.
Try running the same command again.
If that doesn't help, try one of the following:
- Set a bigger value for the \`fetch-retries\` config.
To check the current value of \`fetch-retries\`, run \`pnpm get fetch-retries\`.
To set a new value, run \`pnpm set fetch-retries <number>\`.
- Set a bigger value for the \`fetch-retries\` config.
To check the current value of \`fetch-retries\`, run \`pnpm get fetch-retries\`.
To set a new value, run \`pnpm set fetch-retries <number>\`.
- Set \`network-concurrency\` to 1.
This change will slow down installation times, so it is recommended to
delete the config once the internet connection is good again: \`pnpm config delete network-concurrency\`
- Set \`network-concurrency\` to 1.
This change will slow down installation times, so it is recommended to
delete the config once the internet connection is good again: \`pnpm config delete network-concurrency\`
NOTE: You may also override configs via flags.
For instance, \`pnpm install --fetch-retries 5 --network-concurrency 1\`
`;
NOTE: You may also override configs via flags.
For instance, \`pnpm install --fetch-retries 5 --network-concurrency 1\``;
}

@@ -242,14 +230,13 @@ function reportLifecycleError(msg) {

if (msg.wanted.pnpm) {
output += stripIndent `
${formatErrorSummary(`Your pnpm version is incompatible with "${msg.packageId}".`)}
output += `\
${formatErrorSummary(`Your pnpm version is incompatible with "${msg.packageId}".`)}
Expected version: ${msg.wanted.pnpm}
Got: ${msg.current.pnpm}
Expected version: ${msg.wanted.pnpm}
Got: ${msg.current.pnpm}
This is happening because the package's manifest has an engines.pnpm field specified.
To fix this issue, install the required pnpm version globally.
This is happening because the package's manifest has an engines.pnpm field specified.
To fix this issue, install the required pnpm version globally.
To install the latest version of pnpm, run "pnpm i -g pnpm".
To check your pnpm version, run "pnpm -v".
`;
To install the latest version of pnpm, run "pnpm i -g pnpm".
To check your pnpm version, run "pnpm -v".`;
}

@@ -259,14 +246,51 @@ if (msg.wanted.node) {

output += constants_1.EOL + constants_1.EOL;
output += stripIndent `
${formatErrorSummary(`Your Node version is incompatible with "${msg.packageId}".`)}
output += `\
${formatErrorSummary(`Your Node version is incompatible with "${msg.packageId}".`)}
Expected version: ${msg.wanted.node}
Got: ${msg.current.node}
Expected version: ${msg.wanted.node}
Got: ${msg.current.node}
This is happening because the package's manifest has an engines.node field specified.
To fix this issue, install the required Node version.
`;
This is happening because the package's manifest has an engines.node field specified.
To fix this issue, install the required Node version.`;
}
return output || formatErrorSummary(err.message);
}
function reportAuthError(err, msg, config) {
var _a;
const foundSettings = [];
for (const [key, value] of Object.entries((_a = config === null || config === void 0 ? void 0 : config.rawConfig) !== null && _a !== void 0 ? _a : {})) {
if (key.startsWith('@')) {
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
foundSettings.push(`${key}=${value}`);
continue;
}
if (key.endsWith('_auth') ||
key.endsWith('_authToken') ||
key.endsWith('username') ||
key.endsWith('_password') ||
key.endsWith('always-auth')) {
foundSettings.push(`${key}=${hideSecureInfo(key, value)}`);
}
}
let output = `${formatErrorSummary(err.message)}${msg.hint ? `${constants_1.EOL}${msg.hint}` : ''}
`;
if (foundSettings.length === 0) {
output += `No authorization settings were found in the configs.
Try to log in to the registry by running "pnpm login"
or add the auth tokens manually to the ~/.npmrc file.`;
}
else {
output += `These authorization settings were found:
${foundSettings.join('\n')}`;
}
return output;
}
function hideSecureInfo(key, value) {
if (key.endsWith('_password'))
return '[hidden]';
if (key.endsWith('_auth') || key.endsWith('_authToken'))
return `${value.substring(0, 4)}[hidden]`;
return value;
}
//# sourceMappingURL=reportError.js.map
{
"name": "@pnpm/default-reporter",
"version": "0.0.0-2020520224551",
"version": "0.0.0-2020821233223",
"description": "The default reporter of pnpm",

@@ -12,3 +12,3 @@ "main": "lib/index.js",

"scripts": {
"lint": "tslint -c ../../tslint.json src/**/*.ts test/**/*.ts",
"lint": "eslint -c ../../eslint.json src/**/*.ts test/**/*.ts",
"pretty-test": "ts-node test | tap-diff",

@@ -34,17 +34,15 @@ "just-test-preview": "ts-node test --type-check",

"dependencies": {
"@pnpm/config": "0.0.0-2020520224551",
"@pnpm/core-loggers": "4.1.1",
"@pnpm/error": "1.2.0",
"@pnpm/types": "6.1.0",
"@zkochan/zen-push": "1.0.0",
"@pnpm/config": "0.0.0-2020821233223",
"@pnpm/core-loggers": "5.0.0",
"@pnpm/error": "1.3.1",
"@pnpm/types": "6.2.0",
"ansi-diff": "^1.1.1",
"chalk": "^4.1.0",
"common-tags": "^1.8.0",
"most": "^1.8.1",
"normalize-path": "^3.0.0",
"pretty-bytes": "^5.3.0",
"pretty-bytes": "^5.4.1",
"pretty-ms": "^7.0.0",
"pretty-time": "^1.1.0",
"ramda": "^0.27.0",
"ramda": "^0.27.1",
"right-pad": "^1.0.1",
"rxjs": "^6.6.3",
"semver": "^7.3.2",

@@ -57,11 +55,10 @@ "stacktracey": "^1.2.127",

"@pnpm/default-reporter": "link:",
"@pnpm/logger": "3.2.2",
"@types/common-tags": "^1.8.0",
"@pnpm/logger": "^3.2.2",
"@types/normalize-path": "^3.0.0",
"@types/pretty-time": "^1.1.0",
"@types/ramda": "^0.27.6",
"@types/semver": "^7.2.0",
"delay": "4.3.0",
"@types/ramda": "^0.27.15",
"@types/semver": "^7.3.3",
"delay": "^4.4.0",
"ghooks": "2.0.4",
"load-json-file": "6.2.0",
"load-json-file": "^6.2.0",
"normalize-newline": "3.0.0"

@@ -68,0 +65,0 @@ },

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc