Get deps with
npx npm-remote-ls --flatten @chakra-ui/react -d false -o false
NB: Apostrophe must be double quotes
const deps = [
"@chakra-ui/[email protected]",
...
];
const filteredDeps = [...new Set(deps)]
const getO = (str)=>{
var regex = /@/gi, result, indices = [];
while ( (result = regex.exec(str)) ) {
indices.push(result.index);
}
return indices
}
const depObject = filteredDeps.reduce((acc,nxt)=>{
const atPoses = getO(nxt)
const atPos = atPoses[atPoses.length-1]
const vStart = atPos+1
const version = nxt.slice(vStart)
const fCharIsLetter = nxt[0]!=='"'
const package = nxt.slice(fCharIsLetter?0: 1,atPos)
acc[`"${package}"`]= version
return acc
},{})
console.log(depObject)