-
-
Notifications
You must be signed in to change notification settings - Fork 26.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create React App Gone From React.dev, What happens to it now? #13072
Comments
Good luck getting information - haven't seen a dev on here in a long time. The biggest issue is that this project has been dead for a while, but it still isn't deprecated. An RFC or a "rebirth" of CRA might be in the future, but that doesn't solve the issue that has been plaguing new react users: being told to work with a buggy and restrictive starter template. Look at the amount of issues on this repo. So many of them are new people not being able to even run CRA. So many of these people give up on React due to their experience with CRA. This repo needs to be deprecated. Maybe it can come back if there is an RFC or "rebirth" that was completed and ready to be shipped, but until then, it needs to be clear that this repo shouldn't be used. |
we need this package, it is very useful for the beginner to set up the react and learn react not any framework. |
Quick Edit: Hey I know I kind of wrote a novel here, and added a good chunk of pictures, but I have seen this "CRA is useful for beginners to learn React" line thrown around a lot and I really wanted to try to show the issue with it in the simplest way possible. I appreciate everyone who reads this and if you think I am wrong in any way, I am more than willing to hear you out. I always want to learn more and refine my perspective on situations. I kind of agree, but I think the documentation goes over this. There is a difference between learning react and building an actual project you care about. The react docs now have lots of build in sandbox examples/lessons for people to be able to experiment on. They also link to online sandbox environments for people to play around and learn with. Being able to go to a sandbox environment that you can save and come back to later (accessible on any computer) is simply a lot easier than having to download a template, install the modules through either npm, yarn, or pnpm, and then have to do it again if you need to access the code outside of that one machine you are using. Back when I was in college, I had to use the library computers a lot and did not have access to my PC. I ended up remoting into my PC from the library computers, but that took work that many people don't initially think about doing. How easy is it now that we can just go to a sandbox website, save a project for free, and then just go to that website at the library to continue working? This is the same thing as Microsoft Word vs Google Docs. One is online, easily accessible, and sharable. The only is installed locally and can be a pain to collaborate with others on. This is why the React team recommends using online sandbox environments for learning/playing around: Now I think there is a major point that makes me slightly hesitant to recommend any SPA template - React is moving away from SPAs. The past year or so, the React team has been working hard on finishing up RFCs that relate to Server Components. This is the main RFC, but there are many other supplemental ones like this RFC. The reality is that just like Hooks shook up the React ecosystem and really helped React as a whole, Server Components are going to do the same thing. React is going into a direction of having both Client and Server Components intermingling and making up the application. I say this because Server Components are not compatible with SPAs. Create React App is an SPA template. As it is now, people who learn from Create React App are going to only learn a subsection about what React offers. And what is worse, is that people are creatures of habit. When we learn to do something one way, we don't always want to change that. So limiting the scope of potential knowledge for a beginner could lead to bad or outdated habits. Examples of why CRA is bad for beginners:Lastly, why do you think CRA is good for beginners? It is very narrow minded in the sense that it offers very little to the user at the beginning. Sure it builds the project, allows for a dev mode with HMR, and has environment variables set up, but that's mainly it. Literally every solution offers that as a base. What happens when you want to add another page to a CRA project? Now you have to learn a router package. Which one? Time to research packages. CRA 1 example:So the person types into Google "react add new url for page" because they don't know the term "router" yet. Sure enough a tutorial pops up for React Router. Edit: real quick, just wanted to make sure this example was 1-to-1 with its counterpart below, so I changed the search criteria to "create react app add new url for page". It still resulted in the same search results as above:
NextJS example:Now lets looks at the same issue, but lets assume the user is now using NextJS instead of CRA. Type in "nextjs add new url for page". On my end, Google looks like this: Great. Lets look at the top link. Oh it says to click on the Router documentation before reading further. Lets click the link.
CRA 2 example (aka the Try To Show CRA In The Best Light example):Now for this last example, I am going to be as nice to Create React App as I can. Lets do the same issue (I want to learn about Routers and creating a new Route to a component), but now I know that the concept is called Routing and I decide to look through the Create React App's documentation website instead of using Google. Oh hey, I found the Routing page on CRA's website: Great. It has an npm command I can use to install and it has a yarn command that seems to be the equivalent. How handy! I learned something new already :) . I also see a link at the top telling me to use React Router. Let me click on it and learn about React Router. Oh great. Seems like they moved, lets click on the new link. Cool! Looks like this is the website. Let me quickly bring up the other link though. On the CRA page, it said that "The Basic Example is a good place to get started." So I learn better looking directly at code, so lets quickly click on the example link and if I run into anything hard, I will jump back to the official React Router page in my 2nd tab and read on up the issue. Oh. Ok well the example link clearly goes to an example (I hovered over the link and saw the URL before clicking), but I am running into the same issue as before. Let me just click this new link and see where it takes me. Great... back at the React Router website. Ok. So no examples for me. Let me at least click on the Tutorial section and see if I can add it to my app that way. Wait... Wtf is Vite??? I am using CRA and now this tells me to use Vite? Can that fit into CRA? Now I need to research Vite (or go back to CRA 1 Example and follow that process). I know I wrote a lot, but I am trying to show the issues in the easiest way possible. If a user is truly a beginner, just use online sandboxing sites. It provides everything that CRA did in terms of learning. If a user is going past the barebone basics (like setting up Routing), then CRA isn't the easiest solution for them. It will cause headaches and make people want to leave the React ecosystem. Using CRA burns out new react developers - it hurts more than it helps. With all that said, if you want a almost 1-to-1 replace of CRA, but one that is actually being updated and has far more opportunities of growing your knowledge and project, use Vite. But if you want to make sure you are learning all the features of React (including the new Server Components), your best bet is to migrate from an online sandbox to one of the Frameworks that the React Devs suggest. |
@loren138 This is the closest thing we have to an official roadmap for create-react-app at this point: reactjs/react.dev#5487 (comment) To summarize, it will become a launcher for other recommended tools, rather than being a standalone tool. |
I think React playgrounds in web-browsers are a potential alternative for getting starting learning to build/use components. The problem is that websites come and go really regularly so writing a tutorial that lives for year(s) based on the UI of something like react.new might work and be free today, have a different UI tomorrow, and become paid later. In spite of the "issues" of being really infrequent to update, that was also a real benefit for the longevity of books and tutorials based on CRA. |
Dan Abramov posted a thread on twitter that seems to answer this: Posting a little bit of it:
My summary, is CRA is dead because what he'd like to build is essentially what next.js and Gatsby already are. |
Appears I was wrong in my assumption based on this reddit post: https://www.reddit.com/r/reactjs/comments/11u1r3w/comment/jcmimez/?utm_source=share&utm_medium=web2x&context=3
|
@loren138 found this post by accident. If you mean The Road to React by "printed book", it has moved on to Vite in its late 2022 edition. However, as we see now, the React team sees it differently and wants to move more towards frameworks/SSR. Anyway, for what it's worth, I just wrote a blog post today about the whole starter project discussion if it helps! |
Nope, it's actually my/my company's book https://www.amazon.com/React-Programming-Ranch-Guide-Guides/dp/0137901763/ |
I fully agree with the analysis of @getsalty ! More generally, I think it would be irresponsible to recommend a dead (or undead) framework to new developers, even if the framework still has many downloads. |
… and adding any relevant notes I see as of May 18(ish). - Added .idea to .gitignore - Added .idea to Jekyll Exclude list - [ ] Consider accessibility features * http://www.goring.org/resources/accessibility.html * https://github.com/benbalter/ra11y * adding an indicator for links that open in new tabs - [ ] Consider adding "Archived" banner to the top of any parts of the site that are kept but are not intended for current reference for example, all the pages [in this section](http://localhost:4000/guide.html#archives). - Updated External Links to open a new tab. - Updated SASS for blockquote within post-content to not be enormous. - Added a few classes for Notes and Asides - [ ] TODO: Resolve SST Console Warning [See the migration guide](https://a.co/7PzMCcy) (node:85684) NOTE: We are formalizing our plans to enter AWS SDK for JavaScript (v2) into maintenance mode in 2023. Please migrate your code to use AWS SDK for JavaScript (v3). For more information, check the migration guide at https://a.co/7PzMCcy (Use `node --trace-warnings ...` to show where the warning was created) 16:14:43.391 - [ ] TODO: Clean up legacy guide files so it doesn't clutter the current fileset. - [ ] TODO: Correctly manage the path_id variable in code examples to ensure they are present without code duplication. - [ ] TODO: Switch from Amplify API to RestApi or GraphQLAPI based on note in API.d.ts (See Warning in console.sst.dev) - [ ] Consider adding a chapter on accessibility in the frontend creation section. * [React Accessibility](https://legacy.reactjs.org/docs/accessibility.html) - New Accessibility guides are still pending based on announcement on 3/16/2023 * https://www.freecodecamp.org/news/react-accessibility-tools-build-accessible-react-apps/ * https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/React_accessibility - [ ] [Consider using Next.js for the guide](https://discourse.sst.dev/t/what-does-this-guide-cover/83/7?u=christinep2) - [ ] [Consider switching example to React Native](https://discourse.sst.dev/t/what-does-this-guide-cover/83/8?u=christinep2) _no specific changes_ - Removed link to the What is AWS Lambda chapter as it encourages skipping the rest of the current page. - [ ] [Consider decreasing specificity in Lambda Spec Description](/chapters/what-is-aws-lambda.html#lambda-specs) - As AWS modifies its offerings, the description can be outdated. By speaking in generalities and linking directly to AWS for specificity the document will be less fragile. - [ ] Consider specifying a timeframe on the cost calculation to account for pricing changes over time. - Tested steps with a new AWS Account. - Removed reference to specific language since they changed the call to action. Also removed screenshot as it was outdated. - Updated chapter instructions & screenshots. - Updated screenshots at 1280x783. - Screenshots located in `create-iam-user` - Left old screenshots in `iam-user` for other languages as I couldn't update them to match the new instructions. - Tested steps with a clean install on Mac. - [ ] Consider adding [Chocolatey](https://chocolatey.org/) [instructions for Windows](https://discourse.sst.dev/t/configure-the-aws-cli/86/3?u=christinep2. - [ ] (Consider adding instructions for *NIX flavors.)[https://discourse.sst.dev/t/configure-the-aws-cli/86/5?u=christinep2] - [ ] Consider adding a link to the AWS instructions instead, in case that is easier. - Removed link to other chapters as it encourages skipping the current document - Added links for the specific IDE Instructions - [ ] Consider removing the penultimate sentence regarding the alternative guide since it is archived. - Added "using CDK" into the first sentence based on the confusion mentioned in the chapter comments - Changed references to pnpm - Added question mark to title to match the other titles in the section and the title of the comments page. - updated to pnpm - [ ] Need to update Next Steps command line output as follows - cd notes - pnpm add (or npm, or yarn) - pnpm exec sst dev - updated to pnpm - Added instructions for Safari et. al. users found in [this discord thread](https://discord.com/channels/983865673656705025/1102040862143303751/1102073623516282890) - [ ] Safari instructions for mkcert usage are not working. Need to investigate further. _no specific changes_ - updated to pnpm - updated to typescript - Added clarification as specified in comment 1. Regarding the statement "There’s no specific reason why we are creating a separate stack for these resources." Would it be fair to say that the decision to have separate stacks increases application maintainability? It seems like it could fall under the principle of "separation of concerns". 2. Why is the Hello World API still present in console after this step? - updated to pnpm - updated to typescript - small wording changes - moved bucket in return to above table instead of below, matching location in the stack file and alphabetically ordered. - git commit as a one line command to facilitate using the copy option for the code. _no specific changes_ - updated to pnpm - updated to typescript - Added info about DRYness and maintainability to the refactor section. - Should we uninstall the aws-sdk (or @AWS-SDK) from functions when we install it into core? - Should the user re-test after the refactor to ensure it still works? - Do we need to add [this note](https://discourse.sst.dev/t/add-an-api-to-create-a-note/2451/18?u=christinep2) for Windows users into the guide? - Referenced [this error handling blog post](https://kentcdodds.com/blog/get-a-catch-block-error-message-with-typescript) for the error code in handler. - I'm seeing a delay as I add the API endpoints with seeing them in the console. I experienced on two different run-throughs, is this expected? If so, can we add a note to that effect at this point so people don't try and debug? - updated to pnpm - updated to typescript - Updated to typescript - Updated to use docs variable instead of hardcoded url - Updated to typescript - Switched to PNPM - Used optional chaining operator for `requestContext.authorizer`. Should we have a different solution? - Redo screenshots and update text to match new UI - Rewrite to use the SST Secrets CLI based on the information found here: https://docs.sst.dev/config#should-i-use-configsecret-or-env-for-secrets - Updated to typescript - Switched to PNPM - [ ] Consider not using [nested ternary operators](https://medium.com/@benlmsc/stop-using-nested-ternary-operators-heres-why-53e7e078e65a). - Switch to Typescript for testing - Switch to PNPM - Add instructions to add Vite Test to workspace - [ ] Consider including tests as we build out the API instead of at the end, or at least adding a note that this is a preferred approach for ensuring properly tested code. - Switch to Typescript - Switch to PNPM - Switch to Typescript - Switch to PNPM - Switch to Typescript - Switch to PNPM - Minor wording changes - [ ] Need to [replace create-react-app with one of the recommended solutions](facebook/create-react-app#13072) as create-react-app is being deprecated. - [ ] Consider adding tests alongside new code from this point forward. - Minor wording changes - Update final screenshot to show tsx file instead of js file - Switch to Typescript - Switch to PNPM - Minor wording changes - Switch to Typescript - Switch to PNPM - Minor wording changes - Switch to Typescript - Switch to PNPM - Minor wording changes - Switch to PNPM - Switch to Typescript - Minor wording changes - Switch to Typescript - Minor wording changes - Switch to Typescript - Switch to PNPM - Minor wording changes - Switch to Typescript - Switch to PNPM - Minor wording changes - Switch to Typescript - Switch to PNPM - Minor wording changes - Switch to Typescript - Switch to Typescript - Move import of UseEffect above explainer so that consumer is not sidetracked by the import not being present. - Switch to Typescript - Switch to Typescript - Switch to Typescript - Switch to Typescript No Changes - Switch to Typescript - Minor wording changes - Switch to Typescript - Minor wording changes - [ ] Do we want to add the handling for UserExists in? https://discourse.sst.dev/t/signup-with-aws-cognito/130/74?u=christinep2 - Switch to Typescript - Minor wording changes - Switch to Typescript - Minor wording changes - Switch to Typescript - Switch to Typescript - Added helpful note from @sometimescasey - [ ] Update troubleshooting tips if outdated. - Switch to Typescript - Minor wording changes - Switch to Typescript - Move Import immediately after adding code so consumer is not distracted by errors - Switch to Typescript - Switch to Typescript - Minor wording changes - Move Import immediately after adding code so consumer is not distracted by errors - Switch to Typescript - Minor wording changes - Switch to Typescript - Minor wording changes - Switch to Typescript - Minor wording changes - Switch to Typescript - Switch to PNPM - Minor wording changes - Switch to Typescript - Switch to PNPM - Switch to Typescript - Switch to PNPM No Changes - Switch to Typescript - Switch to Typescript - Switch to Typescript Skipped. - Switch to Typescript - Minor wording changes - Switch to Typescript/PNPM - Minor wording changes - [ ] I tried switching the domain and the alias so that I could easily remove the domain alias and use it for my "real" app and leave the subdomain for this demo, but it erred with the message. ``` Error: Validation failed with the following errors: [prod-notes-FrontendStack/ReactSite/Redirect/RedirectCertificate] DNS zone www-notes.manuals4life.com is not authoritative for certificate domain name manuals4life.com ``` In orde to keep the statement "You can switch these around so that the root domain redirects to the `www.` version as well.", I believe we'd need additional information dealing with the CAA record or whatever tripped it up. No Changes No Changes (other than the global new tab for external links) - Switch References to Typescript - Minor wording changes - [ ] Needs new Screenshots using serverless-stack demo notes app. - [ ] Might add a screenshot pointing at settings in the UI? - Switch References to sst secret instead of .env.local - Minor wording changes - minor wording changes No Changes - Switch to Typescript - Switched to `pnpm add @sentry/react` from `@sentry/browser` - Added an ErrorInfoType - [ ] Needs new Screenshots - Switch to Typescript - Switch to Typescript - Change multiline ternary to if/else - Updated screenshot for react error - [ ] Needs new Screenshots for Sentry confirmations - Switch to Typescript - Switch to Typescript - [ ] Logging extra information is incorrectly displaying `[object Object]` - Switch references to Typescript - Switch references to Typescript - Switch references to Typescript - Switch references to PNPM - Updated to typescript - Updated referenced pages What is IAM and What is an ARN - Updated text to remove wording implying it is a step in the guide - Updated to pnpm - Updated to typescript
As I work through the guide, I add notes and I also read the comments and adding any relevant notes I see as of May 18(ish). ~~ Site Wide **** Changes - Added .idea to .gitignore - Added .idea to Jekyll Exclude list **** Notes - [ ] Consider accessibility features * http://www.goring.org/resources/accessibility.html * https://github.com/benbalter/ra11y * adding an indicator for links that open in new tabs - [ ] Consider adding "Archived" banner to the top of any parts of the site that are kept but are not intended for current reference for example, all the pages [in this section](http://localhost:4000/guide.html#archives). ~~ Guide **** Changes - Updated External Links to open a new tab. - Updated SASS for blockquote within post-content to not be enormous. - Added a few classes for Notes and Asides **** Notes - [ ] TODO: Resolve SST Console Warning [See the migration guide](https://a.co/7PzMCcy) (node:85684) NOTE: We are formalizing our plans to enter AWS SDK for JavaScript (v2) into maintenance mode in 2023. Please migrate your code to use AWS SDK for JavaScript (v3). For more information, check the migration guide at https://a.co/7PzMCcy (Use `node --trace-warnings ...` to show where the warning was created) 16:14:43.391 - [ ] TODO: Clean up legacy guide files so it doesn't clutter the current fileset. - [ ] TODO: Correctly manage the path_id variable in code examples to ensure they are present without code duplication. - [ ] TODO: Switch from Amplify API to RestApi or GraphQLAPI based on note in API.d.ts (See Warning in console.sst.dev) - [ ] Consider adding a chapter on accessibility in the frontend creation section. * [React Accessibility](https://legacy.reactjs.org/docs/accessibility.html) - New Accessibility guides are still pending based on announcement on 3/16/2023 * https://www.freecodecamp.org/news/react-accessibility-tools-build-accessible-react-apps/ * https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/React_accessibility ~~ Chapter Specific @@@ What Does This Guide Cover **** Notes (From Discourse comments) - [ ] [Consider using Next.js for the guide](https://discourse.sst.dev/t/what-does-this-guide-cover/83/7?u=christinep2) - [ ] [Consider switching example to React Native](https://discourse.sst.dev/t/what-does-this-guide-cover/83/8?u=christinep2) @@@ How to Get Help? _no specific changes_ @@@ What is Serverless? **** Changes - Removed link to the What is AWS Lambda chapter as it encourages skipping the rest of the current page. @@@ What is AWS Lambda? **** Notes - [ ] [Consider decreasing specificity in Lambda Spec Description](/chapters/what-is-aws-lambda.html#lambda-specs) - As AWS modifies its offerings, the description can be outdated. By speaking in generalities and linking directly to AWS for specificity the document will be less fragile. @@@ Why Create Serverless Apps? **** Notes - [ ] Consider specifying a timeframe on the cost calculation to account for pricing changes over time. @@@ Create an AWS Account **** Changes - Tested steps with a new AWS Account. - Removed reference to specific language since they changed the call to action. Also removed screenshot as it was outdated. @@@ Create an IAM User **** Changes - Updated chapter instructions & screenshots. - Updated screenshots at 1280x783. - Screenshots located in `create-iam-user` - Left old screenshots in `iam-user` for other languages as I couldn't update them to match the new instructions. @@@ Configure the AWS CLI **** Changes - Tested steps with a clean install on Mac. **** Notes - [ ] Consider adding [Chocolatey](https://chocolatey.org/) [instructions for Windows](https://discourse.sst.dev/t/configure-the-aws-cli/86/3?u=christinep2. - [ ] (Consider adding instructions for *NIX flavors.)[https://discourse.sst.dev/t/configure-the-aws-cli/86/5?u=christinep2] - [ ] Consider adding a link to the AWS instructions instead, in case that is easier. @@@ What is SST? **** Changes - Removed link to other chapters as it encourages skipping the current document - Added links for the specific IDE Instructions **** Notes - [ ] Consider removing the penultimate sentence regarding the alternative guide since it is archived. @@@ What is Infrastructure as Code? **** Changes - Added "using CDK" into the first sentence based on the confusion mentioned in the chapter comments @@@ What is AWS CDK? **** Changes - Changed references to pnpm - Added question mark to title to match the other titles in the section and the title of the comments page. @@@ Create an SST app **** Changes - updated to pnpm **** Notes - [ ] Need to update Next Steps command line output as follows - cd notes - pnpm add (or npm, or yarn) - pnpm exec sst dev @@@ Create a Hello World API **** Changes - updated to pnpm - Added instructions for Safari et. al. users found in [this discord thread](https://discord.com/channels/983865673656705025/1102040862143303751/1102073623516282890) **** Notes - [ ] Safari instructions for mkcert usage are not working. Need to investigate further. @@@ Initialize a Github Repo _no specific changes_ @@@ Create a DynamoDB Table in SST **** Changes - updated to pnpm - updated to typescript - Added clarification as specified in comment **** Questions 1. Regarding the statement "There’s no specific reason why we are creating a separate stack for these resources." Would it be fair to say that the decision to have separate stacks increases application maintainability? It seems like it could fall under the principle of "separation of concerns". 2. Why is the Hello World API still present in console after this step? @@@ Create a S3 Bucket in SST **** Changes - updated to pnpm - updated to typescript - small wording changes - moved bucket in return to above table instead of below, matching location in the stack file and alphabetically ordered. - git commit as a one line command to facilitate using the copy option for the code. @@@ Review Our App Architecture _no specific changes_ @@@ Add an API to Create a Note **** Changes - updated to pnpm - updated to typescript - Added info about DRYness and maintainability to the refactor section. **** Notes - Should we uninstall the aws-sdk (or @AWS-SDK) from functions when we install it into core? - Should the user re-test after the refactor to ensure it still works? - Do we need to add [this note](https://discourse.sst.dev/t/add-an-api-to-create-a-note/2451/18?u=christinep2) for Windows users into the guide? - Referenced [this error handling blog post](https://kentcdodds.com/blog/get-a-catch-block-error-message-with-typescript) for the error code in handler. - I'm seeing a delay as I add the API endpoints with seeing them in the console. I experienced on two different run-throughs, is this expected? If so, can we add a note to that effect at this point so people don't try and debug? @@@ Add an API to Get/Put/Patch/Delete a Note **** Changes - updated to pnpm - updated to typescript @@@ Adding Auth to Our Serverless App **** Changes - Updated to typescript - Updated to use docs variable instead of hardcoded url @@@ Secure Our Serverless APIs **** Changes - Updated to typescript - Switched to PNPM - Used optional chaining operator for `requestContext.authorizer`. Should we have a different solution? @@@ Setup a Stripe Account **** Changes - Redo screenshots and update text to match new UI @@@ Handling Secrets in SST **** Changes - Rewrite to use the SST Secrets CLI based on the information found here: https://docs.sst.dev/config#should-i-use-configsecret-or-env-for-secrets @@@ Add an API to Handle Billing **** Changes - Updated to typescript - Switched to PNPM **** Notes - [ ] Consider not using [nested ternary operators](https://medium.com/@benlmsc/stop-using-nested-ternary-operators-heres-why-53e7e078e65a). @@@ Unit Tests in Serverless **** Changes - Switch to Typescript for testing - Switch to PNPM - Add instructions to add Vite Test to workspace **** Notes - [ ] Consider including tests as we build out the API instead of at the end, or at least adding a note that this is a preferred approach for ensuring properly tested code. @@@ Handle CORS in Serverless APIs **** Changes - Switch to Typescript - Switch to PNPM @@@ Handle CORS in S3 for File Uploads **** Changes - Switch to Typescript - Switch to PNPM @@@ Create a New React.js App **** Changes - Switch to Typescript - Switch to PNPM - Minor wording changes **** Notes - [ ] Need to [replace create-react-app with one of the recommended solutions](facebook/create-react-app#13072) as create-react-app is being deprecated. - [ ] Consider adding tests alongside new code from this point forward. @@@ Set up Custom Fonts **** Changes - Minor wording changes - Update final screenshot to show tsx file instead of js file @@@ Set up Bootstrap **** Changes - Switch to Typescript - Switch to PNPM - Minor wording changes @@@ Handle Routes with React Router **** Changes - Switch to Typescript - Switch to PNPM - Minor wording changes @@@ Create Containers **** Changes - Switch to Typescript - Switch to PNPM - Minor wording changes @@@ Adding Links in the Navbar **** Changes - Switch to PNPM - Switch to Typescript - Minor wording changes @@@ Handle 404s **** Changes - Switch to Typescript - Minor wording changes @@@ Configure AWS Amplify **** Changes - Switch to Typescript - Switch to PNPM - Minor wording changes @@@ Create a Login Page **** Changes - Switch to Typescript - Switch to PNPM - Minor wording changes @@@ Login with AWS Cognito **** Changes - Switch to Typescript - Switch to PNPM - Minor wording changes @@@ Add the Session to the State **** Changes - Switch to Typescript @@@ Load the State from the Session **** Changes - Switch to Typescript - Move import of UseEffect above explainer so that consumer is not sidetracked by the import not being present. @@@ Clear the Session on Logout **** Changes - Switch to Typescript @@@ Redirect on Login and Logout **** Changes - Switch to Typescript @@@ Give Feedback While Logging In **** Changes - Switch to Typescript @@@ Create a Custom React Hook to Handle Form Fields **** Changes - Switch to Typescript @@@ Create a Signup Page No Changes @@@ Create the Signup Form **** Changes - Switch to Typescript - Minor wording changes @@@ Signup with AWS Cognito **** Changes - Switch to Typescript - Minor wording changes @@@ Notes - [ ] Do we want to add the handling for UserExists in? https://discourse.sst.dev/t/signup-with-aws-cognito/130/74?u=christinep2 @@@ Add the Create Note Page **** Changes - Switch to Typescript - Minor wording changes @@@ Call the Create API **** Changes - Switch to Typescript - Minor wording changes @@@ Upload a File to S3 **** Changes - Switch to Typescript @@@ Upload a File to S3 **** Changes - Switch to Typescript - Added helpful note from @sometimescasey **** Notes - [ ] Update troubleshooting tips if outdated. @@@ List All the Notes **** Changes - Switch to Typescript - Minor wording changes @@@ Call the List API **** Changes - Switch to Typescript - Move Import immediately after adding code so consumer is not distracted by errors @@@ Display a Note **** Changes - Switch to Typescript @@@ Render the Note Form **** Changes - Switch to Typescript - Minor wording changes - Move Import immediately after adding code so consumer is not distracted by errors @@@ Save Changes to a Note **** Changes - Switch to Typescript - Minor wording changes @@@ Delete a Note **** Changes - Switch to Typescript - Minor wording changes @@@ Create a Settings Page **** Changes - Switch to Typescript - Minor wording changes @@@ Add Stripe Keys to Config **** Changes - Switch to Typescript - Switch to PNPM - Minor wording changes @@@ Create a Billing Form **** Changes - Switch to Typescript - Switch to PNPM @@@ Connect the Billing Form **** Changes - Switch to Typescript - Switch to PNPM @@@ Set up Secure Pages No Changes @@@ Create a Route That Redirects **** Changes - Switch to Typescript @@@ Use the Redirect Routes **** Changes - Switch to Typescript @@@ Redirect on Login **** Changes - Switch to Typescript @@@ Purchase a Domain with Route 53 Skipped. @@@ Custom Domains in serverless APIs **** Changes - Switch to Typescript - Minor wording changes @@@ Custom Domains for React Apps on AWS **** Changes - Switch to Typescript/PNPM - Minor wording changes **** Notes - [ ] I tried switching the domain and the alias so that I could easily remove the domain alias and use it for my "real" app and leave the subdomain for this demo, but it erred with the message. ``` Error: Validation failed with the following errors: [prod-notes-FrontendStack/ReactSite/Redirect/RedirectCertificate] DNS zone www-notes.manuals4life.com is not authoritative for certificate domain name manuals4life.com ``` In orde to keep the statement "You can switch these around so that the root domain redirects to the `www.` version as well.", I believe we'd need additional information dealing with the CAA record or whatever tripped it up. @@@ Getting Production Ready No Changes @@@ Creating a CI/CD Pipeline for serverless No Changes (other than the global new tab for external links) @@@ Setting up Your Project on Seed **** Changes - Switch References to Typescript - Minor wording changes **** Notes - [ ] Needs new Screenshots using serverless-stack demo notes app. - [ ] Might add a screenshot pointing at settings in the UI? @@@ Configure Secrets in Seed **** Changes - Switch References to sst secret instead of .env.local - Minor wording changes @@@ Deploying Through Seed **** Changes - minor wording changes @@@ Debugging Full-Stack Serverless Apps No Changes @@@ Setup Error Reporting in React **** Changes - Switch to Typescript - Switched to `pnpm add @sentry/react` from `@sentry/browser` - Added an ErrorInfoType **** Notes - [ ] Needs new Screenshots @@@ Report API Errors in React **** Changes - Switch to Typescript @@@ Setup an Error Boundary in React **** Changes - Switch to Typescript - Change multiline ternary to if/else - Updated screenshot for react error **** Notes - [ ] Needs new Screenshots for Sentry confirmations @@@ Setup Error Logging in Serverless **** Changes - Switch to Typescript @@@ Logic Errors in Lambda Functions **** Changes - Switch to Typescript **** Notes - [ ] Logging extra information is incorrectly displaying `[object Object]` @@@ Unexpected Errors in Lambda Functions **** Changes - Switch references to Typescript @@@ Errors Outside Lambda Functions **** Changes - Switch references to Typescript @@@ Errors in API Gateway **** Changes - Switch references to Typescript @@@ Wrapping Up **** Changes - Switch references to PNPM ~~ Additional Guide Information Pages still in use: @@@ Auth In Serverless Apps **** Changes - Updated to typescript - Updated referenced pages What is IAM and What is an ARN @@@ What is IAM / What is an ARN **** Changes - Updated text to remove wording implying it is a step in the guide @@@ Mapping Cognito Identity Id and User Pool Id @@@ Cognito User Pool vs Identity Pool @@@ Setting serverless environment variables in a React app - Updated to pnpm - Updated to typescript ~~ Outstanding Changes @@@ Extra Credit series of chapters on user management - [ ] TODO: Update these as they are referenced from "Give Feedback While Logging In" (Specifically links to http://localhost:4000/chapters/manage-user-accounts-in-aws-amplify.html)
As I work through the guide, I add notes and I also read the comments and adding any relevant notes I see as of May 18(ish). ~~ Site Wide **** Changes - Added .idea to .gitignore - Added .idea to Jekyll Exclude list **** Notes - [ ] Consider accessibility features * http://www.goring.org/resources/accessibility.html * https://github.com/benbalter/ra11y * adding an indicator for links that open in new tabs - [ ] Consider adding "Archived" banner to the top of any parts of the site that are kept but are not intended for current reference for example, all the pages [in this section](http://localhost:4000/guide.html#archives). ~~ Guide **** Changes - Updated External Links to open a new tab. - Updated SASS for blockquote within post-content to not be enormous. - Added a few classes for Notes and Asides **** Notes - [ ] TODO: Resolve SST Console Warning [See the migration guide](https://a.co/7PzMCcy) (node:85684) NOTE: We are formalizing our plans to enter AWS SDK for JavaScript (v2) into maintenance mode in 2023. Please migrate your code to use AWS SDK for JavaScript (v3). For more information, check the migration guide at https://a.co/7PzMCcy (Use `node --trace-warnings ...` to show where the warning was created) 16:14:43.391 - [ ] TODO: Clean up legacy guide files so it doesn't clutter the current fileset. - [ ] TODO: Correctly manage the path_id variable in code examples to ensure they are present without code duplication. - [ ] TODO: Switch from Amplify API to RestApi or GraphQLAPI based on note in API.d.ts (See Warning in console.sst.dev) - [ ] Consider adding a chapter on accessibility in the frontend creation section. * [React Accessibility](https://legacy.reactjs.org/docs/accessibility.html) - New Accessibility guides are still pending based on announcement on 3/16/2023 * https://www.freecodecamp.org/news/react-accessibility-tools-build-accessible-react-apps/ * https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/React_accessibility ~~ Chapter Specific @@@ What Does This Guide Cover **** Notes (From Discourse comments) - [ ] [Consider using Next.js for the guide](https://discourse.sst.dev/t/what-does-this-guide-cover/83/7?u=christinep2) - [ ] [Consider switching example to React Native](https://discourse.sst.dev/t/what-does-this-guide-cover/83/8?u=christinep2) @@@ How to Get Help? _no specific changes_ @@@ What is Serverless? **** Changes - Removed link to the What is AWS Lambda chapter as it encourages skipping the rest of the current page. @@@ What is AWS Lambda? **** Notes - [ ] [Consider decreasing specificity in Lambda Spec Description](/chapters/what-is-aws-lambda.html#lambda-specs) - As AWS modifies its offerings, the description can be outdated. By speaking in generalities and linking directly to AWS for specificity the document will be less fragile. @@@ Why Create Serverless Apps? **** Notes - [ ] Consider specifying a timeframe on the cost calculation to account for pricing changes over time. @@@ Create an AWS Account **** Changes - Tested steps with a new AWS Account. - Removed reference to specific language since they changed the call to action. Also removed screenshot as it was outdated. @@@ Create an IAM User **** Changes - Updated chapter instructions & screenshots. - Updated screenshots at 1280x783. - Screenshots located in `create-iam-user` - Left old screenshots in `iam-user` for other languages as I couldn't update them to match the new instructions. @@@ Configure the AWS CLI **** Changes - Tested steps with a clean install on Mac. **** Notes - [ ] Consider adding [Chocolatey](https://chocolatey.org/) [instructions for Windows](https://discourse.sst.dev/t/configure-the-aws-cli/86/3?u=christinep2. - [ ] (Consider adding instructions for *NIX flavors.)[https://discourse.sst.dev/t/configure-the-aws-cli/86/5?u=christinep2] - [ ] Consider adding a link to the AWS instructions instead, in case that is easier. @@@ What is SST? **** Changes - Removed link to other chapters as it encourages skipping the current document - Added links for the specific IDE Instructions **** Notes - [ ] Consider removing the penultimate sentence regarding the alternative guide since it is archived. @@@ What is Infrastructure as Code? **** Changes - Added "using CDK" into the first sentence based on the confusion mentioned in the chapter comments @@@ What is AWS CDK? **** Changes - Changed references to pnpm - Added question mark to title to match the other titles in the section and the title of the comments page. @@@ Create an SST app **** Changes - updated to pnpm **** Notes - [ ] Need to update Next Steps command line output as follows - cd notes - pnpm add (or npm, or yarn) - pnpm exec sst dev @@@ Create a Hello World API **** Changes - updated to pnpm - Added instructions for Safari et. al. users found in [this discord thread](https://discord.com/channels/983865673656705025/1102040862143303751/1102073623516282890) **** Notes - [ ] Safari instructions for mkcert usage are not working. Need to investigate further. @@@ Initialize a Github Repo _no specific changes_ @@@ Create a DynamoDB Table in SST **** Changes - updated to pnpm - updated to typescript - Added clarification as specified in comment **** Questions 1. Regarding the statement "There’s no specific reason why we are creating a separate stack for these resources." Would it be fair to say that the decision to have separate stacks increases application maintainability? It seems like it could fall under the principle of "separation of concerns". 2. Why is the Hello World API still present in console after this step? @@@ Create a S3 Bucket in SST **** Changes - updated to pnpm - updated to typescript - small wording changes - moved bucket in return to above table instead of below, matching location in the stack file and alphabetically ordered. - git commit as a one line command to facilitate using the copy option for the code. @@@ Review Our App Architecture _no specific changes_ @@@ Add an API to Create a Note **** Changes - updated to pnpm - updated to typescript - Added info about DRYness and maintainability to the refactor section. **** Notes - Should we uninstall the aws-sdk (or @AWS-SDK) from functions when we install it into core? - Should the user re-test after the refactor to ensure it still works? - Do we need to add [this note](https://discourse.sst.dev/t/add-an-api-to-create-a-note/2451/18?u=christinep2) for Windows users into the guide? - Referenced [this error handling blog post](https://kentcdodds.com/blog/get-a-catch-block-error-message-with-typescript) for the error code in handler. - I'm seeing a delay as I add the API endpoints with seeing them in the console. I experienced on two different run-throughs, is this expected? If so, can we add a note to that effect at this point so people don't try and debug? @@@ Add an API to Get/Put/Patch/Delete a Note **** Changes - updated to pnpm - updated to typescript @@@ Adding Auth to Our Serverless App **** Changes - Updated to typescript - Updated to use docs variable instead of hardcoded url @@@ Secure Our Serverless APIs **** Changes - Updated to typescript - Switched to PNPM - Used optional chaining operator for `requestContext.authorizer`. Should we have a different solution? @@@ Setup a Stripe Account **** Changes - Redo screenshots and update text to match new UI @@@ Handling Secrets in SST **** Changes - Rewrite to use the SST Secrets CLI based on the information found here: https://docs.sst.dev/config#should-i-use-configsecret-or-env-for-secrets @@@ Add an API to Handle Billing **** Changes - Updated to typescript - Switched to PNPM **** Notes - [ ] Consider not using [nested ternary operators](https://medium.com/@benlmsc/stop-using-nested-ternary-operators-heres-why-53e7e078e65a). @@@ Unit Tests in Serverless **** Changes - Switch to Typescript for testing - Switch to PNPM - Add instructions to add Vite Test to workspace **** Notes - [ ] Consider including tests as we build out the API instead of at the end, or at least adding a note that this is a preferred approach for ensuring properly tested code. @@@ Handle CORS in Serverless APIs **** Changes - Switch to Typescript - Switch to PNPM @@@ Handle CORS in S3 for File Uploads **** Changes - Switch to Typescript - Switch to PNPM @@@ Create a New React.js App **** Changes - Switch to Typescript - Switch to PNPM - Minor wording changes **** Notes - [ ] Need to [replace create-react-app with one of the recommended solutions](facebook/create-react-app#13072) as create-react-app is being deprecated. - [ ] Consider adding tests alongside new code from this point forward. @@@ Set up Custom Fonts **** Changes - Minor wording changes - Update final screenshot to show tsx file instead of js file @@@ Set up Bootstrap **** Changes - Switch to Typescript - Switch to PNPM - Minor wording changes @@@ Handle Routes with React Router **** Changes - Switch to Typescript - Switch to PNPM - Minor wording changes @@@ Create Containers **** Changes - Switch to Typescript - Switch to PNPM - Minor wording changes @@@ Adding Links in the Navbar **** Changes - Switch to PNPM - Switch to Typescript - Minor wording changes @@@ Handle 404s **** Changes - Switch to Typescript - Minor wording changes @@@ Configure AWS Amplify **** Changes - Switch to Typescript - Switch to PNPM - Minor wording changes @@@ Create a Login Page **** Changes - Switch to Typescript - Switch to PNPM - Minor wording changes @@@ Login with AWS Cognito **** Changes - Switch to Typescript - Switch to PNPM - Minor wording changes @@@ Add the Session to the State **** Changes - Switch to Typescript @@@ Load the State from the Session **** Changes - Switch to Typescript - Move import of UseEffect above explainer so that consumer is not sidetracked by the import not being present. @@@ Clear the Session on Logout **** Changes - Switch to Typescript @@@ Redirect on Login and Logout **** Changes - Switch to Typescript @@@ Give Feedback While Logging In **** Changes - Switch to Typescript @@@ Create a Custom React Hook to Handle Form Fields **** Changes - Switch to Typescript @@@ Create a Signup Page No Changes @@@ Create the Signup Form **** Changes - Switch to Typescript - Minor wording changes @@@ Signup with AWS Cognito **** Changes - Switch to Typescript - Minor wording changes @@@ Notes - [ ] Do we want to add the handling for UserExists in? https://discourse.sst.dev/t/signup-with-aws-cognito/130/74?u=christinep2 @@@ Add the Create Note Page **** Changes - Switch to Typescript - Minor wording changes @@@ Call the Create API **** Changes - Switch to Typescript - Minor wording changes @@@ Upload a File to S3 **** Changes - Switch to Typescript @@@ Upload a File to S3 **** Changes - Switch to Typescript - Added helpful note from @sometimescasey **** Notes - [ ] Update troubleshooting tips if outdated. @@@ List All the Notes **** Changes - Switch to Typescript - Minor wording changes @@@ Call the List API **** Changes - Switch to Typescript - Move Import immediately after adding code so consumer is not distracted by errors @@@ Display a Note **** Changes - Switch to Typescript @@@ Render the Note Form **** Changes - Switch to Typescript - Minor wording changes - Move Import immediately after adding code so consumer is not distracted by errors @@@ Save Changes to a Note **** Changes - Switch to Typescript - Minor wording changes @@@ Delete a Note **** Changes - Switch to Typescript - Minor wording changes @@@ Create a Settings Page **** Changes - Switch to Typescript - Minor wording changes @@@ Add Stripe Keys to Config **** Changes - Switch to Typescript - Switch to PNPM - Minor wording changes @@@ Create a Billing Form **** Changes - Switch to Typescript - Switch to PNPM @@@ Connect the Billing Form **** Changes - Switch to Typescript - Switch to PNPM @@@ Set up Secure Pages No Changes @@@ Create a Route That Redirects **** Changes - Switch to Typescript @@@ Use the Redirect Routes **** Changes - Switch to Typescript @@@ Redirect on Login **** Changes - Switch to Typescript @@@ Purchase a Domain with Route 53 Skipped. @@@ Custom Domains in serverless APIs **** Changes - Switch to Typescript - Minor wording changes @@@ Custom Domains for React Apps on AWS **** Changes - Switch to Typescript/PNPM - Minor wording changes **** Notes - [ ] I tried switching the domain and the alias so that I could easily remove the domain alias and use it for my "real" app and leave the subdomain for this demo, but it erred with the message. ``` Error: Validation failed with the following errors: [prod-notes-FrontendStack/ReactSite/Redirect/RedirectCertificate] DNS zone www-notes.manuals4life.com is not authoritative for certificate domain name manuals4life.com ``` In orde to keep the statement "You can switch these around so that the root domain redirects to the `www.` version as well.", I believe we'd need additional information dealing with the CAA record or whatever tripped it up. @@@ Getting Production Ready No Changes @@@ Creating a CI/CD Pipeline for serverless No Changes (other than the global new tab for external links) @@@ Setting up Your Project on Seed **** Changes - Switch References to Typescript - Minor wording changes **** Notes - [ ] Needs new Screenshots using serverless-stack demo notes app. - [ ] Might add a screenshot pointing at settings in the UI? @@@ Configure Secrets in Seed **** Changes - Switch References to sst secret instead of .env.local - Minor wording changes @@@ Deploying Through Seed **** Changes - minor wording changes @@@ Debugging Full-Stack Serverless Apps No Changes @@@ Setup Error Reporting in React **** Changes - Switch to Typescript - Switched to `pnpm add @sentry/react` from `@sentry/browser` - Added an ErrorInfoType **** Notes - [ ] Needs new Screenshots @@@ Report API Errors in React **** Changes - Switch to Typescript @@@ Setup an Error Boundary in React **** Changes - Switch to Typescript - Change multiline ternary to if/else - Updated screenshot for react error **** Notes - [ ] Needs new Screenshots for Sentry confirmations @@@ Setup Error Logging in Serverless **** Changes - Switch to Typescript @@@ Logic Errors in Lambda Functions **** Changes - Switch to Typescript **** Notes - [ ] Logging extra information is incorrectly displaying `[object Object]` @@@ Unexpected Errors in Lambda Functions **** Changes - Switch references to Typescript @@@ Errors Outside Lambda Functions **** Changes - Switch references to Typescript @@@ Errors in API Gateway **** Changes - Switch references to Typescript @@@ Wrapping Up **** Changes - Switch references to PNPM ~~ Additional Guide Information Pages still in use: @@@ Auth In Serverless Apps **** Changes - Updated to typescript - Updated referenced pages What is IAM and What is an ARN @@@ What is IAM / What is an ARN **** Changes - Updated text to remove wording implying it is a step in the guide @@@ Mapping Cognito Identity Id and User Pool Id @@@ Cognito User Pool vs Identity Pool @@@ Setting serverless environment variables in a React app - Updated to pnpm - Updated to typescript ~~ Outstanding Changes @@@ Extra Credit series of chapters on user management - [ ] TODO: Update these as they are referenced from "Give Feedback While Logging In" (Specifically links to http://localhost:4000/chapters/manage-user-accounts-in-aws-amplify.html)
As I work through the guide, I add notes and I also read the comments and adding any relevant notes I see as of May 18(ish). ~~ Site Wide **** Changes - Added .idea to .gitignore - Added .idea to Jekyll Exclude list **** Notes - [ ] Consider accessibility features * http://www.goring.org/resources/accessibility.html * https://github.com/benbalter/ra11y * adding an indicator for links that open in new tabs - [ ] Consider adding "Archived" banner to the top of any parts of the site that are kept but are not intended for current reference for example, all the pages [in this section](http://localhost:4000/guide.html#archives). ~~ Guide **** Changes - Updated External Links to open a new tab. - Updated SASS for blockquote within post-content to not be enormous. - Added a few classes for Notes and Asides **** Notes - [ ] TODO: Resolve SST Console Warning [See the migration guide](https://a.co/7PzMCcy) (node:85684) NOTE: We are formalizing our plans to enter AWS SDK for JavaScript (v2) into maintenance mode in 2023. Please migrate your code to use AWS SDK for JavaScript (v3). For more information, check the migration guide at https://a.co/7PzMCcy (Use `node --trace-warnings ...` to show where the warning was created) 16:14:43.391 - [ ] TODO: Clean up legacy guide files so it doesn't clutter the current fileset. - [ ] TODO: Correctly manage the path_id variable in code examples to ensure they are present without code duplication. - [ ] TODO: Switch from Amplify API to RestApi or GraphQLAPI based on note in API.d.ts (See Warning in console.sst.dev) - [ ] Consider adding a chapter on accessibility in the frontend creation section. * [React Accessibility](https://legacy.reactjs.org/docs/accessibility.html) - New Accessibility guides are still pending based on announcement on 3/16/2023 * https://www.freecodecamp.org/news/react-accessibility-tools-build-accessible-react-apps/ * https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/React_accessibility ~~ Chapter Specific @@@ What Does This Guide Cover **** Notes (From Discourse comments) - [ ] [Consider using Next.js for the guide](https://discourse.sst.dev/t/what-does-this-guide-cover/83/7?u=christinep2) - [ ] [Consider switching example to React Native](https://discourse.sst.dev/t/what-does-this-guide-cover/83/8?u=christinep2) @@@ How to Get Help? _no specific changes_ @@@ What is Serverless? **** Changes - Removed link to the What is AWS Lambda chapter as it encourages skipping the rest of the current page. @@@ What is AWS Lambda? **** Notes - [ ] [Consider decreasing specificity in Lambda Spec Description](/chapters/what-is-aws-lambda.html#lambda-specs) - As AWS modifies its offerings, the description can be outdated. By speaking in generalities and linking directly to AWS for specificity the document will be less fragile. @@@ Why Create Serverless Apps? **** Notes - [ ] Consider specifying a timeframe on the cost calculation to account for pricing changes over time. @@@ Create an AWS Account **** Changes - Tested steps with a new AWS Account. - Removed reference to specific language since they changed the call to action. Also removed screenshot as it was outdated. @@@ Create an IAM User **** Changes - Updated chapter instructions & screenshots. - Updated screenshots at 1280x783. - Screenshots located in `create-iam-user` - Left old screenshots in `iam-user` for other languages as I couldn't update them to match the new instructions. @@@ Configure the AWS CLI **** Changes - Tested steps with a clean install on Mac. **** Notes - [ ] Consider adding [Chocolatey](https://chocolatey.org/) [instructions for Windows](https://discourse.sst.dev/t/configure-the-aws-cli/86/3?u=christinep2. - [ ] (Consider adding instructions for *NIX flavors.)[https://discourse.sst.dev/t/configure-the-aws-cli/86/5?u=christinep2] - [ ] Consider adding a link to the AWS instructions instead, in case that is easier. @@@ What is SST? **** Changes - Removed link to other chapters as it encourages skipping the current document - Added links for the specific IDE Instructions **** Notes - [ ] Consider removing the penultimate sentence regarding the alternative guide since it is archived. @@@ What is Infrastructure as Code? **** Changes - Added "using CDK" into the first sentence based on the confusion mentioned in the chapter comments @@@ What is AWS CDK? **** Changes - Changed references to pnpm - Added question mark to title to match the other titles in the section and the title of the comments page. @@@ Create an SST app **** Changes - updated to pnpm **** Notes - [ ] Need to update Next Steps command line output as follows - cd notes - pnpm add (or npm, or yarn) - pnpm exec sst dev @@@ Create a Hello World API **** Changes - updated to pnpm - Added instructions for Safari et. al. users found in [this discord thread](https://discord.com/channels/983865673656705025/1102040862143303751/1102073623516282890) **** Notes - [ ] Safari instructions for mkcert usage are not working. Need to investigate further. @@@ Initialize a Github Repo _no specific changes_ @@@ Create a DynamoDB Table in SST **** Changes - updated to pnpm - updated to typescript - Added clarification as specified in comment **** Questions 1. Regarding the statement "There’s no specific reason why we are creating a separate stack for these resources." Would it be fair to say that the decision to have separate stacks increases application maintainability? It seems like it could fall under the principle of "separation of concerns". 2. Why is the Hello World API still present in console after this step? @@@ Create a S3 Bucket in SST **** Changes - updated to pnpm - updated to typescript - small wording changes - moved bucket in return to above table instead of below, matching location in the stack file and alphabetically ordered. - git commit as a one line command to facilitate using the copy option for the code. @@@ Review Our App Architecture _no specific changes_ @@@ Add an API to Create a Note **** Changes - updated to pnpm - updated to typescript - Added info about DRYness and maintainability to the refactor section. **** Notes - Should we uninstall the aws-sdk (or @AWS-SDK) from functions when we install it into core? - Should the user re-test after the refactor to ensure it still works? - Do we need to add [this note](https://discourse.sst.dev/t/add-an-api-to-create-a-note/2451/18?u=christinep2) for Windows users into the guide? - Referenced [this error handling blog post](https://kentcdodds.com/blog/get-a-catch-block-error-message-with-typescript) for the error code in handler. - I'm seeing a delay as I add the API endpoints with seeing them in the console. I experienced on two different run-throughs, is this expected? If so, can we add a note to that effect at this point so people don't try and debug? @@@ Add an API to Get/Put/Patch/Delete a Note **** Changes - updated to pnpm - updated to typescript @@@ Adding Auth to Our Serverless App **** Changes - Updated to typescript - Updated to use docs variable instead of hardcoded url @@@ Secure Our Serverless APIs **** Changes - Updated to typescript - Switched to PNPM - Used optional chaining operator for `requestContext.authorizer`. Should we have a different solution? @@@ Setup a Stripe Account **** Changes - Redo screenshots and update text to match new UI @@@ Handling Secrets in SST **** Changes - Rewrite to use the SST Secrets CLI based on the information found here: https://docs.sst.dev/config#should-i-use-configsecret-or-env-for-secrets @@@ Add an API to Handle Billing **** Changes - Updated to typescript - Switched to PNPM **** Notes - [ ] Consider not using [nested ternary operators](https://medium.com/@benlmsc/stop-using-nested-ternary-operators-heres-why-53e7e078e65a). @@@ Unit Tests in Serverless **** Changes - Switch to Typescript for testing - Switch to PNPM - Add instructions to add Vite Test to workspace **** Notes - [ ] Consider including tests as we build out the API instead of at the end, or at least adding a note that this is a preferred approach for ensuring properly tested code. @@@ Handle CORS in Serverless APIs **** Changes - Switch to Typescript - Switch to PNPM @@@ Handle CORS in S3 for File Uploads **** Changes - Switch to Typescript - Switch to PNPM @@@ Create a New React.js App **** Changes - Switch to Typescript - Switch to PNPM - Minor wording changes **** Notes - [ ] Need to [replace create-react-app with one of the recommended solutions](facebook/create-react-app#13072) as create-react-app is being deprecated. - [ ] Consider adding tests alongside new code from this point forward. @@@ Set up Custom Fonts **** Changes - Minor wording changes - Update final screenshot to show tsx file instead of js file @@@ Set up Bootstrap **** Changes - Switch to Typescript - Switch to PNPM - Minor wording changes @@@ Handle Routes with React Router **** Changes - Switch to Typescript - Switch to PNPM - Minor wording changes @@@ Create Containers **** Changes - Switch to Typescript - Switch to PNPM - Minor wording changes @@@ Adding Links in the Navbar **** Changes - Switch to PNPM - Switch to Typescript - Minor wording changes @@@ Handle 404s **** Changes - Switch to Typescript - Minor wording changes @@@ Configure AWS Amplify **** Changes - Switch to Typescript - Switch to PNPM - Minor wording changes @@@ Create a Login Page **** Changes - Switch to Typescript - Switch to PNPM - Minor wording changes @@@ Login with AWS Cognito **** Changes - Switch to Typescript - Switch to PNPM - Minor wording changes @@@ Add the Session to the State **** Changes - Switch to Typescript @@@ Load the State from the Session **** Changes - Switch to Typescript - Move import of UseEffect above explainer so that consumer is not sidetracked by the import not being present. @@@ Clear the Session on Logout **** Changes - Switch to Typescript @@@ Redirect on Login and Logout **** Changes - Switch to Typescript @@@ Give Feedback While Logging In **** Changes - Switch to Typescript @@@ Create a Custom React Hook to Handle Form Fields **** Changes - Switch to Typescript @@@ Create a Signup Page No Changes @@@ Create the Signup Form **** Changes - Switch to Typescript - Minor wording changes @@@ Signup with AWS Cognito **** Changes - Switch to Typescript - Minor wording changes @@@ Notes - [ ] Do we want to add the handling for UserExists in? https://discourse.sst.dev/t/signup-with-aws-cognito/130/74?u=christinep2 @@@ Add the Create Note Page **** Changes - Switch to Typescript - Minor wording changes @@@ Call the Create API **** Changes - Switch to Typescript - Minor wording changes @@@ Upload a File to S3 **** Changes - Switch to Typescript @@@ Upload a File to S3 **** Changes - Switch to Typescript - Added helpful note from @sometimescasey **** Notes - [ ] Update troubleshooting tips if outdated. @@@ List All the Notes **** Changes - Switch to Typescript - Minor wording changes @@@ Call the List API **** Changes - Switch to Typescript - Move Import immediately after adding code so consumer is not distracted by errors @@@ Display a Note **** Changes - Switch to Typescript @@@ Render the Note Form **** Changes - Switch to Typescript - Minor wording changes - Move Import immediately after adding code so consumer is not distracted by errors @@@ Save Changes to a Note **** Changes - Switch to Typescript - Minor wording changes @@@ Delete a Note **** Changes - Switch to Typescript - Minor wording changes @@@ Create a Settings Page **** Changes - Switch to Typescript - Minor wording changes @@@ Add Stripe Keys to Config **** Changes - Switch to Typescript - Switch to PNPM - Minor wording changes @@@ Create a Billing Form **** Changes - Switch to Typescript - Switch to PNPM @@@ Connect the Billing Form **** Changes - Switch to Typescript - Switch to PNPM @@@ Set up Secure Pages No Changes @@@ Create a Route That Redirects **** Changes - Switch to Typescript @@@ Use the Redirect Routes **** Changes - Switch to Typescript @@@ Redirect on Login **** Changes - Switch to Typescript @@@ Purchase a Domain with Route 53 Skipped. @@@ Custom Domains in serverless APIs **** Changes - Switch to Typescript - Minor wording changes @@@ Custom Domains for React Apps on AWS **** Changes - Switch to Typescript/PNPM - Minor wording changes **** Notes - [ ] I tried switching the domain and the alias so that I could easily remove the domain alias and use it for my "real" app and leave the subdomain for this demo, but it erred with the message. ``` Error: Validation failed with the following errors: [prod-notes-FrontendStack/ReactSite/Redirect/RedirectCertificate] DNS zone www-notes.manuals4life.com is not authoritative for certificate domain name manuals4life.com ``` In orde to keep the statement "You can switch these around so that the root domain redirects to the `www.` version as well.", I believe we'd need additional information dealing with the CAA record or whatever tripped it up. @@@ Getting Production Ready No Changes @@@ Creating a CI/CD Pipeline for serverless No Changes (other than the global new tab for external links) @@@ Setting up Your Project on Seed **** Changes - Switch References to Typescript - Minor wording changes **** Notes - [ ] Needs new Screenshots using serverless-stack demo notes app. - [ ] Might add a screenshot pointing at settings in the UI? @@@ Configure Secrets in Seed **** Changes - Switch References to sst secret instead of .env.local - Minor wording changes @@@ Deploying Through Seed **** Changes - minor wording changes @@@ Debugging Full-Stack Serverless Apps No Changes @@@ Setup Error Reporting in React **** Changes - Switch to Typescript - Switched to `pnpm add @sentry/react` from `@sentry/browser` - Added an ErrorInfoType **** Notes - [ ] Needs new Screenshots @@@ Report API Errors in React **** Changes - Switch to Typescript @@@ Setup an Error Boundary in React **** Changes - Switch to Typescript - Change multiline ternary to if/else - Updated screenshot for react error **** Notes - [ ] Needs new Screenshots for Sentry confirmations @@@ Setup Error Logging in Serverless **** Changes - Switch to Typescript @@@ Logic Errors in Lambda Functions **** Changes - Switch to Typescript **** Notes - [ ] Logging extra information is incorrectly displaying `[object Object]` @@@ Unexpected Errors in Lambda Functions **** Changes - Switch references to Typescript @@@ Errors Outside Lambda Functions **** Changes - Switch references to Typescript @@@ Errors in API Gateway **** Changes - Switch references to Typescript @@@ Wrapping Up **** Changes - Switch references to PNPM ~~ Additional Guide Information Pages still in use: @@@ Auth In Serverless Apps **** Changes - Updated to typescript - Updated referenced pages What is IAM and What is an ARN @@@ What is IAM / What is an ARN **** Changes - Updated text to remove wording implying it is a step in the guide @@@ Mapping Cognito Identity Id and User Pool Id @@@ Cognito User Pool vs Identity Pool @@@ Setting serverless environment variables in a React app - Updated to pnpm - Updated to typescript ~~ Outstanding Changes @@@ Extra Credit series of chapters on user management - [ ] TODO: Update these as they are referenced from "Give Feedback While Logging In" (Specifically links to http://localhost:4000/chapters/manage-user-accounts-in-aws-amplify.html) Co-authored-by: Jay <jvelayud@gmail.com>
* Guide with Typescript & PNPM (#719) As I work through the guide, I add notes and I also read the comments and adding any relevant notes I see as of May 18(ish). ~~ Site Wide **** Changes - Added .idea to .gitignore - Added .idea to Jekyll Exclude list **** Notes - [ ] Consider accessibility features * http://www.goring.org/resources/accessibility.html * https://github.com/benbalter/ra11y * adding an indicator for links that open in new tabs - [ ] Consider adding "Archived" banner to the top of any parts of the site that are kept but are not intended for current reference for example, all the pages [in this section](http://localhost:4000/guide.html#archives). ~~ Guide **** Changes - Updated External Links to open a new tab. - Updated SASS for blockquote within post-content to not be enormous. - Added a few classes for Notes and Asides **** Notes - [ ] TODO: Resolve SST Console Warning [See the migration guide](https://a.co/7PzMCcy) (node:85684) NOTE: We are formalizing our plans to enter AWS SDK for JavaScript (v2) into maintenance mode in 2023. Please migrate your code to use AWS SDK for JavaScript (v3). For more information, check the migration guide at https://a.co/7PzMCcy (Use `node --trace-warnings ...` to show where the warning was created) 16:14:43.391 - [ ] TODO: Clean up legacy guide files so it doesn't clutter the current fileset. - [ ] TODO: Correctly manage the path_id variable in code examples to ensure they are present without code duplication. - [ ] TODO: Switch from Amplify API to RestApi or GraphQLAPI based on note in API.d.ts (See Warning in console.sst.dev) - [ ] Consider adding a chapter on accessibility in the frontend creation section. * [React Accessibility](https://legacy.reactjs.org/docs/accessibility.html) - New Accessibility guides are still pending based on announcement on 3/16/2023 * https://www.freecodecamp.org/news/react-accessibility-tools-build-accessible-react-apps/ * https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/React_accessibility ~~ Chapter Specific @@@ What Does This Guide Cover **** Notes (From Discourse comments) - [ ] [Consider using Next.js for the guide](https://discourse.sst.dev/t/what-does-this-guide-cover/83/7?u=christinep2) - [ ] [Consider switching example to React Native](https://discourse.sst.dev/t/what-does-this-guide-cover/83/8?u=christinep2) @@@ How to Get Help? _no specific changes_ @@@ What is Serverless? **** Changes - Removed link to the What is AWS Lambda chapter as it encourages skipping the rest of the current page. @@@ What is AWS Lambda? **** Notes - [ ] [Consider decreasing specificity in Lambda Spec Description](/chapters/what-is-aws-lambda.html#lambda-specs) - As AWS modifies its offerings, the description can be outdated. By speaking in generalities and linking directly to AWS for specificity the document will be less fragile. @@@ Why Create Serverless Apps? **** Notes - [ ] Consider specifying a timeframe on the cost calculation to account for pricing changes over time. @@@ Create an AWS Account **** Changes - Tested steps with a new AWS Account. - Removed reference to specific language since they changed the call to action. Also removed screenshot as it was outdated. @@@ Create an IAM User **** Changes - Updated chapter instructions & screenshots. - Updated screenshots at 1280x783. - Screenshots located in `create-iam-user` - Left old screenshots in `iam-user` for other languages as I couldn't update them to match the new instructions. @@@ Configure the AWS CLI **** Changes - Tested steps with a clean install on Mac. **** Notes - [ ] Consider adding [Chocolatey](https://chocolatey.org/) [instructions for Windows](https://discourse.sst.dev/t/configure-the-aws-cli/86/3?u=christinep2. - [ ] (Consider adding instructions for *NIX flavors.)[https://discourse.sst.dev/t/configure-the-aws-cli/86/5?u=christinep2] - [ ] Consider adding a link to the AWS instructions instead, in case that is easier. @@@ What is SST? **** Changes - Removed link to other chapters as it encourages skipping the current document - Added links for the specific IDE Instructions **** Notes - [ ] Consider removing the penultimate sentence regarding the alternative guide since it is archived. @@@ What is Infrastructure as Code? **** Changes - Added "using CDK" into the first sentence based on the confusion mentioned in the chapter comments @@@ What is AWS CDK? **** Changes - Changed references to pnpm - Added question mark to title to match the other titles in the section and the title of the comments page. @@@ Create an SST app **** Changes - updated to pnpm **** Notes - [ ] Need to update Next Steps command line output as follows - cd notes - pnpm add (or npm, or yarn) - pnpm exec sst dev @@@ Create a Hello World API **** Changes - updated to pnpm - Added instructions for Safari et. al. users found in [this discord thread](https://discord.com/channels/983865673656705025/1102040862143303751/1102073623516282890) **** Notes - [ ] Safari instructions for mkcert usage are not working. Need to investigate further. @@@ Initialize a Github Repo _no specific changes_ @@@ Create a DynamoDB Table in SST **** Changes - updated to pnpm - updated to typescript - Added clarification as specified in comment **** Questions 1. Regarding the statement "There’s no specific reason why we are creating a separate stack for these resources." Would it be fair to say that the decision to have separate stacks increases application maintainability? It seems like it could fall under the principle of "separation of concerns". 2. Why is the Hello World API still present in console after this step? @@@ Create a S3 Bucket in SST **** Changes - updated to pnpm - updated to typescript - small wording changes - moved bucket in return to above table instead of below, matching location in the stack file and alphabetically ordered. - git commit as a one line command to facilitate using the copy option for the code. @@@ Review Our App Architecture _no specific changes_ @@@ Add an API to Create a Note **** Changes - updated to pnpm - updated to typescript - Added info about DRYness and maintainability to the refactor section. **** Notes - Should we uninstall the aws-sdk (or @AWS-SDK) from functions when we install it into core? - Should the user re-test after the refactor to ensure it still works? - Do we need to add [this note](https://discourse.sst.dev/t/add-an-api-to-create-a-note/2451/18?u=christinep2) for Windows users into the guide? - Referenced [this error handling blog post](https://kentcdodds.com/blog/get-a-catch-block-error-message-with-typescript) for the error code in handler. - I'm seeing a delay as I add the API endpoints with seeing them in the console. I experienced on two different run-throughs, is this expected? If so, can we add a note to that effect at this point so people don't try and debug? @@@ Add an API to Get/Put/Patch/Delete a Note **** Changes - updated to pnpm - updated to typescript @@@ Adding Auth to Our Serverless App **** Changes - Updated to typescript - Updated to use docs variable instead of hardcoded url @@@ Secure Our Serverless APIs **** Changes - Updated to typescript - Switched to PNPM - Used optional chaining operator for `requestContext.authorizer`. Should we have a different solution? @@@ Setup a Stripe Account **** Changes - Redo screenshots and update text to match new UI @@@ Handling Secrets in SST **** Changes - Rewrite to use the SST Secrets CLI based on the information found here: https://docs.sst.dev/config#should-i-use-configsecret-or-env-for-secrets @@@ Add an API to Handle Billing **** Changes - Updated to typescript - Switched to PNPM **** Notes - [ ] Consider not using [nested ternary operators](https://medium.com/@benlmsc/stop-using-nested-ternary-operators-heres-why-53e7e078e65a). @@@ Unit Tests in Serverless **** Changes - Switch to Typescript for testing - Switch to PNPM - Add instructions to add Vite Test to workspace **** Notes - [ ] Consider including tests as we build out the API instead of at the end, or at least adding a note that this is a preferred approach for ensuring properly tested code. @@@ Handle CORS in Serverless APIs **** Changes - Switch to Typescript - Switch to PNPM @@@ Handle CORS in S3 for File Uploads **** Changes - Switch to Typescript - Switch to PNPM @@@ Create a New React.js App **** Changes - Switch to Typescript - Switch to PNPM - Minor wording changes **** Notes - [ ] Need to [replace create-react-app with one of the recommended solutions](facebook/create-react-app#13072) as create-react-app is being deprecated. - [ ] Consider adding tests alongside new code from this point forward. @@@ Set up Custom Fonts **** Changes - Minor wording changes - Update final screenshot to show tsx file instead of js file @@@ Set up Bootstrap **** Changes - Switch to Typescript - Switch to PNPM - Minor wording changes @@@ Handle Routes with React Router **** Changes - Switch to Typescript - Switch to PNPM - Minor wording changes @@@ Create Containers **** Changes - Switch to Typescript - Switch to PNPM - Minor wording changes @@@ Adding Links in the Navbar **** Changes - Switch to PNPM - Switch to Typescript - Minor wording changes @@@ Handle 404s **** Changes - Switch to Typescript - Minor wording changes @@@ Configure AWS Amplify **** Changes - Switch to Typescript - Switch to PNPM - Minor wording changes @@@ Create a Login Page **** Changes - Switch to Typescript - Switch to PNPM - Minor wording changes @@@ Login with AWS Cognito **** Changes - Switch to Typescript - Switch to PNPM - Minor wording changes @@@ Add the Session to the State **** Changes - Switch to Typescript @@@ Load the State from the Session **** Changes - Switch to Typescript - Move import of UseEffect above explainer so that consumer is not sidetracked by the import not being present. @@@ Clear the Session on Logout **** Changes - Switch to Typescript @@@ Redirect on Login and Logout **** Changes - Switch to Typescript @@@ Give Feedback While Logging In **** Changes - Switch to Typescript @@@ Create a Custom React Hook to Handle Form Fields **** Changes - Switch to Typescript @@@ Create a Signup Page No Changes @@@ Create the Signup Form **** Changes - Switch to Typescript - Minor wording changes @@@ Signup with AWS Cognito **** Changes - Switch to Typescript - Minor wording changes @@@ Notes - [ ] Do we want to add the handling for UserExists in? https://discourse.sst.dev/t/signup-with-aws-cognito/130/74?u=christinep2 @@@ Add the Create Note Page **** Changes - Switch to Typescript - Minor wording changes @@@ Call the Create API **** Changes - Switch to Typescript - Minor wording changes @@@ Upload a File to S3 **** Changes - Switch to Typescript @@@ Upload a File to S3 **** Changes - Switch to Typescript - Added helpful note from @sometimescasey **** Notes - [ ] Update troubleshooting tips if outdated. @@@ List All the Notes **** Changes - Switch to Typescript - Minor wording changes @@@ Call the List API **** Changes - Switch to Typescript - Move Import immediately after adding code so consumer is not distracted by errors @@@ Display a Note **** Changes - Switch to Typescript @@@ Render the Note Form **** Changes - Switch to Typescript - Minor wording changes - Move Import immediately after adding code so consumer is not distracted by errors @@@ Save Changes to a Note **** Changes - Switch to Typescript - Minor wording changes @@@ Delete a Note **** Changes - Switch to Typescript - Minor wording changes @@@ Create a Settings Page **** Changes - Switch to Typescript - Minor wording changes @@@ Add Stripe Keys to Config **** Changes - Switch to Typescript - Switch to PNPM - Minor wording changes @@@ Create a Billing Form **** Changes - Switch to Typescript - Switch to PNPM @@@ Connect the Billing Form **** Changes - Switch to Typescript - Switch to PNPM @@@ Set up Secure Pages No Changes @@@ Create a Route That Redirects **** Changes - Switch to Typescript @@@ Use the Redirect Routes **** Changes - Switch to Typescript @@@ Redirect on Login **** Changes - Switch to Typescript @@@ Purchase a Domain with Route 53 Skipped. @@@ Custom Domains in serverless APIs **** Changes - Switch to Typescript - Minor wording changes @@@ Custom Domains for React Apps on AWS **** Changes - Switch to Typescript/PNPM - Minor wording changes **** Notes - [ ] I tried switching the domain and the alias so that I could easily remove the domain alias and use it for my "real" app and leave the subdomain for this demo, but it erred with the message. ``` Error: Validation failed with the following errors: [prod-notes-FrontendStack/ReactSite/Redirect/RedirectCertificate] DNS zone www-notes.manuals4life.com is not authoritative for certificate domain name manuals4life.com ``` In orde to keep the statement "You can switch these around so that the root domain redirects to the `www.` version as well.", I believe we'd need additional information dealing with the CAA record or whatever tripped it up. @@@ Getting Production Ready No Changes @@@ Creating a CI/CD Pipeline for serverless No Changes (other than the global new tab for external links) @@@ Setting up Your Project on Seed **** Changes - Switch References to Typescript - Minor wording changes **** Notes - [ ] Needs new Screenshots using serverless-stack demo notes app. - [ ] Might add a screenshot pointing at settings in the UI? @@@ Configure Secrets in Seed **** Changes - Switch References to sst secret instead of .env.local - Minor wording changes @@@ Deploying Through Seed **** Changes - minor wording changes @@@ Debugging Full-Stack Serverless Apps No Changes @@@ Setup Error Reporting in React **** Changes - Switch to Typescript - Switched to `pnpm add @sentry/react` from `@sentry/browser` - Added an ErrorInfoType **** Notes - [ ] Needs new Screenshots @@@ Report API Errors in React **** Changes - Switch to Typescript @@@ Setup an Error Boundary in React **** Changes - Switch to Typescript - Change multiline ternary to if/else - Updated screenshot for react error **** Notes - [ ] Needs new Screenshots for Sentry confirmations @@@ Setup Error Logging in Serverless **** Changes - Switch to Typescript @@@ Logic Errors in Lambda Functions **** Changes - Switch to Typescript **** Notes - [ ] Logging extra information is incorrectly displaying `[object Object]` @@@ Unexpected Errors in Lambda Functions **** Changes - Switch references to Typescript @@@ Errors Outside Lambda Functions **** Changes - Switch references to Typescript @@@ Errors in API Gateway **** Changes - Switch references to Typescript @@@ Wrapping Up **** Changes - Switch references to PNPM ~~ Additional Guide Information Pages still in use: @@@ Auth In Serverless Apps **** Changes - Updated to typescript - Updated referenced pages What is IAM and What is an ARN @@@ What is IAM / What is an ARN **** Changes - Updated text to remove wording implying it is a step in the guide @@@ Mapping Cognito Identity Id and User Pool Id @@@ Cognito User Pool vs Identity Pool @@@ Setting serverless environment variables in a React app - Updated to pnpm - Updated to typescript ~~ Outstanding Changes @@@ Extra Credit series of chapters on user management - [ ] TODO: Update these as they are referenced from "Give Feedback While Logging In" (Specifically links to http://localhost:4000/chapters/manage-user-accounts-in-aws-amplify.html) Co-authored-by: Jay <jvelayud@gmail.com> * Edits * Edits * Reviewing changes * Removing test code * Edits * Setting up sst * Moving to archives * Updating links to archives * Adding redirects * Adding redirects --------- Co-authored-by: Christine Panus <christine.panus@panusventures.com>
I noticed CRA is gone from https://react.dev/learn/start-a-new-react-project
But there are lots of tutorials based on it.
(I literally just had a book printed that uses it because of wanting to teach react with a minimal toolchain.)
There had been a variety of options forward shared here: reactjs/react.dev#5487 (comment)
This suggested there would be an RFC. Was there one?
It seems like "Option 3: Deprecate Create React App, suggest React frameworks" has become the reality, at least in the docs.
Is there an RFC somewhere?/What is the plan for CRA?
The text was updated successfully, but these errors were encountered: