mirror of
https://github.com/arsvendg/Stirling-PDF.git
synced 2026-07-14 10:34:06 +02:00
79 lines
2.4 KiB
Markdown
79 lines
2.4 KiB
Markdown
# Frontend
|
|
|
|
All frontend commands are run from the repository root using [Task](https://taskfile.dev/):
|
|
|
|
- `task frontend:dev` — start Vite dev server (localhost:5173)
|
|
- `task frontend:build` — production build
|
|
- `task frontend:test` — run tests
|
|
- `task frontend:test:watch` — run tests in watch mode
|
|
- `task frontend:lint` — run ESLint + cycle detection
|
|
- `task frontend:typecheck` — run TypeScript type checking
|
|
- `task frontend:check` — run typecheck + lint + test
|
|
- `task frontend:install` — install npm dependencies
|
|
|
|
For desktop app development, see the [Tauri](#tauri) section below.
|
|
|
|
## Environment Variables
|
|
|
|
Environment variables live in committed `.env` files at the frontend root:
|
|
|
|
- `.env` — used by all builds (core, proprietary, and as the base for desktop/SaaS)
|
|
- `.env.desktop` — additional vars loaded in desktop (Tauri) mode
|
|
- `.env.saas` — additional vars loaded in SaaS mode
|
|
|
|
These files contain non-secret defaults and are checked into Git, so most dev work needs no further setup.
|
|
|
|
To override values locally (API keys, machine-specific settings), create an uncommitted sibling `.env.local` / `.env.desktop.local` / `.env.saas.local`. Vite automatically layers these on top of the committed files.
|
|
|
|
## Docker Setup
|
|
|
|
For Docker deployments and configuration, see the [Docker README](../docker/README.md).
|
|
|
|
## Tauri
|
|
|
|
All desktop tasks are available via [Task](https://taskfile.dev). From the root of the repo:
|
|
|
|
### Dev
|
|
|
|
```bash
|
|
task desktop:dev
|
|
```
|
|
|
|
This ensures the JLink runtime and backend JAR exist (skipping if already built), then starts Tauri in dev mode.
|
|
|
|
### Build
|
|
|
|
```bash
|
|
task desktop:build
|
|
```
|
|
|
|
This does a full clean rebuild of the backend JAR and JLink runtime, then builds the Tauri app for production.
|
|
|
|
Platform-specific dev builds are also available:
|
|
|
|
```bash
|
|
task desktop:build:dev # No bundling
|
|
task desktop:build:dev:mac # macOS .app bundle
|
|
task desktop:build:dev:windows # Windows NSIS installer
|
|
task desktop:build:dev:linux # Linux AppImage
|
|
```
|
|
|
|
### JLink Tasks
|
|
|
|
You can also run JLink steps individually:
|
|
|
|
```bash
|
|
task desktop:jlink # Build JAR + create JLink runtime
|
|
task desktop:jlink:jar # Build backend JAR only
|
|
task desktop:jlink:runtime # Create JLink custom JRE only
|
|
task desktop:jlink:clean # Remove JLink artifacts
|
|
```
|
|
|
|
### Clean
|
|
|
|
```bash
|
|
task desktop:clean
|
|
```
|
|
|
|
Removes all desktop build artifacts including JLink runtime, bundled JARs, Cargo build, and dist/build directories.
|