|
2 | 2 | // THIS MUST BE CJS TO WORK WITH --require
|
3 | 3 | 'use strict'
|
4 | 4 |
|
| 5 | +const events = require('events') |
5 | 6 | const fs = require('fs')
|
6 |
| -const path = require('path') |
7 | 7 | const https = require('https')
|
8 |
| -const events = require('events') |
| 8 | +const path = require('path') |
9 | 9 | const rl = require('readline')
|
10 | 10 | const { PassThrough } = require('stream')
|
| 11 | + |
11 | 12 | const oraPromise = import('ora')
|
12 | 13 | const isInteractivePromise = import('is-interactive')
|
13 | 14 | const chalkPromise = import('chalk')
|
@@ -38,10 +39,20 @@ const pubTokenPromise = sdkPromise.then(({ getDefaultKey, FREE_API_KEY }) => get
|
38 | 39 | const apiKeySettingsPromise = sdkPromise.then(async ({ setupSdk }) => {
|
39 | 40 | const sdk = await setupSdk()
|
40 | 41 | const orgResult = await sdk.getOrganizations()
|
41 |
| - if (!orgResult.success) throw new Error('failed to fetch organizations info') |
| 42 | + if (!orgResult.success) { |
| 43 | + throw new Error('Failed to fetch organizations info: ' + orgResult.error.message) |
| 44 | + } |
42 | 45 | const orgs = Object.values(orgResult.data.organizations)
|
43 |
| - const result = await sdk.postSettings(orgs.map(id => ({ organization: id }))) |
44 |
| - if (!result.success) throw new Error('failed to fetch API key settings') |
| 46 | + const settingsSelectors = [] |
| 47 | + for (const org of orgs) { |
| 48 | + if (org) { |
| 49 | + settingsSelectors.push({ organization: org.id }) |
| 50 | + } |
| 51 | + } |
| 52 | + const result = await sdk.postSettings(settingsSelectors) |
| 53 | + if (!result.success) { |
| 54 | + throw new Error('Failed to fetch API key settings: ' + result.error.message) |
| 55 | + } |
45 | 56 | return {
|
46 | 57 | orgs,
|
47 | 58 | settings: result.data
|
@@ -277,7 +288,12 @@ class SafeArborist extends Arborist {
|
277 | 288 | return this[kRiskyReify](...args)
|
278 | 289 | }
|
279 | 290 | args[0] ??= {}
|
280 |
| - const old = { ...args[0] } |
| 291 | + const old = { |
| 292 | + ...args[0], |
| 293 | + dryRun: false, |
| 294 | + save: Boolean(args[0].save ?? true), |
| 295 | + saveBundle: Boolean(args[0].saveBundle ?? false) |
| 296 | + } |
281 | 297 | // @ts-expect-error types are wrong
|
282 | 298 | args[0].dryRun = true
|
283 | 299 | args[0].save = false
|
@@ -348,6 +364,7 @@ class SafeArborist extends Arborist {
|
348 | 364 | }
|
349 | 365 | return true
|
350 | 366 | }
|
| 367 | + // eslint-disable-next-line |
351 | 368 | return false
|
352 | 369 | })
|
353 | 370 | if (proceed) {
|
@@ -493,9 +510,9 @@ async function packagesHaveRiskyIssues (registry, pkgs, ora = null, input, outpu
|
493 | 510 | }
|
494 | 511 | for (const issue of (pkgData.value?.issues ?? [])) {
|
495 | 512 | if (rules[issue.type]) {
|
496 |
| - if ((typeof rules[issue.type] == 'boolean' && rules[issue.type]) || rules[issue.type].action === 'error') { |
| 513 | + if ((typeof rules[issue.type] === 'boolean' && rules[issue.type]) || rules[issue.type].action === 'error') { |
497 | 514 | failures.push(issue)
|
498 |
| - } else if (rules[issue.type].action == 'warn') { |
| 515 | + } else if (rules[issue.type].action === 'warn') { |
499 | 516 | warns.push(issue)
|
500 | 517 | }
|
501 | 518 | }
|
@@ -590,7 +607,7 @@ async function createTTYServer (colorLevel) {
|
590 | 607 | const bufs = []
|
591 | 608 | conn.on('data', function awaitCapture (chunk) {
|
592 | 609 | bufs.push(chunk)
|
593 |
| - const lineBuff = Buffer.concat(bufs) |
| 610 | + let lineBuff = Buffer.concat(bufs) |
594 | 611 | try {
|
595 | 612 | if (!captured) {
|
596 | 613 | const EOL = lineBuff.indexOf('\n'.charCodeAt(0))
|
|
0 commit comments