Um monitor de diretórios para execução de comandos em conjunto.
JavaScript CSS TypeScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
node_modules/watch
test
.gitattributes
.gitignore
FSWatcher.sublime-project
FSWatcher.sublime-workspace
README.md
fswatcher.js
npm-debug.log
package.json

README.md

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.