Commit 2d874df
sea: support ESM entry point in SEA
This uses the new StartExecutionCallbackWithModule embedder
API to support ESM entrypoint in SEA via a new configuration
field `"mainFormat"`. The behavior currently aligns with the
embedder API and is mostly in sync with the CommonJS entry
point behavior, except that support for code caching and
snapshot is left for follow-ups.
PR-URL: #61813
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>1 parent 9e40fb9 commit 2d874dfCopy full SHA for 2d874df
6 files changed
+188-25Lines changed: 188 additions & 25 deletions
File tree
Expand file treeCollapse file tree
Open diff view settings
Filter options
- doc/api
- src
- test
- fixtures/sea/esm
- sea
Expand file treeCollapse file tree
Open diff view settings
Collapse file
doc/api/single-executable-applications.md
Copy file name to clipboardExpand all lines: doc/api/single-executable-applications.md+59-16Lines changed: 59 additions & 16 deletions
- Display the source diff
- Display the rich diff
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
31 | 31 | |
32 | 32 | |
33 | 33 | |
34 | | - |
35 | | - |
| 34 | + |
| 35 | + |
36 | 36 | |
37 | 37 | |
38 | 38 | |
| ||
110 | 110 | |
111 | 111 | |
112 | 112 | |
| 113 | + |
113 | 114 | |
114 | 115 | |
115 | 116 | |
| ||
290 | 291 | |
291 | 292 | |
292 | 293 | |
293 | | - |
294 | | - |
295 | | - |
| 294 | + |
296 | 295 | |
297 | 296 | |
298 | 297 | |
299 | 298 | |
300 | | - |
| 299 | + |
301 | 300 | |
302 | 301 | |
303 | 302 | |
| ||
383 | 382 | |
384 | 383 | |
385 | 384 | |
386 | | - |
| 385 | + |
387 | 386 | |
388 | | - |
389 | | - |
390 | | - |
391 | | - |
392 | | - |
| 387 | + |
| 388 | + |
| 389 | + |
| 390 | + |
| 391 | + |
| 392 | + |
| 393 | + |
| 394 | + |
| 395 | + |
| 396 | + |
| 397 | + |
| 398 | + |
| 399 | + |
| 400 | + |
| 401 | + |
| 402 | + |
| 403 | + |
| 404 | + |
| 405 | + |
| 406 | + |
393 | 407 | |
394 | | - |
395 | | - |
396 | | - |
| 408 | + |
| 409 | + |
397 | 410 | |
398 | | - |
| 411 | + |
| 412 | + |
| 413 | + |
399 | 414 | |
400 | 415 | |
401 | 416 | |
402 | 417 | |
403 | 418 | |
404 | 419 | |
| 420 | + |
| 421 | + |
| 422 | + |
| 423 | + |
| 424 | + |
| 425 | + |
| 426 | + |
405 | 427 | |
406 | 428 | |
407 | 429 | |
| ||
412 | 434 | |
413 | 435 | |
414 | 436 | |
| 437 | + |
| 438 | + |
| 439 | + |
| 440 | + |
| 441 | + |
| 442 | + |
| 443 | + |
| 444 | + |
| 445 | + |
| 446 | + |
| 447 | + |
| 448 | + |
| 449 | + |
| 450 | + |
| 451 | + |
| 452 | + |
| 453 | + |
| 454 | + |
| 455 | + |
| 456 | + |
415 | 457 | |
416 | 458 | |
417 | 459 | |
| ||
599 | 641 | |
600 | 642 | |
601 | 643 | |
| 644 | + |
602 | 645 | |
603 | 646 | |
604 | 647 | |
|
Collapse file
+60-7Lines changed: 60 additions & 7 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
84 | 84 | |
85 | 85 | |
86 | 86 | |
| 87 | + |
| 88 | + |
| 89 | + |
| 90 | + |
| 91 | + |
87 | 92 | |
88 | 93 | |
89 | 94 | |
| ||
161 | 166 | |
162 | 167 | |
163 | 168 | |
| 169 | + |
| 170 | + |
| 171 | + |
| 172 | + |
| 173 | + |
164 | 174 | |
165 | 175 | |
166 | 176 | |
| ||
219 | 229 | |
220 | 230 | |
221 | 231 | |
| 232 | + |
222 | 233 | |
223 | 234 | |
224 | 235 | |
| ||
501 | 512 | |
502 | 513 | |
503 | 514 | |
| 515 | + |
| 516 | + |
| 517 | + |
| 518 | + |
| 519 | + |
| 520 | + |
| 521 | + |
| 522 | + |
| 523 | + |
| 524 | + |
| 525 | + |
| 526 | + |
| 527 | + |
| 528 | + |
| 529 | + |
| 530 | + |
| 531 | + |
| 532 | + |
| 533 | + |
504 | 534 | |
505 | 535 | |
506 | 536 | |
| ||
512 | 542 | |
513 | 543 | |
514 | 544 | |
| 545 | + |
| 546 | + |
| 547 | + |
| 548 | + |
| 549 | + |
| 550 | + |
| 551 | + |
| 552 | + |
| 553 | + |
| 554 | + |
| 555 | + |
| 556 | + |
| 557 | + |
| 558 | + |
| 559 | + |
| 560 | + |
| 561 | + |
515 | 562 | |
516 | 563 | |
517 | 564 | |
| ||
709 | 756 | |
710 | 757 | |
711 | 758 | |
| 759 | + |
712 | 760 | |
713 | 761 | |
714 | 762 | |
| ||
792 | 840 | |
793 | 841 | |
794 | 842 | |
795 | | - |
| 843 | + |
796 | 844 | |
797 | 845 | |
798 | | - |
799 | | - |
| 846 | + |
| 847 | + |
800 | 848 | |
801 | 849 | |
802 | 850 | |
803 | 851 | |
804 | 852 | |
805 | 853 | |
806 | | - |
807 | | - |
808 | | - |
| 854 | + |
| 855 | + |
| 856 | + |
| 857 | + |
| 858 | + |
| 859 | + |
| 860 | + |
| 861 | + |
809 | 862 | |
810 | 863 | |
811 | 864 | |
| ||
821 | 874 | |
822 | 875 | |
823 | 876 | |
824 | | - |
| 877 | + |
825 | 878 | |
826 | 879 | |
827 | 880 | |
|
Collapse file
+6-2Lines changed: 6 additions & 2 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
11 | 11 | |
12 | 12 | |
13 | 13 | |
| 14 | + |
14 | 15 | |
15 | 16 | |
16 | 17 | |
| ||
43 | 44 | |
44 | 45 | |
45 | 46 | |
| 47 | + |
46 | 48 | |
47 | 49 | |
48 | 50 | |
| ||
52 | 54 | |
53 | 55 | |
54 | 56 | |
| 57 | + |
55 | 58 | |
56 | 59 | |
57 | 60 | |
58 | 61 | |
59 | 62 | |
60 | 63 | |
61 | 64 | |
62 | | - |
63 | | - |
| 65 | + |
| 66 | + |
| 67 | + |
64 | 68 | |
65 | 69 | |
66 | 70 | |
|
Collapse file
test/fixtures/sea/esm/sea-config.json
Copy file name to clipboard+6Lines changed: 6 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
| 1 | + |
| 2 | + |
| 3 | + |
| 4 | + |
| 5 | + |
| 6 | + |
Collapse file
test/fixtures/sea/esm/sea.mjs
Copy file name to clipboard+24Lines changed: 24 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
| 1 | + |
| 2 | + |
| 3 | + |
| 4 | + |
| 5 | + |
| 6 | + |
| 7 | + |
| 8 | + |
| 9 | + |
| 10 | + |
| 11 | + |
| 12 | + |
| 13 | + |
| 14 | + |
| 15 | + |
| 16 | + |
| 17 | + |
| 18 | + |
| 19 | + |
| 20 | + |
| 21 | + |
| 22 | + |
| 23 | + |
| 24 | + |
Collapse file
test/sea/test-single-executable-application-esm.js
Copy file name to clipboard+33Lines changed: 33 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
| 1 | + |
| 2 | + |
| 3 | + |
| 4 | + |
| 5 | + |
| 6 | + |
| 7 | + |
| 8 | + |
| 9 | + |
| 10 | + |
| 11 | + |
| 12 | + |
| 13 | + |
| 14 | + |
| 15 | + |
| 16 | + |
| 17 | + |
| 18 | + |
| 19 | + |
| 20 | + |
| 21 | + |
| 22 | + |
| 23 | + |
| 24 | + |
| 25 | + |
| 26 | + |
| 27 | + |
| 28 | + |
| 29 | + |
| 30 | + |
| 31 | + |
| 32 | + |
| 33 | + |
0 commit comments