Skip to content

fix: keep module traversal consistent across reexport scenarios#19702

Merged
alexander-akait merged 1 commit intomainfrom
fix/module_order
Jul 15, 2025
Merged

fix: keep module traversal consistent across reexport scenarios#19702
alexander-akait merged 1 commit intomainfrom
fix/module_order

Conversation

@xiaoxiaojx
Copy link
Member

@xiaoxiaojx xiaoxiaojx commented Jul 15, 2025

What kind of change does this PR introduce?
Fixes #19686

keep the import order of dependency and dependency2 in the reexport within component.js

input

// ./component.js
export { dependency, dependency2 } from "./dependency";

export function component(...args) {
	console.log(args);
}

// ./dependency/index.js
export * from "./dependency2";
export * from "./dependency";

output

// output

/***/ "./component.js":
/*!**********************!*\
  !*** ./component.js ***!
  \**********************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   component: () => (/* binding */ component),
/* harmony export */   dependency: () => (/* reexport safe */ _dependency__WEBPACK_IMPORTED_MODULE_1__.dependency),
/* harmony export */   dependency2: () => (/* reexport safe */ _dependency__WEBPACK_IMPORTED_MODULE_0__.dependency2)
/* harmony export */ });
+ /* harmony import */ var _dependency__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dependency */ "./dependency/dependency2.js");
+ /* harmony import */ var _dependency__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dependency */ "./dependency/dependency.js");
- /* harmony import */ var _dependency__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dependency */ "./dependency/dependency.js");
- /* harmony import */ var _dependency__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dependency */ "./dependency/dependency2.js");

function component(...args) {
	console.log(args);
}

Did you add tests for your changes?
Yes

Does this PR introduce a breaking change?
No

What needs to be documented once your changes are merged?
No

@codspeed-hq
Copy link

codspeed-hq bot commented Jul 15, 2025

CodSpeed Performance Report

Merging #19702 will degrade performances by 21.61%

Comparing fix/module_order (5d2a92f) with main (fdb0c4e)

Summary

⚡ 82 improvements
❌ 1 regressions
✅ 50 untouched benchmarks

⚠️ Please fix the performance issues or acknowledge them on CodSpeed.

Benchmarks breakdown

Benchmark BASE HEAD Change
benchmark "cache-filesystem", scenario '{"name":"mode-development-rebuild","mode":"development","watch":true}' 229.3 ms 13.1 ms ×17
benchmark "lodash", scenario '{"name":"mode-development-rebuild","mode":"development","watch":true}' 38 ms 30.4 ms +25.14%
benchmark "minimal", scenario '{"name":"mode-development","mode":"development"}' 24.1 ms 30.7 ms -21.61%
md4 buffer benchmark (size: 10000) 114.6 µs 73.2 µs +56.5%
md4 buffer benchmark (size: 100000) 448.2 µs 406.9 µs +10.15%
md4 buffer benchmark (size: 120) 76.4 µs 35.1 µs ×2.2
md4 buffer benchmark (size: 160) 76.5 µs 35.2 µs ×2.2
md4 buffer benchmark (size: 16366) 139 µs 97.7 µs +42.35%
md4 buffer benchmark (size: 16368) 139 µs 97.6 µs +42.32%
md4 buffer benchmark (size: 16370) 138.9 µs 97.7 µs +42.22%
md4 buffer benchmark (size: 2) 76.8 µs 35.2 µs ×2.2
md4 buffer benchmark (size: 20) 76.7 µs 32.8 µs ×2.3
md4 buffer benchmark (size: 200) 76.8 µs 35.4 µs ×2.2
md4 buffer benchmark (size: 2000) 82.3 µs 41 µs ×2
md4 buffer benchmark (size: 20000) 153.1 µs 111.8 µs +36.95%
md4 buffer benchmark (size: 2002) 82.3 µs 40.9 µs ×2
md4 buffer benchmark (size: 40) 73.9 µs 32.6 µs ×2.3
md4 buffer benchmark (size: 400) 77.4 µs 36.1 µs ×2.1
md4 buffer benchmark (size: 40000) 229.3 µs 188.1 µs +21.93%
md4 buffer benchmark (size: 65536) 327.7 µs 286.4 µs +14.43%
... ... ... ... ...

ℹ️ Only the first 20 benchmarks are displayed. Go to the app to view all benchmarks.

@alexander-akait alexander-akait merged commit 89eb6a3 into main Jul 15, 2025
41 of 44 checks passed
@alexander-akait alexander-akait deleted the fix/module_order branch July 15, 2025 09:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants