| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
A monorepo containing shared UI libraries for the Perses project. All libraries are versioned together and published as independent npm packages under the @perses-dev org.
This monorepo manages the core UI libraries that power the Perses platform. Each workspace is published as a separate npm package, but they all share the same version number to ensure compatibility.
| Package | NPM | Description |
|---|---|---|
| @perses-dev/components | Common UI components used across Perses features | |
| @perses-dev/dashboards | The dashboards feature in Perses | |
| @perses-dev/explore | The explore feature in Perses | |
| @perses-dev/plugin-system | The plugin system for Perses |
Clone the repository and install dependencies:
git clone https://github.com/perses/shared.git
cd shared
npm installThis monorepo uses Turborepo for efficient task running and caching.
npm run buildnpm run testnpm run type-check# Check for linting issues
npm run lint
# Fix linting issues automatically
npm run lint:fixThe Oxlint configuration includes React Doctor's lint-native rules. Run npm run doctor for the full React Doctor project scan; pull requests and pushes to main also run that scan in GitHub Actions.
Watch for changes and rebuild automatically:
npm run start# Clean all build outputs
npm run clean
# Clean and reinstall all dependencies
npm run reinstall
# Clear Turborepo cache
npm run clear-turbo-cacheTo link these shared libraries with your local Perses UI or plugins development environment, use the provided script:
./scripts/link-with-perses/link-with-perses.shThe script will back up your current dependencies, build and link the shared libraries for local development. By default, it will search for the Perses UI app as a sibling directory. You can also link with plugins by using the --plugins flag.
For detailed usage information:
./scripts/link-with-perses/link-with-perses.sh --helpCommon commands:
# Link with Perses UI (default, sibling directory at ../perses)
./scripts/link-with-perses/link-with-perses.sh link
# Link with Perses UI at custom location
./scripts/link-with-perses/link-with-perses.sh link --perses ~/projects/perses
# Link with plugins (sibling directory at ../plugins)
./scripts/link-with-perses/link-with-perses.sh link --plugins
# Link with plugins at custom location
./scripts/link-with-perses/link-with-perses.sh link --plugins ~/projects/plugins
# Check link status
./scripts/link-with-perses/link-with-perses.sh status --plugins
# Unlink
./scripts/link-with-perses/link-with-perses.sh unlinkWarning
As the shared dependencies are file references, you cannot build for production while linked to local shared libraries. Make sure to unlink the shared libraries before building for production.
Please read CONTRIBUTING.md for details on our development process and how to submit pull requests.
See RELEASE.md for information about the release process.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
| Back | FazBrowse Home | New Git URL |