This monorepo contains all THW Tools applications and shared packages.
/thw-tools-monorepo
├── apps
│ ├── backend # NestJS backend (thw-tools-backend)
│ ├── thw-tools # SvelteKit main frontend (thw-tools)
│ └── inventar # SvelteKit second frontend (thw-inventar)
└── packages
└── web-components # Shared component library
# Install dependencies for all workspaces
pnpm install
# Start all applications in development mode
pnpm dev
# Start individual applications
pnpm dev:backend # Runs NestJS backend with --watch
pnpm dev:thw-tools # Runs SvelteKit thw-tools frontend
pnpm dev:inventar # Runs SvelteKit inventar frontend
# Build all applications
pnpm build
# Build specific applications
pnpm build:backend
pnpm build:thw-tools
pnpm build:inventar
pnpm lint # Run linting
pnpm test # Run tests
pnpm format # Format code
pnpm clean # Clean build artifacts and node_modules
# Add a dependency to a specific workspace
pnpm --filter <workspace-name> add <package-name>
# Add a development dependency
pnpm --filter <workspace-name> add -D <package-name>
# Add a dependency to all workspaces
pnpm add -w <package-name>
Import components from the shared component library using:
import { Button } from '@web-components/Button';
This monorepo uses PNPM Workspaces and Turborepo for efficient dependency management and build optimization.