From e8984a0195464658fed1f51ef173cd89a747fefa Mon Sep 17 00:00:00 2001 From: Rick Hanlon Date: Fri, 26 Apr 2024 11:24:10 -0400 Subject: [PATCH 1/3] Add rss feed --- .gitignore | 3 + package.json | 5 +- scripts/generateRss.js | 6 ++ ...a-fetching-with-react-server-components.md | 3 + .../blog/2021/06/08/the-plan-for-react-18.md | 3 + .../blog/2021/12/17/react-conf-2021-recap.md | 3 + .../blog/2022/03/08/react-18-upgrade-guide.md | 3 + src/content/blog/2022/03/29/react-v18.md | 3 + ...-what-we-have-been-working-on-june-2022.md | 3 + .../blog/2023/03/16/introducing-react-dev.md | 3 + ...what-we-have-been-working-on-march-2023.md | 3 + src/content/blog/2023/05/03/react-canaries.md | 3 + ...t-we-have-been-working-on-february-2024.md | 3 + .../blog/2024/04/25/react-19-upgrade-guide.md | 3 + src/content/blog/2024/04/25/react-19.md | 3 + src/pages/[[...markdownPath]].js | 2 + src/utils/rss.js | 65 +++++++++++++++++++ 17 files changed, 115 insertions(+), 2 deletions(-) create mode 100644 scripts/generateRss.js create mode 100644 src/utils/rss.js diff --git a/.gitignore b/.gitignore index d8bec488ba2..7bf71dbc5d8 100644 --- a/.gitignore +++ b/.gitignore @@ -36,3 +36,6 @@ yarn-error.log* # external fonts public/fonts/**/Optimistic_*.woff2 + +# rss +public/rss.xml diff --git a/package.json b/package.json index d7520178082..ddbe9250534 100644 --- a/package.json +++ b/package.json @@ -15,11 +15,12 @@ "prettier:diff": "yarn nit:source", "lint-heading-ids": "node scripts/headingIdLinter.js", "fix-headings": "node scripts/headingIdLinter.js --fix", - "ci-check": "npm-run-all prettier:diff --parallel lint tsc lint-heading-ids", + "ci-check": "npm-run-all prettier:diff --parallel lint tsc lint-heading-ids rss", "tsc": "tsc --noEmit", "start": "next start", "postinstall": "patch-package && (is-ci || husky install .husky)", - "check-all": "npm-run-all prettier lint:fix tsc" + "check-all": "npm-run-all prettier lint:fix tsc rss", + "rss": "node scripts/generateRss.js" }, "dependencies": { "@codesandbox/sandpack-react": "2.13.5", diff --git a/scripts/generateRss.js b/scripts/generateRss.js new file mode 100644 index 00000000000..e0f3d5561dd --- /dev/null +++ b/scripts/generateRss.js @@ -0,0 +1,6 @@ +/* + * Copyright (c) Facebook, Inc. and its affiliates. + */ +const {generateRssFeed} = require('../src/utils/rss'); + +generateRssFeed(); diff --git a/src/content/blog/2020/12/21/data-fetching-with-react-server-components.md b/src/content/blog/2020/12/21/data-fetching-with-react-server-components.md index 948096c0f75..e4b66bc1462 100644 --- a/src/content/blog/2020/12/21/data-fetching-with-react-server-components.md +++ b/src/content/blog/2020/12/21/data-fetching-with-react-server-components.md @@ -1,5 +1,8 @@ --- title: "Introducing Zero-Bundle-Size React Server Components" +author: Dan Abramov, Lauren Tan, Joseph Savona, and Sebastian Markbåge +date: 2020/12/21 +description: 2020 has been a long year. As it comes to an end we wanted to share a special Holiday Update on our research into zero-bundle-size React Server Components. --- December 21, 2020 by [Dan Abramov](https://twitter.com/dan_abramov), [Lauren Tan](https://twitter.com/potetotes), [Joseph Savona](https://twitter.com/en_JS), and [Sebastian Markbåge](https://twitter.com/sebmarkbage) diff --git a/src/content/blog/2021/06/08/the-plan-for-react-18.md b/src/content/blog/2021/06/08/the-plan-for-react-18.md index 0bf744c1ddb..be697a0a238 100644 --- a/src/content/blog/2021/06/08/the-plan-for-react-18.md +++ b/src/content/blog/2021/06/08/the-plan-for-react-18.md @@ -1,5 +1,8 @@ --- title: "The Plan for React 18" +author: Andrew Clark, Brian Vaughn, Christine Abernathy, Dan Abramov, Rachel Nabors, Rick Hanlon, Sebastian Markbåge, and Seth Webster +date: 2021/06/08 +description: The React team is excited to share a few updates. We’ve started work on the React 18 release, which will be our next major version. We’ve created a Working Group to prepare the community for gradual adoption of new features in React 18. We’ve published a React 18 Alpha so that library authors can try it and provide feedback... --- June 8, 2021 by [Andrew Clark](https://twitter.com/acdlite), [Brian Vaughn](https://github.com/bvaughn), [Christine Abernathy](https://twitter.com/abernathyca), [Dan Abramov](https://twitter.com/dan_abramov), [Rachel Nabors](https://twitter.com/rachelnabors), [Rick Hanlon](https://twitter.com/rickhanlonii), [Sebastian Markbåge](https://twitter.com/sebmarkbage), and [Seth Webster](https://twitter.com/sethwebster) diff --git a/src/content/blog/2021/12/17/react-conf-2021-recap.md b/src/content/blog/2021/12/17/react-conf-2021-recap.md index 89e407af3f0..1806c757f35 100644 --- a/src/content/blog/2021/12/17/react-conf-2021-recap.md +++ b/src/content/blog/2021/12/17/react-conf-2021-recap.md @@ -1,5 +1,8 @@ --- title: "React Conf 2021 Recap" +author: Jesslyn Tannady and Rick Hanlon +date: 2021/12/17 +description: Last week we hosted our 6th React Conf. In previous years, we've used the React Conf stage to deliver industry changing announcements such as React Native and React Hooks. This year, we shared our multi-platform vision for React, starting with the release of React 18 and gradual adoption of concurrent features. --- December 17, 2021 by [Jesslyn Tannady](https://twitter.com/jtannady) and [Rick Hanlon](https://twitter.com/rickhanlonii) diff --git a/src/content/blog/2022/03/08/react-18-upgrade-guide.md b/src/content/blog/2022/03/08/react-18-upgrade-guide.md index 66da896ec4a..9d34dfaaa32 100644 --- a/src/content/blog/2022/03/08/react-18-upgrade-guide.md +++ b/src/content/blog/2022/03/08/react-18-upgrade-guide.md @@ -1,5 +1,8 @@ --- title: "How to Upgrade to React 18" +author: Rick Hanlon +date: 2022/03/08 +description: As we shared in the release post, React 18 introduces features powered by our new concurrent renderer, with a gradual adoption strategy for existing applications. In this post, we will guide you through the steps for upgrading to React 18. --- March 08, 2022 by [Rick Hanlon](https://twitter.com/rickhanlonii) diff --git a/src/content/blog/2022/03/29/react-v18.md b/src/content/blog/2022/03/29/react-v18.md index 743404c1af9..27899fdde69 100644 --- a/src/content/blog/2022/03/29/react-v18.md +++ b/src/content/blog/2022/03/29/react-v18.md @@ -1,5 +1,8 @@ --- title: "React v18.0" +author: The React Team +date: 2022/03/08 +description: React 18 is now available on npm! In our last post, we shared step-by-step instructions for upgrading your app to React 18. In this post, we'll give an overview of what's new in React 18, and what it means for the future. --- March 29, 2022 by [The React Team](/community/team) diff --git a/src/content/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.md b/src/content/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.md index 5e8456ea3c5..f996a3ebd05 100644 --- a/src/content/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.md +++ b/src/content/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.md @@ -1,5 +1,8 @@ --- title: "React Labs: What We've Been Working On – June 2022" +author: Andrew Clark, Dan Abramov, Jan Kassens, Joseph Savona, Josh Story, Lauren Tan, Luna Ruan, Mengdi Chen, Rick Hanlon, Robert Zhang, Sathya Gunasekaran, Sebastian Markbåge, and Xuan Huang +date: 2022/06/15 +description: React 18 was years in the making, and with it brought valuable lessons for the React team. Its release was the result of many years of research and exploring many paths. Some of those paths were successful; many more were dead-ends that led to new insights. One lesson we’ve learned is that it’s frustrating for the community to wait for new features without having insight into these paths that we’re exploring. --- June 15, 2022 by [Andrew Clark](https://twitter.com/acdlite), [Dan Abramov](https://twitter.com/dan_abramov), [Jan Kassens](https://twitter.com/kassens), [Joseph Savona](https://twitter.com/en_JS), [Josh Story](https://twitter.com/joshcstory), [Lauren Tan](https://twitter.com/potetotes), [Luna Ruan](https://twitter.com/lunaruan), [Mengdi Chen](https://twitter.com/mengdi_en), [Rick Hanlon](https://twitter.com/rickhanlonii), [Robert Zhang](https://twitter.com/jiaxuanzhang01), [Sathya Gunasekaran](https://twitter.com/_gsathya), [Sebastian Markbåge](https://twitter.com/sebmarkbage), and [Xuan Huang](https://twitter.com/Huxpro) diff --git a/src/content/blog/2023/03/16/introducing-react-dev.md b/src/content/blog/2023/03/16/introducing-react-dev.md index 4ce209d7195..42fd96acd9b 100644 --- a/src/content/blog/2023/03/16/introducing-react-dev.md +++ b/src/content/blog/2023/03/16/introducing-react-dev.md @@ -1,5 +1,8 @@ --- title: "Introducing react.dev" +author: Dan Abramov and Rachel Nabors +date: 2023/03/16 +description: Today we are thrilled to launch react.dev, the new home for React and its documentation. In this post, we would like to give you a tour of the new site. --- March 16, 2023 by [Dan Abramov](https://twitter.com/dan_abramov) and [Rachel Nabors](https://twitter.com/rachelnabors) diff --git a/src/content/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023.md b/src/content/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023.md index 1f6b911e1ed..62bec03c84f 100644 --- a/src/content/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023.md +++ b/src/content/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023.md @@ -1,5 +1,8 @@ --- title: "React Labs: What We've Been Working On – March 2023" +author: +date: 2023/03/22 +description: In React Labs posts, we write about projects in active research and development. We've made significant progress on them since our last update, and we'd like to share what we learned. --- March 22, 2023 by [Joseph Savona](https://twitter.com/en_JS), [Josh Story](https://twitter.com/joshcstory), [Lauren Tan](https://twitter.com/potetotes), [Mengdi Chen](https://twitter.com/mengdi_en), [Samuel Susla](https://twitter.com/SamuelSusla), [Sathya Gunasekaran](https://twitter.com/_gsathya), [Sebastian Markbåge](https://twitter.com/sebmarkbage), and [Andrew Clark](https://twitter.com/acdlite) diff --git a/src/content/blog/2023/05/03/react-canaries.md b/src/content/blog/2023/05/03/react-canaries.md index 81da3fd006c..48c19c5a722 100644 --- a/src/content/blog/2023/05/03/react-canaries.md +++ b/src/content/blog/2023/05/03/react-canaries.md @@ -1,5 +1,8 @@ --- title: "React Canaries: Enabling Incremental Feature Rollout Outside Meta" +author: +date: 2023/05/03 +description: We'd like to offer the React community an option to adopt individual new features as soon as their design is close to final, before they're released in a stable version--similar to how Meta has long used bleeding-edge versions of React internally. We are introducing a new officially supported [Canary release channel](/community/versioning-policy#canary-channel). It lets curated setups like frameworks decouple adoption of individual React features from the React release schedule. --- May 3, 2023 by [Dan Abramov](https://twitter.com/dan_abramov), [Sophie Alpert](https://twitter.com/sophiebits), [Rick Hanlon](https://twitter.com/rickhanlonii), [Sebastian Markbåge](https://twitter.com/sebmarkbage), and [Andrew Clark](https://twitter.com/acdlite) diff --git a/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md b/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md index 2c28e9334c8..da909cc3039 100644 --- a/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md +++ b/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md @@ -1,5 +1,8 @@ --- title: "React Labs: What We've Been Working On – February 2024" +author: +date: 2024/02/15 +description: In React Labs posts, we write about projects in active research and development. We’ve made significant progress since our last update, and we’d like to share our progress. --- February 15, 2024 by [Joseph Savona](https://twitter.com/en_JS), [Ricky Hanlon](https://twitter.com/rickhanlonii), [Andrew Clark](https://twitter.com/acdlite), [Matt Carroll](https://twitter.com/mattcarrollcode), and [Dan Abramov](https://twitter.com/dan_abramov). diff --git a/src/content/blog/2024/04/25/react-19-upgrade-guide.md b/src/content/blog/2024/04/25/react-19-upgrade-guide.md index 83ba1937cc4..7298372b4b5 100644 --- a/src/content/blog/2024/04/25/react-19-upgrade-guide.md +++ b/src/content/blog/2024/04/25/react-19-upgrade-guide.md @@ -1,5 +1,8 @@ --- title: "React 19 Beta Upgrade Guide" +author: +date: 2024/04/25 +description: The improvements added to React 19 require some breaking changes, but we've worked to make the upgrade as smooth as possible and we don't expect the changes to impact most apps. In this post, we will guide you through the steps for upgrading libraries to React 19 beta. --- April 25, 2024 by [Ricky Hanlon](https://twitter.com/rickhanlonii) diff --git a/src/content/blog/2024/04/25/react-19.md b/src/content/blog/2024/04/25/react-19.md index f0d6d26dec0..4a6782cc12d 100644 --- a/src/content/blog/2024/04/25/react-19.md +++ b/src/content/blog/2024/04/25/react-19.md @@ -1,5 +1,8 @@ --- title: "React 19 Beta" +author: The React Team +date: 2024/04/25 +description: React 19 Beta is now available on npm! In this post, we'll give an overview of the new features in React 19, and how you can adopt them. --- April 25, 2024 by [The React Team](/community/team) diff --git a/src/pages/[[...markdownPath]].js b/src/pages/[[...markdownPath]].js index 76532361b1d..79f7970ad1a 100644 --- a/src/pages/[[...markdownPath]].js +++ b/src/pages/[[...markdownPath]].js @@ -12,6 +12,7 @@ import sidebarCommunity from '../sidebarCommunity.json'; import sidebarBlog from '../sidebarBlog.json'; import {MDXComponents} from 'components/MDX/MDXComponents'; import compileMDX from 'utils/compileMDX'; +import {generateRssFeed} from '../utils/rss'; export default function Layout({content, toc, meta}) { const parsedContent = useMemo( () => JSON.parse(content, reviveNodeOnClient), @@ -96,6 +97,7 @@ function reviveNodeOnClient(key, val) { // Put MDX output into JSON for client. export async function getStaticProps(context) { + generateRssFeed(); const fs = require('fs'); const rootDir = process.cwd() + '/src/content/'; diff --git a/src/utils/rss.js b/src/utils/rss.js new file mode 100644 index 00000000000..2b564eebbd5 --- /dev/null +++ b/src/utils/rss.js @@ -0,0 +1,65 @@ +/* + * Copyright (c) Facebook, Inc. and its affiliates. + */ +const Feed = require('rss'); +const fs = require('fs'); +const path = require('path'); +const matter = require('gray-matter'); + +// Recursively get all .md files +const getAllFiles = function (dirPath, arrayOfFiles) { + const files = fs.readdirSync(dirPath); + + arrayOfFiles = arrayOfFiles || []; + + files.forEach(function (file) { + if (fs.statSync(dirPath + '/' + file).isDirectory()) { + arrayOfFiles = getAllFiles(dirPath + '/' + file, arrayOfFiles); + } else { + arrayOfFiles.push(path.join(dirPath, '/', file)); + } + }); + + return arrayOfFiles; +}; + +// Put MDX output into JSON for client. +exports.generateRssFeed = function () { + const feed = new Feed({ + title: 'React Blog', + description: + 'This blog is the official source for the updates from the React team. Anything important, including release notes or deprecation notices, will be posted here first.', + feed_url: 'https://react.dev/rss.xml', + site_url: 'https://react.dev/', + language: 'en', // your target language + // image: "https://yourdomain.com/image.png", + favicon: 'https://react.dev/favicon.ico', + pubDate: new Date(), + generator: 'react.dev rss module', + }); + + // Define blog posts directory + const dirPath = path.join(process.cwd(), 'src/content/blog'); + const filesByOldest = getAllFiles(dirPath); + const files = filesByOldest.reverse(); + + for (const filePath of files) { + const content = fs.readFileSync(filePath, 'utf-8'); + const {data} = matter(content); + + const slug = filePath.split('/').slice(-4).join('/').replace('.md', ''); + const id = filePath.split('/').slice(-1).join(''); + if (id !== 'index.md') { + feed.item({ + id, + title: data.title, + author: data.author || '', + date: new Date(data.date), + url: `https://react.dev/blog/${slug}`, + description: data.description, + }); + } + } + + fs.writeFileSync('./public/rss.xml', feed.xml({indent: true})); +}; From e7f02725ed7b397534b75cc1776610ae2c1907c0 Mon Sep 17 00:00:00 2001 From: Rick Hanlon Date: Fri, 26 Apr 2024 11:24:10 -0400 Subject: [PATCH 2/3] Add rss feed --- ...what-we-have-been-working-on-march-2023.md | 2 +- src/content/blog/2023/05/03/react-canaries.md | 2 +- ...t-we-have-been-working-on-february-2024.md | 2 +- .../blog/2024/04/25/react-19-upgrade-guide.md | 2 +- src/utils/rss.js | 35 ++++++++++++++----- 5 files changed, 30 insertions(+), 13 deletions(-) diff --git a/src/content/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023.md b/src/content/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023.md index 62bec03c84f..78e53300259 100644 --- a/src/content/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023.md +++ b/src/content/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023.md @@ -1,6 +1,6 @@ --- title: "React Labs: What We've Been Working On – March 2023" -author: +author: Joseph Savona, Josh Story, Lauren Tan, Mengdi Chen, Samuel Susla, Sathya Gunasekaran, Sebastian Markbåge, and Andrew Clark date: 2023/03/22 description: In React Labs posts, we write about projects in active research and development. We've made significant progress on them since our last update, and we'd like to share what we learned. --- diff --git a/src/content/blog/2023/05/03/react-canaries.md b/src/content/blog/2023/05/03/react-canaries.md index 48c19c5a722..98c50d02b4c 100644 --- a/src/content/blog/2023/05/03/react-canaries.md +++ b/src/content/blog/2023/05/03/react-canaries.md @@ -1,6 +1,6 @@ --- title: "React Canaries: Enabling Incremental Feature Rollout Outside Meta" -author: +author: Dan Abramov, Sophie Alpert, Rick Hanlon, Sebastian Markbåge, and Andrew Clark date: 2023/05/03 description: We'd like to offer the React community an option to adopt individual new features as soon as their design is close to final, before they're released in a stable version--similar to how Meta has long used bleeding-edge versions of React internally. We are introducing a new officially supported [Canary release channel](/community/versioning-policy#canary-channel). It lets curated setups like frameworks decouple adoption of individual React features from the React release schedule. --- diff --git a/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md b/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md index da909cc3039..fee21f4ecfa 100644 --- a/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md +++ b/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md @@ -1,6 +1,6 @@ --- title: "React Labs: What We've Been Working On – February 2024" -author: +author: Joseph Savona, Ricky Hanlon, Andrew Clark, Matt Carroll, and Dan Abramov date: 2024/02/15 description: In React Labs posts, we write about projects in active research and development. We’ve made significant progress since our last update, and we’d like to share our progress. --- diff --git a/src/content/blog/2024/04/25/react-19-upgrade-guide.md b/src/content/blog/2024/04/25/react-19-upgrade-guide.md index 7298372b4b5..3d8958b3cb2 100644 --- a/src/content/blog/2024/04/25/react-19-upgrade-guide.md +++ b/src/content/blog/2024/04/25/react-19-upgrade-guide.md @@ -1,6 +1,6 @@ --- title: "React 19 Beta Upgrade Guide" -author: +author: Ricky Hanlon date: 2024/04/25 description: The improvements added to React 19 require some breaking changes, but we've worked to make the upgrade as smooth as possible and we don't expect the changes to impact most apps. In this post, we will guide you through the steps for upgrading libraries to React 19 beta. --- diff --git a/src/utils/rss.js b/src/utils/rss.js index 2b564eebbd5..c6fb8241019 100644 --- a/src/utils/rss.js +++ b/src/utils/rss.js @@ -6,7 +6,6 @@ const fs = require('fs'); const path = require('path'); const matter = require('gray-matter'); -// Recursively get all .md files const getAllFiles = function (dirPath, arrayOfFiles) { const files = fs.readdirSync(dirPath); @@ -23,7 +22,6 @@ const getAllFiles = function (dirPath, arrayOfFiles) { return arrayOfFiles; }; -// Put MDX output into JSON for client. exports.generateRssFeed = function () { const feed = new Feed({ title: 'React Blog', @@ -31,25 +29,44 @@ exports.generateRssFeed = function () { 'This blog is the official source for the updates from the React team. Anything important, including release notes or deprecation notices, will be posted here first.', feed_url: 'https://react.dev/rss.xml', site_url: 'https://react.dev/', - language: 'en', // your target language - // image: "https://yourdomain.com/image.png", + language: 'en', favicon: 'https://react.dev/favicon.ico', pubDate: new Date(), generator: 'react.dev rss module', }); - // Define blog posts directory const dirPath = path.join(process.cwd(), 'src/content/blog'); const filesByOldest = getAllFiles(dirPath); const files = filesByOldest.reverse(); for (const filePath of files) { - const content = fs.readFileSync(filePath, 'utf-8'); - const {data} = matter(content); - - const slug = filePath.split('/').slice(-4).join('/').replace('.md', ''); const id = filePath.split('/').slice(-1).join(''); if (id !== 'index.md') { + const content = fs.readFileSync(filePath, 'utf-8'); + const {data} = matter(content); + const slug = filePath.split('/').slice(-4).join('/').replace('.md', ''); + + if (data.title == null || data.title.trim() === '') { + throw new Error( + `${id}: Blog posts must include a title in the metadata, for RSS feeds` + ); + } + if (data.author == null || data.author.trim() === '') { + throw new Error( + `${id}: Blog posts must include an author in the metadata, for RSS feeds` + ); + } + if (data.date == null || data.date.trim() === '') { + throw new Error( + `${id}: Blog posts must include a date in the metadata, for RSS feeds` + ); + } + if (data.description == null || data.description.trim() === '') { + throw new Error( + `${id}: Blog posts must include a description in the metadata, for RSS feeds` + ); + } + feed.item({ id, title: data.title, From 23922c7fa7663b170d0b32824a8542027706dd67 Mon Sep 17 00:00:00 2001 From: Rick Hanlon Date: Fri, 26 Apr 2024 11:52:20 -0400 Subject: [PATCH 3/3] =?UTF-8?q?rss=20readers=20don't=20like=20=C3=A5=20cha?= =?UTF-8?q?racters?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../2020/12/21/data-fetching-with-react-server-components.md | 2 +- src/content/blog/2021/06/08/the-plan-for-react-18.md | 2 +- .../06/15/react-labs-what-we-have-been-working-on-june-2022.md | 2 +- .../03/22/react-labs-what-we-have-been-working-on-march-2023.md | 2 +- src/content/blog/2023/05/03/react-canaries.md | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/content/blog/2020/12/21/data-fetching-with-react-server-components.md b/src/content/blog/2020/12/21/data-fetching-with-react-server-components.md index e4b66bc1462..b3885349435 100644 --- a/src/content/blog/2020/12/21/data-fetching-with-react-server-components.md +++ b/src/content/blog/2020/12/21/data-fetching-with-react-server-components.md @@ -1,6 +1,6 @@ --- title: "Introducing Zero-Bundle-Size React Server Components" -author: Dan Abramov, Lauren Tan, Joseph Savona, and Sebastian Markbåge +author: Dan Abramov, Lauren Tan, Joseph Savona, and Sebastian Markbage date: 2020/12/21 description: 2020 has been a long year. As it comes to an end we wanted to share a special Holiday Update on our research into zero-bundle-size React Server Components. --- diff --git a/src/content/blog/2021/06/08/the-plan-for-react-18.md b/src/content/blog/2021/06/08/the-plan-for-react-18.md index be697a0a238..42843cc42ce 100644 --- a/src/content/blog/2021/06/08/the-plan-for-react-18.md +++ b/src/content/blog/2021/06/08/the-plan-for-react-18.md @@ -1,6 +1,6 @@ --- title: "The Plan for React 18" -author: Andrew Clark, Brian Vaughn, Christine Abernathy, Dan Abramov, Rachel Nabors, Rick Hanlon, Sebastian Markbåge, and Seth Webster +author: Andrew Clark, Brian Vaughn, Christine Abernathy, Dan Abramov, Rachel Nabors, Rick Hanlon, Sebastian Markbage, and Seth Webster date: 2021/06/08 description: The React team is excited to share a few updates. We’ve started work on the React 18 release, which will be our next major version. We’ve created a Working Group to prepare the community for gradual adoption of new features in React 18. We’ve published a React 18 Alpha so that library authors can try it and provide feedback... --- diff --git a/src/content/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.md b/src/content/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.md index f996a3ebd05..00b76baf409 100644 --- a/src/content/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.md +++ b/src/content/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.md @@ -1,6 +1,6 @@ --- title: "React Labs: What We've Been Working On – June 2022" -author: Andrew Clark, Dan Abramov, Jan Kassens, Joseph Savona, Josh Story, Lauren Tan, Luna Ruan, Mengdi Chen, Rick Hanlon, Robert Zhang, Sathya Gunasekaran, Sebastian Markbåge, and Xuan Huang +author: Andrew Clark, Dan Abramov, Jan Kassens, Joseph Savona, Josh Story, Lauren Tan, Luna Ruan, Mengdi Chen, Rick Hanlon, Robert Zhang, Sathya Gunasekaran, Sebastian Markbage, and Xuan Huang date: 2022/06/15 description: React 18 was years in the making, and with it brought valuable lessons for the React team. Its release was the result of many years of research and exploring many paths. Some of those paths were successful; many more were dead-ends that led to new insights. One lesson we’ve learned is that it’s frustrating for the community to wait for new features without having insight into these paths that we’re exploring. --- diff --git a/src/content/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023.md b/src/content/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023.md index 78e53300259..aeb677f31b5 100644 --- a/src/content/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023.md +++ b/src/content/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023.md @@ -1,6 +1,6 @@ --- title: "React Labs: What We've Been Working On – March 2023" -author: Joseph Savona, Josh Story, Lauren Tan, Mengdi Chen, Samuel Susla, Sathya Gunasekaran, Sebastian Markbåge, and Andrew Clark +author: Joseph Savona, Josh Story, Lauren Tan, Mengdi Chen, Samuel Susla, Sathya Gunasekaran, Sebastian Markbage, and Andrew Clark date: 2023/03/22 description: In React Labs posts, we write about projects in active research and development. We've made significant progress on them since our last update, and we'd like to share what we learned. --- diff --git a/src/content/blog/2023/05/03/react-canaries.md b/src/content/blog/2023/05/03/react-canaries.md index 98c50d02b4c..19d9960b019 100644 --- a/src/content/blog/2023/05/03/react-canaries.md +++ b/src/content/blog/2023/05/03/react-canaries.md @@ -1,6 +1,6 @@ --- title: "React Canaries: Enabling Incremental Feature Rollout Outside Meta" -author: Dan Abramov, Sophie Alpert, Rick Hanlon, Sebastian Markbåge, and Andrew Clark +author: Dan Abramov, Sophie Alpert, Rick Hanlon, Sebastian Markbage, and Andrew Clark date: 2023/05/03 description: We'd like to offer the React community an option to adopt individual new features as soon as their design is close to final, before they're released in a stable version--similar to how Meta has long used bleeding-edge versions of React internally. We are introducing a new officially supported [Canary release channel](/community/versioning-policy#canary-channel). It lets curated setups like frameworks decouple adoption of individual React features from the React release schedule. ---