Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 9 additions & 5 deletions .coderabbit.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,17 @@
language: 'en'
reviews:
profile: 'assertive'
high_level_summary: true
high_level_summary: false
changed_files_summary: true
poem: false
review_status: true
collapse_walkthrough: false
review_status: false
collapse_walkthrough: true
request_changes_workflow: true
sequence_diagrams: false
related_issues: false
related_prs: false
suggested_labels: false
assess_linked_issues: false
path_instructions:
- path: '**/*.ts,**/*.tsx'
instructions: |
Expand All @@ -28,8 +34,6 @@ reviews:
tools:
eslint:
enabled: true
biome:
enabled: true
github-checks:
enabled: true
timeout_ms: 90000
8 changes: 4 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ jobs:
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: "yarn"
cache: "npm"

- run: yarn install --frozen-lockfile
- run: yarn build
- run: yarn test
- run: npm ci
- run: npm run build
- run: npm run test
31 changes: 15 additions & 16 deletions .github/workflows/sonarcloud.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,33 +2,32 @@ name: SonarCloud analysis

on:
push:
branches: ["master"]
branches: [master]
pull_request:
types: [opened, synchronize, reopened]
workflow_dispatch:

permissions:
pull-requests: read # allows SonarCloud to decorate PRs with analysis results
pull-requests: read

jobs:
Analysis:
analysis:
runs-on: ubuntu-latest
strategy:
matrix:
node_version: [24.x]

steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
fetch-depth: 0

- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node_version }}
node-version: 24
cache: "npm"

- run: npm ci

- name: Install
run: yarn install
- name: Unit test run
run: yarn test:coverage
run: npm run test:coverage
env:
VITE_PAYMENTS_API_URL: ${{ secrets.PAYMENTS_API_URL }}
VITE_DRIVE_API_URL: ${{ secrets.DRIVE_API_URL }}
Expand All @@ -37,9 +36,9 @@ jobs:
VITE_CRYPTO_SECRET: ${{ secrets.CRYPTO_SECRET }}
VITE_DRIVE_APP_URL: ${{ secrets.DRIVE_APP_URL }}

# Analyze with SonarCloud
- name: Analyze with SonarCloud
uses: SonarSource/sonarcloud-github-action@master
- name: SonarCloud Scan
uses: SonarSource/sonarqube-scan-action@v4
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} # Generate a token on Sonarcloud.io, add it to the secrets of this repo with the name SONAR_TOKEN (Settings > Secrets > Actions > add new repository secret)
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
SONAR_HOST_URL: https://sonarcloud.io
59 changes: 58 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,58 @@
# mail-web
# Mail web

Here lives the repo of Internxt Mail (Web)

## Tech Stack

- **React** with **TypeScript**
- **Vite** as build tool and dev server
- **CodeRabbit** for AI-powered code review

## Getting Started

### Prerequisites

- Node.js >= 24

### Installation

```bash
git clone <repository-url>
cd mail-web
npm install
```

Then, add the correct environment variables (using the .env.example)

### Development

```bash
npm run dev
```

### Build

```bash
npm run build
```

### Preview production build

```bash
npm run preview
```

## Project Structure

```text
src/
├── assets/ # Static assets (images, fonts, icons)
├── components/ # Shared, reusable UI components
├── features/ # Self-contained feature modules
├── hooks/ # Custom React hooks
├── services/ # Services (API clients, singletons)
├── routes/ # Route definitions and configuration
├── store/ # Global state management
├── i18n/ # Internationalization and translations
└── types/ # Shared TypeScript type definitions
```
Loading
Loading