Welcome to the Harness Canary monorepo! This repository contains multiple projects for Harness' next generation Unified UI.
- packages: Contains projects for Harness next generation Unified UI projects. They are published as npm packages.
- apps: Contains deployable/executable standalone applications.
- @harnessio/svg-icon - a small library to render SVG in a web component.
- @harnessio/svg-icons-react - a React binding library for svg-icon.
- @harnessio/svg-icons-cli - CLI commands to generate icon components from raw svg icons set.
- @harnessio/icons-noir - Noir icon set React components generated from Iconoir.
- @harnessio/canary - Harness Canary UI components library built on top of Radix UI and ShadCN UI.
- @harnessio/unified-pipeline - Harness Unified Pipeline library.
Before getting started with this repository, ensure you have the following prerequisites:
Node.js: You'll need Node
version 18.20.4
or newer.
We use pnpm
to manage this monorepo. To install pnpm
, visit the pnpm installation page.
To set up the necessary dependencies for this monorepo, follow these steps:
- Clone this repository to your local machine.
- Open your terminal and navigate to the root folder of the cloned repository.
- Run the following command to install dependencies:
pnpm install
pnpm deps
To build all projects, execute the following command from the repository root folder:
pnpm build
Or you can build individual project by running pnpm run build
from each project folder root folder.
To bring up Canary StoryBook locally, run:
pnpm dev
Note: pnpm build
needs to be run before pnpm dev
to ensure all packages are built.
To publish all packages, run:
pnpm publish:all
You can also publish individual packages by running pnpm publish
from each project folder. Note that you'll need to authenticate youself with npm
before publishing.
DO NOT publish packages using npm
. Use pnpm
instead.
If you're using Visual Studio Code (VSCode) and encounter issues with package recognition or type definitions after rebuilding the workspace, follow these steps to resolve them:
- Open VSCode.
- Press
Cmd-Shift-P
to open the command palette. - Type
Reload Project
and select it from the list.
This process helps to resolve any issues related to package recognition and type checking.
If you have any questions or encounter any problems, please don't hesitate to reach out for assistance. Happy coding!
Apache License 2.0, see LICENSE.