All Projects → Gossamer-React → Lucid

Gossamer-React / Lucid

Licence: mit
A developer tool for engineers working with React and GraphQL.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Lucid

Go Chrome
A golang library for interacting with the Chrome DevTools Protocol. https://chromedevtools.github.io/devtools-protocol/
Stars: ✭ 96 (-75.82%)
Mutual labels:  devtools, chrome, chrome-devtools
Nim
Streamline Your Node.js Debugging Workflow with Chromium (Chrome, Edge, More) DevTools.
Stars: ✭ 168 (-57.68%)
Mutual labels:  devtools, chrome, chrome-devtools
Puppeteer Webperf
Automating Web Performance testing with Puppeteer 🎪
Stars: ✭ 1,392 (+250.63%)
Mutual labels:  devtools, chrome, chrome-devtools
Get Graphql Schema
Fetch and print the GraphQL schema from a GraphQL HTTP endpoint. (Can be used for Relay Modern.)
Stars: ✭ 443 (+11.59%)
Mutual labels:  graphql, apollographql, devtools
React Rewind
Time Travel Debugger for React useReducer
Stars: ✭ 159 (-59.95%)
Mutual labels:  devtools, chrome, chrome-devtools
Artemis Dev Tool
An Apollo GraphQL Query Schema Testing Tool
Stars: ✭ 66 (-83.38%)
Mutual labels:  graphql, devtools, chrome-devtools
Graphql Kafka Subscriptions
Apollo graphql subscriptions over Kafka protocol
Stars: ✭ 154 (-61.21%)
Mutual labels:  graphql, apollographql
Apollo Opentracing
Performance trace your Apollo GraphQL server with Opentracing
Stars: ✭ 154 (-61.21%)
Mutual labels:  graphql, apollographql
Gramps Legacy
The core data source combination engine of GrAMPS.
Stars: ✭ 198 (-50.13%)
Mutual labels:  graphql, apollographql
page-walker
Chrome DevTools automation for desktop and mobile devices
Stars: ✭ 18 (-95.47%)
Mutual labels:  chrome-devtools, devtools
Apollo2 Subscriptions How To
Apollo Server 2 how to setup subscriptions
Stars: ✭ 125 (-68.51%)
Mutual labels:  graphql, apollographql
Apollo Android
🤖  A strongly-typed, caching GraphQL client for the JVM, Android, and Kotlin multiplatform.
Stars: ✭ 2,949 (+642.82%)
Mutual labels:  graphql, apollographql
chrome-ext-save-css
Chrome extension to automatically save changes in CSS and JS into local disk.
Stars: ✭ 27 (-93.2%)
Mutual labels:  chrome-devtools, devtools
Apollo Server
🌍  Spec-compliant and production ready JavaScript GraphQL server that lets you develop in a schema-first way. Built for Express, Connect, Hapi, Koa, and more.
Stars: ✭ 12,145 (+2959.19%)
Mutual labels:  graphql, apollographql
Githunt Angular
An Apollo with Angular full-stack example app: vote for your favorite GitHub repos!
Stars: ✭ 144 (-63.73%)
Mutual labels:  graphql, apollographql
Graphql Toolkit
A set of utils for faster development of GraphQL tools
Stars: ✭ 169 (-57.43%)
Mutual labels:  graphql, devtools
Apollo Federation Ruby
A Ruby implementation of Apollo Federation
Stars: ✭ 131 (-67%)
Mutual labels:  graphql, apollographql
useful-forks.github.io
Improving GitHub's Forks list discoverability through automatic filtering. The project offers an online tool and a Chrome extension.
Stars: ✭ 917 (+130.98%)
Mutual labels:  chrome-devtools, devtools
Apollo Client
🚀  A fully-featured, production ready caching GraphQL client for every UI framework and GraphQL server.
Stars: ✭ 17,070 (+4199.75%)
Mutual labels:  graphql, apollographql
Apollo Ios
📱  A strongly-typed, caching GraphQL client for iOS, written in Swift.
Stars: ✭ 3,192 (+704.03%)
Mutual labels:  graphql, apollographql

Tweet AppVeyor AppVeyor

Lucid: a React-GraphQL developer tool

Lucid is a Chrome Developer Tool designed to help engineers debug their React-GraphQL applications.

  • Visualize the component hierarchy, state/props data and state changes of your React application
  • See your GraphQL schema, queries, and mutations in real-time

Underlying Technology

React Tab

Lucid parses through your React app to generate an interactive tree graph representing your React component hierarchy, with node-specific state and props data. The tree updates upon each change to the React app's state, and displays a log of state diffs on the left. This is done by creating a persistent data bridge to the user's React application via the Javascript API for WebExtensions' background and content scripts. Lucid injects scripts utilizing React DevTool's Global Hook to recursively traverse through the React DOM each time setState is called, resulting in a tree and a log that each display real-time feedback. Our app itself uses React internally so as the state of your live app changes, the Lucid tree graph will also provide visual feedback of data flow and state changes through the React components immediately.

GraphQL Tab

Lucid intercepts HTTP requests using Chrome Devtool APIs to display a log of real-time Apollo client queries and mutations, along with associated response objects. Lucid also uses GraphQL schema introspection to display schema information from the server. This allows full-stack developers to debug their app from the front-end to the back-end, as requests are generated, responses are returned from the server, and data flows through React components to be rendered in the DOM.

Setup

Install from Chrome Extension Store Build your own extension
1. Install React Developer Tools. 1. Clone the repo and npm install
2. Install Lucid or Build your own extension. 2. npm run build
3. Restart Chrome Browser. 3. Navigate to chrome://extensions.
4. Run your React v16+ application using GraphQL. 4. Click Load Unpacked and select your './react-lucid/build' folder.
5. Open Chrome Developer Tools (Inspect) and click on the Lucid panel. Trigger a re-render!

IMPORTANT: Lucid is in BETA mode and works best for React v16+ local projects in development environments.

How to Use

GraphQL Tab

  • In the GraphQL panel, a chronological log of API requests is shown on the left.
  • A GraphQL schema of all available types, queries, and mutations is also automatically fetched from the GraphQL server when Lucid is initialized and displayed on the bottom.
  • Click each request log to see its associated HTTP response.

NOTE: Lucid only listens for HTTP requests while it is open in the Chrome Developer Tool panel. To see any requests that were made upon initial page load, reload your React page after opening Lucid in your Chrome browser.

React Tab

  • In the React panel is a tree graph representing your application's component hierarchy.
  • Hovering over any React Component in the tree displays the state and props data of that component in the top left.
  • The State Diff Log tracks changes in state whenever setState() is triggered.
  • Filter out specified higher-order components from your tree graph (e.g. Redux, Apollo-GraphQL, and React Router) by clicking the buttons.

Contributing

Lucid is currently in beta release. Please let us know about bugs and suggestions at [email protected]. Feel free to fork this repo and submit pull requests!

Coming Soon

Team

Yong-Nicholas Kim (https://github.com/yongnicholaskim)

Nian Liu (https://github.com/nianliu18)

Eterna Tsai (https://github.com/eternalee)

Neyser Zana (https://github.com/neyser95)

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].