I'm using webpack 5 for my project and in case anyone needs this. I was able to get a global instance of Flasher working using the following method.
module: {
rules: [
{
test: require.resolve("toastr"),
loader: "expose-loader",
options: {
exposes: ["toastr"],
},
},
{
test: require.resolve("@flasher/flasher"),
loader: "expose-loader",
options: {
exposes: ["Flasher"],
},
}
]
}
import toastr from "toastr";
// toastr defaults
toastr.options.timeOut = 10000;
toastr.options.closeButton = true;
toastr.options.escapeHtml = true;
toastr.options.progressBar = true;
toastr.options.closeOnHover = false;
import { default as Flasher } from "@flasher/flasher";
import { default as ToastrFactory } from "@flasher/flasher-toastr";
Flasher.getInstance().addFactory("toastr", new ToastrFactory());