Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
azanul / server / node_modules / simple-update-notifier / src / getDistVersion.ts
Size: Mime:
import https from 'https';

const getDistVersion = async (packageName: string, distTag: string) => {
  const url = `https://registry.npmjs.org/-/package/${packageName}/dist-tags`;

  return new Promise<string>((resolve, reject) => {
    https
      .get(url, (res) => {
        let body = '';

        res.on('data', (chunk) => (body += chunk));
        res.on('end', () => {
          try {
            const json = JSON.parse(body);
            const version = json[distTag];
            if (!version) {
              reject(new Error('Error getting version'));
            }
            resolve(version);
          } catch {
            reject(new Error('Could not parse version response'));
          }
        });
      })
      .on('error', (err) => reject(err));
  });
};

export default getDistVersion;