refresh.js

0.0.1 • Public • Published

Refresh.js

Refresh.js is library that "Hot Reloads" your Node.js code base (Browser solution is coming soon). Whenever you change a file (execept the bootstrap files - I'll explain later), without actually reloading the whole process, your changes will be processed and executed correctly.

No more canceling and restarting the node.js process. Hot Code Push/Reload is the most effecient way to work.

Note: This effectively creates a different programming environment. It adds some complexity because you're working in a dirty state, one that might have changes or pending changes. Though, this library is here to solve the complexity by providing a simple API and simple conventions.

How it works (right now)

I'll start by explaining that a "package", in this context, is simply a JavaScript file. That's it.

For every "package" you create, you must (If you want to work with the "Hot Code Push") define a few things. The first is to register the current file with the package manager "Package", original, I know.

// main.js
Storm.package.register(__filename);

It's as simple as that! Do note that "Storm" is an example global namespace for the project. You can change it at your will. Simply change lib/main.js's config object to your desire. The library (apart from the examples) doesn't use Storm but uses the configuration to attach objects to the global namespace.

To work with a dirty state, you must register the migration event. The whole package API is chainable.

Storm.package.register(__filename)
.on('migration', function(){
    // Do something. 
});

Note: Client-side migration is not implemented yet. When it is, they'll be a simple API to save the state before a page reload. For example:

...
.migrate(function(){
    if (this.client) {
        // Client-side stuff...
    }     
});

Readme

Keywords

none

Package Sidebar

Install

npm i refresh.js

Weekly Downloads

1

Version

0.0.1

License

none

Last publish

Collaborators

  • thehydroimpulse