Giter Club home page Giter Club logo

react-typescript-todomvc-2022's Introduction

Project Status from the Author (@ryota-murakami, Aug 16 2023):

I'm considering continue update as a Client Side SPA or Rewrite this app with Server Components.
But Server Components doen't meant obsolete Client Side SPA, both archtecture is great option depends on application type, dev team type, each dev's skillset type.

Might be keep update both archtecture TODO is ideal vision for me unless there are planty rest time.
Anyway, I thnik was TODO MVC outdated for current JS frameworks.
I want to renew this project about this winter.


React TypeScript TodoMVC 2022

Netlify Status Build Cypress E2E Lint Test code style: prettier Typecheck All Contributors This project is using Percy.io for visual regression testing.

gif

A Modern Code Style Todo Example ๐Ÿ“

This project was started with the goal of continue to publish TodoMVC Apps in the latest React writing style.

When you found React.js on TodoMVC top page, you might seen classic style React.createClass() based source at first.
I don't complain about it because the old-style codebase React app works all over the world and helps peopleAlmost cases, there is no value that spending time for rerwite new syntax sugar of huge codebase.

This project aims to assist new React learners and those who have not written React for a long time by providing a handy resource for learning the latest React.js. I'm glad to even the repo could be useful for your learning. ๐Ÿค—

Edit react-typescript-todomvc-2022


Getting Started

  • The app assumes that you have installed Node.js newer than v18.16.1 LTS. If you don't have it yet, follow the official Node.js Doc to install it.
npx degit laststance/react-typescript-todomvc-2022 react-typescript-todomvc-2022
cd react-typescript-todomvc-2022
npm i
npm start

after that auto launch todo app on your default browser and code edit ready.


Stack

Command

You can do exact same command with npm, or install yarn easily if you have interest.

yarn or yarn install

Install all Node Package Modules that depending this project.

yarn start

After that you'll seen the console which are server processes messages.
Let's follow the message and put in URL http://localhost:3000/ your browsers adressbar,
and then you'll got todo app as same as Demo. let's modify under the src/ code feel free!!

yarn build

Production build that bundled optimization stuff in build directory.

yarn serve

Run production build that generated by yarn build.

yarn lint

ESLint is at the top. And setup TypeScript ESLint, integrating Prettier as a eslint-plugin-prettier.
Here is final config list.

yarn lint:fix

Run wtih eslint --fix option.
Actually frequently use for perform Prettier formatting.

yarn typecheck

Check TypeScript error whole porject.

yarn test

Run Jest.
Using react-testing-library for component integration testing.

yarn clean

Delete node_modules/*, yarn.lock, build/* once.

yarn prettier

Run prettier formatting holeproject without all JS/TS files.

yarn cypress:open

Cypress is all-in-one E2E Testing tool which can deal testing on real browser.
This command using Electron by Cypress default.

yarn cypress:open require yarn start before.

yarn start # Launch DevServer
yarn cypress:open

cypress_open

yarn cypress:run

Run Cypress with Electron.
That's same as run all test on cypress GUI after run yarn cypress:open.

yarn start # Launch DevServer
yarn cypress:run

yarn cypress:run:headless

Run Cypress with headless Electron.
That mean this command complete all on a terminal without GUI.

yarn start # Launch DevServer
yarn cypress:run:headless

๐Ÿ—’ Note

This is not a Best Practice introduction.
There are tons of effective way to create solid software in JavaScript World, you have a lot of other option based on your preference for approaching where, The Repo is just a style of my favorite.

"How to combining TypeScript with massive Babel or JavaScript tools ecosystem?"

I hope this helps you know like that from what I've Published!

Issues

Please feel free to post New Issue or Pull Request ๐Ÿค—

Questions

Please feel free to post New Issue or reply on Twitter ๐Ÿฆ

If you want to get more generally answers, these community are might be helpful ๐Ÿป

LICENSE

MIT

Contributors

Thanks goes to these wonderful people (emoji key):

ryota-murakami
ryota-murakami

๐Ÿ’ป ๐Ÿ“– โš ๏ธ
Will Roscoe
Will Roscoe

๐Ÿ’ป
Peng Fei
Peng Fei

๐Ÿ›
Alex Panchuk
Alex Panchuk

๐Ÿ“–
Burhan Mullamitha
Burhan Mullamitha

๐Ÿ“–
hefengxian
hefengxian

๐Ÿ’ป โš ๏ธ
Ethan Setnik
Ethan Setnik

๐Ÿ“–
Paolo Nessim
Paolo Nessim

๐Ÿ’ป
Li Kui
Li Kui

๐Ÿ’ป
Adarsh Gupta
Adarsh Gupta

๐Ÿ“–

This project follows the all-contributors specification. Contributions of any kind welcome!

react-typescript-todomvc-2022's People

Contributors

adarsh-gupta101 avatar alexpanchuk avatar allcontributors[bot] avatar burhanmullamitha avatar dependabot[bot] avatar depfu[bot] avatar esetnik avatar github-actions[bot] avatar hefengxian avatar likui628 avatar paolojn avatar renovate[bot] avatar ryota-murakami avatar wroscoe avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.