@moblybr/tools-doc-validator

1.1.0 • Public • Published

@mobly/tools/doc-validator

Este pacote valida uma configuração obrigatória nos serviços Mobly, referentes à documentação e descrição dos serviços.

Requerimentos:

  • Variáveis de ambiente no Bitbucket:
    • CLIENT_ID
    • CLIENT_SECRET

Estas variáveis servirão para efetuar commit e push no repositório que centraliza as documentações, explicado mais abaixo em "Configuração do Pipeline".

  • Arquivo de configuração (vide "Configuração do Pacote")

Uso:

npx @mobly/tools-doc-validator

Argumentos da CLI:

-c, --config [Required, default: null]

Path do arquivo de configuração

Configuração do Pacote:

Para efetuar a configuração do pacote, é obrigatório ter no repositório um arquivo .json ou .yml conforme os exemplos abaixo:

Note que alguns campos básicos são obrigatórios e o opcionais são os presentes em additionalInfo. Todos os campos nos exemplos são suportados e campos adicionais serão ignorados.

collectCoverage:

O uso do campo collectCoverage em projectDetails depende de duas configurações:

  • Adicionar o argumento --collectCoverage na comando de teste do jest;

  • Caso não tenha em sua configuração do jest no arquivo package.json, adicione:

      "coverageReporters": [
        "json-summary"
      ]

Com isso será gerada uma pasta coverage na raiz do projeto e dentro dela deverá estar o arquivo coverage-summary.json.

Configuração do Pipeline:

Este pacote é utilizado somente em um ambiente de CI/CD do bitbucket atualmente e é necessário efetuar algumas configurações no arquivo bitbucket-pipelines.yml para rodar o upload da documentação.

Adicione esse passo no pipeline desejado: (não altere nada!)

      - step:   
          name: Validate documentation
          caches:
            - node
          script:
            - npx @moblybr/tools-doc-validator -c="./documentation-config.json"
            - apt-get update && apt-get install -y curl jq
            - >
              export access_token=$(curl -s -X POST -u "${CLIENT_ID}:${CLIENT_SECRET}" \
                https://bitbucket.org/site/oauth2/access_token \
                -d grant_type=client_credentials -d scopes="repository"| jq --raw-output '.access_token')
            - mkdir doc-creator && cd doc-creator
            - git remote set-url origin "https://x-token-auth:${access_token}@bitbucket.org/mobly/mobly-tools-doc-creator"
            - git clone https://x-token-auth:${access_token}@bitbucket.org/mobly/mobly-tools-doc-creator
            - cd ./mobly-tools-doc-creator/content
            - mkdir -p product-service && cd product-service
            - cp ../../../../_index.md .
            - git add .
            - git config --global user.email "bot@mobly.com.br"
            - git config --global user.name "Mobly Bot"
            - git commit -m "Added documentation from Product Service"
            - git push
          condition:
            changesets:
                includePaths:
                  - "documentation-config.json" 

Readme

Keywords

none

Package Sidebar

Install

npm i @moblybr/tools-doc-validator

Weekly Downloads

0

Version

1.1.0

License

ISC

Unpacked Size

14.4 kB

Total Files

10

Last publish

Collaborators

  • daniel_gusmao
  • majoraze
  • mobly-bot
  • mobly-user