Commit 323a9c9
authored
patch react via recast instead of string replacements (#78916)
In #78838, we've seen that patching react via string replacements is
problematic, because we accidentally replaced a `setTimeout` in a string
literal (emitted into HTML by Fizz). This PR converts most of our react
patching to use `recast` instead. This also lets us be smarter about how
we convert `setTimeout` to `setTimeoutOrImmediate` -- i'm removing the
duration arg, and potentially preserving `setTimeout(fn, 0,
...ARGS_FOR_CALLBACK)`1 parent 0625d0d commit 323a9c9
File tree
15 files changed
+361
-230
lines changed- packages/next
- src/compiled
- react-dom-experimental/cjs
- react-dom/cjs
- react-server-dom-turbopack-experimental/cjs
- react-server-dom-turbopack/cjs
- react-server-dom-webpack-experimental/cjs
- react-server-dom-webpack/cjs
15 files changed
+361
-230
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
304 | 304 | | |
305 | 305 | | |
306 | 306 | | |
| 307 | + | |
307 | 308 | | |
308 | 309 | | |
309 | 310 | | |
| |||
Lines changed: 12 additions & 14 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
38 | 47 | | |
39 | 48 | | |
40 | 49 | | |
| |||
4903 | 4912 | | |
4904 | 4913 | | |
4905 | 4914 | | |
4906 | | - | |
| 4915 | + | |
4907 | 4916 | | |
4908 | 4917 | | |
4909 | 4918 | | |
| |||
8473 | 8482 | | |
8474 | 8483 | | |
8475 | 8484 | | |
8476 | | - | |
| 8485 | + | |
8477 | 8486 | | |
8478 | 8487 | | |
8479 | 8488 | | |
| |||
8488 | 8497 | | |
8489 | 8498 | | |
8490 | 8499 | | |
8491 | | - | |
| 8500 | + | |
8492 | 8501 | | |
8493 | 8502 | | |
8494 | 8503 | | |
| |||
10392 | 10401 | | |
10393 | 10402 | | |
10394 | 10403 | | |
10395 | | - | |
10396 | | - | |
10397 | | - | |
10398 | | - | |
10399 | | - | |
10400 | | - | |
10401 | | - | |
10402 | | - | |
10403 | | - | |
10404 | | - | |
10405 | | - | |
10406 | 10404 | | |
10407 | 10405 | | |
Lines changed: 12 additions & 14 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
1 | 10 | | |
2 | 11 | | |
3 | 12 | | |
| |||
4411 | 4420 | | |
4412 | 4421 | | |
4413 | 4422 | | |
4414 | | - | |
| 4423 | + | |
4415 | 4424 | | |
4416 | 4425 | | |
4417 | 4426 | | |
| |||
6936 | 6945 | | |
6937 | 6946 | | |
6938 | 6947 | | |
6939 | | - | |
| 6948 | + | |
6940 | 6949 | | |
6941 | 6950 | | |
6942 | 6951 | | |
| |||
6951 | 6960 | | |
6952 | 6961 | | |
6953 | 6962 | | |
6954 | | - | |
| 6963 | + | |
6955 | 6964 | | |
6956 | 6965 | | |
6957 | 6966 | | |
| |||
7305 | 7314 | | |
7306 | 7315 | | |
7307 | 7316 | | |
7308 | | - | |
7309 | | - | |
7310 | | - | |
7311 | | - | |
7312 | | - | |
7313 | | - | |
7314 | | - | |
7315 | | - | |
7316 | | - | |
7317 | | - | |
7318 | | - | |
7319 | 7317 | | |
Lines changed: 12 additions & 14 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
38 | 47 | | |
39 | 48 | | |
40 | 49 | | |
| |||
4565 | 4574 | | |
4566 | 4575 | | |
4567 | 4576 | | |
4568 | | - | |
| 4577 | + | |
4569 | 4578 | | |
4570 | 4579 | | |
4571 | 4580 | | |
| |||
7704 | 7713 | | |
7705 | 7714 | | |
7706 | 7715 | | |
7707 | | - | |
| 7716 | + | |
7708 | 7717 | | |
7709 | 7718 | | |
7710 | 7719 | | |
| |||
7719 | 7728 | | |
7720 | 7729 | | |
7721 | 7730 | | |
7722 | | - | |
| 7731 | + | |
7723 | 7732 | | |
7724 | 7733 | | |
7725 | 7734 | | |
| |||
9439 | 9448 | | |
9440 | 9449 | | |
9441 | 9450 | | |
9442 | | - | |
9443 | | - | |
9444 | | - | |
9445 | | - | |
9446 | | - | |
9447 | | - | |
9448 | | - | |
9449 | | - | |
9450 | | - | |
9451 | | - | |
9452 | | - | |
9453 | 9451 | | |
9454 | 9452 | | |
Lines changed: 12 additions & 14 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
1 | 10 | | |
2 | 11 | | |
3 | 12 | | |
| |||
4078 | 4087 | | |
4079 | 4088 | | |
4080 | 4089 | | |
4081 | | - | |
| 4090 | + | |
4082 | 4091 | | |
4083 | 4092 | | |
4084 | 4093 | | |
| |||
6262 | 6271 | | |
6263 | 6272 | | |
6264 | 6273 | | |
6265 | | - | |
| 6274 | + | |
6266 | 6275 | | |
6267 | 6276 | | |
6268 | 6277 | | |
| |||
6277 | 6286 | | |
6278 | 6287 | | |
6279 | 6288 | | |
6280 | | - | |
| 6289 | + | |
6281 | 6290 | | |
6282 | 6291 | | |
6283 | 6292 | | |
| |||
6468 | 6477 | | |
6469 | 6478 | | |
6470 | 6479 | | |
6471 | | - | |
6472 | | - | |
6473 | | - | |
6474 | | - | |
6475 | | - | |
6476 | | - | |
6477 | | - | |
6478 | | - | |
6479 | | - | |
6480 | | - | |
6481 | | - | |
6482 | 6480 | | |
Lines changed: 12 additions & 14 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
14 | 23 | | |
15 | 24 | | |
16 | 25 | | |
| |||
1445 | 1454 | | |
1446 | 1455 | | |
1447 | 1456 | | |
1448 | | - | |
| 1457 | + | |
1449 | 1458 | | |
1450 | 1459 | | |
1451 | 1460 | | |
| |||
2826 | 2835 | | |
2827 | 2836 | | |
2828 | 2837 | | |
2829 | | - | |
| 2838 | + | |
2830 | 2839 | | |
2831 | 2840 | | |
2832 | 2841 | | |
| |||
2837 | 2846 | | |
2838 | 2847 | | |
2839 | 2848 | | |
2840 | | - | |
| 2849 | + | |
2841 | 2850 | | |
2842 | 2851 | | |
2843 | 2852 | | |
| |||
4303 | 4312 | | |
4304 | 4313 | | |
4305 | 4314 | | |
4306 | | - | |
4307 | | - | |
4308 | | - | |
4309 | | - | |
4310 | | - | |
4311 | | - | |
4312 | | - | |
4313 | | - | |
4314 | | - | |
4315 | | - | |
4316 | | - | |
4317 | 4315 | | |
4318 | 4316 | | |
4319 | 4317 | | |
| |||
Lines changed: 12 additions & 14 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
1 | 10 | | |
2 | 11 | | |
3 | 12 | | |
| |||
1144 | 1153 | | |
1145 | 1154 | | |
1146 | 1155 | | |
1147 | | - | |
| 1156 | + | |
1148 | 1157 | | |
1149 | 1158 | | |
1150 | 1159 | | |
| |||
1949 | 1958 | | |
1950 | 1959 | | |
1951 | 1960 | | |
1952 | | - | |
| 1961 | + | |
1953 | 1962 | | |
1954 | 1963 | | |
1955 | 1964 | | |
| |||
1960 | 1969 | | |
1961 | 1970 | | |
1962 | 1971 | | |
1963 | | - | |
| 1972 | + | |
1964 | 1973 | | |
1965 | 1974 | | |
1966 | 1975 | | |
| |||
2881 | 2890 | | |
2882 | 2891 | | |
2883 | 2892 | | |
2884 | | - | |
2885 | | - | |
2886 | | - | |
2887 | | - | |
2888 | | - | |
2889 | | - | |
2890 | | - | |
2891 | | - | |
2892 | | - | |
2893 | | - | |
2894 | | - | |
2895 | 2893 | | |
2896 | 2894 | | |
2897 | 2895 | | |
| |||
0 commit comments