You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.2 KiB
40 lines
1.2 KiB
/* |
|
MIT License http://www.opensource.org/licenses/mit-license.php |
|
Author Tobias Koppers @sokra |
|
*/ |
|
|
|
"use strict"; |
|
|
|
/** @typedef {import("../Parser").ParserState} ParserState */ |
|
|
|
/** @type {WeakMap<ParserState, boolean>} */ |
|
const parserStateExportsState = new WeakMap(); |
|
|
|
/** |
|
* @param {ParserState} parserState parser state |
|
* @param {boolean} isStrictHarmony strict harmony mode should be enabled |
|
* @returns {void} |
|
*/ |
|
exports.enable = (parserState, isStrictHarmony) => { |
|
const value = parserStateExportsState.get(parserState); |
|
if (value === false) return; |
|
parserStateExportsState.set(parserState, true); |
|
if (value !== true) { |
|
parserState.module.buildMeta.exportsType = "namespace"; |
|
parserState.module.buildInfo.strict = true; |
|
parserState.module.buildInfo.exportsArgument = "__webpack_exports__"; |
|
if (isStrictHarmony) { |
|
parserState.module.buildMeta.strictHarmonyModule = true; |
|
parserState.module.buildInfo.moduleArgument = "__webpack_module__"; |
|
} |
|
} |
|
}; |
|
|
|
/** |
|
* @param {ParserState} parserState parser state |
|
* @returns {boolean} true, when enabled |
|
*/ |
|
exports.isEnabled = parserState => { |
|
const value = parserStateExportsState.get(parserState); |
|
return value === true; |
|
};
|
|
|