1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00
lens/src/main/electron-app/runnables/setup-developer-tools-in-development-environment.injectable.ts
Sebastian Malton f178cf05eb Make Runnable and RunnableSync require ids
- Allows for better error messages related to mismatched runAfter's so
  that mismatched injection tokens are easy to fix

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-10-03 08:23:06 -04:00

42 lines
1.4 KiB
TypeScript

/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getInjectable } from "@ogre-tools/injectable";
import loggerInjectable from "../../../common/logger.injectable";
import { onLoadOfApplicationInjectionToken } from "../../start-main-application/runnable-tokens/on-load-of-application-injection-token";
const setupDeveloperToolsInDevelopmentEnvironmentInjectable = getInjectable({
id: "setup-developer-tools-in-development-environment",
instantiate: (di) => {
const logger = di.inject(loggerInjectable);
return {
id: "setup-developer-tools-in-development-environment",
run: () => {
if (process.env.NODE_ENV !== "development") {
return;
}
logger.info("🤓 Installing developer tools");
import("electron-devtools-installer")
.then(({ default: devToolsInstaller, REACT_DEVELOPER_TOOLS }) =>
devToolsInstaller([REACT_DEVELOPER_TOOLS]),
)
.then((name) =>
logger.info(`[DEVTOOLS-INSTALLER]: installed ${name}`),
)
.catch((error) =>
logger.error(`[DEVTOOLS-INSTALLER]: failed`, { error }),
);
},
};
},
injectionToken: onLoadOfApplicationInjectionToken,
});
export default setupDeveloperToolsInDevelopmentEnvironmentInjectable;