mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
fix(webpack): es module polyfill handling of createRequire
This commit is contained in:
@@ -134,6 +134,8 @@ export default function (config: Config, env: IWebpackEnv = _env): Config {
|
||||
'mdn-data/css/at-rules.json': require.resolve(
|
||||
'../polyfills/mdn-data-at-rules.js',
|
||||
),
|
||||
// Ensure imports of the Node 'module' builtin resolve to our polyfill
|
||||
module: require.resolve('../polyfills/module.js'),
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
@@ -27,6 +27,21 @@ function createRequire(filename: string) {
|
||||
};
|
||||
}
|
||||
|
||||
// CommonJS export
|
||||
module.exports = {
|
||||
createRequire: createRequire,
|
||||
};
|
||||
|
||||
// Provide a named export for ESM consumers: `import { createRequire } from 'module'`
|
||||
try {
|
||||
Object.defineProperty(module.exports, 'createRequire', {
|
||||
enumerable: true,
|
||||
value: createRequire,
|
||||
});
|
||||
// Also export under an __esModule flag for certain bundlers
|
||||
Object.defineProperty(module.exports, '__esModule', {
|
||||
value: true,
|
||||
});
|
||||
} catch (e) {
|
||||
// ignore in environments where defineProperty is unavailable
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user