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

Consolidate loading of extensions to injectable instead of setup-code

Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
This commit is contained in:
Janne Savolainen 2022-04-27 10:55:55 +03:00
parent 5c31203e50
commit 18abef67bb
No known key found for this signature in database
GPG Key ID: 8C6CFB2FFFE8F68A
4 changed files with 56 additions and 25 deletions

View File

@ -203,9 +203,11 @@
"@hapi/call": "^8.0.1", "@hapi/call": "^8.0.1",
"@hapi/subtext": "^7.0.3", "@hapi/subtext": "^7.0.3",
"@kubernetes/client-node": "^0.16.3", "@kubernetes/client-node": "^0.16.3",
"@ogre-tools/injectable": "6.0.0", "@ogre-tools/injectable": "7.0.0",
"@ogre-tools/injectable-react": "6.0.0", "@ogre-tools/injectable-react": "7.0.0",
"@ogre-tools/fp": "6.0.0", "@ogre-tools/fp": "7.0.0",
"@ogre-tools/injectable-extension-for-auto-registration": "7.0.0",
"@ogre-tools/injectable-extension-for-mobx": "7.0.0",
"@sentry/electron": "^3.0.7", "@sentry/electron": "^3.0.7",
"@sentry/integrations": "^6.19.3", "@sentry/integrations": "^6.19.3",
"@types/circular-dependency-plugin": "5.0.5", "@types/circular-dependency-plugin": "5.0.5",

View File

@ -16,8 +16,8 @@ import installExtensionsInjectable from "../extension-installer/install-extensio
const extensionDiscoveryInjectable = getInjectable({ const extensionDiscoveryInjectable = getInjectable({
id: "extension-discovery", id: "extension-discovery",
instantiate: (di) => instantiate: (di) => {
new ExtensionDiscovery({ const extensionDiscovery = new ExtensionDiscovery({
extensionLoader: di.inject(extensionLoaderInjectable), extensionLoader: di.inject(extensionLoaderInjectable),
extensionsStore: di.inject(extensionsStoreInjectable), extensionsStore: di.inject(extensionsStoreInjectable),
@ -37,7 +37,13 @@ const extensionDiscoveryInjectable = getInjectable({
extensionPackageRootDirectory: di.inject( extensionPackageRootDirectory: di.inject(
extensionPackageRootDirectoryInjectable, extensionPackageRootDirectoryInjectable,
), ),
}), });
// TODO: Missing await
extensionDiscovery.init();
return extensionDiscovery;
},
}); });
export default extensionDiscoveryInjectable; export default extensionDiscoveryInjectable;

View File

@ -12,13 +12,21 @@ import extensionInstallationCounterInjectable from "./extension-installation-cou
const extensionLoaderInjectable = getInjectable({ const extensionLoaderInjectable = getInjectable({
id: "extension-loader", id: "extension-loader",
instantiate: (di) => instantiate: (di) => {
new ExtensionLoader({ const extensionLoader = new ExtensionLoader({
updateExtensionsState: di.inject(updateExtensionsStateInjectable), updateExtensionsState: di.inject(updateExtensionsStateInjectable),
createExtensionInstance: di.inject(createExtensionInstanceInjectable), createExtensionInstance: di.inject(createExtensionInstanceInjectable),
extensionRegistrators: di.injectMany(extensionRegistratorInjectionToken), extensionRegistrators: di.injectMany(extensionRegistratorInjectionToken),
extensionInstallationCounter: di.inject(extensionInstallationCounterInjectable), extensionInstallationCounter: di.inject(
}), extensionInstallationCounterInjectable,
),
});
// TODO: Missing await
extensionLoader.init();
return extensionLoader;
},
}); });
export default extensionLoaderInjectable; export default extensionLoaderInjectable;

View File

@ -1004,28 +1004,43 @@
"@nodelib/fs.scandir" "2.1.3" "@nodelib/fs.scandir" "2.1.3"
fastq "^1.6.0" fastq "^1.6.0"
"@ogre-tools/fp@6.0.0", "@ogre-tools/fp@^6.0.0": "@ogre-tools/fp@^6.0.1":
version "6.0.0" version "6.0.1"
resolved "https://registry.yarnpkg.com/@ogre-tools/fp/-/fp-6.0.0.tgz#12d2b74bcf0767ca28db2ed2f5daf6e6d2878345" resolved "https://registry.yarnpkg.com/@ogre-tools/fp/-/fp-6.0.1.tgz#d673186fcc8e89cef74938c31ba34ddb33512dd8"
integrity sha512-C9p9b0slWist6hbOruitbLXEbxcGvoJLHOcLs+0CCBTfBzl9RuetVM8hmxb1YTV2ajAhGfFecqNUIfKvqIyHuQ== integrity sha512-Bs385eJD0zyfQpNkAuevLL5DLq1tfPTHz1Cg2Xu2E13ZmmNFROSBgoUedqhT5YqYkqzxfmsqhXHOTS35LsRZjA==
dependencies: dependencies:
lodash "^4.17.21" lodash "^4.17.21"
"@ogre-tools/injectable-react@6.0.0": "@ogre-tools/fp@file:../ogre-tools/packages/fp":
version "6.0.0" version "6.0.1"
resolved "https://registry.yarnpkg.com/@ogre-tools/injectable-react/-/injectable-react-6.0.0.tgz#a29787538ab46dc91231f38895cf8174423f0e4d"
integrity sha512-sW3IpUhWghvWwQammUDg+36Re19UfCokDTd17LydyC87hhDjYNvdPPc+oS8V55z6cQ3x9C2SpgvpR4Mj7Ok1yA==
dependencies: dependencies:
"@ogre-tools/fp" "^6.0.0"
"@ogre-tools/injectable" "^6.0.0"
lodash "^4.17.21" lodash "^4.17.21"
"@ogre-tools/injectable@6.0.0", "@ogre-tools/injectable@^6.0.0": "@ogre-tools/injectable-extension-for-auto-registration@file:../ogre-tools/packages/injectable-extension-for-auto-registration":
version "6.0.0" version "6.0.1"
resolved "https://registry.yarnpkg.com/@ogre-tools/injectable/-/injectable-6.0.0.tgz#9946094f4d89793d2b0a2992d7e80f94d9537c64"
integrity sha512-ZhXDN2XbDFTTGVIvFL7ICxdwtLWAUOOPaLKLA1tJe+FOs14c5mbvv0IfPPc7kNgsFMXG3I10lk/Z9LIjTMJdLA==
dependencies: dependencies:
"@ogre-tools/fp" "^6.0.0" "@ogre-tools/fp" "^6.0.1"
"@ogre-tools/injectable" "^6.0.1"
lodash "^4.17.21"
"@ogre-tools/injectable-extension-for-mobx@file:../ogre-tools/packages/injectable-extension-for-mobx":
version "6.0.1"
dependencies:
"@ogre-tools/fp" "^6.0.1"
"@ogre-tools/injectable" "^6.0.1"
lodash "^4.17.21"
"@ogre-tools/injectable-react@file:../ogre-tools/packages/injectable-react":
version "6.0.1"
dependencies:
"@ogre-tools/fp" "^6.0.1"
"@ogre-tools/injectable" "^6.0.1"
lodash "^4.17.21"
"@ogre-tools/injectable@^6.0.1", "@ogre-tools/injectable@file:../ogre-tools/packages/injectable":
version "6.0.1"
dependencies:
"@ogre-tools/fp" "^6.0.1"
lodash "^4.17.21" lodash "^4.17.21"
"@panva/asn1.js@^1.0.0": "@panva/asn1.js@^1.0.0":