Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix #16561 #16562

Merged
merged 12 commits into from Apr 5, 2023
20 changes: 14 additions & 6 deletions lib/library/AmdLibraryPlugin.js
Expand Up @@ -52,7 +52,7 @@ class AmdLibraryPlugin extends AbstractLibraryPlugin {
* @returns {T | false} preprocess as needed by overriding
*/
parseOptions(library) {
const { name } = library;
const { name, globalObject } = library;
if (this.requireAsWrapper) {
if (name) {
throw new Error(
Expand All @@ -66,8 +66,13 @@ class AmdLibraryPlugin extends AbstractLibraryPlugin {
);
}
}
let globalObjectPrefix = "";
if (globalObject) {
globalObjectPrefix = `${globalObject}.`;
}
return {
name: /** @type {string=} */ (name)
name: /** @type {string=} */ (name),
globalObjectPrefix: /** @type {string=} */ (globalObjectPrefix)
};
}

Expand Down Expand Up @@ -113,7 +118,7 @@ class AmdLibraryPlugin extends AbstractLibraryPlugin {

if (this.requireAsWrapper) {
return new ConcatSource(
`require(${externalsDepsArray}, ${fnStart}`,
`${options.globalObjectPrefix}require(${externalsDepsArray}, ${fnStart}`,
source,
`${fnEnd});`
);
Expand All @@ -123,18 +128,18 @@ class AmdLibraryPlugin extends AbstractLibraryPlugin {
});

return new ConcatSource(
`define(${JSON.stringify(name)}, ${externalsDepsArray}, ${fnStart}`,
`${options.globalObjectPrefix}define(${JSON.stringify(name)}, ${externalsDepsArray}, ${fnStart}`,
source,
`${fnEnd});`
);
} else if (externalsArguments) {
return new ConcatSource(
`define(${externalsDepsArray}, ${fnStart}`,
`${options.globalObjectPrefix}define(${externalsDepsArray}, ${fnStart}`,
source,
`${fnEnd});`
);
} else {
return new ConcatSource(`define(${fnStart}`, source, `${fnEnd});`);
return new ConcatSource(`${options.globalObjectPrefix}define(${fnStart}`, source, `${fnEnd});`);
}
}

Expand All @@ -155,6 +160,9 @@ class AmdLibraryPlugin extends AbstractLibraryPlugin {
chunk
});
hash.update(name);
} else if (options.globalObject) {
hash.update("globalObjected");
hash.update(options.globalObject);
}
}
}
Expand Down