All Projects → ericclemmons → Codelift

ericclemmons / Codelift

A "No Code" GUI for your React app

Programming Languages

typescript
32286 projects

codelift  Version Downloads Release

A "No Code" GUI for your existing React app. – Launch Tweet

Next.js Example

Getting Started

Within your project:

  1. yarn add codelift --dev

  2. For create-react-app:

    yarn codelift start

    For Next.js:

    yarn codelift dev

    (codelift runs yarn ____ with whatever you provide)

  3. Add the following import "codelift/register" to the top of your src/index.tsx or pages/_app.tsx:

    import React from "react";
    import ReactDOM from "react-dom";
    
    import { register } from "codelift";
    register({ React, ReactDOM });
    

    codelift requires access to your application's copy of react and react-dom to support custom inspectors.

Examples

Features

  • Double-Click components & elements in the tree view to open in VS Code.

  • Tailwind Visual Inspector

    1. Hover & Select an element.
    2. Find-as-you-type CSS classes.
    3. Hover to preview before applying.
    4. Click to toggle in your source code.
  • CMD+' to toggle codelift and browse normally.

  • Custom Inspectors:

    Suppose you have Header component that accepts a title:

    export const Header = ({ title }) => {
      ...
    }
    

    Next, attach a custom Inspector component to your Header that accepts the current props and calls setProps when it changes:

    Header.Inspector = ({ props, setProps }) => {
      return (
        <input
          onChange={event => setProps({ title: event.target.value })}
          defaultValue={props.title}
        />
      );
    };
    

    Your Inspector will be rendered in a sidepanel when a Header is selected:

    Header Inspector

Contributing

  1. Clone this repo.
  2. yarn cra or yarn next to run the CRA or Next.js examples, respectively.

Author

  • Eric Clemmons

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Eric Clemmons

💻 📖 🚇

​Faizaan

💻

Adam Hunter

📖

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

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].