publishers

Provide a package name, get a list of every version, and who published it

Usage no npm install needed!

<script type="module">
  import publishers from 'https://cdn.skypack.dev/publishers';
</script>

README

publishers Version Badge

dependency status dev dependency status License Downloads

npm badge

Provide a package name, get a list of every version, and who published it.

Example

CLI

> 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"
    }
}

API

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);
});