15815213711
2024-08-26 67b8b6731811983447e053d4396b3708c14dfe3c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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;