Monorepo template for creating a web application.
Caution
Currently, svelte-hmr
, @markuplint
, and prettier-plugin-svelte
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
.
- Turborepo x pnpm
- Prettier (w/ prettier-plugin-svelte + prettier-plugin-tailwindcss)
- ESLint / CSpell
- lint-staged / husky
- GitHub Actions (Linting + Testing (Validate
href
andsrc
paths)) - Execute
eslint --fix
andprettier
when saving with VS Code
backend
A Supabase Local Dev / CLI.mockup
[Demo]
A starting point for building a static site.
Tailwind CSS + Vanilla JS + Vitest (Check links + file names)web
[Demo]
A starting point for building Svelte application.
SvelteKit (w/ Tailwind CSS)
Supabase / Vitest
eslint-config
ESLint 9 (flat) configuration for JavaScript and TypeScript. eslint-plugin-svelte + eslint-config-prettier
- 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
intoeslint-config-custom
- Custom package names now prefixed with
- 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 towebapp-template
- Renamed
- Backend Services Integration:
pnpm i # Resolve dependency packages and prepare .env files
# Then set up /.env
pnpm build # Build all apps and packages
pnpm dev # Set up file monitoring builds and local servers for development
pnpm lint # markuplint + eslint + prettier --check
pnpm test # Testing
pnpm format # eslint --fix + prettier --write + format project-words.txt
apps/backend/
- Supabase Local Dev / CLI54321
: API / GraphQL / S3 Storage54322
: DB (Postgres)54323
: Studio54324
: Inbucket
apps/web/
- SvelteKit application5173
: Development server
apps/mockup/
- Static site8000
: BrowserSync server49160
: Express server
If you need to prepare GitHub / Vercel environment, you need to set all environment variables (.env
items) in each service.