Stack
The main technologies I use to build this project are HTML, CSS, Svelte (with TypeScript), and Markdown. There are also some WebGL shaders, that I add as I continue to learn, and I might add a backend at some point.
Packages Overview
The repository is organized into three workspaces (these are top-level directories in the repository):
- apps : contains client facing code, organized by project. It contains apps/doc which is this site!
- infra : contains infrastructure code. This is WIP and in private repos for the moment
- packages : contains UI, web graphics, logic and experiments libraries, as well as common config
You can learn more about individual packages in the Packages section.
Requirements
- Node.js
- pnpm and Turborepo to manage the packages and builds
- Svelte, recently upgraded to Svelte 5 that I use to build UI components
- SvelteKit, which helps me develop, build and package my sites or apps
- Verdaccio, which allows me to create a private registry and use these packages in other projects
The initial guide I used for this setup was Turborepo’s workspaces conventions and evolves as necessary.
How to ...
Use a private NPM Registry with Verdaccio
Install verdaccio: Verdaccio Doc - Installation
Launch the private registry with the command:
verdaccio
To publish a package to the private registry, run the following command in the package’s root directory:
pnpm publish --registry http://localhost:4873
Use the package in another repository that has access to the private registry:
pnpm i your-package --registry http://localhost:4873
WIP
🚧 These items are work in progress
- Testing
- Workflow Tools
- Infrastructure and Backend I’m exploring backend technologies and architecture, but this site does not use a backend server besides what is provided by SvelteKit