Анализ проекта Javascript / Typescript с помощью SonarCloud и Azure DevOps - PullRequest
2 голосов
/ 14 января 2020

У меня есть проект, содержащий файлы Javascript и Typescript. Я использую SonarCloud для анализа этого проекта из Azure конвейера DevOps.

Я поставил задачу Подготовить конфигурацию анализа в моем конвейере сборки следующим образом:

- task: SonarCloudPrepare@1
  inputs:
    SonarCloud: 'Sonarcloud'
    organization: 'MyOrg'
    scannerMode: 'CLI'
    configMode: 'manual'
    cliProjectKey: 'My key'
    cliProjectName: 'My name'
    cliSources: '.'

При запуске конвейера у меня есть следующая ошибка в моем конвейере на Sonar Cloud Analyze step

INFO: Found 1 tsconfig.json file(s): [/home/vsts/work/1/s/tsconfig.json]
##[error]ERROR: Cannot find module 'typescript'
##[error]ERROR: TypeScript dependency was not found and it is required for analysis.
ERROR: Install TypeScript in the project directory or use NODE_PATH env. variable to set TypeScript location, if it's located outside of project directory.

ERROR: TypeScript dependency was not found and it is required for analysis.
ERROR: Install TypeScript in the project directory or use NODE_PATH env. variable to set TypeScript location, if it's located outside of project directory.
##[error]ERROR: Missing TypeScript dependency

Анализ хорошо работает для файлов javascript, но не для файлов машинописи. У меня есть пакет typcript , установленный как зависимость dev в моем пакете. json, но кажется, что он игнорируется SonarCloud.

Документация и темы, которые я нашел, относятся к версии SonarQube, но я не могу понять, как настроить это с SonarCloud .

1 Ответ

2 голосов
/ 15 января 2020

По умолчанию папка node_modules в локальной папке проекта не будет добавлена ​​в систему управления версиями, если вы используете Visual Studio.

И эта ошибка возникнет, поскольку задача Run Code Analysis не может найти пакеты зависимостей, определенные в вашем файле package.json. Мой воспроизводимый шаг:

enter image description here

Затем я добавляю одну задачу npm install перед Prepare Analysis task для установки отсутствующих пакетов:

enter image description here

NodeJS - это название моего проекта. Также в репозиториях Devops это имя папки, в которой существует пакет. json.

Тогда эта проблема исчезла в моем конвейере:

enter image description here

Надеюсь, это также поможет в вашей проблеме:)

Кроме того: Вы также можете добавить локальную папку node_modules в систему контроля версий, если хотите. Но это не рекомендуется в Azure Devops Service.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...