run

Nesta seção, você encontra a referência de um hook declarativo do tipo run.

O hook declarativo run executa comandos diversos. Os comandos podem ser de ferramentas que compõem uma Stack, para atualizar dependências de um projeto, configurações através de arquivos batch ou shell.

Ações Disponíveis

  • trigger: Campo para definir gatilhos que informam o momento em que a execução de comandos deve ocorrer.
    • before-input: Executa os comandos do hook antes de receber os parâmetros de entrada da pessoa usuária.
      trigger: before-input
      
    • before-render: Executa os comandos do hook antes do Template gerar arquivos no projeto.
      trigger: before-render
      
    • after-render: Executa os comandos do hook após o Template gerar arquivos no projeto.
      trigger: after-render
      

  • working-dir:(Opcional) Permite que você defina um diretório relativo à raiz do projeto onde os comandos serão executados. Quando não informado, os comandos serão executados na raiz do projeto. No campo working-dir é possível utilizar expressões Jinja, por exemplo:

    working-dir: "{{project_name}}/some/dir"
    

  • commands: Permite que você defina um ou mais comandos para serem executados.

    commands: 
      - echo hello from before-input!
      - echo you can define multiple commands in a run hook!
    

    Para utilizar os comandos no Windows, a ferramenta CMD deve ser executada pelo argumento cmd /c. Confira um exemplo abaixo:

    commands: 
      - cmd /c echo hello from before-input!
      - cmd /c echo you can define multiple commands in a run hook!
    

  • linux:(Opcional) Permite definir um ou mais comandos, especificando a execução em sistemas Linux.

    linux:
      - npm install
    

  • windows:(Opcional) Permite definir um ou mais comandos, especificando a execução em sistemas Windows.

    windows: 
      - cmd /c npm install
    

  • mac:(Opcional) Permite definir um ou mais comandos, especificando a execução em sistemas MacOS.

    mac:
      - npm install
    

Exemplo de um Hook Declarativo run

hooks:
  - type: run
    trigger: before-input
    working-dir: "{{project_name}}/some/dir"
    linux:
      - echo hello from before-input on linux!
    windows:
      - cmd /c echo hello from before-input on windows!
    mac:
      - echo hello from before-input on mac!

Leia também