fix: resolve type errors and migrate pnpm settings to pnpm-workspace.yaml
Local Build and Deploy / deploy (push) Failing after 56s
Local Build and Deploy / deploy (push) Failing after 56s
- Move pnpm.onlyBuiltDependencies/overrides from package.json to pnpm-workspace.yaml (clears pnpm WARN) - Allow useServerAction run() to accept actions returning void - Make adminAction/authAction input optional so no-schema actions can be called without args - Return ActionResult from updateBcPage - Fix categoryPageMap value type (number | undefined) - Declare DbService.queryCount field - Use definite assignment for release in withFurniDataLock - Narrow pair type in theme-contrast test
This commit is contained in:
1 parent
df38dccbf1
commit
045dc06a1f
9 files changed
+28
-29
No files matched your search
@@ -61,7 +61,7 @@ export function adminAction<TSchema extends z.ZodType | undefined = undefined>(
|
||||
handler: ActionHandler<TSchema>,
|
||||
) {
|
||||
return async (
|
||||
input: TSchema extends z.ZodType ? z.input<TSchema> : undefined,
|
||||
input?: TSchema extends z.ZodType ? z.input<TSchema> : undefined,
|
||||
): Promise<ActionResult> => {
|
||||
const ip = await extractClientIpAsync();
|
||||
const store = createStore(ip);
|
||||
@@ -158,7 +158,7 @@ export function authAction<TSchema extends z.ZodType | undefined = undefined>(
|
||||
) => Promise<ActionResult>,
|
||||
) {
|
||||
return async (
|
||||
input: TSchema extends z.ZodType ? z.input<TSchema> : undefined,
|
||||
input?: TSchema extends z.ZodType ? z.input<TSchema> : undefined,
|
||||
): Promise<ActionResult> => {
|
||||
const ip = await extractClientIpAsync();
|
||||
const store = createStore(ip);
|
||||
|
||||
@@ -19,6 +19,7 @@ export class DbService {
|
||||
private readonly client: PrismaClient;
|
||||
private lastHealthCheck = 0;
|
||||
private healthCache: HealthStatus | null = null;
|
||||
private queryCount = 0;
|
||||
private readonly healthTtlMs = 10_000;
|
||||
|
||||
constructor() {
|
||||
|
||||
@@ -88,7 +88,7 @@ async function acquireDiskLock(lockPath: string): Promise<void> {
|
||||
}
|
||||
|
||||
export async function withFurniDataLock<T>(fn: () => Promise<T>): Promise<T> {
|
||||
let release: () => void;
|
||||
let release!: () => void;
|
||||
const acquired = new Promise<void>((r) => {
|
||||
release = r;
|
||||
});
|
||||
|
||||
@@ -166,14 +166,14 @@ describe("derivePublicForegrounds", () => {
|
||||
for (const palette of [preset.light, preset.dark]) {
|
||||
const result = derivePublicForegrounds(palette);
|
||||
for (const name of required) {
|
||||
const pair = result.pairs.find(
|
||||
(candidate) => candidate.name === name,
|
||||
);
|
||||
expect(pair, `missing ${name}`).toBeDefined();
|
||||
expect(
|
||||
contrastRatio(pair?.foreground, pair?.background),
|
||||
name,
|
||||
).toBeGreaterThanOrEqual(4.5);
|
||||
const pair = result.pairs.find(
|
||||
(candidate) => candidate.name === name,
|
||||
);
|
||||
expect(pair, `missing ${name}`).toBeDefined();
|
||||
expect(
|
||||
contrastRatio(pair!.foreground, pair!.background),
|
||||
name,
|
||||
).toBeGreaterThanOrEqual(4.5);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user