This repository contains the codebase for the Radius Token Tango project, which includes a Figma Widget and a web UI. The project is structured as a monorepo, containing multiple applications and packages.
- Project Structure
- Installation
- Development
- Build
- Linting and Formatting
- Publishing the Widget
- Future Plans
The repository is organized as follows:
- apps/token-tango-web-ui: The web UI application for the Token Tango project.
- apps/token-tango-widget: The Figma Widget application for the Token Tango project.
- packages/eslint-config: Internal ESLint configuration package.
- packages/typescript-config: Internal TypeScript configuration package.
- packages/bandoneon: Small UI library for the web part of the app.
To set up the project, you'll need to have pnpm installed. Once you have pnpm
, run the following command to install all dependencies:
pnpm install
To start the development server for all apps, use the following command:
pnpm dev
This will run turbo dev
, which starts the development server for all applications and packages.
To build all applications and packages, run:
pnpm build
This will run turbo build
, which builds all the projects in the monorepo.
To lint the codebase, run:
pnpm lint
To format the codebase using Prettier, run:
pnpm format
To publish the Figma Widget, follow these steps:
- Navigate to the
apps/token-tango-widget
directory. - Ensure you have the correct Figma manifest file located at
apps/manifest.json
. - Download and install the Desktop version of Figma: https://www.figma.com/downloads/ 4. If you already have Figma, ensure your using the latest version.
- Log in to your account and open the Figma desktop app 6. I suggest opening a file with Figma Variables
- From the menu, select "Widgets" -> "Development" -> "Import widget from manifest..." ->
7. This opens the File Explorer, find and select:
apps/manifest.json
8. The widget will load into the currently open Figma file. 9. It will position the Widget into a Frame which can affect your layout, be careful when inserting. 10. it's trivial to delete the widget and restore it from the right click menu.
We plan to add more packages in the future, including:
- Common Logic Library: A library containing common logic used across the applications.
- Command-Line Tool: A tool for converting layer files to other formats.
This project is licensed under the MIT License. See the LICENSE file for more details.