JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • 0
  • Score
    100M100P100Q33891F
  • License MIT

A webpack plugin that provides live reload capabilities during development of NW.js applications. Something like webpack-dev-server for NW.js.

Package Exports

  • nwjs-webpack-plugin

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (nwjs-webpack-plugin) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

nwjs-webpack-plugin

A webpack plugin that provides live reload capabilities during development of NW.js applications. Something like webpack-dev-server for NW.js.

Features

  • Live reload after code change
  • A black overlay will appear in case of code error
  • Starts automatically the application after webpack's compile

How it works

A tcp server is being created during webpack's build, publishing important lifecycle events to clients. Example of events are (build succeed, build failed due to error, etc...)

A script is being injected into the application that establishes the tcp connection with the server above. The script manipulates the app in response to the events that receives. For example reload is triggered when build is done, or an error overlay is placed in case of an invalid build.

Instalation

npm i -D nwjs-webpack-plugin

Basic Usage

// webpack.config.js
const NwjsWebpackPlugin = require('nwjs-webpack-plugin')

module.exports = {
    mode: 'development',
    entry: './src/index.js',
    target: 'node-webkit',
    output: {
        filename: '[name].js',
        path: path.resolve(__dirname, 'dist')
    },
    plugins: [
        new NwjsWebpackPlugin()
    ],
    watch: true
}

Options

Name Type Default Description
command {String} nw Path to nw executable that will be used to start the application
commandDir {String} wepack's outputPath Path pointing to the application's dist folder
args {String[]} [] Pass extra arguments to the NW process

Todo

  • Auto start NW after build
  • Provide error overlay
  • Remove unnecessary logs
  • Accept options from configuration
  • Further testing
  • HMR
  • Provide more webpack's events/stats for client to consume