From 4d541c5d527ca525780e76b06d2177cc30a55141 Mon Sep 17 00:00:00 2001 From: Zorin95670 Date: Wed, 7 May 2025 12:04:08 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8(frontend)=20Minor=20refactoring?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - improve condition statements - add "no-var" rule in eslint - remove some unnecessary variables Signed-off-by: Zorin95670 --- src/frontend/apps/impress/next.config.js | 5 +---- src/frontend/apps/impress/src/api/fetchApi.ts | 4 +--- src/frontend/apps/impress/src/core/AppProvider.tsx | 3 +-- .../apps/impress/src/core/config/api/useConfig.tsx | 4 +--- .../src/features/docs/doc-editor/hook/useSaveDoc.tsx | 2 +- .../apps/impress/src/services/PosthogAnalytic.tsx | 8 ++------ src/frontend/apps/impress/src/utils/url.ts | 6 +----- src/frontend/packages/eslint-config-impress/common.js | 1 + src/frontend/servers/y-provider/.eslintrc.cjs | 2 +- src/frontend/servers/y-provider/jest.config.js | 2 +- 10 files changed, 11 insertions(+), 26 deletions(-) diff --git a/src/frontend/apps/impress/next.config.js b/src/frontend/apps/impress/next.config.js index 16d2bbaa..862b4faf 100644 --- a/src/frontend/apps/impress/next.config.js +++ b/src/frontend/apps/impress/next.config.js @@ -48,10 +48,7 @@ const nextConfig = { swDest: '../public/service-worker.js', include: [ ({ asset }) => { - if (asset.name.match(/.*(static).*/)) { - return true; - } - return false; + return !!asset.name.match(/.*(static).*/); }, ], }), diff --git a/src/frontend/apps/impress/src/api/fetchApi.ts b/src/frontend/apps/impress/src/api/fetchApi.ts index 24e6b319..10d5f1d2 100644 --- a/src/frontend/apps/impress/src/api/fetchApi.ts +++ b/src/frontend/apps/impress/src/api/fetchApi.ts @@ -23,11 +23,9 @@ export const fetchAPI = async ( delete headers?.['Content-Type' as keyof typeof headers]; } - const response = await fetch(apiUrl, { + return await fetch(apiUrl, { ...init, credentials: 'include', headers, }); - - return response; }; diff --git a/src/frontend/apps/impress/src/core/AppProvider.tsx b/src/frontend/apps/impress/src/core/AppProvider.tsx index 48dea15c..03ce5097 100644 --- a/src/frontend/apps/impress/src/core/AppProvider.tsx +++ b/src/frontend/apps/impress/src/core/AppProvider.tsx @@ -35,8 +35,7 @@ export function AppProvider({ children }: { children: React.ReactNode }) { ); useEffect(() => { - const cleanupResizeListener = initializeResizeListener(); - return cleanupResizeListener; + return initializeResizeListener(); }, [initializeResizeListener]); useEffect(() => { diff --git a/src/frontend/apps/impress/src/core/config/api/useConfig.tsx b/src/frontend/apps/impress/src/core/config/api/useConfig.tsx index 03c43fea..fdfe8c97 100644 --- a/src/frontend/apps/impress/src/core/config/api/useConfig.tsx +++ b/src/frontend/apps/impress/src/core/config/api/useConfig.tsx @@ -53,13 +53,11 @@ export function useConfig() { const cachedData = getCachedTranslation(); const oneHour = 1000 * 60 * 60; - const response = useQuery({ + return useQuery({ queryKey: [KEY_CONFIG], queryFn: () => getConfig(), initialData: cachedData, staleTime: oneHour, initialDataUpdatedAt: Date.now() - oneHour, // Force initial data to be considered stale }); - - return response; } diff --git a/src/frontend/apps/impress/src/features/docs/doc-editor/hook/useSaveDoc.tsx b/src/frontend/apps/impress/src/features/docs/doc-editor/hook/useSaveDoc.tsx index 26e51891..910b7444 100644 --- a/src/frontend/apps/impress/src/features/docs/doc-editor/hook/useSaveDoc.tsx +++ b/src/frontend/apps/impress/src/features/docs/doc-editor/hook/useSaveDoc.tsx @@ -31,7 +31,7 @@ const useSaveDoc = (docId: string, yDoc: Y.Doc, canSave: boolean) => { _updatedDoc: Y.Doc, transaction: Y.Transaction, ) => { - setIsLocalChange(transaction.local ? true : false); + setIsLocalChange(transaction.local); }; yDoc.on('update', onUpdate); diff --git a/src/frontend/apps/impress/src/services/PosthogAnalytic.tsx b/src/frontend/apps/impress/src/services/PosthogAnalytic.tsx index 4b44cf29..53556c44 100644 --- a/src/frontend/apps/impress/src/services/PosthogAnalytic.tsx +++ b/src/frontend/apps/impress/src/services/PosthogAnalytic.tsx @@ -25,14 +25,10 @@ export class PostHogAnalytic extends AbstractAnalytic { } public isFeatureFlagActivated(flagName: string): boolean { - if ( + return !( posthog.featureFlags.getFlags().includes(flagName) && posthog.isFeatureEnabled(flagName) === false - ) { - return false; - } - - return true; + ); } } diff --git a/src/frontend/apps/impress/src/utils/url.ts b/src/frontend/apps/impress/src/utils/url.ts index d880d72c..4a8c4b6a 100644 --- a/src/frontend/apps/impress/src/utils/url.ts +++ b/src/frontend/apps/impress/src/utils/url.ts @@ -40,11 +40,7 @@ export function isSafeUrl(url: string): boolean { } // Check for directory traversal attempts - if (url.includes('..') || url.includes('../') || url.includes('..\\')) { - return false; - } - - return true; + return !(url.includes('..') || url.includes('../') || url.includes('..\\')); } catch { return false; } diff --git a/src/frontend/packages/eslint-config-impress/common.js b/src/frontend/packages/eslint-config-impress/common.js index 7b9f4fd1..2c4be5f6 100644 --- a/src/frontend/packages/eslint-config-impress/common.js +++ b/src/frontend/packages/eslint-config-impress/common.js @@ -56,6 +56,7 @@ const globalRules = { 'error', { varsIgnorePattern: '^_', argsIgnorePattern: '^_' }, ], + 'no-var': 'error', 'react/jsx-curly-brace-presence': [ 'error', { props: 'never', children: 'never', propElementValues: 'always' }, diff --git a/src/frontend/servers/y-provider/.eslintrc.cjs b/src/frontend/servers/y-provider/.eslintrc.cjs index 31391613..9e0dff2a 100644 --- a/src/frontend/servers/y-provider/.eslintrc.cjs +++ b/src/frontend/servers/y-provider/.eslintrc.cjs @@ -13,5 +13,5 @@ module.exports = { rules: { '@next/next/no-html-link-for-pages': 'off', }, - ignorePatterns: ['node_modules', '.eslintrc.js'], + ignorePatterns: ['node_modules'], }; diff --git a/src/frontend/servers/y-provider/jest.config.js b/src/frontend/servers/y-provider/jest.config.js index 9ba612b3..06ccd776 100644 --- a/src/frontend/servers/y-provider/jest.config.js +++ b/src/frontend/servers/y-provider/jest.config.js @@ -1,4 +1,4 @@ -var config = { +const config = { rootDir: './__tests__', testEnvironment: 'node', transform: {