diff --git a/src/main/start-main-application/before-application-is-ready/implementations/setup-mobx.injectable.ts b/src/main/start-main-application/before-application-is-ready/implementations/setup-mobx.injectable.ts new file mode 100644 index 0000000000..166bbc4af2 --- /dev/null +++ b/src/main/start-main-application/before-application-is-ready/implementations/setup-mobx.injectable.ts @@ -0,0 +1,29 @@ +/** + * Copyright (c) OpenLens Authors. All rights reserved. + * Licensed under MIT License. See LICENSE in root directory for more information. + */ +import * as Mobx from "mobx"; +import { getInjectable } from "@ogre-tools/injectable"; +import { beforeApplicationIsReadyInjectionToken } from "../before-application-is-ready-injection-token"; + +const setupMobxInjectable = getInjectable({ + id: "setup-mobx", + + instantiate: () => ({ + run: () => { + // Docs: https://mobx.js.org/configuration.html + Mobx.configure({ + enforceActions: "never", + + // TODO: enable later (read more: https://mobx.js.org/migrating-from-4-or-5.html) + // computedRequiresReaction: true, + // reactionRequiresObservable: true, + // observableRequiresReaction: true, + }); + }, + }), + + injectionToken: beforeApplicationIsReadyInjectionToken, +}); + +export default setupMobxInjectable;