@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.

/@internet/hmr/

    Package Sidebar

    Install

    npm i @internet/hmr

    Weekly Downloads

    4

    Version

    0.0.3

    License

    MIT

    Unpacked Size

    4.25 kB

    Total Files

    4

    Last publish

    Collaborators

    • pqml