Open chenjiahan opened 3 hours ago
Rslib 0.0.10
Rslib should inject __rslib_import_meta_url__ before using it. Otherwise there will be an runtime error:
__rslib_import_meta_url__
import { createRequire } from 'node:module'; const require = createRequire(import.meta.url); console.log(require.resolve('stylus-loader'));
"use strict"; var __webpack_exports__ = {}; const external_node_module_namespaceObject = require("node:module"); const src_require = (0, external_node_module_namespaceObject.createRequire)(__rslib_import_meta_url__); console.log(src_require.resolve('stylus-loader')); var __webpack_export_target__ = exports; for(var i in __webpack_exports__)__webpack_export_target__[i] = __webpack_exports__[i]; if (__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, '__esModule', { value: true }); var __rslib_import_meta_url__ = /*#__PURE__*/ function() { return 'undefined' == typeof document ? new (require('url'.replace('', ''))).URL('file:' + __filename).href : document.currentScript && document.currentScript.src || new URL('main.js', document.baseURI).href; }();
"use strict"; var __webpack_exports__ = {}; var __rslib_import_meta_url__ = /*#__PURE__*/ function() { return 'undefined' == typeof document ? new (require('url'.replace('', ''))).URL('file:' + __filename).href : document.currentScript && document.currentScript.src || new URL('main.js', document.baseURI).href; }(); const external_node_module_namespaceObject = require("node:module"); const src_require = (0, external_node_module_namespaceObject.createRequire)(__rslib_import_meta_url__); console.log(src_require.resolve('stylus-loader')); var __webpack_export_target__ = exports; for(var i in __webpack_exports__)__webpack_export_target__[i] = __webpack_exports__[i]; if (__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, '__esModule', { value: true });
https://github.com/web-infra-dev/rsbuild/pull/3679
https://github.com/web-infra-dev/rslib/blob/228bf3c36debf892d3d679c6e1f691352aed0db9/packages/core/src/plugins/cjsShim.ts#L13-L14
This temporary solution seems that it can not be executed.😂
As a temp implementation solution, I think we can directly inline the shim content through DefinePlugin, although this will increase the bundle size.
Version
Rslib 0.0.10
Details
Rslib should inject
__rslib_import_meta_url__
before using it. Otherwise there will be an runtime error:Reproduce link
https://github.com/web-infra-dev/rsbuild/pull/3679
Reproduce Steps