-
-
Notifications
You must be signed in to change notification settings - Fork 9.1k
Closed
Closed
Copy link
Description
Bug report
What is the current behavior?
With the following code:
import * as barrel from './barrel';
console.log((barrel.something).nested);
Webpack will generate (notice the extra )
):
(() => {
/*!*********************!*\
!*** ./src/main.js ***!
\*********************/
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _barrel__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./barrel */ "./src/barrel.js");
console.log(_barrel__WEBPACK_IMPORTED_MODULE_0__.something).nested);
})();
Under webpack 5.84.0, the code is correctly generated:
(() => {
/*!*********************!*\
!*** ./src/main.js ***!
\*********************/
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _barrel__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./barrel */ "./src/barrel.js");
console.log(_barrel__WEBPACK_IMPORTED_MODULE_0__.something.nested);
})();
If the current behavior is a bug, please provide the steps to reproduce.
https://github.com/edusperoni/webpack-import-paren-issue
Just run npm start
What is the expected behavior?
The parenthesis should be correctly stripped.
Other relevant information:
webpack version: 5.85.0
Reverting the change inlib/dependencies/HarmonyImportSpecifierDependency.js
from @bworline fixes the issue: