From c8b62d54eeb56755144319d9d373b423a68d84f7 Mon Sep 17 00:00:00 2001 From: Gabriel Nordeborn Date: Sat, 24 Feb 2024 12:07:27 +0100 Subject: [PATCH 1/3] blog post section on the generic JSX transform --- _blogposts/2024-02-01-release-11-1-0.mdx | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/_blogposts/2024-02-01-release-11-1-0.mdx b/_blogposts/2024-02-01-release-11-1-0.mdx index 245cced35..3f99b50d0 100644 --- a/_blogposts/2024-02-01-release-11-1-0.mdx +++ b/_blogposts/2024-02-01-release-11-1-0.mdx @@ -20,9 +20,29 @@ npm install rescript@11.1 Find a list of all the new features below: -## Generic JSX transform +## JSX for more than React -TODO +Historically, ReScript has focused mainly on React for its frontend support. This has led to ReScript having a great JSX transform built into the language itself. But, that JSX transform has been quite difficult to use with anything but React. + +With v11.1, that changes! The JSX transform can now be configured to work with any framework. First class React support is of course still the same, and remains a priority. But, this makes it possible to integrate any other framework's JSX idiomatically in ReScript. And, all the tooling like autocompletion of prop names and types just works. + +Many popular frameworks like Vue and Preact use JSX. But, JSX is becoming more and more ubiquitous, and these days JSX can also be used for everything from building CLI apps to responsive e-mail templating. We're happy that ReScript users will now be able to leverage all of these innovations in a more idiomatic way than before. + +Here's an example of what a Preact integration could look like: + +```rescript +// Greet.res + +// @jsx.component works the same as @react.component does in React +@jsx.component +let make = (~name) => { +
+ {Preact.string("Hello " ++ name)} +
+} +``` + +Read more in the [`new documentation on the generic JSX transform`](/docs/manual/latest/jsx#generic-jsx-transform-jsx-beyond-react-experimental). ## Tagged template literals From 906364fde90c63a9b3b87672ff0976fd2a6564fe Mon Sep 17 00:00:00 2001 From: Gabriel Nordeborn Date: Sat, 24 Feb 2024 16:07:04 +0100 Subject: [PATCH 2/3] reword --- _blogposts/2024-02-01-release-11-1-0.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/_blogposts/2024-02-01-release-11-1-0.mdx b/_blogposts/2024-02-01-release-11-1-0.mdx index 3f99b50d0..501f60a71 100644 --- a/_blogposts/2024-02-01-release-11-1-0.mdx +++ b/_blogposts/2024-02-01-release-11-1-0.mdx @@ -22,13 +22,13 @@ Find a list of all the new features below: ## JSX for more than React -Historically, ReScript has focused mainly on React for its frontend support. This has led to ReScript having a great JSX transform built into the language itself. But, that JSX transform has been quite difficult to use with anything but React. +Historically, ReScript has focused mainly on React for its frontend support. This has led to ReScript having a great JSX transform built into the language itself. However, that JSX transform has been quite difficult to use with anything but React. -With v11.1, that changes! The JSX transform can now be configured to work with any framework. First class React support is of course still the same, and remains a priority. But, this makes it possible to integrate any other framework's JSX idiomatically in ReScript. And, all the tooling like autocompletion of prop names and types just works. +With v11.1, that changes! The JSX transform can now be configured to work with any framework. First class React support is of course still the same, and remains a priority. This makes it possible to integrate any other framework's JSX idiomatically in ReScript. And, all the tooling like autocompletion of prop names and types just works. -Many popular frameworks like Vue and Preact use JSX. But, JSX is becoming more and more ubiquitous, and these days JSX can also be used for everything from building CLI apps to responsive e-mail templating. We're happy that ReScript users will now be able to leverage all of these innovations in a more idiomatic way than before. +Many popular frameworks like Vue and Preact use JSX. But, JSX is also becoming more and more ubiquitous, and these days JSX can also be used for everything from building CLI apps to responsive e-mail templating. We're happy that ReScript users will now be able to leverage all of these innovations in a more idiomatic way than before. -Here's an example of what a Preact integration could look like: +Here's an example of what a Vue integration could look like: ```rescript // Greet.res @@ -37,7 +37,7 @@ Here's an example of what a Preact integration could look like: @jsx.component let make = (~name) => {
- {Preact.string("Hello " ++ name)} + {Vue.string("Hello " ++ name)}
} ``` From f626a87f1d1f2b78acff1cdb27d8098d4acff9fd Mon Sep 17 00:00:00 2001 From: Gabriel Nordeborn Date: Sat, 24 Feb 2024 21:10:13 +0100 Subject: [PATCH 3/3] changing back to Preact --- _blogposts/2024-02-01-release-11-1-0.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_blogposts/2024-02-01-release-11-1-0.mdx b/_blogposts/2024-02-01-release-11-1-0.mdx index 501f60a71..137778ddf 100644 --- a/_blogposts/2024-02-01-release-11-1-0.mdx +++ b/_blogposts/2024-02-01-release-11-1-0.mdx @@ -28,7 +28,7 @@ With v11.1, that changes! The JSX transform can now be configured to work with a Many popular frameworks like Vue and Preact use JSX. But, JSX is also becoming more and more ubiquitous, and these days JSX can also be used for everything from building CLI apps to responsive e-mail templating. We're happy that ReScript users will now be able to leverage all of these innovations in a more idiomatic way than before. -Here's an example of what a Vue integration could look like: +Here's an example of what a Preact integration could look like: ```rescript // Greet.res @@ -37,7 +37,7 @@ Here's an example of what a Vue integration could look like: @jsx.component let make = (~name) => {
- {Vue.string("Hello " ++ name)} + {Preact.string("Hello " ++ name)}
} ```