Skip to content

grunt task to watch files without using fs.watch or fs.watchFile

License

Notifications You must be signed in to change notification settings

amythos/grunt-simple-watch

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

grunt-simple-watch

grunt task to watch files without using fs.watch or fs.watchFile

Getting Started

If you haven't used grunt before, be sure to check out the Getting Started guide.

From the same directory as your project's Gruntfile and package.json, install this plugin with the following command:

npm install grunt-simple-watch --save-dev

Once that's done, add this line to your project's Gruntfile:

grunt.loadNpmTasks('grunt-simple-watch');

If the plugin has been installed correctly, running grunt --help at the command line should list the newly-installed plugin's task or tasks. In addition, the plugin should be listed in package.json as a devDependency, which ensures that it will be installed whenever the npm install command is run.

WHY?

Having all sort of weird issues with grunt watch?

This is because it currently uses an unstable node.js functionality - fs.watch()

What happend on my case

Im using grunt on a virtualbox dev server with Ubuntu 11.10 and Node 0.6.19. My host system is Windows 7.

My project files are on a shared folder between the host and server When i update files on the shared folder it does not trigger the fs.watch

The solution

DO NOT USE fs.watch

but solve it simply by polling for changes in the most basic/simple way.

This might be more CPU intensive, and might not work in high loads with many watched files. But im not sure if the original watch task would do the job as well on this case. i just did not check.

Getting Started

Install this grunt plugin next to your project's [grunt.js gruntfile][getting_started] with: `npm install grunt-`

Then add this line to your project's grunt.js gruntfile:

grunt.loadNpmTasks('grunt-simple-watch');

(or simple place the task file simple_watch.js in your grunt/tasks directory..)

use the command: grunt simple-watch (instead of: grunt watch)

NO NEED TO CHANGE grunt.js configurations (your gruntfile)!

as it keeps on using the "watch" config.

--

Developed at SupersonicAds R&D labs.

License

Copyright (c) 2012 Amir Souchami Licensed under the MIT license.

About

grunt task to watch files without using fs.watch or fs.watchFile

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%