fswatcher

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

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...

npm install fswatcher -g

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": [ ]
    }
]

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.