0.4.0 • Published 12 months ago

html-progress-indicator-plugin v0.4.0

Weekly downloads
-
License
MIT
Repository
github
Last release
12 months ago

html-progress-indicator-plugin

A webpack plugin that display the build progress inside the app without having to open the console. This plugin requires you to also use html-webpack-plugin.

A toast displaying the re-build progress

Installation

npm i --save-dev html-progress-indicator-plugin
# or
yarn add --dev html-progress-indicator-plugin

Configuration

First add the plugin to your webpack config.

const HtmlWebpackPlugin = require('html-webpack-plugin');
const {
  HtmlProgressIndicatorPlugin,
} = require('html-progress-indicator-plugin');

module.exports = {
  // Your webpack config
  plugins: [
    new HtmlWebpackPlugin(),
    // This plugin MUST come after your usage of `HtmlWebpackPlugin`
    new HtmlProgressIndicatorPlugin(),
  ],
};

Then add the placeholder for the progress indicator into the HTML loaded by html-webpack-plugin.

<html>
  <body>
    <!-- The rest of your HTML template -->
    <!-- reload-indicator-placeholder -->
  </body>
</html>

That's it! Now a tiny toast style message will appear in your app while webpack is rebuilding.

Options

placeholder

Customize the placeholder that goes in your HTML file.

new HtmlProgressIndicatorPlugin({
  placeholder: '<!-- my-cool-placeholder -->',
});

template

If you want to customize the look of the indicator use the template option.

The plugin comes with 2 default progress indicators:

  • default - What's pictured above
  • nyan - A nyan cat goes across the screen showing the progress

As String

Define your custom template directly in your config (or use a templating library that produces HTML)

const {
  MSG_ID,
  PROGRESS_ID,
  HtmlProgressIndicatorPlugin,
} = require('html-progress-indicator-plugin');

new HtmlProgressIndicatorPlugin({
  template: `
    <div class="fixed bottom-0 right-0 m-3 h-4 px-2 bg-white border border-grey-200 flex gap-1">
      <div class="text-grey-800 text-semibold" id="${PROGRESS_ID}"></div>
      <div class="text-grey-500" id="${MSG_ID}"></div>
    </div>
  `,
});

As path

Or store your template in a different file

new HtmlProgressIndicatorPlugin({
  template: './path/to/template.html',
});

The IDs in the following HTML will be replaced with the correct IDs.

<div
  class="fixed bottom-0 right-0 m-3 h-4 px-2 bg-white border border-grey-200 flex gap-1"
>
  <div class="text-grey-800 text-semibold" id="{{PROGRESS_ID}}"></div>
  <div class="text-grey-500" id="{{MSG_ID}}"></div>
</div>
0.4.0

12 months ago

0.3.1

12 months ago

0.3.0

1 year ago

0.2.4

1 year ago

0.2.3

1 year ago

0.2.2

1 year ago

0.2.1

1 year ago

0.2.0

2 years ago

0.1.6

2 years ago

0.1.5

2 years ago

0.1.4

2 years ago

0.1.3

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago