WebApp Template

Monorepo template for creating a web application.

[!Caution] Currently, svelte-hmr and @markuplint do not support Svelte 5. We have overridden pnpm-lock.yaml to forcibly upgrade to Svelte 5, which may cause issues during package updates. When updating dependencies, please refer to #6a5906 to correct pnpm-lock.yaml.

What's inside?


Apps and Packages



VS Code Extensions (Recommend)


pnpm i  # Resolve dependency packages and prepare .env files
# Then set up /.env

# Run command for each package (apps/ + packages/)
pnpm build   #
pnpm lint    # root: cspell + prettier --check
pnpm test    #
pnpm format  # root: Format project-words.txt + prettier --write

List of listening port numbers

  • apps/backend/ - Supabase Local Dev / CLI
    • 54321: API / GraphQL / S3 Storage
    • 54322: DB (Postgres)
    • 54323: Studio
    • 54324: Inbucket
  • apps/web/ - SvelteKit application
    • 5173: Development server
  • apps/mockup/ - Static site
    • 8000: BrowserSync server
    • 49160: Express server

Registering environment variables for GitHub / Vercel

If you need to prepare GitHub / Vercel environment, you need to set all environment variables (.env items) in each service.

Breaking changes


  • Update Framework/Library Versions:
    • Switch to Svelte 5 (integrated with TypeScript and using the Rune)
    • Update to Tailwind CSS 4 (removed tailwind.config.js)
    • Upgrade to ESLint 9 and implement Flat Config
  • Backend Change:


  • Language and Compiler Changes:
    • Migrated codebase from JavaScript to TypeScript
    • Upgraded from Svelte 4 to Svelte 5 (Rune)
  • Package Naming and Structure:
    • Custom package names now prefixed with @repo/
    • Merged eslint-config-custom-typescript into eslint-config-custom


  • Language Reversion and Documentation:
    • Reverted codebase from TypeScript back to JavaScript, supplementing with JSDoc for documentation


  • Frontend Framework Change:
  • Repository Rebranding:
    • Renamed nextjs-template repository to webapp-template


  • Backend Services Integration:
    • Replaced individual Firebase and Hasura applications with a unified Nhost application in apps/nhost

Top categories

Loading Svelte Themes