1const t = require('tap')
2const spawn = require('@npmcli/promise-spawn')
3const index = require.resolve('../index.js')
4const packageIndex = require.resolve('../')
5const { load: loadMockNpm } = require('./fixtures/mock-npm')
6
7t.equal(index, packageIndex, 'index is main package require() export')
8t.throws(() => require(index), {
9  message: 'The programmatic API was removed in npm v8.0.0',
10})
11
12t.test('loading as main module will load the cli', async t => {
13  const { npm, cache } = await loadMockNpm(t)
14  const LS = require('../lib/commands/ls.js')
15  const ls = new LS(npm)
16  const p = await spawn(process.execPath, [index, 'ls', '-h', '--cache', cache])
17  t.equal(p.code, 0)
18  t.equal(p.signal, null)
19  t.match(p.stdout, ls.usage)
20})
21