function isRelease()

in packages/core/alfa-core/src/utils/interceptors/responseInterceptor.ts [16:39]


function isRelease(url: string, data?: AlfaReleaseConfig) {
  const pathname = new URL(url).pathname;

  if (!data) return false;

  // central cws release.json
  if (pathname === '/release.json') {
    return Object.keys(data || {}).length > 0;
  }

  // distributed cws release.json
  if (/@ali\/widget-[\w-]+\/release\.json$/.exec(pathname)) {
    return Object.keys(data?.versions || {}).length > 0;
  }

  // alfa release.json
  if (/\/release\.json$/.exec(pathname) && data) {
    const latestVersion = data['dist-tags']?.latest;

    if (latestVersion && data.versions?.[latestVersion].entry) return true;
  }

  return false;
}