Skip to content

Instantly share code, notes, and snippets.

@michaelsbradleyjr
Last active February 18, 2020 17:43
Show Gist options
  • Save michaelsbradleyjr/4cf163b4cb2442c61e35dfa3bd20f485 to your computer and use it in GitHub Desktop.
Save michaelsbradleyjr/4cf163b4cb2442c61e35dfa3bd20f485 to your computer and use it in GitHub Desktop.
const {execSync} = require('child_process');
const embarkFramework = JSON.parse(execSync('npm team ls @embark-framework:developers --json'));
const embarkLabs = JSON.parse(execSync('npm team ls @embarklabs:developers --json'));
const teamMembers = [...(new Set([].concat(embarkFramework, embarkLabs)))];
const pkgsDict = {};
let teamMembersPkgs = new Set();
teamMembers.forEach(userName => {
Object.keys(JSON.parse(execSync(`npm access ls-packages ${userName}`)))
.forEach(pkgName => {
if (pkgName === 'embark' || pkgName.startsWith('embark')) {
pkgsDict[pkgName] = userName;
teamMembersPkgs.add(pkgName);
}
});
});
const embarkPkgs = JSON.parse(execSync('npm access ls-packages @embark-framework'));
console.log(
[...teamMembersPkgs]
.filter(pkgName => !embarkPkgs[pkgName])
.reduce((dict, pkgName) => ({...dict, [pkgName]: pkgsDict[pkgName]}), {})
);
// Show only mine
// --------------------------------------------------------------------------------
// console.log(
// Object.entries(
// [...teamMembersPkgs]
// .filter(pkgName => !embarkPkgs[pkgName])
// .reduce((dict, pkgName) => ({...dict, [pkgName]: pkgsDict[pkgName]}), {})
// )
// .filter(([pkgName, userName]) => userName === 'michaelsbradleyjr')
// .reduce((dict, [pkgName, userName]) => ({...dict, [pkgName]: userName}), {})
// );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment