From 7b57cb64b5ca943a18905a2af1521bf79d94a80b Mon Sep 17 00:00:00 2001 From: Dan Abramov Date: Tue, 24 Jan 2023 05:06:05 +0000 Subject: [PATCH] More redirects --- beta/vercel.json | 156 ++++++++++++++++++++++++++++++++--------------- 1 file changed, 108 insertions(+), 48 deletions(-) diff --git a/beta/vercel.json b/beta/vercel.json index 29e9acee..3098945b 100644 --- a/beta/vercel.json +++ b/beta/vercel.json @@ -5,173 +5,233 @@ "trailingSlash": false, "redirects": [ { - "source": "/:path*(\\.html)", - "destination": "https://legacy.reactjs.org/:path*.html", + "source": "/docs/add-react-to-a-website.html", + "destination": "/learn/add-react-to-a-website", "permanent": false }, { - "source": "/tips/controlled-input-null-value.html", - "destination": "/docs/forms.html#controlled-input-null-value", + "source": "/docs/create-a-new-react-app.html", + "destination": "/learn/start-a-new-react-project", "permanent": false }, { - "source": "/link/switch-to-createroot", - "destination": "https://github.com/reactwg/react-18/discussions/5", + "source": "/docs/release-channels.html", + "destination": "/community/versioning-policy", "permanent": false }, { - "source": "/server-components", - "destination": "/blog/2020/12/21/data-fetching-with-react-server-components.html", + "source": "/docs/thinking-in-react.html", + "destination": "/learn/thinking-in-react", "permanent": false }, { - "source": "/concurrent", - "destination": "/docs/concurrent-mode-intro.html", + "source": "/tutorial/tutorial.html", + "destination": "/learn/tutorial-tic-tac-toe", "permanent": false }, { - "source": "/hooks", - "destination": "/docs/hooks-intro.html", + "source": "/community/support.html", + "destination": "/community", "permanent": false }, { - "source": "/tutorial", - "destination": "/tutorial/tutorial.html", + "source": "/community/conferences.html", + "destination": "/community/conferences", + "permanent": false + }, + { + "source": "/community/meetups.html", + "destination": "/community/meetups", + "permanent": false + }, + { + "source": "/community/team.html", + "destination": "/community/team", + "permanent": false + }, + { + "source": "/community/videos.html", + "destination": "/community/videos", + "permanent": false + }, + { + "source": "/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.html", + "destination": "/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022", + "permanent": false + }, + { + "source": "/blog/2022/03/29/react-v18.html", + "destination": "/blog/2022/03/29/react-v18", + "permanent": false + }, + { + "source": "/blog/2022/03/08/react-18-upgrade-guide.html", + "destination": "/blog/2022/03/08/react-18-upgrade-guide", + "permanent": false + }, + { + "source": "/blog/2021/12/17/react-conf-2021-recap.html", + "destination": "/blog/2021/12/17/react-conf-2021-recap", "permanent": false }, { - "source": "/your-story", - "destination": "https://www.surveymonkey.co.uk/r/MVQV2R9", + "source": "/blog/2021/06/08/the-plan-for-react-18.html", + "destination": "/blog/2021/06/08/the-plan-for-react-18", "permanent": false }, { - "source": "/stories", - "destination": "https://medium.com/react-community-stories", + "source": "/blog/2020/12/21/data-fetching-with-react-server-components.html", + "destination": "/blog/2020/12/21/data-fetching-with-react-server-components", "permanent": false }, { - "source": "/html-jsx.html", - "destination": "", + "source": "/:path*(\\.html)", + "destination": "https://legacy.reactjs.org/:path*.html", + "permanent": false + }, + { + "source": "/tips/controlled-input-null-value.html", + "destination": "/reference/react-dom/components/input#im-getting-an-error-a-component-is-changing-an-uncontrolled-input-to-be-controlled", + "permanent": false + }, + { + "source": "/link/switch-to-createroot", + "destination": "https://github.com/reactwg/react-18/discussions/5", + "permanent": false + }, + { + "source": "/server-components", + "destination": "/blog/2020/12/21/data-fetching-with-react-server-components", + "permanent": false + }, + { + "source": "/concurrent", + "destination": "/blog/2022/03/29/react-v18", + "permanent": false + }, + { + "source": "/hooks", + "destination": "/reference/react", + "permanent": false + }, + { + "source": "/tutorial", + "destination": "/learn/tutorial-tic-tac-toe", "permanent": false }, { "source": "/link/attribute-behavior", - "destination": "/blog/2017/09/08/dom-attributes-in-react-16.html#changes-in-detail", + "destination": "https://legacy.reactjs.org/blog/2017/09/08/dom-attributes-in-react-16.html#changes-in-detail", "permanent": false }, { "source": "/link/controlled-components", - "destination": "/docs/forms.html#controlled-components", + "destination": "/reference/react-dom/components/input#controlling-an-input-with-a-state-variable", "permanent": false }, { "source": "/link/crossorigin-error", - "destination": "/docs/cross-origin-errors.html", + "destination": "https://legacy.reactjs.org/docs/cross-origin-errors.html", "permanent": false }, { "source": "/link/dangerously-set-inner-html", - "destination": "/docs/dom-elements.html#dangerouslysetinnerhtml", + "destination": "/reference/react-dom/components/common#dangerously-setting-the-inner-html", "permanent": false }, { "source": "/link/derived-state", - "destination": "/blog/2018/06/07/you-probably-dont-need-derived-state.html", + "destination": "https://legacy.reactjs.org/blog/2018/06/07/you-probably-dont-need-derived-state.html", "permanent": false }, { "source": "/link/error-boundaries", - "destination": "/docs/error-boundaries.html", + "destination": "https://legacy.reactjs.org/docs/error-boundaries.html", "permanent": false }, { "source": "/link/event-pooling", - "destination": "/docs/legacy-event-pooling.html", + "destination": "https://legacy.reactjs.org/docs/legacy-event-pooling.html", "permanent": false }, { "source": "/link/hooks-data-fetching", - "destination": "/docs/hooks-faq.html#how-can-i-do-data-fetching-with-hooks", + "destination": "/reference/react/useEffect#fetching-data-with-effects", "permanent": false }, { "source": "/link/invalid-aria-props", - "destination": "/warnings/invalid-aria-prop.html", + "destination": "/warnings/invalid-aria-prop", "permanent": false }, { "source": "/link/invalid-hook-call", - "destination": "/warnings/invalid-hook-call-warning.html", + "destination": "/warnings/invalid-hook-call-warning", "permanent": false }, { "source": "/link/legacy-context", - "destination": "/docs/legacy-context.html", + "destination": "https://legacy.reactjs.org/docs/legacy-context.html", "permanent": false }, { "source": "/link/legacy-factories", - "destination": "/warnings/legacy-factories.html", - "permanent": false - }, - { - "source": "/link/mock-scheduler", - "destination": "", + "destination": "https://legacy.reactjs.org/warnings/legacy-factories.html", "permanent": false }, { "source": "/link/perf-use-production-build", - "destination": "/docs/optimizing-performance.html#use-the-production-build", + "destination": "https://legacy.reactjs.org/docs/optimizing-performance.html#use-the-production-build", "permanent": false }, { "source": "/link/react-devtools", - "destination": "/blog/2015/09/02/new-react-developer-tools.html#installation", + "destination": "/learn/react-developer-tools", "permanent": false }, { "source": "/link/react-polyfills", - "destination": "/docs/javascript-environment-requirements.html", + "destination": "https://legacy.reactjs.org/docs/javascript-environment-requirements.html", "permanent": false }, { "source": "/link/refs-must-have-owner", - "destination": "/warnings/refs-must-have-owner.html", + "destination": "https://legacy.reactjs.org/warnings/refs-must-have-owner.html", "permanent": false }, { "source": "/link/rules-of-hooks", - "destination": "/docs/hooks-rules.html", + "destination": "/warnings/invalid-hook-call-warning", "permanent": false }, { "source": "/link/special-props", - "destination": "/warnings/special-props.html", + "destination": "/warnings/special-props", "permanent": false }, { "source": "/link/strict-mode-find-node", - "destination": "/docs/strict-mode.html#warning-about-deprecated-finddomnode-usage", + "destination": "/reference/react-dom/findDOMNode#alternatives", "permanent": false }, { "source": "/link/strict-mode-string-ref", - "destination": "/docs/refs-and-the-dom.html#legacy-api-string-refs", + "destination": "https://legacy.reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs", "permanent": false }, { "source": "/link/unsafe-component-lifecycles", - "destination": "/blog/2018/03/27/update-on-async-rendering.html", + "destination": "https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html", "permanent": false }, { "source": "/link/warning-keys", - "destination": "/docs/lists-and-keys.html#keys", + "destination": "/learn/rendering-lists#keeping-list-items-in-order-with-key", "permanent": false }, { "source": "/link/wrap-tests-with-act", - "destination": "/docs/test-utils.html#act", + "destination": "https://legacy.reactjs.org/docs/test-utils.html#act", "permanent": false }, {