23 lines
543 B
JavaScript
23 lines
543 B
JavaScript
const fetch = require('isomorphic-fetch');
|
|
|
|
function getMetadata(packageName, version) {
|
|
return fetch(`https://unpkg.com/${packageName}@${version}/?meta`, {
|
|
method: 'GET'
|
|
}).then(res => res.json());
|
|
}
|
|
|
|
function collectFiles(directory) {
|
|
return directory.files.reduce((memo, file) => {
|
|
return memo.concat(file.type === 'directory' ? collectFiles(file) : file);
|
|
}, []);
|
|
}
|
|
|
|
function getFiles(packageName, version) {
|
|
return getMetadata(packageName, version).then(collectFiles);
|
|
}
|
|
|
|
module.exports = {
|
|
getMetadata,
|
|
getFiles
|
|
};
|