A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/npm/cli/commit/ef4c975f2784f70ab86a3e7e6e40c99279e5a3e3 below:

dont immediately exit on first workspace 404 (#7508) · npm/cli@ef4c975 · GitHub

@@ -270,14 +270,45 @@ const packument = (nv, opts) => {

270 270

},

271 271

},

272 272

},

273 +

// this is a packaged named error which will conflict with

274 +

// the error key in json output

275 +

error: {

276 +

_id: 'error',

277 +

name: 'error',

278 +

'dist-tags': {

279 +

latest: '1.0.0',

280 +

},

281 +

versions: {

282 +

'1.0.0': {

283 +

name: 'error',

284 +

version: '1.0.0',

285 +

dist: {

286 +

shasum: '123',

287 +

tarball: 'http://hm.error.com/1.0.0.tgz',

288 +

fileCount: 1,

289 +

},

290 +

},

291 +

},

292 +

},

273 293

}

294 + 274 295

if (nv.type === 'git') {

275 296

return mocks[nv.hosted.project]

276 297

}

298 + 277 299

if (nv.raw === './blue') {

278 300

return mocks.blue

279 301

}

280 -

return mocks[nv.name]

302 + 303 +

if (mocks[nv.name]) {

304 +

return mocks[nv.name]

305 +

}

306 + 307 +

if (nv.name === 'unknown-error') {

308 +

throw new Error('Unknown error')

309 +

}

310 + 311 +

throw Object.assign(new Error('404'), { code: 'E404' })

281 312

}

282 313 283 314

const loadMockNpm = async function (t, opts = {}) {

@@ -543,6 +574,33 @@ t.test('workspaces', async t => {

543 574

},

544 575

}

545 576 577 +

const prefixDir404 = {

578 +

'test-workspace-b': {

579 +

'package.json': JSON.stringify({

580 +

name: 'missing-package',

581 +

version: '1.2.3',

582 +

}),

583 +

},

584 +

}

585 + 586 +

const prefixDirError = {

587 +

'test-workspace-b': {

588 +

'package.json': JSON.stringify({

589 +

name: 'unknown-error',

590 +

version: '1.2.3',

591 +

}),

592 +

},

593 +

}

594 + 595 +

const prefixPackageNamedError = {

596 +

'test-workspace-a': {

597 +

'package.json': JSON.stringify({

598 +

name: 'error',

599 +

version: '1.2.3',

600 +

}),

601 +

},

602 +

}

603 + 546 604

t.test('all workspaces', async t => {

547 605

const { view, joinedOutput } = await loadMockNpm(t, {

548 606

prefixDir,

@@ -624,6 +682,56 @@ t.test('workspaces', async t => {

624 682

t.matchSnapshot(joinedOutput())

625 683

t.matchSnapshot(logs.warn, 'should have warning of ignoring workspaces')

626 684

})

685 + 686 +

t.test('404 workspaces', async t => {

687 +

t.test('basic', async t => {

688 +

const { view, joinedFullOutput } = await loadMockNpm(t, {

689 +

prefixDir: { ...prefixDir, ...prefixDir404 },

690 +

config: { workspaces: true, loglevel: 'error' },

691 +

})

692 +

await view.exec([])

693 +

t.matchSnapshot(joinedFullOutput())

694 +

t.equal(process.exitCode, 1)

695 +

})

696 + 697 +

t.test('json', async t => {

698 +

const { view, joinedFullOutput } = await loadMockNpm(t, {

699 +

prefixDir: { ...prefixDir, ...prefixDir404 },

700 +

config: { workspaces: true, json: true, loglevel: 'error' },

701 +

})

702 +

await view.exec([])

703 +

t.matchSnapshot(joinedFullOutput())

704 +

t.equal(process.exitCode, 1)

705 +

})

706 + 707 +

t.test('json with package named error', async t => {

708 +

const { view, joinedFullOutput } = await loadMockNpm(t, {

709 +

prefixDir: { ...prefixDir, ...prefixDir404, ...prefixPackageNamedError },

710 +

config: { workspaces: true, json: true, loglevel: 'warn' },

711 +

})

712 +

await view.exec([])

713 +

t.matchSnapshot(joinedFullOutput())

714 +

t.equal(process.exitCode, 1)

715 +

})

716 + 717 +

t.test('non-404 error rejects', async t => {

718 +

const { view, joinedFullOutput } = await loadMockNpm(t, {

719 +

prefixDir: { ...prefixDir, ...prefixDirError },

720 +

config: { workspaces: true, loglevel: 'error' },

721 +

})

722 +

await t.rejects(view.exec([]))

723 +

t.matchSnapshot(joinedFullOutput())

724 +

})

725 + 726 +

t.test('non-404 error rejects with single arg', async t => {

727 +

const { view, joinedFullOutput } = await loadMockNpm(t, {

728 +

prefixDir: { ...prefixDir, ...prefixDirError },

729 +

config: { workspaces: true, loglevel: 'error' },

730 +

})

731 +

await t.rejects(view.exec(['.', 'version']))

732 +

t.matchSnapshot(joinedFullOutput())

733 +

})

734 +

})

627 735

})

628 736 629 737

t.test('completion', async t => {


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4