@internet/hmr

0.0.3 • Public • Published

hmr-loader

Webpack loader that add a hmr method to your module




Features

  • Wrap your module inside an HMR object
  • Watch/Unwatch changes with the watch and unwatch methods
  • Access to your module via the module property



Installation

$ npm install @internet/hmr -S # with npm
$ yarn add @internet/hmr --dev # with yarn



Usage

⚠️ Specify @internet/hmr to each import statement your want to add hot reloading.

⚠️ hmr-loader doesn't work when specified in a webpack config file.


import Module from '@internet/hmr!./module-object'
import string from '@internet/hmr!./module-string'

// Return true - you can use it to check if the module is wrapped inside the hmr module
Module.__hmr

// Return module ID
Module.id

// Real module default value
Module.module

// onReload will be called on each reload
Module.watch(onReload)

// Stop calling onReload on each reload
Module.unwatch(onReload)

// Only the new module value is sent to the callback, without a new hmr wrapper
function onReload (newValue) {}



Requirements

  • Node >= 8
  • Webpack >= 3



License

MIT.



hmr-loader is a package of the @internet npm scope.

@internet is a collection of opinionated and interoperables front-end npm ES6 modules, with minimal external dependencies.

Readme

Keywords

Package Sidebar

Install

npm i @internet/hmr

Weekly Downloads

1

Version

0.0.3

License

MIT

Unpacked Size

4.25 kB

Total Files

4

Last publish

Collaborators

  • pqml