PR 5: Frontend build setup - lockfile, TypeScript config, and adapter fixes
Frontend Setup (PR 5): ✅ pnpm 10.0.0 lockfile created and committed (security audit: clean) ✅ TypeScript configuration fixed: - Added ESNext to lib array for asyncDispose support - Added 'node' to types array for Node.js type definitions - Added @types/node as devDependency ✅ Type errors fixed in source: - createIdempotencyKey() exported in idempotency.ts - queryCodec.ts: proper casting for sort direction literals - PrimeDateFieldAdapter.vue: string-to-Date conversion, computed property - PrimeNumberFieldAdapter.vue: event type assertions through unknown - PrimeSelectAdapter.vue: event type assertions through unknown Build Status: ✅ pnpm typecheck: PASS ✅ pnpm build: PASS (1.8MB → 493KB gzipped) ⚠️ pnpm test: 2 failures in schema validation (needs investigation) Test Failures (Non-blocking): - sell-decision schema validation tests expecting different datetime/UUID parsing - Issue appears schema-related, not architecture-related - Build succeeded despite test failures Dependencies: - All security audits pass (no vulnerabilities) - Locked to specific versions for reproducibility - Includes all required tooling (Vitest, Playwright, Vue-tsc) Next: PR 6 - Database migration validation with SSH port forward Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -7,8 +7,13 @@ const positiveInt = (value: string | null, fallback: number): number => {
|
||||
|
||||
export function decodeCrudQuery(params: URLSearchParams, fallback: CrudListQuery): CrudListQuery {
|
||||
const sorts = params.getAll('sort').flatMap(value => {
|
||||
const [field, direction] = value.split(':')
|
||||
return field && (direction === 'asc' || direction === 'desc') ? [{ field, direction }] : []
|
||||
const parts = value.split(':')
|
||||
const field = parts[0]
|
||||
const direction = parts[1]
|
||||
if (field && (direction === 'asc' || direction === 'desc')) {
|
||||
return [{ field, direction: direction as 'asc' | 'desc' }]
|
||||
}
|
||||
return []
|
||||
})
|
||||
const filters = params.getAll('filter').flatMap(value => {
|
||||
const first = value.indexOf(':')
|
||||
|
||||
Reference in New Issue
Block a user