Provide a package name, get a list of every version, and who published it.
> publishers publishers
┌─────────┬──────────┬────────────────────┬────────────────────────────┐
│ (index) │ name │ email │ created │
├─────────┼──────────┼────────────────────┼────────────────────────────┤
│ v1.0.1 │ 'ljharb' │ 'ljharb@gmail.com' │ '2020-02-04T02:26:10.321Z' │
│ v1.0.0 │ 'ljharb' │ 'ljharb@gmail.com' │ '2020-02-03T21:34:48.957Z' │
└─────────┴──────────┴────────────────────┴────────────────────────────┘
> publishers publishers --json
{
"v1.0.1": {
"name": "ljharb",
"email": "ljharb@gmail.com",
"created": "2020-02-04T02:26:10.321Z"
},
"v1.0.0": {
"name": "ljharb",
"email": "ljharb@gmail.com",
"created": "2020-02-03T21:34:48.957Z"
}
}
> publishers publishers --json --sort=asc
{
"v1.0.0": {
"name": "ljharb",
"email": "ljharb@gmail.com",
"created": "2020-02-03T21:34:48.957Z"
},
"v1.0.1": {
"name": "ljharb",
"email": "ljharb@gmail.com",
"created": "2020-02-04T02:26:10.321Z"
}
}
const assert = require('assert');
const { execSync } = require('child_process');
const getPublishers = require('publishers');
const results = getPublishers('publishers').then((results) => {
assert.deepEqual(
results,
JSON.parse(String(execSync('npx publishers --json publishers')))
);
}).catch((e) => {
console.error(e);
process.exit(1);
});