1.1.59 • Published 2 years ago

atomic-devtools v1.1.59

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

gitHub license npm version contributions welcome

Key features of Atomic devtool include:

  • Display state changes between snapshots
  • Display component tree structure
  • Dynamically rendering graphic component visualization with state changes
  • Atom network data visualization for both atom dependents and atom read dependencies
  1. Install Atomic Chrome extension.

    Add Atomic Chrome extension to your chrome browser.

  2. Install atomic-devtools Module.

    npm install atomic-devtools
  3. Import useAtomicDevtool & AtomicDebugger from the Atomic module.

    import { useAtomicDevtool, AtomicDebugger } from 'atomic-devtools';
  4. Integrate AtomicDebugger as a React component within the application wrapping all application components intended to debug.

    • AtomicDebugger currently extracts Jotai State from it's Provider Component. Implementation is required

    • Placement of AtomicDebugger component relative to App component or Provider component is not important, so long as all stateful components are children of AtomicDebugger

    • ReactDOM.Render( ) Must receive a document **'root'** element from the application as it's argument.

    • Currently, only intended to be used with a single Provider component.

    import AtomicDebugger from 'atomic-devtools';
    import { Provider } from 'jotai';
    
    function App() {
      return (
         <AtomicDebugger>
             <Provider>
                 {Application Components}
             </Provider>
        </AtomicDebugger>
      );
    }
    
    ReactDOM.render(<App />, document.getElementById('root'));
  5. While developing your application, utilize useAtomicDevtool hook in place of Jotai's useAtom hook to send atom's config to Atomic Devtools.

    function useAtomicDevtool(atom: anyAtom, name: string);

    useAtomicDevtool is an Atomic hook that manages Atomic devtool integration for a particular atom. The hook accepts two arguments, atom and name. atom is the atom that will be connected to the devtools instance. name is a string label for identifying the atom for the devtools instance.

    Example

    import { useAtomicDevtool } from 'atomic-devtools';
    
    const anAtom = atom('example')

function SomeComponent() { const value, updateValue = useAtomicDevtool(anAtom, 'anAtomName');

    ...

}

6. #### Open your application on the Chrome Browser and start debugging with Atomic devtool!

**Important**- Only supported with React applications using Jotai as state management.

**Important**- Only intended for development (`NODE_ENV === 'development'`).

<!-- FEATURES -->
<h1>
Features
</h1>

- ### State Change Display

Easily compare atom state changes between snapshots in real-time.

 <!-- <img src="assets/stateDiff.gif" alt="stateDiff GIF" width="600px"> -->

- ### Component Graph Visualization

Atomic provides a data visualization of an applications React component tree. Have the ability to see a hierarchical view of all the React components in an application. The component graph provides the locations of each useAtom invocation per components, as well provides real-time data on an atom's value, dependents, and read dependencies for a specific snapshot.

 <!-- <img src="assets/componentGraph.gif" alt="componentGraph GIF" width="600px"> -->

- ### Atom Network Visualization of Dependents and Read Dependencies

Visualize an atom's dependents
_(displays all atoms affected by an atom)_ and read dependencies _(displays all atoms that affect the inspected atom)_.

 <!-- <img src="assets/atomNetwork.gif" alt="atomNetwork GIF" width="600px"> -->

- ### Component Tree

Displays the applications React component structure with subscribed atom(s) for a given snapshot.

 <!-- <img src="assets/componentTree.gif" alt="componentTree GIF" width="600px"> -->

<h1>
WIP
</h1>

- ### Time Travel
Currently, the ability to jump between state changes within the devtool is feasible. The snapshot list provides the state throughout the Jotai-built application runtime and each time state changes, a new snapshot is added. We intend to develop functionality that will, pressing the jump button next to each snapshot, revert application state to the desired historical snapshot.

<!-- CORE TEAM -->
<h1>
Core Team
</h1>

- Logan Thies - [Github](https://github.com/Thiesl137) | [Linkedin](https://www.linkedin.com/in/loganthies137)
- Giovanni Lituma - [Github](https://github.com/giovannixdev) | [Linkedin](https://www.linkedin.com/in/giovanni-lituma)
- Stanley Huang - [Github](https://github.com/stanleyhuang16) | [Linkedin](https://www.linkedin.com/in/stanleyhuang16)
- Chandni Patel - [Github](https://github.com/chandnikat) | [Linkedin](https://www.linkedin.com/in/chandnip6)
<!-- LICENSE -->
<h1>
License
</h1>

- This project is licensed under the MIT License.

#### Atomic was developed under tech accelerator OSLabs.
1.1.59

2 years ago

1.1.56

3 years ago

1.1.55

3 years ago

1.1.54

3 years ago

1.1.58

3 years ago

1.1.57

3 years ago

1.1.34

3 years ago

1.1.33

3 years ago

1.1.32

3 years ago

1.1.38

3 years ago

1.1.37

3 years ago

1.1.36

3 years ago

1.1.35

3 years ago

1.1.39

3 years ago

1.1.41

3 years ago

1.1.40

3 years ago

1.1.45

3 years ago

1.1.44

3 years ago

1.1.43

3 years ago

1.1.42

3 years ago

1.1.49

3 years ago

1.1.48

3 years ago

1.1.47

3 years ago

1.1.46

3 years ago

1.1.52

3 years ago

1.1.51

3 years ago

1.1.50

3 years ago

1.1.53

3 years ago

1.1.30

4 years ago

1.1.31

4 years ago

1.1.29

4 years ago

1.1.28

4 years ago

1.1.27

4 years ago

1.1.26

4 years ago

1.1.9

4 years ago

1.1.8

4 years ago

1.1.7

4 years ago

1.1.6

4 years ago

1.1.5

4 years ago

1.1.4

4 years ago

1.1.3

4 years ago

1.1.12

4 years ago

1.1.11

4 years ago

1.1.10

4 years ago

1.1.16

4 years ago

1.1.15

4 years ago

1.1.14

4 years ago

1.1.13

4 years ago

1.1.19

4 years ago

1.1.18

4 years ago

1.1.17

4 years ago

1.1.23

4 years ago

1.1.22

4 years ago

1.1.21

4 years ago

1.1.20

4 years ago

1.1.25

4 years ago

1.1.24

4 years ago

1.1.2

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.0.120

4 years ago

1.0.109

4 years ago

1.0.108

4 years ago

1.0.110

4 years ago

1.0.112

4 years ago

1.0.111

4 years ago

1.0.118

4 years ago

1.0.117

4 years ago

1.0.119

4 years ago

1.0.114

4 years ago

1.0.113

4 years ago

1.0.116

4 years ago

1.0.115

4 years ago

1.0.101

4 years ago

1.0.100

4 years ago

1.0.107

4 years ago

1.0.106

4 years ago

1.0.103

4 years ago

1.0.102

4 years ago

1.0.105

4 years ago

1.0.104

4 years ago

1.0.99

4 years ago

1.0.98

4 years ago

1.0.97

4 years ago

1.0.95

4 years ago

1.0.96

4 years ago

1.0.79

4 years ago

1.0.78

4 years ago

1.0.80

4 years ago

1.0.84

4 years ago

1.0.83

4 years ago

1.0.82

4 years ago

1.0.81

4 years ago

1.0.88

4 years ago

1.0.87

4 years ago

1.0.86

4 years ago

1.0.85

4 years ago

1.0.89

4 years ago

1.0.91

4 years ago

1.0.90

4 years ago

1.0.94

4 years ago

1.0.93

4 years ago

1.0.92

4 years ago

1.0.77

4 years ago

1.0.76

4 years ago

1.0.75

4 years ago

1.0.73

4 years ago

1.0.72

4 years ago

1.0.74

4 years ago

1.0.62

4 years ago

1.0.61

4 years ago

1.0.60

4 years ago

1.0.66

4 years ago

1.0.65

4 years ago

1.0.64

4 years ago

1.0.63

4 years ago

1.0.69

4 years ago

1.0.68

4 years ago

1.0.67

4 years ago

1.0.71

4 years ago

1.0.70

4 years ago

1.0.59

4 years ago

1.0.40

4 years ago

1.0.44

4 years ago

1.0.43

4 years ago

1.0.42

4 years ago

1.0.41

4 years ago

1.0.48

4 years ago

1.0.47

4 years ago

1.0.46

4 years ago

1.0.45

4 years ago

1.0.49

4 years ago

1.0.51

4 years ago

1.0.50

4 years ago

1.0.55

4 years ago

1.0.54

4 years ago

1.0.53

4 years ago

1.0.52

4 years ago

1.0.58

4 years ago

1.0.57

4 years ago

1.0.56

4 years ago

1.0.38

4 years ago

1.0.37

4 years ago

1.0.36

4 years ago

1.0.35

4 years ago

1.0.34

4 years ago

1.0.33

4 years ago

1.0.32

4 years ago

1.0.31

4 years ago

1.0.30

4 years ago

1.0.29

4 years ago

1.0.28

4 years ago

1.0.27

4 years ago

1.0.26

4 years ago

1.0.25

4 years ago

1.0.24

4 years ago

1.0.23

4 years ago

1.0.22

4 years ago

1.0.21

4 years ago

1.0.20

4 years ago

1.0.19

4 years ago

1.0.18

4 years ago

1.0.17

4 years ago

1.0.16

4 years ago

1.0.15

4 years ago

1.0.14

4 years ago

1.0.13

4 years ago

1.0.12

4 years ago

1.0.11

4 years ago

1.0.10

4 years ago

1.0.9

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago