range: convertRange()

in packages/azure-openapi-validator/autorest/src/spectral-plugin-utils.ts [132:164]


      range: convertRange(result.range),
      rpcGuidelineCode: rulesetPayload.rules[result.code]?.rpcGuidelineCode ?? "",
    } as LintResultMessage
  }

  // Newest source of spectral.run as of 2/23/2024
  // https://github.com/stoplightio/spectral/blob/ffa6ebeabbaa0441c8c967ef4e11a7a0a8c66aac/packages/core/src/spectral.ts#L79
  // Note: version used in this code is likely older than newest.
  const results: ISpectralDiagnostic[] = await spectral.run(openApiSpecYml)

  mergedResults.push(
    ...results.map((result: ISpectralDiagnostic) => formatAsLintResultMessage(result, createFileOrFolderUri(openApiSpecFilePath)))
  )

  for (const message of mergedResults) {
    sendMessage(convertLintMsgToAutoRestMsg(message))
  }

  return mergedResults
}

export function catchSpectralRunErrors(file: string, error: any, initiator: IAutoRestPluginInitiator): void {
  // Here 'error' may be AggregateError:
  // Spectral (from "@stoplight/spectral-core") may throw https://www.npmjs.com/package/es-aggregate-error
  // If so, we print out all the constituent errors.
  // For additional context, see: https://github.com/Azure/azure-sdk-tools/issues/6856

  // Initialize an array to collect error messages
  const errorMessages: string[] = [error]

  // Check if "error" contains the "errors" property
  if (error && error.errors && Array.isArray(error.errors)) {
    error.errors.forEach((error: any, index: number) => {