Skip to content

Commit 0aa1ba6

Browse files
authored
Merge pull request #10 from oslabs-beta/reactime7
Added Readme in Russian, updated Dev readme and testing suite updated
2 parents b4c8c6a + aac48a5 commit 0aa1ba6

19 files changed

+395
-185
lines changed

README.fr.md

Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
<p align="center">
2+
<img src ="./assets/readme-logo-300-no-version.png" width="300"/>
3+
</p>
4+
<h1 align="center">
5+
React Performance Tool
6+
7+
<br>Nominated for the Productivity Booster award
8+
<br><a href="https://osawards.com/react/">React Open Source Awards 2020</a>
9+
</h1>
10+
11+
12+
[![GitHub](https://img.shields.io/github/license/oslabs-beta/reactime)](https://github.com/oslabs-beta/reactime) [![Build Status](https://travis-ci.com/oslabs-beta/reactime.svg?branch=master)](https://travis-ci.com/oslabs-beta/reactime) [![npm version](https://badge.fury.io/js/reactime.svg)](http://badge.fury.io/js/reactime) ![BabelPresetPrefs](https://img.shields.io/badge/babel%20preset-airbnb-ff69b4) ![LintPrefs](https://img.shields.io/badge/linted%20with-eslint-blueviolet)
13+
14+
15+
<p align="center">
16+
<img src="./assets/reactime7.gif" />
17+
</p>
18+
19+
<b>Reactime</b> is a performance and debugging tool for React developers. It records a snapshot whenever a target application's state is changed and allows the user to jump to any previously recorded state.
20+
21+
Currently, Reactime supports React apps using stateful components and Hooks, with beta support for Recoil and Context API.
22+
23+
<b>Reactime version 7.0</b> beta can help you to avoid unnecessary re-renders. Identifying wasted renders in your React applications is the perfect start to identifying most performance issues.
24+
Reactime 7.0 fixes previous version bugs and incorporates improved visualizations for component relationships. Reactime 7.0 includes expanded [typedoc](https://typedoc.org/api/) documentation for developers looking to contribute to the source code.
25+
26+
After installing Reactime, you can test its functionalities with your React application in development mode.
27+
28+
Please note, the time jumping feature will ONLY work when your application is running in development mode. In production mode, you are able to view your application’s component map but no additional features.
29+
## <b>Installation</b>
30+
31+
To get started, install the Reactime [extension](https://chrome.google.com/webstore/detail/reactime/cgibknllccemdnfhfpmjhffpjfeidjga) from Chrome Web Store.
32+
33+
NOTE: The React Developer Tools [extension](https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi?hl=en) is also required for Reactime to run, if you do not already have it installed on your browser.
34+
35+
### <b>Alternative Installation</b>
36+
Use `src/extension/build/build.zip` for manual installation in [Developer mode](https://developer.chrome.com/extensions/faq#faq-dev-01). Turn on 'Allow access to file URLs' in extension details page if testing locally.
37+
38+
39+
## <b>How to Use</b>
40+
41+
After installing the Chrome extension, just open up your project in the browser.
42+
43+
Then open up your Chrome DevTools and navigate to the Reactime panel.
44+
45+
## <b>Troubleshooting</b>
46+
47+
### <b>Why is Reactime telling me that no React application is found?</b>
48+
Reactime initially runs using the dev tools global hook from the Chrome API. It takes time for Chrome to load this. Try refreshing your application a couple times until you see Reactime running.
49+
50+
### <b>There is a black screen instead of the Reactime extension</b>
51+
Try refreshing the application you want to test and refresh the DevTools by clicking the right mouse button “Reload frame”.
52+
53+
### <b>I found a bug in Reactime</b>
54+
Reactime is an open source project, and we’d really appreciate your help with improving user experience. Please, create a pull request (or issue) to propose and collaborate on changes to a repository.
55+
56+
## <b>Features</b>
57+
58+
### Re-render Optimization
59+
One of the most common issues that affects performance in React is unnecessary render cycles. This problem can be fixed by checking your renders in the Performance tab in Chrome DevTools under the Reactime panel.
60+
### Recording
61+
62+
Whenever state is changed (whenever setState, useState is called), this extension will create a snapshot of the current state tree and record it. Each snapshot will be displayed in Chrome DevTools under the Reactime panel.
63+
64+
### Viewing
65+
66+
You can click on a snapshot to view your app's state. State can be visualized in a Component Graph, JSON Tree, or Performance Graph. Snapshots can be diffed with the previous snapshot, which can be viewed in Diff mode.
67+
68+
### Jumping
69+
70+
Using the actions sidebar, a user can jump to any previous recorded snapshots. Hitting the jump button on any snapshot will allow a user to view state data at any point in the history of the target application.
71+
72+
### TypeScript Support
73+
74+
Reactime offers beta support for TypeScript applications using stateful class components and functional components. Further testing and development is required for custom hooks, Context API, and Concurrent Mode.
75+
76+
### Documentation
77+
78+
After cloning this repository, developers can simply run `npm run docs` at the root level and serve the dynamically generated `/docs/index.html` file on a browser. Doing so will provide a readable, extensible, and interactive GUI view of the structure and interfaces of the codebase.
79+
80+
### <b>Additional Features</b>
81+
82+
- identifying unnecessary re-renders
83+
- hover functionality to view tooltip details on state visualizations
84+
- ability to pan and zoom on state visualizations
85+
- a dropdown to support development of projects on multiple tabs
86+
- a slider to move through snapshots quickly
87+
- a play button to move through snapshots automatically
88+
- a lock button, which stops recording each snapshot
89+
- a persist button to keep snapshots upon refresh (handy when changing code and debugging)
90+
- download/upload the current snapshots in memory
91+
- declarative titles in the actions sidebar
92+
93+
## <b>Read More</b>
94+
- [Time-Travel State with Reactime](https://medium.com/better-programming/time-traveling-state-with-reactime-6-0-53fdc3ae2a20)
95+
- [React Fiber and Reactime](https://medium.com/@aquinojardim/react-fiber-reactime-4-0-f200f02e7fa8)
96+
- [Meet Reactime - a time-traveling State Debugger for React](https://medium.com/@yujinkay/meet-reactime-a-time-traveling-state-debugger-for-react-24f0fce96802)
97+
- [Deep in Weeds with Reactime, Concurrent React_fiberRoot, and Browser History Caching](https://itnext.io/deep-in-the-weeds-with-reactime-concurrent-react-fiberroot-and-browser-history-caching-7ce9d7300abb)
98+
99+
## <b>Authors</b>
100+
- **Becca Viner** - [@rtviner](https://github.com/rtviner)
101+
- **Caitlin Chan** - [@caitlinchan23](https://github.com/caitlinchan23)
102+
- **Kim Mai Nguyen** - [@Nkmai](https://github.com/Nkmai)
103+
- **Tania Lind** - [@lind-tania](https://github.com/lind-tania)
104+
- **Alex Landeros** - [@AlexanderLanderos](https://github.com/AlexanderLanderos)
105+
- **Chris Guizzetti** - [@guizzettic](https://github.com/guizzettic)
106+
- **Jason Victor** - [@theqwertypusher](https://github.com/Theqwertypusher)
107+
- **Sanjay Lavingia** - [@sanjaylavingia](https://github.com/sanjaylavingia)
108+
- **Vincent Nguyen** - [@guizzettic](https://github.com/VNguyenCode)
109+
- **Haejin Jo** - [@haejinjo](https://github.com/haejinjo)
110+
- **Hien Nguyen** - [@hienqn](https://github.com/hienqn)
111+
- **Jack Crish** - [@JackC27](https://github.com/JackC27)
112+
- **Kevin Fey** - [@kevinfey](https://github.com/kevinfey)
113+
- **Carlos Perez** - [@crperezt](https://github.com/crperezt)
114+
- **Edwin Menendez** - [@edwinjmenendez](https://github.com/edwinjmenendez)
115+
- **Gabriela Jardim Aquino** - [@aquinojardim](https://github.com/aquinojardim)
116+
- **Greg Panciera** - [@gpanciera](https://github.com/gpanciera)
117+
- **Nathanael Wa Mwenze** - [@nmwenz90](https://github.com/nmwenz90)
118+
- **Ryan Dang** - [@rydang](https://github.com/rydang)
119+
- **Bryan Lee** - [@mylee1995](https://github.com/mylee1995)
120+
- **Josh Kim** - [@joshua0308](https://github.com/joshua0308)
121+
- **Sierra Swaby** - [@starkspark](https://github.com/starkspark)
122+
- **Ruth Anam** - [@peachiecodes](https://github.com/peachiecodes)
123+
- **David Chai** - [@davidchaidev](https://github.com/davidchai717)
124+
- **Yujin Kang** - [@yujinkay](https://github.com/yujinkay)
125+
- **Andy Wong** - [@andywongdev](https://github.com/andywongdev)
126+
- **Chris Flannery** - [@chriswillsflannery](https://github.com/chriswillsflannery)
127+
- **Rajeeb Banstola** - [@rajeebthegreat](https://github.com/rajeebthegreat)
128+
- **Prasanna Malla** - [@prasmalla](https://github.com/prasmalla)
129+
- **Rocky Lin** - [@rocky9413](https://github.com/rocky9413)
130+
- **Abaas Khorrami** - [@dubalol](https://github.com/dubalol)
131+
- **Ergi Shehu** - [@Ergi516](https://github.com/ergi516)
132+
- **Raymond Kwan** - [@rkwn](https://github.com/rkwn)
133+
- **Joshua Howard** - [@Joshua-Howard](https://github.com/joshua-howard)
134+
135+
## <b>License </b>
136+
137+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details
138+

README.md

Lines changed: 49 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,84 +2,111 @@
22
<img src ="./assets/readme-logo-300-no-version.png" width="300"/>
33
</p>
44
<h1 align="center">
5-
State Debugger for React
5+
React Performance Tool
66

77
<br>Nominated for the Productivity Booster award
8-
<br><a href="https://osawards.com/react/">👑 React Open Source Awards 2020 👑</a>
8+
<br><a href="https://osawards.com/react/">React Open Source Awards 2020</a>
99
</h1>
1010

1111

12-
[![GitHub](https://img.shields.io/github/license/oslabs-beta/reactime)](https://github.com/oslabs-beta/reactime) [![Build Status](https://travis-ci.com/oslabs-beta/reactime.svg?branch=master)](https://travis-ci.com/oslabs-beta/reactime) [![npm version](https://badge.fury.io/js/reactime.svg)](http://badge.fury.io/js/reactime) [![Vulnerabilities](https://snyk.io/test/github/oslabs-beta/reactime/badge.svg)](https://snyk.io/test/github/oslabs-beta/reactime)![BabelPresetPrefs](https://img.shields.io/badge/babel%20preset-airbnb-ff69b4)![LintPrefs](https://img.shields.io/badge/linted%20with-eslint-blueviolet)
12+
[![GitHub](https://img.shields.io/github/license/oslabs-beta/reactime)](https://github.com/oslabs-beta/reactime) [![Build Status](https://travis-ci.com/oslabs-beta/reactime.svg?branch=master)](https://travis-ci.com/oslabs-beta/reactime) [![npm version](https://badge.fury.io/js/reactime.svg)](http://badge.fury.io/js/reactime) ![BabelPresetPrefs](https://img.shields.io/badge/babel%20preset-airbnb-ff69b4) ![LintPrefs](https://img.shields.io/badge/linted%20with-eslint-blueviolet)
13+
14+
<h3 align="center">
15+
<br>
16+
<a href="./README.rus.md">РУССКАЯ ВЕРСИЯ</a> &nbsp; &nbsp; &nbsp; <a href="./README.fr.md">VERSION FRANÇAISE</a>
17+
<br>
18+
</h3>
19+
<br>
1320

1421
<p align="center">
15-
<img src="./assets/react-calculator-demo.gif" />
16-
<img src="./assets/recoil-todo-demo.gif" />
22+
<img src="./assets/reactime7.gif" />
1723
</p>
1824

19-
<b>Reactime</b> is a debugging tool for React developers. It records a snapshot whenever a target application's state is changed and allows the user to jump to any previously recorded state.
25+
<b>Reactime</b> is a performance and debugging tool for React developers. It records a snapshot whenever a target application's state is changed and allows the user to jump to any previously recorded state.
2026

2127
Currently, Reactime supports React apps using stateful components and Hooks, with beta support for Recoil and Context API.
2228

23-
Reactime verision 6.0 beta extends the core functionality by including support for [Recoil](https://recoiljs.org/). The latest release incorporates additional visualizations for component relationships as well as atom-selector relationships for Recoil applications. Reactime 6.0 includes expanded [typedoc](https://typedoc.org/api/) documentation for developers looking to contribute to the source code.
24-
25-
After installing Reactime, you can test its functionalities with the following demo repositories:
29+
<b>Reactime version 7.0</b> beta can help you to avoid unnecessary re-renders. Identifying wasted renders in your React applications is the perfect start to identifying most performance issues.
30+
Reactime 7.0 fixes previous version bugs and incorporates improved visualizations for component relationships. Reactime 7.0 includes expanded [typedoc](https://typedoc.org/api/) documentation for developers looking to contribute to the source code.
2631

27-
- [Vanilla React Calculator](https://joshua0308.github.io/calculator/)
28-
- [Bitcoin Price Index](http://reactime-demo2.us-east-1.elasticbeanstalk.com)
29-
- [Recoil Design Tool](https://github.com/jacques-blom/recoil-design-tool)
30-
- [Recoil Todo List](https://github.com/kevinfey/recoilTest)
32+
After installing Reactime, you can test its functionalities with your React application in development mode.
3133

34+
Please note, the time jumping feature will ONLY work when your application is running in development mode. In production mode, you are able to view your application’s component map but no additional features.
3235
## <b>Installation</b>
3336

3437
To get started, install the Reactime [extension](https://chrome.google.com/webstore/detail/reactime/cgibknllccemdnfhfpmjhffpjfeidjga) from Chrome Web Store.
3538

36-
### Alternative Installation
39+
NOTE: The React Developer Tools [extension](https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi?hl=en) is also required for Reactime to run, if you do not already have it installed on your browser.
40+
41+
### <b>Alternative Installation</b>
3742
Use `src/extension/build/build.zip` for manual installation in [Developer mode](https://developer.chrome.com/extensions/faq#faq-dev-01). Turn on 'Allow access to file URLs' in extension details page if testing locally.
3843

39-
*** for depracated installation steps, [click here](https://github.com/open-source-labs/reactime/blob/master/readme-OldVersion.md) ***
4044

4145
## <b>How to Use</b>
4246

4347
After installing the Chrome extension, just open up your project in the browser.
4448

4549
Then open up your Chrome DevTools and navigate to the Reactime panel.
4650

51+
## <b>Troubleshooting</b>
52+
53+
### <b>Why is Reactime telling me that no React application is found?</b>
54+
Reactime initially runs using the dev tools global hook from the Chrome API. It takes time for Chrome to load this. Try refreshing your application a couple times until you see Reactime running.
55+
56+
### <b>There is a black screen instead of the Reactime extension</b>
57+
Try refreshing the application you want to test and refresh the DevTools by clicking the right mouse button “Reload frame”.
58+
59+
### <b>I found a bug in Reactime</b>
60+
Reactime is an open source project, and we’d really appreciate your help with improving user experience. Please, create a pull request (or issue) to propose and collaborate on changes to a repository.
61+
4762
## <b>Features</b>
4863

64+
### Re-render Optimization
65+
One of the most common issues that affects performance in React is unnecessary render cycles. This problem can be fixed by checking your renders in the Performance tab in Chrome DevTools under the Reactime panel.
4966
### Recording
5067

51-
Whenever state is changed (whenever setState, useState, or useRecoilState is called), this extension will create a snapshot of the current state tree and record it. Each snapshot will be displayed in Chrome DevTools under the Reactime panel.
68+
Whenever state is changed (whenever setState, useState is called), this extension will create a snapshot of the current state tree and record it. Each snapshot will be displayed in Chrome DevTools under the Reactime panel.
5269

5370
### Viewing
5471

55-
You can click on a snapshot to view your app's state. State can be visualized in a Component Graph, JSON Tree, or Performance Graph. In a Recoil application, flow of data from atoms to components is visualized in the Relationships tab. Also, snapshots can be diffed with the previous snapshot, which can be viewed in Diff mode.
72+
You can click on a snapshot to view your app's state. State can be visualized in a Component Graph, JSON Tree, or Performance Graph. Snapshots can be diffed with the previous snapshot, which can be viewed in Diff mode.
5673

5774
### Jumping
5875

5976
Using the actions sidebar, a user can jump to any previous recorded snapshots. Hitting the jump button on any snapshot will allow a user to view state data at any point in the history of the target application.
6077

6178
### TypeScript Support
6279

63-
Reactime offers beta support for TypeScript applications using stateful class components and functional components. Further testing and development is required for custom hooks, Context API, and Concurrent Mode.
80+
Reactime offers beta support for TypeScript applications using stateful class components and functional components. Further testing and development is required for custom hooks, Context API, and Concurrent Mode.
6481

6582
### Documentation
6683

6784
After cloning this repository, developers can simply run `npm run docs` at the root level and serve the dynamically generated `/docs/index.html` file on a browser. Doing so will provide a readable, extensible, and interactive GUI view of the structure and interfaces of the codebase.
6885

69-
### Additional Features
86+
### <b>Additional Features</b>
7087

88+
- identifying unnecessary re-renders
7189
- hover functionality to view tooltip details on state visualizations
7290
- ability to pan and zoom on state visualizations
7391
- a dropdown to support development of projects on multiple tabs
7492
- a slider to move through snapshots quickly
7593
- a play button to move through snapshots automatically
76-
- a pause button, which stops recording each snapshot
77-
- a lock button to freeze the DOM in place. setState will lose all functionality while the extension is locked
94+
- a lock button, which stops recording each snapshot
7895
- a persist button to keep snapshots upon refresh (handy when changing code and debugging)
79-
- export/import the current snapshots in memory
96+
- download/upload the current snapshots in memory
8097
- declarative titles in the actions sidebar
8198

99+
## <b>Read More</b>
100+
- [Time-Travel State with Reactime](https://medium.com/better-programming/time-traveling-state-with-reactime-6-0-53fdc3ae2a20)
101+
- [React Fiber and Reactime](https://medium.com/@aquinojardim/react-fiber-reactime-4-0-f200f02e7fa8)
102+
- [Meet Reactime - a time-traveling State Debugger for React](https://medium.com/@yujinkay/meet-reactime-a-time-traveling-state-debugger-for-react-24f0fce96802)
103+
- [Deep in Weeds with Reactime, Concurrent React_fiberRoot, and Browser History Caching](https://itnext.io/deep-in-the-weeds-with-reactime-concurrent-react-fiberroot-and-browser-history-caching-7ce9d7300abb)
104+
82105
## <b>Authors</b>
106+
- **Becca Viner** - [@rtviner](https://github.com/rtviner)
107+
- **Caitlin Chan** - [@caitlinchan23](https://github.com/caitlinchan23)
108+
- **Kim Mai Nguyen** - [@Nkmai](https://github.com/Nkmai)
109+
- **Tania Lind** - [@lind-tania](https://github.com/lind-tania)
83110
- **Alex Landeros** - [@AlexanderLanderos](https://github.com/AlexanderLanderos)
84111
- **Chris Guizzetti** - [@guizzettic](https://github.com/guizzettic)
85112
- **Jason Victor** - [@theqwertypusher](https://github.com/Theqwertypusher)

0 commit comments

Comments
 (0)