feat(webpack): support es module bundling (#10788)

This commit is contained in:
Nathan Walker
2025-09-18 13:03:17 -07:00
committed by GitHub
parent d6d3800884
commit 1e54baf198
20 changed files with 806 additions and 414 deletions

View File

@@ -0,0 +1,47 @@
/**
* Polyfill for Node.js 'module' built-in
* Provides minimal implementation for NativeScript environment
*/
// Mock createRequire function that css-tree uses
function createRequire(filename: string) {
// Return a mock require function
return function mockRequire(id: string) {
// Handle css-tree's internal patch.json file
if (id.includes('../data/patch.json') || id.includes('patch.json')) {
// Return css-tree's patch structure
return {
atrules: {},
properties: {},
types: {},
};
}
// For mdn-data files, return empty objects
if (id.includes('mdn-data')) {
return {};
}
// For any other requires, return empty object
return {};
};
}
// 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
}