From 2998f27f703282359f6389d1c2d8758fc6a14955 Mon Sep 17 00:00:00 2001 From: Richie Foreman Date: Sun, 17 Aug 2025 12:43:21 -0400 Subject: chore(compiler): Enable strict property access TS compiler flag. (#6255) Co-authored-by: Jacob Richman --- packages/cli/src/ui/components/AuthDialog.test.tsx | 20 ++++++++++---------- packages/cli/src/ui/components/AuthDialog.tsx | 14 +++++++------- packages/cli/src/ui/components/Footer.tsx | 9 +++++---- .../cli/src/ui/components/shared/MaxSizedBox.tsx | 2 +- 4 files changed, 23 insertions(+), 22 deletions(-) (limited to 'packages/cli/src/ui/components') diff --git a/packages/cli/src/ui/components/AuthDialog.test.tsx b/packages/cli/src/ui/components/AuthDialog.test.tsx index 3efc3c01..38c6972a 100644 --- a/packages/cli/src/ui/components/AuthDialog.test.tsx +++ b/packages/cli/src/ui/components/AuthDialog.test.tsx @@ -17,8 +17,8 @@ describe('AuthDialog', () => { beforeEach(() => { originalEnv = { ...process.env }; - process.env.GEMINI_API_KEY = ''; - process.env.GEMINI_DEFAULT_AUTH_TYPE = ''; + process.env['GEMINI_API_KEY'] = ''; + process.env['GEMINI_DEFAULT_AUTH_TYPE'] = ''; vi.clearAllMocks(); }); @@ -27,7 +27,7 @@ describe('AuthDialog', () => { }); it('should show an error if the initial auth type is invalid', () => { - process.env.GEMINI_API_KEY = ''; + process.env['GEMINI_API_KEY'] = ''; const settings: LoadedSettings = new LoadedSettings( { @@ -62,7 +62,7 @@ describe('AuthDialog', () => { describe('GEMINI_API_KEY environment variable', () => { it('should detect GEMINI_API_KEY environment variable', () => { - process.env.GEMINI_API_KEY = 'foobar'; + process.env['GEMINI_API_KEY'] = 'foobar'; const settings: LoadedSettings = new LoadedSettings( { @@ -94,8 +94,8 @@ describe('AuthDialog', () => { }); it('should not show the GEMINI_API_KEY message if GEMINI_DEFAULT_AUTH_TYPE is set to something else', () => { - process.env.GEMINI_API_KEY = 'foobar'; - process.env.GEMINI_DEFAULT_AUTH_TYPE = AuthType.LOGIN_WITH_GOOGLE; + process.env['GEMINI_API_KEY'] = 'foobar'; + process.env['GEMINI_DEFAULT_AUTH_TYPE'] = AuthType.LOGIN_WITH_GOOGLE; const settings: LoadedSettings = new LoadedSettings( { @@ -127,8 +127,8 @@ describe('AuthDialog', () => { }); it('should show the GEMINI_API_KEY message if GEMINI_DEFAULT_AUTH_TYPE is set to use api key', () => { - process.env.GEMINI_API_KEY = 'foobar'; - process.env.GEMINI_DEFAULT_AUTH_TYPE = AuthType.USE_GEMINI; + process.env['GEMINI_API_KEY'] = 'foobar'; + process.env['GEMINI_DEFAULT_AUTH_TYPE'] = AuthType.USE_GEMINI; const settings: LoadedSettings = new LoadedSettings( { @@ -162,7 +162,7 @@ describe('AuthDialog', () => { describe('GEMINI_DEFAULT_AUTH_TYPE environment variable', () => { it('should select the auth type specified by GEMINI_DEFAULT_AUTH_TYPE', () => { - process.env.GEMINI_DEFAULT_AUTH_TYPE = AuthType.LOGIN_WITH_GOOGLE; + process.env['GEMINI_DEFAULT_AUTH_TYPE'] = AuthType.LOGIN_WITH_GOOGLE; const settings: LoadedSettings = new LoadedSettings( { @@ -222,7 +222,7 @@ describe('AuthDialog', () => { }); it('should show an error and fall back to default if GEMINI_DEFAULT_AUTH_TYPE is invalid', () => { - process.env.GEMINI_DEFAULT_AUTH_TYPE = 'invalid-auth-type'; + process.env['GEMINI_DEFAULT_AUTH_TYPE'] = 'invalid-auth-type'; const settings: LoadedSettings = new LoadedSettings( { diff --git a/packages/cli/src/ui/components/AuthDialog.tsx b/packages/cli/src/ui/components/AuthDialog.tsx index c353727c..fb3d116b 100644 --- a/packages/cli/src/ui/components/AuthDialog.tsx +++ b/packages/cli/src/ui/components/AuthDialog.tsx @@ -42,18 +42,18 @@ export function AuthDialog({ } const defaultAuthType = parseDefaultAuthType( - process.env.GEMINI_DEFAULT_AUTH_TYPE, + process.env['GEMINI_DEFAULT_AUTH_TYPE'], ); - if (process.env.GEMINI_DEFAULT_AUTH_TYPE && defaultAuthType === null) { + if (process.env['GEMINI_DEFAULT_AUTH_TYPE'] && defaultAuthType === null) { return ( - `Invalid value for GEMINI_DEFAULT_AUTH_TYPE: "${process.env.GEMINI_DEFAULT_AUTH_TYPE}". ` + + `Invalid value for GEMINI_DEFAULT_AUTH_TYPE: "${process.env['GEMINI_DEFAULT_AUTH_TYPE']}". ` + `Valid values are: ${Object.values(AuthType).join(', ')}.` ); } if ( - process.env.GEMINI_API_KEY && + process.env['GEMINI_API_KEY'] && (!defaultAuthType || defaultAuthType === AuthType.USE_GEMINI) ) { return 'Existing API key detected (GEMINI_API_KEY). Select "Gemini API Key" option to use it.'; @@ -65,7 +65,7 @@ export function AuthDialog({ label: 'Login with Google', value: AuthType.LOGIN_WITH_GOOGLE, }, - ...(process.env.CLOUD_SHELL === 'true' + ...(process.env['CLOUD_SHELL'] === 'true' ? [ { label: 'Use Cloud Shell user credentials', @@ -86,13 +86,13 @@ export function AuthDialog({ } const defaultAuthType = parseDefaultAuthType( - process.env.GEMINI_DEFAULT_AUTH_TYPE, + process.env['GEMINI_DEFAULT_AUTH_TYPE'], ); if (defaultAuthType) { return item.value === defaultAuthType; } - if (process.env.GEMINI_API_KEY) { + if (process.env['GEMINI_API_KEY']) { return item.value === AuthType.USE_GEMINI; } diff --git a/packages/cli/src/ui/components/Footer.tsx b/packages/cli/src/ui/components/Footer.tsx index 09b94ec1..ee644bc5 100644 --- a/packages/cli/src/ui/components/Footer.tsx +++ b/packages/cli/src/ui/components/Footer.tsx @@ -103,15 +103,16 @@ export const Footer: React.FC = ({ > {isTrustedFolder === false ? ( untrusted - ) : process.env.SANDBOX && process.env.SANDBOX !== 'sandbox-exec' ? ( + ) : process.env['SANDBOX'] && + process.env['SANDBOX'] !== 'sandbox-exec' ? ( - {process.env.SANDBOX.replace(/^gemini-(?:cli-)?/, '')} + {process.env['SANDBOX'].replace(/^gemini-(?:cli-)?/, '')} - ) : process.env.SANDBOX === 'sandbox-exec' ? ( + ) : process.env['SANDBOX'] === 'sandbox-exec' ? ( macOS Seatbelt{' '} - ({process.env.SEATBELT_PROFILE}) + ({process.env['SEATBELT_PROFILE']}) ) : ( diff --git a/packages/cli/src/ui/components/shared/MaxSizedBox.tsx b/packages/cli/src/ui/components/shared/MaxSizedBox.tsx index 346472bf..0a51e2fd 100644 --- a/packages/cli/src/ui/components/shared/MaxSizedBox.tsx +++ b/packages/cli/src/ui/components/shared/MaxSizedBox.tsx @@ -321,7 +321,7 @@ function visitBoxRow(element: React.ReactNode): Row { const segment: StyledText = { text, props: parentProps ?? {} }; // Check the 'wrap' property from the merged props to decide the segment type. - if (parentProps === undefined || parentProps.wrap === 'wrap') { + if (parentProps === undefined || parentProps['wrap'] === 'wrap') { hasSeenWrapped = true; row.segments.push(segment); } else { -- cgit v1.2.3