fetch-npm-package

NPM version

Use js to download and unzip the npm package. only supports use in the browser.

Online

Usage

Options are optional.

import { fetchFiles, fetchPackage, findTarget } from 'fetch-npm-package';

// All file are flattened
const files = await fetchFiles('react', {
  version: 'latest', // default is `latest`
  registry: 'https://registry.npmjs.org' // default is `https://registry.npmjs.org`
});
console.log(files);

// Aggregate as a folder
const folder = await fetchPackage('react');
console.log(folder);

By tarball request.

const files = await fetchFiles.tarball('https://registry.npmjs.org/react/-/react-18.1.0.tgz');
console.log(files);

const folder = await fetchPackage.tarball('https://registry.npmjs.org/react/-/react-18.1.0.tgz');
console.log(folder);

Find package file.

const folder = await fetchPackage('react');
console.log(folder);

const target = findTargetFile(folder, 'cjs/react-jsx-dev-runtime.development.js');
console.log(target.code);

CDN

<!DOCTYPE html>
<html lang='en'>
<body>
  <script src='https://unpkg.com/fetch-npm-package/dist/fetch.umd.js'></script>
  <script>
    const { fetchFiles, fetchPackage, findTarget } = FetchNpmPackage;
    // ...
  </script>
</body>
</html>

Extended use

If you want to find a file more precisely based on package.json, you can use node-package-exports.

GitHub

View Github