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.
*/
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 extensionDiscoveryInjectable from "../../../extensions/extension-discovery/extension-discovery.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({
id: "initialize-extensions",
@ -17,7 +16,6 @@ const initializeExtensionsInjectable = getInjectable({
const logger = di.inject(loggerInjectable);
const extensionDiscovery = di.inject(extensionDiscoveryInjectable);
const extensionLoader = di.inject(extensionLoaderInjectable);
const showErrorPopup = di.inject(showErrorPopupInjectable);
return {
id: "initialize-extensions",
@ -28,41 +26,41 @@ const initializeExtensionsInjectable = getInjectable({
await extensionLoader.init();
try {
const extensions = await extensionDiscovery.load();
// Start watching after bundled extensions are loaded
extensionDiscovery.watchExtensions();
// Subscribe to extensions that are copied or deleted to/from the extensions folder
extensionDiscovery.events
.on("add", (extension: InstalledExtension) => {
extensionLoader.addExtension(extension);
})
.on("remove", (lensExtensionId: LensExtensionId) => {
extensionLoader.removeExtension(lensExtensionId);
});
extensionLoader.initExtensions(extensions);
} catch (error: any) {
showErrorPopup(
"Lens Error",
`Could not load extensions${
error?.message ? `: ${error.message}` : ""
}`
);
console.error(error);
console.trace();
}
// try {
// const extensions = await extensionDiscovery.load();
//
// // Start watching after bundled extensions are loaded
// extensionDiscovery.watchExtensions();
//
// // Subscribe to extensions that are copied or deleted to/from the extensions folder
// extensionDiscovery.events
// .on("add", (extension: InstalledExtension) => {
// extensionLoader.addExtension(extension);
// })
// .on("remove", (lensExtensionId: LensExtensionId) => {
// extensionLoader.removeExtension(lensExtensionId);
// });
//
// extensionLoader.initExtensions(extensions);
// } catch (error: any) {
// showErrorPopup(
// "Lens Error",
// `Could not load extensions${
// error?.message ? `: ${error.message}` : ""
// }`
// );
//
// console.error(error);
// console.trace();
// }
},
// runAfter: di.inject(setupShellInjectable),
runAfter: di.inject(setupShellInjectable),
};
},
causesSideEffects: true,
// injectionToken: onLoadOfApplicationInjectionToken,
injectionToken: onLoadOfApplicationInjectionToken,
});
export default initializeExtensionsInjectable;