From 7938ff6439f68ab17f65660373d2a0bd7d50c770 Mon Sep 17 00:00:00 2001 From: Stan Wohlwend Date: Fri, 7 Jun 2024 11:55:46 +0200 Subject: [PATCH] Whitespace ESLint rules --- .../src/app/signin/page.tsx | 7 +++++-- .../src/app/signup/page.tsx | 7 +++++-- eslint-configs/defaults.js | 3 +++ .../[projectId]/emails/page-client.tsx | 10 +++++++++- .../src/components/form-dialog.tsx | 18 ++++++++++++++---- packages/stack-server/src/lib/permissions.tsx | 2 +- .../src/route-handlers/smart-route-handler.tsx | 11 ++++++++++- .../src/hooks/use-async-callback.tsx | 2 +- 8 files changed, 48 insertions(+), 12 deletions(-) diff --git a/apps/custom-pages-example/src/app/signin/page.tsx b/apps/custom-pages-example/src/app/signin/page.tsx index eb3d06199..744dd19e4 100644 --- a/apps/custom-pages-example/src/app/signin/page.tsx +++ b/apps/custom-pages-example/src/app/signin/page.tsx @@ -84,7 +84,10 @@ export default function CustomCredentialSignIn() { }; return ( -
{ e.preventDefault(); onSubmit(); } }> + { + e.preventDefault(); + onSubmit(); + }}> {error} {message ?
{message}
: @@ -94,4 +97,4 @@ export default function CustomCredentialSignIn() { }
); -} \ No newline at end of file +} diff --git a/apps/custom-pages-example/src/app/signup/page.tsx b/apps/custom-pages-example/src/app/signup/page.tsx index d519d495e..041e48f74 100644 --- a/apps/custom-pages-example/src/app/signup/page.tsx +++ b/apps/custom-pages-example/src/app/signup/page.tsx @@ -33,11 +33,14 @@ export default function CustomCredentialSignUp() { }; return ( -
{ e.preventDefault(); onSubmit(); } }> + { + e.preventDefault(); + onSubmit(); + }}> {error} setEmail(e.target.value)} /> setPassword(e.target.value)} />
); -} \ No newline at end of file +} diff --git a/eslint-configs/defaults.js b/eslint-configs/defaults.js index f8563603d..ba79a3f81 100644 --- a/eslint-configs/defaults.js +++ b/eslint-configs/defaults.js @@ -22,6 +22,9 @@ module.exports = { "CallExpression", ], }], + "keyword-spacing": "warn", + "block-spacing": "warn", + "max-statements-per-line": "warn", semi: ["error", "always"], "no-fallthrough": "error", "@typescript-eslint/switch-exhaustiveness-check": "error", diff --git a/packages/stack-server/src/app/(main)/(protected)/projects/[projectId]/emails/page-client.tsx b/packages/stack-server/src/app/(main)/(protected)/projects/[projectId]/emails/page-client.tsx index ca54b11fe..5a50e9f78 100644 --- a/packages/stack-server/src/app/(main)/(protected)/projects/[projectId]/emails/page-client.tsx +++ b/packages/stack-server/src/app/(main)/(protected)/projects/[projectId]/emails/page-client.tsx @@ -64,7 +64,15 @@ export default function PageClient() {
- {!template.default && { setResetTemplateType(template.type); setResetTemplateDialogOpen(true); } }]} />} + {!template.default && { + setResetTemplateType(template.type); + setResetTemplateDialogOpen(true); + } + }]} + />}
diff --git a/packages/stack-server/src/components/form-dialog.tsx b/packages/stack-server/src/components/form-dialog.tsx index 5729fba0d..8b767f42a 100644 --- a/packages/stack-server/src/components/form-dialog.tsx +++ b/packages/stack-server/src/components/form-dialog.tsx @@ -31,7 +31,10 @@ export function SmartFormDialog>( { setOpenState(open); props.onOpenChange?.(open); }} + onOpenChange={(open) => { + setOpenState(open); + props.onOpenChange?.(open); + }} okButton={{ onClick: async () => "prevent-close", ...(typeof props.okButton === "boolean" ? {} : props.okButton), @@ -89,12 +92,19 @@ export function FormDialog( { if(open) setOpenState(true); props.onOpenChange?.(open); }} - onClose={() => { form.reset(); setOpenState(false); runAsynchronouslyWithAlert(props.onClose?.()); }} + onOpenChange={(open) => { + if (open) setOpenState(true); + props.onOpenChange?.(open); + }} + onClose={() => { + form.reset(); + setOpenState(false); + runAsynchronouslyWithAlert(props.onClose?.()); + }} okButton={{ onClick: async () => "prevent-close", ...(typeof props.okButton == "boolean" ? {} : props.okButton), - props: { + props: { form: formId, type: "submit", loading: submitting, diff --git a/packages/stack-server/src/lib/permissions.tsx b/packages/stack-server/src/lib/permissions.tsx index 0876d3c65..456d459db 100644 --- a/packages/stack-server/src/lib/permissions.tsx +++ b/packages/stack-server/src/lib/permissions.tsx @@ -360,7 +360,7 @@ export async function listUserDirectPermissions({ p => serverPermissionDefinitionJsonFromDbType(p.permission) ).filter( p => { - switch(p.scope.type) { + switch (p.scope.type) { case "global": { return type === "global"; } diff --git a/packages/stack-server/src/route-handlers/smart-route-handler.tsx b/packages/stack-server/src/route-handlers/smart-route-handler.tsx index 47af4d9fe..e5e1d3d6b 100644 --- a/packages/stack-server/src/route-handlers/smart-route-handler.tsx +++ b/packages/stack-server/src/route-handlers/smart-route-handler.tsx @@ -10,6 +10,13 @@ import { runAsynchronously, wait } from "@stackframe/stack-shared/dist/utils/pro import { MergeSmartRequest, SmartRequest, createLazyRequestParser } from "./smart-request"; import { SmartResponse, createResponse } from "./smart-response"; +/** + * Known errors that are common and should not be logged with their stacktrace. + */ +const commonErrors = [ + KnownErrors.AccessTokenExpired, +]; + /** * Catches the given error, logs it if needed and returns it as a StatusError. Errors that are not actually errors * (such as Next.js redirects) will be rethrown. @@ -73,7 +80,9 @@ export function deprecatedSmartRouteHandler(handler: (req: NextRequest, options: } console.log(`[ ERR] [${requestId}] ${req.method} ${req.url}: ${statusError.message}`); - console.debug(`For the error above with request ID ${requestId}, the full error is:`, statusError); + if (!commonErrors.some(e => statusError instanceof e)) { + console.debug(`For the error above with request ID ${requestId}, the full error is:`, statusError); + } const res = await createResponse(req, requestId, { statusCode: statusError.statusCode, diff --git a/packages/stack-shared/src/hooks/use-async-callback.tsx b/packages/stack-shared/src/hooks/use-async-callback.tsx index ee25f681a..c0214416e 100644 --- a/packages/stack-shared/src/hooks/use-async-callback.tsx +++ b/packages/stack-shared/src/hooks/use-async-callback.tsx @@ -13,7 +13,7 @@ export function useAsyncCallback( setLoadingCount((c) => c + 1); try { return await callback(...args); - } catch(e) { + } catch (e) { setError(e); throw e; } finally {