Files
prowler/ui
Lydia Vilchez 0a6206e9a8 fix(ui): pre-optimize @peculiar/x509 and reflect-metadata for vitest browser
The Azure certificate generator (PROWLER-2378) imports @peculiar/x509 and
reflect-metadata. Without them in vitest.config.ts optimizeDeps.include,
Vite discovered them the first time a component test loaded the cert
generator lazily and emitted "optimized dependencies changed. reloading"
mid-run. That reload races with Playwright's route handlers on the
integration project, surfacing as "Unhandled Rejection: There was an
error when mocking a module" and taking down the whole run in CI.

Pre-bundling both packages up front removes the mid-run reload — verified
by clearing node_modules/.vite and rerunning the previously-failing
providers-page.integration.test.tsx: 62/62 pass with no reload warning.
2026-08-12 10:23:21 +02:00
..
2024-11-25 13:15:14 +01:00
2024-11-25 13:15:14 +01:00

Description

This repository hosts the UI component for Prowler, providing a user-friendly web interface to interact seamlessly with Prowler's features.

🚀 Production deployment

Docker deployment

Clone the repository

# HTTPS
git clone https://github.com/prowler-cloud/ui.git

# SSH
git clone git@github.com:prowler-cloud/ui.git

Build the Docker image

docker build -t prowler-cloud/ui . --target prod

Run the Docker container

docker run -p 3000:3000 prowler-cloud/ui

Local deployment

Clone the repository

# HTTPS
git clone https://github.com/prowler-cloud/ui.git

# SSH
git clone git@github.com:prowler-cloud/ui.git

Build the project

pnpm run build

Run the production server

pnpm start

🧪 Development deployment

Docker deployment

Clone the repository

# HTTPS
git clone https://github.com/prowler-cloud/ui.git

# SSH
git clone git@github.com:prowler-cloud/ui.git

Build the Docker image

docker build -t prowler-cloud/ui . --target dev

Run the Docker container

docker run -p 3000:3000 prowler-cloud/ui

Local deployment

Clone the repository

# HTTPS
git clone https://github.com/prowler-cloud/ui.git

# SSH
git clone git@github.com:prowler-cloud/ui.git

Install dependencies

pnpm install

Note: The pnpm install command will automatically configure prek Git hooks for code quality checks. If hooks are not installed, run from the repo root:

prek install

Run the development server

pnpm run dev

Technologies Used

Git Hooks

The UI uses prek for pre-commit checks, configured in .pre-commit-config.yaml. pnpm install runs the postinstall script that installs hooks automatically. To re-install manually:

prek install --overwrite

On each commit, prek runs Prettier and ESLint against the staged files, plus a project-wide TypeScript check and the unit tests related to the staged changes. The full Next.js build runs in CI, not on commit.