134 lines
3 KiB
YAML
134 lines
3 KiB
YAML
version: '3'
|
|
|
|
includes:
|
|
data:
|
|
taskfile: ./Taskfile.data.yml
|
|
flatten: true
|
|
|
|
|
|
tasks:
|
|
install:
|
|
desc: Install dependencies
|
|
cmds:
|
|
- uv sync
|
|
- cd frontend && npm install
|
|
|
|
test:
|
|
cmds:
|
|
- uv run -m pipeline.utils.test_fuzzy_join
|
|
- uv run pytest pipeline/utils/test_haversine.py
|
|
- uv run pytest pipeline/utils/test_poi_counts.py
|
|
|
|
test:server:
|
|
desc: Run Rust backend tests
|
|
dir: server-rs
|
|
cmds:
|
|
- cargo test
|
|
|
|
dev:server:
|
|
desc: Run Rust backend on port 8001 (debug build, fast compile)
|
|
dir: server-rs
|
|
cmds:
|
|
- cargo run -- --data {{.WIDE_OUTPUT}} --pois {{.POIS_FILTERED_OUTPUT}} --tiles {{.TILES_OUTPUT}} --postcodes {{.POSTCODES_OUTPUT}}
|
|
|
|
dev:server:release:
|
|
desc: Run Rust backend on port 8001 (release build)
|
|
dir: server-rs
|
|
cmds:
|
|
- cargo run --release -- --data {{.WIDE_OUTPUT}} --pois {{.POIS_FILTERED_OUTPUT}} --tiles {{.TILES_OUTPUT}} --postcodes {{.POSTCODES_OUTPUT}}
|
|
|
|
dev:og:
|
|
desc: Run OG screenshot sidecar on port 8002
|
|
dir: og-screenshot
|
|
env:
|
|
CACHE_DIR: /tmp/og-cache
|
|
NARROWIT_URL: http://localhost:3000
|
|
cmds:
|
|
- npm install
|
|
- npx playwright install --with-deps chromium
|
|
- npm run build
|
|
- npm start
|
|
|
|
dev:frontend:
|
|
desc: Run frontend dev server on port 3000 (proxies /api to :8001)
|
|
dir: frontend
|
|
deps:
|
|
- install
|
|
cmds:
|
|
- npm run dev
|
|
|
|
build:server:
|
|
desc: Build server for production
|
|
dir: server-rs
|
|
cmds:
|
|
- cargo build --release
|
|
|
|
build:frontend:
|
|
desc: Build frontend for production
|
|
dir: frontend
|
|
cmds:
|
|
- npm run typecheck
|
|
- npm run build
|
|
|
|
lint:
|
|
desc: Lint all code (Python, TypeScript, and Rust)
|
|
cmds:
|
|
- task: lint:python
|
|
- task: lint:frontend
|
|
- task: lint:rust
|
|
|
|
lint:python:
|
|
desc: Lint Python code with ruff and check for unused dependencies
|
|
cmds:
|
|
- uv run ruff check .
|
|
- uv run deptry .
|
|
|
|
lint:frontend:
|
|
desc: Lint frontend TypeScript code
|
|
dir: frontend
|
|
cmds:
|
|
- npm run lint
|
|
- npm run format:check
|
|
|
|
lint:rust:
|
|
desc: Lint Rust code with clippy, check formatting, and detect unused dependencies
|
|
dir: server-rs
|
|
cmds:
|
|
- cargo clippy -- -D warnings
|
|
- cargo fmt --check
|
|
- cargo machete
|
|
|
|
format:
|
|
desc: Format all code (Python, TypeScript, and Rust)
|
|
cmds:
|
|
- task: format:python
|
|
- task: format:frontend
|
|
- task: format:rust
|
|
|
|
format:python:
|
|
desc: Format Python code with ruff
|
|
cmds:
|
|
- uv run ruff check --fix .
|
|
- uv run ruff format .
|
|
|
|
format:frontend:
|
|
desc: Format frontend TypeScript code
|
|
dir: frontend
|
|
cmds:
|
|
- npm run lint:fix
|
|
- npm run format
|
|
|
|
format:rust:
|
|
desc: Format Rust code with cargo fmt
|
|
dir: server-rs
|
|
cmds:
|
|
- cargo fmt --all
|
|
|
|
check:
|
|
desc: Run all checks (lint, typecheck, build)
|
|
cmds:
|
|
- task: lint
|
|
- task: build:server
|
|
- task: build:frontend
|
|
- task: test
|
|
- task: test:server
|