Skip to content

housinghq/warm-require

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

warm-require

Hot reload for server

You can read about the implementation here

Features

  • Reload files which changed
  • update file when any sub-dependency is modified

##installation

npm i --save-dev warm-require

##Usage

//index.js
var warmRequire = require('./warm-require-config');
var hotModule = warmRequire(__dirname + '/module');

function whichGetsCalledOnEveryRequest() {
	// Reload it.
	hotModule = warmRequire(__dirname + '/module');

	// Use it.
	render(hotModule);
}
// warm-require-config.js
if (process.env.NODE_ENV === 'production') {
	module.exports = require;
} else {
	var warmRequire = require('warm-require').watch({
		paths: __dirname + '/**/*.jsx' // used anymatch. https://github.com/es128/anymatch.
	});
	module.exports = warmRequire;
}

Known issues

  • You cannot use with ES6's import statement. It is immutable to make it statically analyzable, so that it would work in browsers as well. (Arrgh) So you will have to use var or let.

Todo

License @ MIT