fix HarmonyAcceptImportDependency

This commit is contained in:
Ivan Kopeykin 2022-02-23 14:54:21 +03:00
parent 8d509e37a4
commit ac1a5139a8
5 changed files with 27 additions and 3 deletions

View File

@ -7,6 +7,7 @@
const makeSerializable = require("../util/makeSerializable");
const HarmonyImportDependency = require("./HarmonyImportDependency");
const NullDependency = require("./NullDependency");
/** @typedef {import("webpack-sources").ReplaceSource} ReplaceSource */
/** @typedef {import("../Dependency")} Dependency */
@ -28,8 +29,9 @@ makeSerializable(
"webpack/lib/dependencies/HarmonyAcceptImportDependency"
);
HarmonyAcceptImportDependency.Template = class HarmonyAcceptImportDependencyTemplate extends (
HarmonyImportDependency.Template
) {};
HarmonyAcceptImportDependency.Template =
/** @type {typeof HarmonyImportDependency.Template} */ (
NullDependency.Template
);
module.exports = HarmonyAcceptImportDependency;

View File

@ -0,0 +1,2 @@
import log from "./tla.js"
log();

View File

@ -0,0 +1,7 @@
import "./tla.js"
const a = import("./defer.js")
import.meta.webpackHot.accept(["./defer.js"], () => {})
it("should compile", async () => {
expect(await a).toBeTruthy();
});

View File

@ -0,0 +1,4 @@
await Promise.resolve();
export default function log() {
return 1;
}

View File

@ -0,0 +1,9 @@
const { HotModuleReplacementPlugin } = require("../../../../");
/** @type {import("../../../../").Configuration} */
module.exports = {
devtool: false,
experiments: { topLevelAwait: true },
optimization: { usedExports: false, sideEffects: false },
plugins: [new HotModuleReplacementPlugin()]
};