19 lines
661 B
JavaScript
19 lines
661 B
JavaScript
import { getModuleBuildInfo } from "./get-module-build-info";
|
|
import crypto from "crypto";
|
|
function sha1(source) {
|
|
return crypto.createHash("sha1").update(source).digest("hex");
|
|
}
|
|
export default function MiddlewareWasmLoader(source) {
|
|
const name = `wasm_${sha1(source)}`;
|
|
const filePath = `edge-chunks/${name}.wasm`;
|
|
const buildInfo = getModuleBuildInfo(this._module);
|
|
buildInfo.nextWasmMiddlewareBinding = {
|
|
filePath: `server/${filePath}`,
|
|
name
|
|
};
|
|
this.emitFile(`/${filePath}`, source, null);
|
|
return `module.exports = ${name};`;
|
|
}
|
|
export const raw = true;
|
|
|
|
//# sourceMappingURL=next-middleware-wasm-loader.js.map
|