Author SHA1 Message Date
dependabot[bot] 60ec3dcad0 Bump svelte from 5.56.6 to 5.57.0
Bumps [svelte](https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte) from 5.56.6 to 5.57.0.
- [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.57.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
2026-09-05 14:32:48 +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
9 changed files with 372 additions and 676 deletions
+3
View File
@@ -0,0 +1,3 @@
worktrees/
*.local.*
+2 -2
View File
@@ -5,11 +5,11 @@ updates:
reviewers: reviewers:
- "djkotowski" - "djkotowski"
schedule: schedule:
interval: "daily" interval: "weekly"
versioning-strategy: "increase-if-necessary" versioning-strategy: "increase-if-necessary"
- package-ecosystem: "github-actions" - package-ecosystem: "github-actions"
directory: "/" directory: "/"
reviewers: reviewers:
- "djkotowski" - "djkotowski"
schedule: schedule:
interval: "daily" interval: "weekly"
+4 -3
View File
@@ -10,14 +10,15 @@ concurrency:
cancel-in-progress: true cancel-in-progress: true
jobs: jobs:
check: check:
name: CI
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v7
- name: Setup pnpm - name: Setup pnpm
uses: pnpm/action-setup@v4 uses: pnpm/action-setup@v5
- name: Setup Node.js - name: Setup Node.js
uses: actions/setup-node@v4 uses: actions/setup-node@v7
with: with:
node-version-file: '.tool-versions' node-version-file: '.tool-versions'
cache: 'pnpm' cache: 'pnpm'
+28 -11
View File
@@ -1,22 +1,26 @@
name: deploy name: deploy
run-name: "${{ github.actor }} is deploying ${{ github.sha }}" run-name: "${{ github.actor }} is deploying ${{ github.event.workflow_run.head_sha }}"
on: on:
push: workflow_run:
branches: workflows: ['ci-test']
- 'main' types: [completed]
branches: ['main']
concurrency: concurrency:
group: ${{ github.workflow }}-${{ github.ref }} group: pages
cancel-in-progress: true cancel-in-progress: false
jobs: jobs:
build: build:
if: github.event.workflow_run.conclusion == 'success'
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v7
with:
ref: ${{ github.event.workflow_run.head_sha }}
- name: Setup pnpm - name: Setup pnpm
uses: pnpm/action-setup@v4 uses: pnpm/action-setup@v5
- name: Setup Node.js - name: Setup Node.js
uses: actions/setup-node@v4 uses: actions/setup-node@v7
with: with:
node-version-file: '.tool-versions' node-version-file: '.tool-versions'
cache: 'pnpm' cache: 'pnpm'
@@ -25,7 +29,7 @@ jobs:
- name: Build solution - name: Build solution
run: pnpm build run: pnpm build
- name: Archive artifacts - name: Archive artifacts
uses: actions/upload-pages-artifact@v3.0.1 uses: actions/upload-pages-artifact@v5.0.0
with: with:
path: dist/ path: dist/
deploy: deploy:
@@ -33,11 +37,24 @@ jobs:
permissions: permissions:
pages: write pages: write
id-token: write id-token: write
contents: write
environment: environment:
name: github-pages name: github-pages
url: ${{ steps.deployment.outputs.page_url }} url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout
uses: actions/checkout@v7
with:
ref: ${{ github.event.workflow_run.head_sha }}
- name: Deploy to GitHub Pages - name: Deploy to GitHub Pages
id: deployment 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"
Binary file not shown.
+4 -3
View File
@@ -7,12 +7,13 @@
"scripts": { "scripts": {
"dev": "vite", "dev": "vite",
"build": "vite build", "build": "vite build",
"preinstall": "npx only-allow pnpm",
"preview": "vite preview", "preview": "vite preview",
"check": "svelte-check --tsconfig ./tsconfig.json", "check": "svelte-check --tsconfig ./tsconfig.json",
"prepare": "husky" "prepare": "husky"
}, },
"devDependencies": { "devDependencies": {
"@sveltejs/vite-plugin-svelte": "^5.0.3", "@sveltejs/vite-plugin-svelte": "^7.2.0",
"@tailwindcss/vite": "^4.1.1", "@tailwindcss/vite": "^4.1.1",
"@tsconfig/svelte": "^5.0.4", "@tsconfig/svelte": "^5.0.4",
"husky": "^9.0.11", "husky": "^9.0.11",
@@ -20,8 +21,8 @@
"svelte-check": "^4.1.5", "svelte-check": "^4.1.5",
"tailwindcss": "^4.1.1", "tailwindcss": "^4.1.1",
"tslib": "^2.5.0", "tslib": "^2.5.0",
"typescript": "^5.8.2", "typescript": "^6.0.3",
"vite": "^6.2.4" "vite": "^8.1.4"
}, },
"packageManager": "[email protected]", "packageManager": "[email protected]",
"dependencies": { "dependencies": {
+324 -654
View File
File diff suppressed because it is too large Load Diff
+4
View File
@@ -103,4 +103,8 @@
<p>C#, ASP.NET MVC 3, Microsoft SQL Server, jQuery, Manhattan SCALE</p> <p>C#, ASP.NET MVC 3, Microsoft SQL Server, jQuery, Manhattan SCALE</p>
</li> </li>
</ul> </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> </section>
+3 -3
View File
@@ -1,9 +1,9 @@
<script lang="ts"> <script lang="ts">
import type { HTMLAnchorAttributes } from 'svelte/elements' 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> </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>