Skip to content

Commit f4730ca

Browse files
committed
fix no member access error in require usages
1 parent 372319f commit f4730ca

File tree

13 files changed

+263
-258
lines changed

13 files changed

+263
-258
lines changed

.storybook/webpack.config.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ switch (process.env.ENV) {
3434
}
3535

3636
const env = dotenv.config({path: path.resolve(__dirname, `../${envFile}`)});
37-
const customFunction: CustomWebpackFunction = require('../config/webpack/webpack.common').default;
37+
const customFunction = require<{default: CustomWebpackFunction}>('../config/webpack/webpack.common').default;
3838

3939
const custom: CustomWebpackConfig = customFunction({file: envFile});
4040

desktop/main.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ type CreateDownloadQueue = () => {
2121
dequeueDownloadItem: () => DownloadItem | undefined;
2222
};
2323

24-
const createDownloadQueue = (require('./createDownloadQueue') as {default: CreateDownloadQueue}).default;
24+
const createDownloadQueue = require<{default: CreateDownloadQueue}>('./createDownloadQueue').default;
2525

2626
const port = process.env.PORT ?? 8082;
2727
const {DESKTOP_SHORTCUT_ACCELERATOR, LOCALES} = CONST;

src/libs/E2E/reactNativeLaunchingTest.ts

+8-6
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@ import installNetworkInterceptor from './utils/NetworkInterceptor';
1515
import LaunchArgs from './utils/LaunchArgs';
1616
import type { TestConfig } from './types';
1717

18-
type Tests = Record<ValueOf<typeof E2EConfig.TEST_NAMES>, (config: TestConfig) => void>;
18+
type Test = (config: TestConfig) => void;
19+
type TestModule = { default: Test}
20+
type Tests = Record<ValueOf<typeof E2EConfig.TEST_NAMES>, Test>;
1921

2022
console.debug('==========================');
2123
console.debug('==== Running e2e test ====');
@@ -34,11 +36,11 @@ if (!appInstanceId) {
3436

3537
// import your test here, define its name and config first in e2e/config.js
3638
const tests: Tests = {
37-
[E2EConfig.TEST_NAMES.AppStartTime]: require('./tests/appStartTimeTest.e2e').default,
38-
[E2EConfig.TEST_NAMES.OpenChatFinderPage]: require('./tests/openChatFinderPageTest.e2e').default,
39-
[E2EConfig.TEST_NAMES.ChatOpening]: require('./tests/chatOpeningTest.e2e').default,
40-
[E2EConfig.TEST_NAMES.ReportTyping]: require('./tests/reportTypingTest.e2e').default,
41-
[E2EConfig.TEST_NAMES.Linking]: require('./tests/linkingTest.e2e').default,
39+
[E2EConfig.TEST_NAMES.AppStartTime]: require<TestModule>('./tests/appStartTimeTest.e2e').default,
40+
[E2EConfig.TEST_NAMES.OpenChatFinderPage]: require<TestModule>('./tests/openChatFinderPageTest.e2e').default,
41+
[E2EConfig.TEST_NAMES.ChatOpening]: require<TestModule>('./tests/chatOpeningTest.e2e').default,
42+
[E2EConfig.TEST_NAMES.ReportTyping]: require<TestModule>('./tests/reportTypingTest.e2e').default,
43+
[E2EConfig.TEST_NAMES.Linking]: require<TestModule>('./tests/linkingTest.e2e').default,
4244
};
4345

4446
// Once we receive the TII measurement we know that the app is initialized and ready to be used:

src/libs/EmojiUtils.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ type EmojiSpacer = {code: string; spacer: boolean};
1818
type EmojiPickerListItem = EmojiSpacer | Emoji | HeaderEmoji;
1919
type EmojiPickerList = EmojiPickerListItem[];
2020
type ReplacedEmoji = {text: string; emojis: Emoji[]; cursorPosition?: number};
21+
type EmojiTrieModule = {default: typeof EmojiTrie};
2122

2223
let frequentlyUsedEmojis: FrequentlyUsedEmoji[] = [];
2324
Onyx.connect({
@@ -314,7 +315,7 @@ function getAddedEmojis(currentEmojis: Emoji[], formerEmojis: Emoji[]): Emoji[]
314315
*/
315316
function replaceEmojis(text: string, preferredSkinTone: OnyxEntry<number | string> = CONST.EMOJI_DEFAULT_SKIN_TONE, lang: Locale = CONST.LOCALES.DEFAULT): ReplacedEmoji {
316317
// emojisTrie is importing the emoji JSON file on the app starting and we want to avoid it
317-
const emojisTrie: typeof EmojiTrie = (require('./EmojiTrie') as {default: typeof EmojiTrie}).default;
318+
const emojisTrie = require<EmojiTrieModule>('./EmojiTrie').default;
318319

319320
const trie = emojisTrie[lang as SupportedLanguage];
320321
if (!trie) {
@@ -392,7 +393,7 @@ function replaceAndExtractEmojis(text: string, preferredSkinTone: OnyxEntry<numb
392393
*/
393394
function suggestEmojis(text: string, lang: Locale, limit: number = CONST.AUTO_COMPLETE_SUGGESTER.MAX_AMOUNT_OF_SUGGESTIONS): Emoji[] | undefined {
394395
// emojisTrie is importing the emoji JSON file on the app starting and we want to avoid it
395-
const emojisTrie = (require('./EmojiTrie') as {default: typeof EmojiTrie}).default;
396+
const emojisTrie = require<EmojiTrieModule>('./EmojiTrie').default;
396397

397398
const trie = emojisTrie[lang as SupportedLanguage];
398399
if (!trie) {

src/libs/Navigation/AppNavigator/AuthScreens.tsx

+10-9
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ import ROUTES from '@src/ROUTES';
4040
import SCREENS from '@src/SCREENS';
4141
import type * as OnyxTypes from '@src/types/onyx';
4242
import type {SelectedTimezone, Timezone} from '@src/types/onyx/PersonalDetails';
43+
import type ReactComponentModule from '@src/types/utils/ReactComponentModule';
4344
import createCustomStackNavigator from './createCustomStackNavigator';
4445
import defaultScreenOptions from './defaultScreenOptions';
4546
import getRootNavigatorScreenOptions from './getRootNavigatorScreenOptions';
@@ -63,15 +64,15 @@ type AuthScreensProps = {
6364
initialLastUpdateIDAppliedToClient: OnyxEntry<number>;
6465
};
6566

66-
const loadReportAttachments = () => require('../../../pages/home/report/ReportAttachments').default as React.ComponentType;
67-
const loadValidateLoginPage = () => require('../../../pages/ValidateLoginPage').default as React.ComponentType;
68-
const loadLogOutPreviousUserPage = () => require('../../../pages/LogOutPreviousUserPage').default as React.ComponentType;
69-
const loadConciergePage = () => require('../../../pages/ConciergePage').default as React.ComponentType;
70-
const loadProfileAvatar = () => require('../../../pages/settings/Profile/ProfileAvatar').default as React.ComponentType;
71-
const loadWorkspaceAvatar = () => require('../../../pages/workspace/WorkspaceAvatar').default as React.ComponentType;
72-
const loadReportAvatar = () => require('../../../pages/ReportAvatar').default as React.ComponentType;
73-
const loadReceiptView = () => require('../../../pages/TransactionReceiptPage').default as React.ComponentType;
74-
const loadWorkspaceJoinUser = () => require('@pages/workspace/WorkspaceJoinUserPage').default as React.ComponentType;
67+
const loadReportAttachments = () => require<ReactComponentModule>('../../../pages/home/report/ReportAttachments').default;
68+
const loadValidateLoginPage = () => require<ReactComponentModule>('../../../pages/ValidateLoginPage').default;
69+
const loadLogOutPreviousUserPage = () => require<ReactComponentModule>('../../../pages/LogOutPreviousUserPage').default;
70+
const loadConciergePage = () => require<ReactComponentModule>('../../../pages/ConciergePage').default;
71+
const loadProfileAvatar = () => require<ReactComponentModule>('../../../pages/settings/Profile/ProfileAvatar').default;
72+
const loadWorkspaceAvatar = () => require<ReactComponentModule>('../../../pages/workspace/WorkspaceAvatar').default;
73+
const loadReportAvatar = () => require<ReactComponentModule>('../../../pages/ReportAvatar').default;
74+
const loadReceiptView = () => require<ReactComponentModule>('../../../pages/TransactionReceiptPage').default;
75+
const loadWorkspaceJoinUser = () => require<ReactComponentModule>('@pages/workspace/WorkspaceJoinUserPage').default;
7576

7677
let timezone: Timezone | null;
7778
let currentAccountID = -1;

0 commit comments

Comments
 (0)