A custom webpack-hot-client implementation that works in the web worker environment of an Argo extension

Usage no npm install needed!

<script type="module">
  import shopifyArgoWebpackHotClient from 'https://cdn.skypack.dev/@shopify/argo-webpack-hot-client';



This package provides utilities for automatically reloading an Argo script when content changes. The tools provided are similar to webpack-hot-client, but supports being run in a web worker and using the self.shopify API for "full" reloads.


$ yarn add @shopify/argo-webpack-hot-client --dev


You’ll reference two parts of this package in your webpack configuration:

  • Include the @shopify/argo-webpack-hot-client/worker file in an array of files for the entry config.
  • Import the ArgoHotClient plugin and include it in your webpack configuration. This plugin should not be used in production builds. It also includes webpack’s HotModuleReplacementPlugin automatically, so do not include it manually in your configuration.
import {ArgoHotClient} from '@shopify/argo-webpack-hot-client';

export function createWebpackConfig() {
  return {
    // Rest of config...
    entry: [
      // Make sure this entry appears first!
      // Other entries
    plugins: [
      // The order of your webpack plugins usually doesn’t matter
      new ArgoHotClient(),