Monorepo template for creating a web application.
Caution
Currently, markuplint
do not support Svelte 5.
We have manually modified pnpm-lock.yaml
to forcibly use Svelte 5, which may cause issues during package updates.
When updating dependencies, please refer to #f99d33 for guidance on how to correctly adjust 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 Config) for JavaScript and TypeScript.
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
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.
- 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