diff --git a/apps/mobile/globals.js b/apps/mobile/globals.js index 0ccdd98ea..a4f1eb1e2 100644 --- a/apps/mobile/globals.js +++ b/apps/mobile/globals.js @@ -5,40 +5,61 @@ import "@formatjs/intl-pluralrules/polyfill-force"; import "@formatjs/intl-pluralrules/locale-data/en"; import "react-native-url-polyfill/auto"; import "./polyfills/console-time.js"; -global.Buffer = require("buffer").Buffer; import "./app/common/logger/index"; -import { DOMParser } from "./worker.js"; -global.DOMParser = DOMParser; import { setI18nGlobal } from "@notesnook/intl"; import { i18n } from "@lingui/core"; -import { ScriptManager, Script } from "@callstack/repack/client"; -import { messages as $en } from "@notesnook/intl/dist/locales/$en.json"; -import { messages as $pseudo } from "@notesnook/intl/dist/locales/$pseudo-LOCALE.json"; import Config from "react-native-config"; -i18n.load({ - en: __DEV__ && Config.isTesting !== "true" ? $pseudo : $en +let domParser; +Object.defineProperty(global, "DOMParser", { + get: () => { + if (!domParser) domParser = require("./worker.js"); + return domParser.DOMParser; + } }); -setI18nGlobal(i18n); +let buffer; +Object.defineProperty(global, "Buffer", { + get: () => { + if (!buffer) buffer = require("buffer"); + return buffer.Buffer; + } +}); + +if (__DEV__ && Config.isTesting !== "true") { + const messages = + require("@notesnook/intl/dist/locales/$pseudo-LOCALE.json").messages; + i18n.load({ + en: messages + }); +} else { + const messages = require("@notesnook/intl/dist/locales/$en.json").messages; + i18n.load({ + en: messages + }); +} + i18n.activate("en"); setI18nGlobal(i18n); -try { - ScriptManager.shared.addResolver(async (scriptId) => { - // `scriptId` will be either 'student' or 'teacher' +if (__DEV__) { + try { + const { ScriptManager, Script } = require("@callstack/repack/client"); + ScriptManager.shared.addResolver(async (scriptId) => { + // `scriptId` will be either 'student' or 'teacher' + + // In dev mode, resolve script location to dev server. + if (__DEV__) { + return { + url: Script.getDevServerURL(scriptId), + cache: false + }; + } - // In dev mode, resolve script location to dev server. - if (__DEV__) { return { - url: Script.getDevServerURL(scriptId), - cache: false + url: Script.getFileSystemURL(scriptId) }; - } - - return { - url: Script.getFileSystemURL(scriptId) - }; - }); -} catch (e) { - /** ignore error when running with metro bundler */ + }); + } catch (e) { + /** ignore error when running with metro bundler */ + } }