function detectConstructFrameworkPackage()

in src/backend/ingestion/framework-detection.lambda-shared.ts [57:91]


  function detectConstructFrameworkPackage(packageName: string, versionRange = assembly.dependencies?.[packageName]): void {
    if (packageName.startsWith('@aws-cdk/') || packageName === 'aws-cdk-lib' || packageName === 'monocdk') {
      if (name && name !== ConstructFrameworkName.AWS_CDK) {
        // Identified multiple candidates, so returning ambiguous...
        nameAmbiguous = true;
        return;
      }
      name = ConstructFrameworkName.AWS_CDK;
    } else if (packageName === 'cdktf') {
      if (name && name !== ConstructFrameworkName.CDKTF) {
        // Identified multiple candidates, so returning ambiguous...
        nameAmbiguous = true;
        return;
      }
      name = ConstructFrameworkName.CDKTF;
    } else if (packageName === 'cdk8s' || /^cdk8s-plus(?:-(?:17|20|21|22))?$/.test(packageName)) {
      if (name && name !== ConstructFrameworkName.CDK8S) {
        // Identified multiple candidates, so returning ambiguous...
        nameAmbiguous = true;
        return;
      }
      name = ConstructFrameworkName.CDK8S;
    } else {
      return;
    }
    if (versionRange) {
      const major = minVersion(versionRange)?.major;
      if (majorVersion != null && majorVersion !== major) {
        // Identified multiple candidates, so this is ambiguous...
        majorVersionAmbiguous = true;
      }
      majorVersion = major;
    }
    return;
  }