next.js
d19d8026 - Improve the Server Actions SWC transform (part 2) (#62052)

Commit
1 year ago
Improve the Server Actions SWC transform (part 2) (#62052) This fills the last piece in the puzzle and it's based on #61001. In #61001 we covered the case of nested Server Action definition in a non "use server" file. And this PR extends that to a "use server" file so exported values are automatically handled just like before, but any other definitions including nested ones will be hoisted and marked correctly now. ```ts 'use server' let a, f export async function action0(b, c, ...g) { // <- Handled like before. return async function action1(d) { // <- Renamed, marked and hoisted. 'use server' let f console.log(...window, { window }) console.log(a, b, action2) async function action2(e) { // <- Renamed, marked and hoisted. 'use server' console.log(a, c, d, e, f, g) } return [ action2, async function action3(e) { // <- Renamed, marked and hoisted. 'use server' action2(e) console.log(a, c, d, e) }, ] } } ``` Closes NEXT-2491
Author
Parents
Loading