webpack/test/cases/errors/import-module-cycle-multiple/loader.js

25 lines
755 B
JavaScript

/** @type {import("../../../../").LoaderDefinitionFunction} */
exports.default = function (source) {
const content = JSON.parse(source);
// content is one reference or an array of references
const refs = Array.isArray(content) ? content : [content];
const callback = this.async();
const importReferencedModules = async () => {
const loadedRefs = []
for(const ref of refs) {
try {
const source = await this.importModule("../loader!" + ref);
loadedRefs.push([ref, source]);
} catch (_err) {
const err = /** @type {Error} */ (_err);
loadedRefs.push([ref, `err: ${err && err.message}`]);
}
}
return loadedRefs;
}
importReferencedModules().then((loadResults) => {
callback(null, JSON.stringify(loadResults));
});
};