Commit d6a982b
module: handle null source from async loader hooks in sync hooks
This relaxes the validation in sync hooks so that it accepts
the quirky nullish source returned by the default step of the
async loader when the module being loaded is CommonJS.
When there are no customization hooks registered, a saner
synchronous default load step is used to use a property
instead of a reset nullish source to signify that the module
should go through the CJS monkey patching routes and reduce
excessive reloading from disk.
PR-URL: #59929
Fixes: #59384
Fixes: #57327
Refs: #59666
Refs: https://github.com/dygabo/load_module_test
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com>
Reviewed-By: Jacob Smith <jacob@frende.me>1 parent 619f6bb commit d6a982b
File tree
14 files changed
+227
-107
lines changed- lib/internal/modules
- cjs
- esm
- test
- fixtures/module-hooks/sync-and-async
- module-hooks
14 files changed
+227
-107
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
177 | 177 | | |
178 | 178 | | |
179 | 179 | | |
| 180 | + | |
180 | 181 | | |
181 | 182 | | |
182 | 183 | | |
| |||
1176 | 1177 | | |
1177 | 1178 | | |
1178 | 1179 | | |
1179 | | - | |
| 1180 | + | |
1180 | 1181 | | |
1181 | 1182 | | |
1182 | 1183 | | |
| |||
1792 | 1793 | | |
1793 | 1794 | | |
1794 | 1795 | | |
| 1796 | + | |
1795 | 1797 | | |
1796 | | - | |
1797 | | - | |
1798 | | - | |
| 1798 | + | |
1799 | 1799 | | |
1800 | 1800 | | |
1801 | 1801 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
262 | 262 | | |
263 | 263 | | |
264 | 264 | | |
265 | | - | |
| 265 | + | |
266 | 266 | | |
267 | 267 | | |
268 | 268 | | |
269 | 269 | | |
270 | 270 | | |
271 | | - | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
272 | 284 | | |
273 | 285 | | |
274 | 286 | | |
275 | 287 | | |
276 | 288 | | |
277 | 289 | | |
278 | 290 | | |
279 | | - | |
| 291 | + | |
| 292 | + | |
280 | 293 | | |
281 | 294 | | |
282 | 295 | | |
283 | 296 | | |
284 | 297 | | |
285 | 298 | | |
286 | 299 | | |
| 300 | + | |
287 | 301 | | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
288 | 315 | | |
289 | 316 | | |
290 | 317 | | |
| |||
293 | 320 | | |
294 | 321 | | |
295 | 322 | | |
296 | | - | |
297 | | - | |
298 | | - | |
299 | | - | |
300 | | - | |
301 | | - | |
302 | 323 | | |
303 | 324 | | |
304 | 325 | | |
| |||
338 | 359 | | |
339 | 360 | | |
340 | 361 | | |
| 362 | + | |
341 | 363 | | |
342 | 364 | | |
343 | | - | |
| 365 | + | |
344 | 366 | | |
345 | 367 | | |
346 | 368 | | |
| |||
403 | 425 | | |
404 | 426 | | |
405 | 427 | | |
| 428 | + | |
| 429 | + | |
406 | 430 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
61 | 61 | | |
62 | 62 | | |
63 | 63 | | |
64 | | - | |
| 64 | + | |
65 | 65 | | |
66 | 66 | | |
67 | 67 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
141 | 141 | | |
142 | 142 | | |
143 | 143 | | |
| 144 | + | |
144 | 145 | | |
145 | 146 | | |
146 | | - | |
147 | | - | |
148 | | - | |
149 | | - | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
150 | 156 | | |
151 | | - | |
| 157 | + | |
| 158 | + | |
152 | 159 | | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
153 | 164 | | |
154 | 165 | | |
155 | 166 | | |
156 | 167 | | |
157 | 168 | | |
158 | 169 | | |
159 | 170 | | |
| 171 | + | |
160 | 172 | | |
161 | 173 | | |
162 | 174 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
| 58 | + | |
58 | 59 | | |
59 | | - | |
| 60 | + | |
60 | 61 | | |
61 | 62 | | |
62 | 63 | | |
| |||
146 | 147 | | |
147 | 148 | | |
148 | 149 | | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
149 | 154 | | |
150 | 155 | | |
151 | 156 | | |
| |||
503 | 508 | | |
504 | 509 | | |
505 | 510 | | |
| 511 | + | |
506 | 512 | | |
507 | | - | |
508 | | - | |
509 | | - | |
| 513 | + | |
| 514 | + | |
510 | 515 | | |
511 | | - | |
| 516 | + | |
512 | 517 | | |
513 | 518 | | |
514 | 519 | | |
515 | 520 | | |
516 | 521 | | |
517 | | - | |
| 522 | + | |
| 523 | + | |
518 | 524 | | |
519 | 525 | | |
520 | 526 | | |
| |||
523 | 529 | | |
524 | 530 | | |
525 | 531 | | |
526 | | - | |
| 532 | + | |
527 | 533 | | |
528 | 534 | | |
529 | 535 | | |
| |||
547 | 553 | | |
548 | 554 | | |
549 | 555 | | |
550 | | - | |
551 | | - | |
552 | | - | |
553 | | - | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
554 | 559 | | |
555 | 560 | | |
556 | | - | |
| 561 | + | |
| 562 | + | |
557 | 563 | | |
558 | | - | |
| 564 | + | |
559 | 565 | | |
560 | 566 | | |
561 | | - | |
| 567 | + | |
562 | 568 | | |
563 | 569 | | |
564 | | - | |
565 | | - | |
| 570 | + | |
| 571 | + | |
566 | 572 | | |
567 | 573 | | |
568 | 574 | | |
| |||
575 | 581 | | |
576 | 582 | | |
577 | 583 | | |
578 | | - | |
| 584 | + | |
| 585 | + | |
579 | 586 | | |
580 | 587 | | |
581 | 588 | | |
| |||
587 | 594 | | |
588 | 595 | | |
589 | 596 | | |
590 | | - | |
| 597 | + | |
591 | 598 | | |
592 | | - | |
| 599 | + | |
593 | 600 | | |
594 | 601 | | |
595 | | - | |
| 602 | + | |
596 | 603 | | |
597 | 604 | | |
598 | | - | |
| 605 | + | |
| 606 | + | |
599 | 607 | | |
600 | 608 | | |
601 | 609 | | |
| |||
610 | 618 | | |
611 | 619 | | |
612 | 620 | | |
613 | | - | |
614 | | - | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
615 | 624 | | |
616 | 625 | | |
617 | 626 | | |
| |||
837 | 846 | | |
838 | 847 | | |
839 | 848 | | |
840 | | - | |
841 | | - | |
| 849 | + | |
| 850 | + | |
842 | 851 | | |
843 | 852 | | |
844 | 853 | | |
| |||
873 | 882 | | |
874 | 883 | | |
875 | 884 | | |
876 | | - | |
| 885 | + | |
877 | 886 | | |
878 | 887 | | |
879 | 888 | | |
| |||
0 commit comments