Skip to content

Feature/gh test#41

Merged
ottonomy merged 18 commits intomainfrom
feature/gh-test
Feb 11, 2026
Merged

Feature/gh test#41
ottonomy merged 18 commits intomainfrom
feature/gh-test

Conversation

@ottonomy
Copy link
Copy Markdown
Contributor

@ottonomy ottonomy commented Feb 11, 2026

Hold to merge until ready to update env settings on all deployed environments.

Note

Low Risk
Primarily CI and developer-experience/config changes; main risk is CI failures due to Node/pnpm version assumptions or missing workflow prerequisites (e.g., Prisma generation).

Overview
Adds a GitHub Actions workflow (.github/workflows/test.yml) that installs deps via pnpm, generates the Prisma client, and runs pnpm test:unit on pushes and PRs to main.

Removes the legacy .gitlab-ci.yml, updates Node version pinning to lts/krypton (.nvmrc), and switches VS Code debug/launch configs and README commands from npm to pnpm (via Corepack).

Tightens jsconfig.json to include src/app.d.ts, exclude generated i18n JS message files, and add typeRoots for local types/ declarations.

Written by Cursor Bugbot for commit 7760447. This will update automatically on new commits. Configure here.

ottonomy and others added 18 commits February 10, 2026 19:39
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
…r pnpm

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
…generated tsconfig

SvelteKit generates .svelte-kit/tsconfig.json with deprecated TypeScript options
(importsNotUsedAsValues, preserveValueImports) that were removed in TS 5.5+.
Added verbatimModuleSyntax and fix-tsconfig script as workaround.
Note: This is a temporary fix until SvelteKit is updated to not generate deprecated options.

Co-authored-by: Cursor <cursoragent@cursor.com>
Replace fix-tsconfig script with Vite plugin that runs at the right time
to patch .svelte-kit/tsconfig.json after SvelteKit generates it but before
TypeScript processes it. This fixes TypeScript 5.9 compatibility issues.

Co-authored-by: Cursor <cursoragent@cursor.com>
Generated Paraglide JS files in src/lib/i18n/messages/**/*.js should not
be type-checked as they are auto-generated and have TypeScript errors that
cannot be fixed manually. This reduces svelte-check errors from 1237+ to 29.

Co-authored-by: Cursor <cursoragent@cursor.com>
- Convert type-only imports to 'import type' for verbatimModuleSyntax compatibility
- Add missing type declarations for svelte-droplet and fix @digitalbazaar types
- Fix type mismatches in credentials, hooks, and API routes
- Fix component prop types and Window global declarations
- Update jsconfig.json to include app.d.ts for type resolution

Co-authored-by: Cursor <cursoragent@cursor.com>
… credentials

- Extract fixTsconfig logic to avoid 'this' context issues in configureServer hook
- Restore suite.date property assignment to preserve ISO date format with milliseconds for test compatibility

Co-authored-by: Cursor <cursoragent@cursor.com>
- Replace npx/npm commands with pnpm exec/pnpm run
- Use 'prisma migrate deploy' instead of 'migrate:dev' for non-interactive test environment
- Fixes Prisma error about non-interactive environment not being supported

Co-authored-by: Cursor <cursoragent@cursor.com>
- Update Playwright config to use pnpm commands instead of npm/npx
- Use 'prisma migrate deploy' instead of 'migrate:dev' for non-interactive test environment
- Create start-server.sh wrapper script to properly set up environment and start dev server
- Update vite.config.js to respect SERVER_PORT/PORT environment variables
- Fix port mismatch between baseURL and SERVER_PORT in Playwright config
- Increase webServer timeout to 120 seconds for slower startup

Co-authored-by: Cursor <cursoragent@cursor.com>
- Update .nvmrc from lts/iron (Node.js 20.x) to lts/krypton (Node.js 24.x)
- Verified compatibility: pnpm install, pnpm test:unit, and pnpm check all pass
- Note: Pre-existing build issue with missing 'marked' dependency unrelated to Node.js version

Co-authored-by: Cursor <cursoragent@cursor.com>
- Add marked@^9.1.6 to dependencies to fix Vite build resolution issue
- marked is used by MarkdownRender.svelte but was only available transitively via carta-md
- This ensures marked is properly resolved during build process

Co-authored-by: Cursor <cursoragent@cursor.com>
- Create .github/workflows/test.yml workflow file
- Configure workflow to run on PRs targeting main and pushes to main
- Use Node.js 24 (lts/krypton) with Corepack for pnpm
- Cache pnpm store for faster CI runs
- Run pnpm install --frozen-lockfile and pnpm test:unit

Co-authored-by: Cursor <cursoragent@cursor.com>
- Update README to reference lts/krypton instead of lts/iron

Co-authored-by: Cursor <cursoragent@cursor.com>
- Add pnpm generate step before running tests to ensure Prisma Client is available
- Fixes MODULE_NOT_FOUND error for .prisma/client/default in CI

Co-authored-by: Cursor <cursoragent@cursor.com>
Copy link
Copy Markdown

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

This PR is being reviewed by Cursor Bugbot

Details

You are on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle.

To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.

},
"include": [
"src/app.d.ts"
],
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adding include overrides parent tsconfig's file scope

Medium Severity

Specifying include in the extending config replaces (not merges with) the include from .svelte-kit/tsconfig.json. The parent typically includes paths like ../src/**/*.js, ../src/**/*.ts, and ../src/**/*.svelte. After this change, only src/app.d.ts is in scope, which would effectively disable type checking for all other source files in the IDE's TypeScript service. If the intent was only to add the exclude entries, the include property here is counterproductive.

Fix in Cursor Fix in Web

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 'lts/krypton'
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Node version hardcoded redundantly instead of referencing .nvmrc

Low Severity

The node-version is hardcoded as 'lts/krypton' in the workflow, duplicating the value already in .nvmrc. actions/setup-node@v4 supports node-version-file: '.nvmrc', which would use the .nvmrc file as the single source of truth. As-is, a future Node version bump requires updating both files, and a mismatch would silently cause CI to run on a different version than local development.

Fix in Cursor Fix in Web

@ottonomy ottonomy merged commit 33884e8 into main Feb 11, 2026
2 checks passed
@ottonomy ottonomy deleted the feature/gh-test branch February 11, 2026 23:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant