1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

Try to figure out which part

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
This commit is contained in:
Janne Savolainen 2023-04-05 10:14:49 +03:00
parent 59ce21609e
commit a729936602
No known key found for this signature in database
GPG Key ID: 8C6CFB2FFFE8F68A

View File

@ -3,12 +3,11 @@
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import type { InstalledExtension } from "../../../extensions/extension-discovery/extension-discovery";
import type { LensExtensionId } from "../../../extensions/lens-extension";
import loggerInjectable from "../../../common/logger.injectable"; import loggerInjectable from "../../../common/logger.injectable";
import extensionDiscoveryInjectable from "../../../extensions/extension-discovery/extension-discovery.injectable"; import extensionDiscoveryInjectable from "../../../extensions/extension-discovery/extension-discovery.injectable";
import extensionLoaderInjectable from "../../../extensions/extension-loader/extension-loader.injectable"; import extensionLoaderInjectable from "../../../extensions/extension-loader/extension-loader.injectable";
import showErrorPopupInjectable from "../../electron-app/features/show-error-popup.injectable"; import { onLoadOfApplicationInjectionToken } from "../runnable-tokens/on-load-of-application-injection-token";
import setupShellInjectable from "../../../features/shell-sync/main/setup-shell.injectable";
const initializeExtensionsInjectable = getInjectable({ const initializeExtensionsInjectable = getInjectable({
id: "initialize-extensions", id: "initialize-extensions",
@ -17,7 +16,6 @@ const initializeExtensionsInjectable = getInjectable({
const logger = di.inject(loggerInjectable); const logger = di.inject(loggerInjectable);
const extensionDiscovery = di.inject(extensionDiscoveryInjectable); const extensionDiscovery = di.inject(extensionDiscoveryInjectable);
const extensionLoader = di.inject(extensionLoaderInjectable); const extensionLoader = di.inject(extensionLoaderInjectable);
const showErrorPopup = di.inject(showErrorPopupInjectable);
return { return {
id: "initialize-extensions", id: "initialize-extensions",
@ -28,41 +26,41 @@ const initializeExtensionsInjectable = getInjectable({
await extensionLoader.init(); await extensionLoader.init();
try { // try {
const extensions = await extensionDiscovery.load(); // const extensions = await extensionDiscovery.load();
//
// Start watching after bundled extensions are loaded // // Start watching after bundled extensions are loaded
extensionDiscovery.watchExtensions(); // extensionDiscovery.watchExtensions();
//
// Subscribe to extensions that are copied or deleted to/from the extensions folder // // Subscribe to extensions that are copied or deleted to/from the extensions folder
extensionDiscovery.events // extensionDiscovery.events
.on("add", (extension: InstalledExtension) => { // .on("add", (extension: InstalledExtension) => {
extensionLoader.addExtension(extension); // extensionLoader.addExtension(extension);
}) // })
.on("remove", (lensExtensionId: LensExtensionId) => { // .on("remove", (lensExtensionId: LensExtensionId) => {
extensionLoader.removeExtension(lensExtensionId); // extensionLoader.removeExtension(lensExtensionId);
}); // });
//
extensionLoader.initExtensions(extensions); // extensionLoader.initExtensions(extensions);
} catch (error: any) { // } catch (error: any) {
showErrorPopup( // showErrorPopup(
"Lens Error", // "Lens Error",
`Could not load extensions${ // `Could not load extensions${
error?.message ? `: ${error.message}` : "" // error?.message ? `: ${error.message}` : ""
}` // }`
); // );
//
console.error(error); // console.error(error);
console.trace(); // console.trace();
} // }
}, },
// runAfter: di.inject(setupShellInjectable), runAfter: di.inject(setupShellInjectable),
}; };
}, },
causesSideEffects: true, causesSideEffects: true,
// injectionToken: onLoadOfApplicationInjectionToken, injectionToken: onLoadOfApplicationInjectionToken,
}); });
export default initializeExtensionsInjectable; export default initializeExtensionsInjectable;