mirror of
https://github.com/verdaccio/verdaccio.git
synced 2024-12-23 22:27:34 -05:00
42 lines
1.1 KiB
TypeScript
42 lines
1.1 KiB
TypeScript
|
import { SpawnOptions } from 'child_process';
|
||
|
import { join } from 'path';
|
||
|
|
||
|
import { exec } from '@verdaccio/test-cli-commons';
|
||
|
import { addRegistry } from '@verdaccio/test-cli-commons';
|
||
|
|
||
|
export function getCommand() {
|
||
|
return join(__dirname, './node_modules/.bin/npm');
|
||
|
}
|
||
|
|
||
|
export function npm(options: SpawnOptions, ...args: string[]) {
|
||
|
return exec(options, getCommand(), args);
|
||
|
}
|
||
|
|
||
|
export async function bumbUp(tempFolder, registry) {
|
||
|
await npm({ cwd: tempFolder }, 'version', 'minor', ...addRegistry(registry.getRegistryUrl()));
|
||
|
}
|
||
|
|
||
|
export async function publish(tempFolder, pkgName, registry, arg: string[] = []) {
|
||
|
const resp = await npm(
|
||
|
{ cwd: tempFolder },
|
||
|
'publish',
|
||
|
...arg,
|
||
|
'--json',
|
||
|
...addRegistry(registry.getRegistryUrl())
|
||
|
);
|
||
|
const parsedBody = JSON.parse(resp.stdout as string);
|
||
|
expect(parsedBody.name).toEqual(pkgName);
|
||
|
}
|
||
|
|
||
|
export async function getInfoVersions(pkgName, registry) {
|
||
|
const infoResp = await npm(
|
||
|
{},
|
||
|
'info',
|
||
|
pkgName,
|
||
|
'--json',
|
||
|
...addRegistry(registry.getRegistryUrl())
|
||
|
);
|
||
|
const infoBody = JSON.parse(infoResp.stdout as string);
|
||
|
return infoBody;
|
||
|
}
|