Skip to content

chrisdroukas/drouk.as

Repository files navigation

drouk.as

Meet drouk.as, the world's most overengineered personal site.

About this Repository

drouk.as is a monorepo backed by Turborepo and pnpm.

Apps and Packages

This repository includes the following apps and packages:

App/Package Contents
site A Next.js 14 app powering the main drouk.as site.
workshop A Storybook 7 deployment running on Vite 5 for component development.
ui A React component library consumed by all applications in the apps directory.
eslint-config-custom eslint configurations (includes eslint-config-next and eslint-config-prettier).
tsconfig tsconfig.jsons used throughout the monorepo.

Each package is pure TypeScript, and (where applicable) uses SWC for super fast compilation and bundling.

Really living in the future, here.

Utilities

This repository contains the following utilities:

Installing Dependencies

To install all project dependencies, run the following command:

pnpm install

To add dependencies to a package, run one of the following commands:

# Saves to dependencies
pnpm add <package>

# Saves the next-tagged version to dependencies
pnpm add <package>@next

# Saves the specified version to dependencies
pnpm add <package>@1.0.0

# Saves to devDependencies
pnpm add -D <package>

# Saves to optionalDependencies
pnpm add -O <package>

Prefer specific (1.7.3) instead of approximate or compatible ( ~1.7.0 or ^1.7.0 ) versioning, and use Renovate to keep dependencies up-to-date.

Develop

To develop all apps and packages, run the following command:

pnpm run dev

Alternatively, cd into individual packages and run this command for each package you want to run.

Build

To build all apps and packages, run the following command:

pnpm run build

Remote Caching

This repository uses Turborepo's Remote Caching to share cache artifacts across machines, enabling shared build caches locally and in CI/CD pipelines.

Remote Caching requires a Vercel account. Once created, authenticate the Turborepo CLI with your Vercel account:

pnpm dlx turbo login

Next, link the repository to the Remote Cache by running the following command from the project root:

pnpm dlx turbo link