Skip to content

Latest commit

 

History

History
132 lines (102 loc) · 2.97 KB

File metadata and controls

132 lines (102 loc) · 2.97 KB

Start the Project

  1. Clone GitHub repository:
git clone git@github.com:epam/UUI.git
  1. Install root and server dependencies:
yarn
cd ./server
yarn
  1. Go back to root and build server and run the App:
yarn build-server
yarn start

This will open the uui.epam.com website locally, in watch mode.

Build UUI packages

yarn build

Run tests

Unit tests

Run unit tests:

yarn test
//or watch mode
yarn test-watch

Note for Windows users: If you encounter errors when running tests, try using reduced worker count:

yarn run test --maxWorkers=2 --testTimeout=10000

You can increase maxWorkers up to 4 if needed.

Update snapshots:

yarn test-update

Generate test report:

yarn test-report

This will generate test report into .reports/unit-tests folder

E2E and screenshot tests

Read this guide.

Generate Property explore data and API references

To generate the metadata which is used to build PE pages and API blocks

yarn generate-components-api

Update icon set

To update uui icons based on new icons set from figma

  1. Past new icons set into icons-source(create if not exist) folder in the root of the project
  2. Then run command:
yarn process-icons

This will update icons into epam-assets/icons

Generate themes core tokens

To build Themes core css-variables(epam-assets/theme/variables/tokens) from Figma JSON

  1. Place exported from Figma file Theme.json into public/docs/figmaTokensGen folder
  2. Run yarn generate-theme-tokens command

Track bundle sizes

This is needed to check if current branch changes do not exceed UUI packages sizes baseline. Used to notify if some changes significantly increase package size. This is a part of PR quality check.

  • To run this check locally run:
yarn track-bundle-size
  • To override baseline with current size values (Run it only if you sure that new package sizes are expected):
yarn track-bundle-size-override

AI-Powered IDE Setup (Optional)

If you use an AI-powered IDE (Cursor, Windsurf, Cline, etc.), a GitHub MCP server enables the AI agent to fetch issues, create PRs, and interact with GitHub directly.

Add a GitHub MCP server to your IDE's global MCP config (not project-level, to avoid token conflicts). Refer to your IDE's documentation for the config file location.

Example MCP server config:

{
  "mcpServers": {
    "github": {
      "url": "https://api.githubcopilot.com/mcp/",
      "headers": {
        "Authorization": "Bearer <your-github-copilot-token>"
      }
    }
  }
}

Without it, the agent falls back to web fetching for GitHub issues (works for public repos only).

Run Next.js demo app

If you need to test how UUI works into next.js environment, you can use the following demo app. For more details, read readme.md into next-demo folders.

//Run next with app router
yarn next-app:dev

//Run next with pages router
yarn next-pages:dev