@@ -69,28 +69,46 @@ experiments_table=$(generate_experiments_table)
6969early_access_table=$( generate_early_access_table)
7070beta_table=$( generate_beta_table)
7171
72- # Update the experimental features section
73- awk \
74- -v table=" ${experiments_table} " \
75- ' BEGIN{include=1} /BEGIN: available-experimental-features/{print; print table; include=0} /END: available-experimental-features/{include=1; print} include' \
76- " ${dest} " \
77- > " ${dest} " .tmp
72+ # We're using a single-pass awk script that replaces content between markers
73+ # No need for cleanup operations
7874
79- # Update the early access features section
80- awk \
81- -v table=" ${early_access_table} " \
82- ' BEGIN{include=1} /BEGIN: early-access-features/{print; print table; include=0} /END: early-access-features/{include=1; print} include' \
83- " ${dest} " .tmp \
84- > " ${dest} " .tmp2
75+ # Create a single awk script to update all sections without requiring multiple temp files
76+ awk -v exp_table=" ${experiments_table} " -v ea_table=" ${early_access_table} " -v beta_table=" ${beta_table} " '
77+ # State variables to track which section we are in
78+ BEGIN { in_exp = 0; in_ea = 0; in_beta = 0; }
79+
80+ # For experimental features section
81+ /<!-- BEGIN: available-experimental-features -->/ {
82+ print; print exp_table; in_exp = 1; next;
83+ }
84+ /<!-- END: available-experimental-features -->/ {
85+ in_exp = 0; print; next;
86+ }
87+
88+ # For early access features section
89+ /<!-- BEGIN: early-access-features -->/ {
90+ print; print ea_table; in_ea = 1; next;
91+ }
92+ /<!-- END: early-access-features -->/ {
93+ in_ea = 0; print; next;
94+ }
95+
96+ # For beta features section
97+ /<!-- BEGIN: beta-features -->/ {
98+ print; print beta_table; in_beta = 1; next;
99+ }
100+ /<!-- END: beta-features -->/ {
101+ in_beta = 0; print; next;
102+ }
103+
104+ # Skip lines between markers
105+ (in_exp || in_ea || in_beta) { next; }
106+
107+ # Print all other lines
108+ { print; }
109+ ' " ${dest} " > " ${dest} .new"
85110
86- # Update the beta features section
87- awk \
88- -v table=" ${beta_table} " \
89- ' BEGIN{include=1} /BEGIN: beta-features/{print; print table; include=0} /END: beta-features/{include=1; print} include' \
90- " ${dest} " .tmp2 \
91- > " ${dest} " .tmp3
92-
93- mv " ${dest} " .tmp3 " ${dest} "
94- rm -f " ${dest} " .tmp " ${dest} " .tmp2
111+ # Move the new file into place
112+ mv " ${dest} .new" " ${dest} "
95113
96114(cd site && pnpm exec prettier --cache --write ../" ${dest} " )
0 commit comments