From 92859bf8b955bef2cc7e01da35d221329fdc5b09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=98=BF=E8=89=AF=E4=BB=94?= <32487868+cijiugechu@users.noreply.github.com> Date: Fri, 5 May 2023 12:18:54 +0800 Subject: [PATCH] perf: remove `data-testid` in production (#2228) Co-authored-by: Himself65 --- .github/workflows/release-desktop-app.yml | 1 + apps/web/next.config.mjs | 5 +++++ apps/web/preset.config.mjs | 3 +++ packages/env/src/config.ts | 1 + 4 files changed, 10 insertions(+) diff --git a/.github/workflows/release-desktop-app.yml b/.github/workflows/release-desktop-app.yml index c8cd109dd..da77b8ebd 100644 --- a/.github/workflows/release-desktop-app.yml +++ b/.github/workflows/release-desktop-app.yml @@ -63,6 +63,7 @@ jobs: NEXT_PUBLIC_SENTRY_DSN: ${{ secrets.NEXT_PUBLIC_SENTRY_DSN }} SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} API_SERVER_PROFILE: prod + ENABLE_TEST_PROPERTIES: false - name: Upload Artifact (web-static) uses: actions/upload-artifact@v3 diff --git a/apps/web/next.config.mjs b/apps/web/next.config.mjs index bed8a77a2..2d9a43220 100644 --- a/apps/web/next.config.mjs +++ b/apps/web/next.config.mjs @@ -80,6 +80,11 @@ const nextConfig = { removeConsole: { exclude: ['error', 'log', 'warn', 'info'], }, + reactRemoveProperties: !buildFlags.enableTestProperties + ? { + properties: ['^data-testid$'], + } + : false, emotion: { sourceMap: true, }, diff --git a/apps/web/preset.config.mjs b/apps/web/preset.config.mjs index ac5d2a067..d8f57d225 100644 --- a/apps/web/preset.config.mjs +++ b/apps/web/preset.config.mjs @@ -18,6 +18,9 @@ export const blockSuiteFeatureFlags = { * @type {import('@affine/env').BuildFlags} */ export const buildFlags = { + enableTestProperties: process.env.ENABLE_TEST_PROPERTIES + ? process.env.ENABLE_TEST_PROPERTIES === 'true' + : true, enableLegacyCloud: process.env.ENABLE_LEGACY_PROVIDER ? process.env.ENABLE_LEGACY_PROVIDER === 'true' : true, diff --git a/packages/env/src/config.ts b/packages/env/src/config.ts index 8d97eb795..79f093bd7 100644 --- a/packages/env/src/config.ts +++ b/packages/env/src/config.ts @@ -6,6 +6,7 @@ import { z } from 'zod'; import { getUaHelper } from './ua-helper'; export const buildFlagsSchema = z.object({ + enableTestProperties: z.boolean(), enableBroadCastChannelProvider: z.boolean(), enableDebugPage: z.boolean(), enableLegacyCloud: z.boolean(),