@pnpm/default-reporter
Advanced tools
Comparing version 0.0.0-2020520224551 to 0.0.0-2020821233223
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 @@ |
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>; |
132
lib/index.js
"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 @@ }, |
95962
17
10
105442
52
2085
+ Addedrxjs@^6.6.3
+ Added@pnpm/config@0.0.0-2020821233223(transitive)
+ Added@pnpm/core-loggers@5.0.0(transitive)
+ Added@pnpm/error@1.3.11.4.0(transitive)
+ Added@pnpm/global-bin-dir@1.2.6(transitive)
+ Added@pnpm/types@6.2.0(transitive)
+ Added@zkochan/npm-conf@2.0.2(transitive)
+ Addedcamelcase@6.3.0(transitive)
+ Addedis-subdir@1.2.0(transitive)
+ Addedrxjs@6.6.7(transitive)
+ Addedtslib@1.14.1(transitive)
- Removed@zkochan/zen-push@1.0.0
- Removedcommon-tags@^1.8.0
- Removedmost@^1.8.1
- Removed@most/multicast@1.3.0(transitive)
- Removed@most/prelude@1.8.0(transitive)
- Removed@pnpm/config@0.0.0-2020520224551(transitive)
- Removed@pnpm/core-loggers@4.1.1(transitive)
- Removed@pnpm/error@1.2.0(transitive)
- Removed@pnpm/global-bin-dir@0.0.0-2020520224551(transitive)
- Removed@pnpm/types@6.1.0(transitive)
- Removed@types/zen-observable@0.8.7(transitive)
- Removed@zkochan/npm-conf@2.0.0(transitive)
- Removed@zkochan/zen-push@1.0.0(transitive)
- Removedcamelcase@6.0.0(transitive)
- Removedcommon-tags@1.8.2(transitive)
- Removeddefine-data-property@1.1.4(transitive)
- Removeddefine-properties@1.2.1(transitive)
- Removedes-define-property@1.0.1(transitive)
- Removedes-errors@1.3.0(transitive)
- Removedglobalthis@1.0.4(transitive)
- Removedgopd@1.2.0(transitive)
- Removedhas-property-descriptors@1.0.2(transitive)
- Removedis-subdir@1.1.1(transitive)
- Removedmost@1.9.0(transitive)
- Removedobject-keys@1.1.1(transitive)
- Removedramda@0.27.0(transitive)
- Removedsymbol-observable@2.0.3(transitive)
- Removedzen-observable@0.8.15(transitive)
Updated@pnpm/core-loggers@5.0.0
Updated@pnpm/error@1.3.1
Updated@pnpm/types@6.2.0
Updatedpretty-bytes@^5.4.1
Updatedramda@^0.27.1