npm/test/index.js

25 lines
769 B
JavaScript

const t = require('tap')
const index = require.resolve('../index.js')
const packageIndex = require.resolve('../')
t.equal(index, packageIndex, 'index is main package require() export')
t.throws(() => require(index), {
message: 'The programmatic API was removed in npm v8.0.0',
})
t.test('loading as main module will load the cli', t => {
const cwd = t.testdir()
const { spawn } = require('child_process')
const LS = require('../lib/commands/ls.js')
const ls = new LS({})
const p = spawn(process.execPath, [index, 'ls', '-h', '--cache', cwd])
const out = []
p.stdout.on('data', c => out.push(c))
p.on('close', (code, signal) => {
t.equal(code, 0)
t.equal(signal, null)
t.match(Buffer.concat(out).toString(), ls.usage)
t.end()
})
})