Customize the look and feel of your applications
This monorepo contains:
- Identity Server Templates
- Self Service Portal
- HAAPI React App
- CSS Library
- UI Icons React Library
- React Component Library
main is the development branch. It holds the work for the next release and does not correspond to any released version.
Note
Before the 11.5 release, main reflected the latest release. That is no longer the case.
To work against a released version, check out the version branch for your Identity Server version:
git checkout version/X.YFor example, for Identity Server 11.5.x, check out version/11.5.
Version branches keep receiving fixes for their release after it ships, without picking up unreleased development work from main. Each release is also tagged as ui-kit-<version> (for example ui-kit-11.5.0) if you need the exact state that shipped. Releases that have no version branch are available through their tag only.
- Node.js (version as specified in the
.nvmrcfile)
This project uses a specific Node.js version as specified in the .nvmrc file. We recommend using nvm (Node Version Manager) to ensure compatibility.
If you have nvm installed, you can automatically use the correct Node.js version by running:
nvm useThis will read the version from .nvmrc and switch to it. If the specified version isn't installed, you'll be prompted to install it with:
nvm installIf you don't have nvm installed:
- macOS/Linux: Follow the official installation guide
- Windows: Use nvm-windows
To install all dependencies across a monorepo using npm workspaces, you just run:
npm installTo start preview servers concurrently for all projects, run:
npm startThen you can access the projects at:
- Curity Identity Server Templates: http://localhost:3000
- Self Service Portal: http://localhost:5173/previewer
- HAAPI React App: http://localhost:5174
To start projects individually, run:
npm run start:identity-serverto start the Curity Identity Server Templatesnpm run start:sspto start the Self Service Portalnpm run start:haapi-react-appto start the HAAPI React App
To build everything, run:
npm run buildTo build projects individually, run:
npm run build:identity-serverto build the Identity Server Templatesnpm run build:sspto build the Self Service Portalnpm run build:haapi-react-appto build the HAAPI React Appnpm run build:cssto build Curity CSS librarynpm run build:iconsto build Curity UI Icons React library
To deploy build artifacts (assets, templates, and messages) to a production environment, you can use the deploy.sh script.
-
Set the
IDSVR_HOMEenvironment variable to your Identity Server installation directory:export IDSVR_HOME=/path/to/idsvr/dist -
Build the projects before deploying:
npm run build
Or build specific projects with
npm run build:<project>to deploy only those, e.g.:npm run build:ssp npm run build:haapi-react-app
Deploy to overrides (default):
./deploy.shThis deploys:
- Identity Server assets, templates, and messages
- Self Service Portal to
templates/overridesandmessages/overrides - HAAPI React App assets to the global
webroot/assets, with its loader fragment intemplates/overrides
Deploy to a specific template area:
./deploy.sh my-template-areaThis deploys:
- Identity Server assets, templates, and messages
- Self Service Portal only to the specified template area (not to overrides)
- HAAPI React App assets to the global
webroot/assets, with its loader fragment in the specified template area
Identity Server:
- Assets (CSS, Fonts, Images, JS) →
${IDSVR_HOME}/usr/share/webroot - Templates →
${IDSVR_HOME}/usr/share/templates - Messages →
${IDSVR_HOME}/usr/share/messages
Self Service Portal:
- Templates →
${IDSVR_HOME}/usr/share/templates/overrides/apps/self-service-portalortemplate-areas/{area}/apps/self-service-portal - Messages →
${IDSVR_HOME}/usr/share/messages/overrides/{language}/apps/self-service-portalortemplate-areas/{area}/{language}/apps/self-service-portal
HAAPI React App:
- Assets →
${IDSVR_HOME}/usr/share/webroot/assets/{js,css}, preserving content-hashed filenames so different builds can coexist - Assets fragment →
${IDSVR_HOME}/usr/share/templates/overrides/fragments/api-driven-ui/assets.vmortemplate-areas/{area}/fragments/api-driven-ui/assets.vm, rewritten to point at the deployed assets
Licensed under the Apache License, Version 2.0. See LICENSE.