The source code for my personal website, hanjaemeo.
Made with 💙 using:
- Next.js14 ▲ with
app
router. - Contentlayer 📚 for MDX processing with fast HMR, remark and rehype supports.
Hono 🔥 for fast and type-safe REST server.- Jotai 👻 to manage client-side states.
- Panda CSS 🐼 for styling with amazing semantic token and recipe system.
- Radix UI 💻 to provide accesible UI without hassle.
Tanstack Queryv5 🚦 to query and mutate endpoints efficiently.React Hook Form 📋 to handle form with validation uncontrolledly.- Storybook 📕 to check styles and a11y, and to run visual regression tests.
Vitest ⚡ to unit test components and server endpoints.- Turborepo to manage monorepo with cache pipelines.
Warning
Still under construction 🚧
To build all apps and packages, run the following command:
pnpm turbo build
If you would like to build only the packages which are nessessary for the apps, run the following command:
pnpm turbo build-fast
Note
For most of packages in packages/*
, tsup
bundler is used to bundle their typescript codes.
More precisely, npm script build-fast
bundles the typescript codes without type checking, while build
does with.
To develop the main web app build with Next.js▲ apps/web
, run the following command:
pnpm -F web dev
Turborepo can use a technique known as Remote Caching to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines.
By default, Turborepo will cache locally. To enable Remote Caching you will need an account with Vercel. If you don't have an account you can create one, then enter the following commands:
cd my-turborepo
pnpm dlx turbo login
This will authenticate the Turborepo CLI with your Vercel account.
Next, you can link your Turborepo to your Remote Cache by running the following command from the root of your turborepo:
pnpm dlx turbo link