fswatcher

Um monitor de diretórios que permite executar vários programas

npm install fswatcher
18 downloads in the last week
41 downloads in the last month

Atenção

A partir da versão 0.0.7 houve uma mudança no nome da propriedade de extensões, do arquivo de configuração. De extencoes para extensoes.

O que é?

fswatcher é um monitor simples para diretórios (dir watcher) que permite configuração customizada dos comandos a serem executados quando um arquivo for modificado, criado ou removido.

A ideia é não precisar mais abrir de um cmd e depender dos watchers de cada snipet, tando do node, quanto dos gems ou qualquer outro...

Instalação

npm install fswatcher -g

Configuração

Para que o fswatcher funcione corretamente, é necessário produzir um arquivo de configuração na pasta em que você deseja monitorar os conteúdos, com a estrutura:

// Lista de ações
[
  {
      // Identificador para as ações.
    "titulo": "", 

    // Lista de diretórios para observar, 
    // lembres-se de colocar o caminho relativo.
        "diretorios": [], 

    // Extenções permitidas. Importante para que sejam
    // descartadas ações em arquivos auto gerados ou modificados
    // fazendo com que haja uma execução sem fim das ações abaixo.
        "extensoes": [], 

    // Ações que você deseja executar. Importante é que essas
    // ações serão executadas em série, ou seja, a segunda só será
    // executada quando a primeira terminar, e assim por diante...
    // --
    // Flags nas string:
    // [filename] 
        "acoes": [ ]
    }
]

Exemplo:

Vamos imaginar que eu tenho em um projeto com arquivos Typescript e SCSS na seguinte estrutura:

Pasta Raiz
|_ ts
    |_ teste.ts
|_ scss
    |_ teste.scss

Para monitorar tanto o ts, quanto o scss crie um arquivo .config na Pasta Raiz com:

[
  {
        "titulo": "Typescript",
        "diretorios": ["./ts"],
        "extensoes": [".ts"],
        "acoes": [
            "tsc ./ts/teste.ts"
        ]
    }, 

    {
        "titulo": "SCSS",
        "diretorios": ["./scss"],
        "extensoes": [".scss"],
        "acoes": [
            "scss [filename] [filename].css"
        ]
    }
]

Salve, e agora é só executar o comando no cmd fswatcher <arquivo.config>.

Versões:

  • 0.0.7 - Alteração no nome da variável do arquivo de extensão: de extencoes para extensoes.
  • 0.0.6 - Fix no nome da propriedade que recebe o nome do arquivo de configuração.
npm loves you