Author SHA1 Message Date
dependabot[bot] bd51676ac8 Bump vite from 8.1.5 to 8.2.2
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 8.1.5 to 8.2.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v8.2.2/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 8.2.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
2026-08-29 14:32:39 +00:00
djkotowski c0be5deab6 Gate Pages deploy on ci-test passing (#238)
A merge to main could break the app even though the PR check ran
ci-test separately; deploy previously fired on push regardless of
CI outcome. Trigger deploy via workflow_run on ci-test completion
instead, and skip the build job unless ci-test concluded success,
so a broken main no longer publishes to Pages.
2026-07-21 09:43:45 -05:00
djkotowski f210373c3e Fix Pages deploy concurrency and tag successful deploys (#237)
* Use safe concurrency pattern for Pages deploys

Switch to the group: pages, cancel-in-progress: false pattern GitHub
recommends for deploy-pages, so a superseded run is skipped before it
starts rather than killed mid-deploy, which can leave the Pages
deployment stuck in progress.

* Tag each successful Pages deploy

There is currently no record of which commits were actually deployed.
Tag the deployed commit as deploy-YYYY-MM-DD-<sha> right after
deploy-pages succeeds, giving a lightweight, always-unique history of
production deploys without introducing a formal versioning/release
scheme.
2026-07-18 16:01:31 -05:00
dependabot[bot]dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>djkotowski
4103db7e2f Bump svelte from 5.56.5 to 5.56.6 (#235)
Bumps [svelte](https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte) from 5.56.5 to 5.56.6.
- [Release notes](https://github.com/sveltejs/svelte/releases)
- [Changelog](https://github.com/sveltejs/svelte/blob/main/packages/svelte/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/svelte/commits/[email protected]/packages/svelte)

---
updated-dependencies:
- dependency-name: svelte
  dependency-version: 5.56.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dan Kotowski <[email protected]>
2026-07-18 15:53:21 -05:00
djkotowskiandClaude Sonnet 5 e306974fd3 Add resumé link to experience section (#236)
* Switch Dependabot checks from daily to weekly

Reduces PR noise by checking for npm and github-actions updates
weekly instead of daily.

Co-Authored-By: Claude Sonnet 5 <[email protected]>

* Add resumé link to experience section

Point visitors to a full resumé for more detail, and add rel support
to Link so external references can opt out of link equity.

---------

Co-authored-by: Claude Sonnet 5 <[email protected]>
2026-07-18 15:53:00 -05:00
djkotowskiandClaude Sonnet 5 c083da6ff8 Switch Dependabot checks from daily to weekly (#234)
Reduces PR noise by checking for npm and github-actions updates
weekly instead of daily.

Co-authored-by: Claude Sonnet 5 <[email protected]>
2026-07-18 15:42:37 -05:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> fbae3a0951 Bump @tailwindcss/vite from 4.3.2 to 4.3.3 (#233)
Bumps [@tailwindcss/vite](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite) from 4.3.2 to 4.3.3.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.3.3/packages/@tailwindcss-vite)

---
updated-dependencies:
- dependency-name: "@tailwindcss/vite"
  dependency-version: 4.3.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-18 15:37:02 -05:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 071e2eae57 Bump svelte-check from 4.7.2 to 4.7.3 (#232)
Bumps [svelte-check](https://github.com/sveltejs/language-tools) from 4.7.2 to 4.7.3.
- [Release notes](https://github.com/sveltejs/language-tools/releases)
- [Commits](https://github.com/sveltejs/language-tools/compare/[email protected]@4.7.3)

---
updated-dependencies:
- dependency-name: svelte-check
  dependency-version: 4.7.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-18 15:35:19 -05:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> d21f2ad3ea Bump tailwindcss from 4.3.2 to 4.3.3 (#231)
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) from 4.3.2 to 4.3.3.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.3.3/packages/tailwindcss)

---
updated-dependencies:
- dependency-name: tailwindcss
  dependency-version: 4.3.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-18 15:34:45 -05:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> f2fd6ee9bd Bump vite from 8.1.4 to 8.1.5 (#230)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 8.1.4 to 8.1.5.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v8.1.5/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 8.1.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-18 15:34:33 -05:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 4fb3aeca62 Bump svelte from 5.56.4 to 5.56.5 (#229)
Bumps [svelte](https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte) from 5.56.4 to 5.56.5.
- [Release notes](https://github.com/sveltejs/svelte/releases)
- [Changelog](https://github.com/sveltejs/svelte/blob/main/packages/svelte/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/svelte/commits/[email protected]/packages/svelte)

---
updated-dependencies:
- dependency-name: svelte
  dependency-version: 5.56.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-18 15:19:44 -05:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 254cee8603 Bump pnpm/action-setup from 4 to 5 (#228)
Bumps [pnpm/action-setup](https://github.com/pnpm/action-setup) from 4 to 5.
- [Release notes](https://github.com/pnpm/action-setup/releases)
- [Commits](https://github.com/pnpm/action-setup/compare/v4...v5)

---
updated-dependencies:
- dependency-name: pnpm/action-setup
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-18 15:19:25 -05:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> dff8918fb2 Bump actions/setup-node from 4 to 7 (#227)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4 to 7.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v4...v7)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-18 15:18:14 -05:00
djkotowski 887affa4a3 Ignore Claude local files and enforce pnpm (#226)
* Ignore Claude local files

* Prohibit use of non-pnpm package managers

* Ensure EOF newline
2026-07-14 00:53:48 -05:00
djkotowskiandClaude Opus 4.8 5429e68c4e Bump typescript from 5.9.3 to 6.0.3 (#225)
Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
2026-07-14 00:40:58 -05:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 47150c300b Bump @sveltejs/vite-plugin-svelte from 5.1.1 to 7.2.0 (#221)
Bumps [@sveltejs/vite-plugin-svelte](https://github.com/sveltejs/vite-plugin-svelte/tree/HEAD/packages/vite-plugin-svelte) from 5.1.1 to 7.2.0.
- [Release notes](https://github.com/sveltejs/vite-plugin-svelte/releases)
- [Changelog](https://github.com/sveltejs/vite-plugin-svelte/blob/main/packages/vite-plugin-svelte/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/vite-plugin-svelte/commits/@sveltejs/[email protected]/packages/vite-plugin-svelte)

---
updated-dependencies:
- dependency-name: "@sveltejs/vite-plugin-svelte"
  dependency-version: 7.2.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-14 00:29:21 -05:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 181ef6a05f Bump actions/upload-pages-artifact from 3.0.1 to 5.0.0 (#218)
Bumps [actions/upload-pages-artifact](https://github.com/actions/upload-pages-artifact) from 3.0.1 to 5.0.0.
- [Release notes](https://github.com/actions/upload-pages-artifact/releases)
- [Commits](https://github.com/actions/upload-pages-artifact/compare/v3.0.1...v5.0.0)

---
updated-dependencies:
- dependency-name: actions/upload-pages-artifact
  dependency-version: 5.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-14 00:27:48 -05:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> b85a75fe28 Bump actions/checkout from 4 to 7 (#217)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-14 00:27:40 -05:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> dc90653f5d Bump actions/deploy-pages from 4 to 5 (#219)
Bumps [actions/deploy-pages](https://github.com/actions/deploy-pages) from 4 to 5.
- [Release notes](https://github.com/actions/deploy-pages/releases)
- [Commits](https://github.com/actions/deploy-pages/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/deploy-pages
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-14 00:27:31 -05:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 26e0e9b035 Bump vite from 6.4.3 to 8.1.4 (#222)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.4.3 to 8.1.4.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v8.1.4/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 8.1.4
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-14 00:27:14 -05:00
djkotowskiandClaude Opus 4.8 0442462b74 Name ci-test job "CI" for a searchable status check (#224)
Give the check job an explicit name so branch protection rules can
reference a stable, searchable "CI" status check context instead of
the generic job-key-derived name.

Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
2026-07-14 00:19:35 -05:00
djkotowskiandClaude Opus 4.8 bbd34d027d Remove stray .yarn leftover from pnpm migration (#223)
The pnpm migration left a tracked .yarn/install-state.gz. pnpm doesn't
use the .yarn directory, so remove it.

Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
2026-07-14 00:15:24 -05:00
djkotowskiandClaude Opus 4.8 44b07d4682 Add Playwright MCP server config (#215)
Adds a project-scoped .mcp.json registering the Playwright MCP server
so browser automation tooling is available to anyone using Claude Code
in this repo.

Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
2026-07-13 02:33:44 -05:00
djkotowskiandClaude Opus 4.8 2d14d87a83 Switch package manager from Yarn to pnpm (#214)
* Switch package manager from Yarn to pnpm

Replace Yarn 3 (Berry) with pnpm 11.12.0 (latest stable):

- Pin packageManager to [email protected].0; add pnpm-lock.yaml
- Remove yarn.lock, .yarnrc.yml, and the bundled .yarn/ release
- Update CI (ci-test, deploy) to use pnpm/action-setup + setup-node
  pnpm cache, with `pnpm install --frozen-lockfile` and pnpm scripts
- Switch Husky pre-commit hook to `pnpm check`
- Add pnpm-workspace.yaml allowlisting esbuild's build script, which
  pnpm 11 otherwise blocks with a hard error on install
- Update CLAUDE.md guidance and drop yarn-specific .gitignore entries

Verified: pnpm install --frozen-lockfile, pnpm check, and pnpm build
all pass locally.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>

* CI: read Node version from .tool-versions for pnpm 11 compat

pnpm 11.12.0 requires Node >=22.13, but the workflows pinned
node-version: '20' (20.20.2), failing install. Point setup-node at
.tool-versions (22.14.0) so CI and local dev share one source of truth.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
2026-07-13 02:30:39 -05:00
djkotowskiandClaude Opus 4.8 b8d1c61dbf Add CLAUDE.md with codebase guidance (#213)
Document build/check commands, the Svelte 5 + Vite + Tailwind v4
architecture, project conventions, and the GitHub Pages deploy flow
for future Claude Code sessions.

Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
2026-07-13 02:06:17 -05:00
16 changed files with 1175 additions and 3060 deletions
+3
View File
@@ -0,0 +1,3 @@
worktrees/
*.local.*
+2 -2
View File
@@ -5,11 +5,11 @@ updates:
reviewers:
- "djkotowski"
schedule:
interval: "daily"
interval: "weekly"
versioning-strategy: "increase-if-necessary"
- package-ecosystem: "github-actions"
directory: "/"
reviewers:
- "djkotowski"
schedule:
interval: "daily"
interval: "weekly"
+9 -7
View File
@@ -10,17 +10,19 @@ concurrency:
cancel-in-progress: true
jobs:
check:
name: CI
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v7
- name: Setup pnpm
uses: pnpm/action-setup@v5
- name: Setup Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v7
with:
node-version: '20'
node-version-file: '.tool-versions'
cache: 'pnpm'
- name: Install Dependencies
run: |
npm install -g yarn
yarn install
run: pnpm install --frozen-lockfile
- name: Lint solution
run: yarn check
run: pnpm check
+34 -16
View File
@@ -1,30 +1,35 @@
name: deploy
run-name: "${{ github.actor }} is deploying ${{ github.sha }}"
run-name: "${{ github.actor }} is deploying ${{ github.event.workflow_run.head_sha }}"
on:
push:
branches:
- 'main'
workflow_run:
workflows: ['ci-test']
types: [completed]
branches: ['main']
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
group: pages
cancel-in-progress: false
jobs:
build:
if: github.event.workflow_run.conclusion == 'success'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
uses: actions/checkout@v7
with:
node-version: '20'
ref: ${{ github.event.workflow_run.head_sha }}
- name: Setup pnpm
uses: pnpm/action-setup@v5
- name: Setup Node.js
uses: actions/setup-node@v7
with:
node-version-file: '.tool-versions'
cache: 'pnpm'
- name: Install Dependencies
run: |
npm install -g yarn
yarn install
run: pnpm install --frozen-lockfile
- name: Build solution
run: yarn build
run: pnpm build
- name: Archive artifacts
uses: actions/upload-pages-artifact@v3.0.1
uses: actions/upload-pages-artifact@v5.0.0
with:
path: dist/
deploy:
@@ -32,11 +37,24 @@ jobs:
permissions:
pages: write
id-token: write
contents: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v7
with:
ref: ${{ github.event.workflow_run.head_sha }}
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
uses: actions/deploy-pages@v5
- name: Tag deploy
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
sha="${{ github.event.workflow_run.head_sha }}"
tag="deploy-$(date +%Y-%m-%d)-${sha::7}"
git tag "$tag" "$sha"
git push origin "$tag"
-11
View File
@@ -2,8 +2,6 @@
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
@@ -22,12 +20,3 @@ dist-ssr
*.njsproj
*.sln
*.sw?
# Yarn 2+
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions
+1 -1
View File
@@ -1 +1 @@
yarn check
pnpm check
+12
View File
@@ -0,0 +1,12 @@
{
"mcpServers": {
"playwright": {
"type": "stdio",
"command": "npx",
"args": [
"@playwright/mcp@latest"
],
"env": {}
}
}
}
-873
View File
File diff suppressed because one or more lines are too long
-2
View File
@@ -1,2 +0,0 @@
nodeLinker: node-modules
yarnPath: .yarn/releases/yarn-3.5.1.cjs
+35
View File
@@ -0,0 +1,35 @@
# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Commands
This project uses **pnpm** — pinned via `packageManager` in `package.json` (enable it with `corepack enable`). Use `pnpm`, not `npm` or `yarn`.
- `pnpm dev` — start the Vite dev server
- `pnpm build` — production build to `dist/`
- `pnpm preview` — serve the production build locally
- `pnpm check` — type-check with `svelte-check` (the only "lint"/CI gate; there is no ESLint/Prettier and no test suite)
`pnpm check` runs automatically on `git commit` via the Husky `pre-commit` hook, and on every PR / push to `main` via the `ci-test` workflow. There are no unit tests, so `pnpm check` is the check to run before considering a change done.
## Architecture
A single-page, statically-generated personal résumé site — no router, no backend, no data fetching. Everything is hardcoded content in Svelte components.
- **Entry:** `src/main.ts` mounts `App.svelte` into `#app` (see `index.html`) using Svelte 5's `mount()`.
- **Composition:** `App.svelte` stacks four page **sections** from `src/lib/`: `HeaderSection`, `SkillsSection`, `ExpSection`, `ContactSection`. Adding/reordering page content happens here.
- **Reusable primitives** live in `src/lib/components/` (`Header`, `Hero`, `Link`) and `src/lib/icons/`. Sections compose these; primitives hold no page-specific content.
- Résumé text (skills, experience, contact info) is written inline in the section components — edit the relevant `*Section.svelte` file to change site content.
## Conventions
- **Svelte 5 runes syntax** throughout: props via `let { ... } = $props()`, slots via `{@render children?.()}`. Do not use legacy `export let` / `<slot>`.
- Prefer `<script lang="ts">` with a typed props object for new components (see `components/Link.svelte`, `components/Hero.svelte`). Some older section files use plain `<script>` — match the file you are editing.
- **Tailwind CSS v4** with **no config file**. It is enabled via the `@tailwindcss/vite` plugin and `@import "tailwindcss"` in `src/app.css`; customize through CSS, not a `tailwind.config.js`. `tailwind-merge` is available for conditional class composition.
- Styling is Tailwind utility classes in markup; the dark theme base (`bg-gray-950 text-white`) is set on `<body>` in `index.html`.
- `checkJs` is on and `.js`/`.svelte` files are type-checked — keep JSDoc/types valid so `pnpm check` passes.
## Deploy
Pushing to `main` triggers the `deploy` workflow: `pnpm build` → upload `dist/` → GitHub Pages (https://dankotowski.dev). CI reads its Node version from `.tool-versions` (pinned to 22.14.0), matching local dev — pnpm 11 requires Node >=22.13.
+5 -4
View File
@@ -7,12 +7,13 @@
"scripts": {
"dev": "vite",
"build": "vite build",
"preinstall": "npx only-allow pnpm",
"preview": "vite preview",
"check": "svelte-check --tsconfig ./tsconfig.json",
"prepare": "husky"
},
"devDependencies": {
"@sveltejs/vite-plugin-svelte": "^5.0.3",
"@sveltejs/vite-plugin-svelte": "^7.2.0",
"@tailwindcss/vite": "^4.1.1",
"@tsconfig/svelte": "^5.0.4",
"husky": "^9.0.11",
@@ -20,10 +21,10 @@
"svelte-check": "^4.1.5",
"tailwindcss": "^4.1.1",
"tslib": "^2.5.0",
"typescript": "^5.8.2",
"vite": "^6.2.4"
"typescript": "^6.0.3",
"vite": "^8.1.4"
},
"packageManager": "[email protected]",
"packageManager": "[email protected]",
"dependencies": {
"tailwind-merge": "^3.1.0"
}
+1062
View File
File diff suppressed because it is too large Load Diff
+5
View File
@@ -0,0 +1,5 @@
# esbuild ships its native binary via an optional dependency; its postinstall
# is only a launcher optimization. Allowed so pnpm 11 doesn't block install on
# the undecided build script.
allowBuilds:
esbuild: true
+4
View File
@@ -103,4 +103,8 @@
<p>C#, ASP.NET MVC 3, Microsoft SQL Server, jQuery, Manhattan SCALE</p>
</li>
</ul>
<p class="text-center pt-10">
Please see my <Link href="https://drive.proton.me/urls/2AY1WCCC54#BcxvDzVu1IM8" target="_blank" rel="nofollow">resumé</Link> for more details.
</p>
</section>
+3 -3
View File
@@ -1,9 +1,9 @@
<script lang="ts">
import type { HTMLAnchorAttributes } from 'svelte/elements'
type LinkProps = { children: any, href: string; target: HTMLAnchorAttributes['target']; title?: HTMLAnchorAttributes['title'] }
type LinkProps = { children: any, href: string; target: HTMLAnchorAttributes['target']; title?: HTMLAnchorAttributes['title']; rel?: HTMLAnchorAttributes['rel'] }
let { children, href, target, title }: LinkProps = $props()
let { children, href, target, title, rel }: LinkProps = $props()
</script>
<a class="text-cyan-200 hover:text-cyan-400 hover:border-b border-dotted" {href} {target} {title}>{@render children?.()}</a>
<a class="text-cyan-200 hover:text-cyan-400 hover:border-b border-dotted" {href} {target} {title} {rel}>{@render children?.()}</a>
-2141
View File
File diff suppressed because it is too large Load Diff