mirror of
https://github.com/prowler-cloud/prowler.git
synced 2026-10-22 03:14:21 +00:00
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.
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.