6989a98d75
- Arkitektur: docs/auth/passwordless-architecture.md - Backend: iom/quixzoom-auth-service/ (FastAPI + Redis) - Webb: quixzoom-market-pages/se/login/ (QR-kod + polling) - App: iom/quixzoom-app/src/features/auth/ (push + deep links) Flöde: QR-kod → app-godkännande → webb-inloggad
30 lines
811 B
TypeScript
30 lines
811 B
TypeScript
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;
|