-
Notifications
You must be signed in to change notification settings - Fork 0
Theia plugin metadata #1
Theia plugin metadata #1
Conversation
Signed-off-by: Oleksii Kurinnyi <okurinny@redhat.com>
/** | ||
* Plugin engine (API) type, i.e. 'theia', 'vscode', etc. | ||
*/ | ||
export type pluginEngine = string; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should the type should start with an uppercase ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, you're right, I'll fix it
}; | ||
theiaPlugin?: { | ||
frontend?: string; | ||
frontendModuleName?: string; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should we allow frontendModuleName from package.json or it's just inside the PluginLifecycle that we can get it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've added that field accidentally and forgot to remove it.
We do not take into account frontendModuleName from package.json for now.
main?: string; | ||
displayName: string; | ||
description: string; | ||
contributes: {}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what is contributes ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's added for future use. It is an object which describes contribution points of a plugin.
stopMethod: 'stop', | ||
frontendModuleName: plugin.theiaPlugin!.frontendModuleName, | ||
|
||
backendInitPath: 'backend-init-theia.js' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is there a reason why it's a .js file and not an interface with inversify binding ?
like BackendInit with theia and vscode implementation ?
so we need to bind a scanner + a init provider for each plugin type ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is no particular reason for that, so, I'll revamp this part in the proposed way.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@benoitf
I've started implementing your proposal but then remember that this script has to be runned on plugin host (webworker or node). So code cannot be passed through json-rpc connection.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@akurinnoy on backend it's still sent to webworker ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not webworker but separate nodejs process
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok
FYI it seems there is a conflicting file on the PR as well |
…theia-plugin-metadata # Conflicts: # packages/plugin/src/plugin/plugin-context.ts
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if you can squash on merge, thx
this PR implements - retrieving metadata from plugins and using the metadata for plugin activation and deactivation; - pluggability, which allows extending the plugin system to run different types of plugins.
this PR implements - retrieving metadata from plugins and using the metadata for plugin activation and deactivation; - pluggability, which allows extending the plugin system to run different types of plugins.
this PR implements - retrieving metadata from plugins and using the metadata for plugin activation and deactivation; - pluggability, which allows extending the plugin system to run different types of plugins.
this PR implements - retrieving metadata from plugins and using the metadata for plugin activation and deactivation; - pluggability, which allows extending the plugin system to run different types of plugins.
this PR implements - retrieving metadata from plugins and using the metadata for plugin activation and deactivation; - pluggability, which allows extending the plugin system to run different types of plugins.
this PR implements - retrieving metadata from plugins and using the metadata for plugin activation and deactivation; - pluggability, which allows extending the plugin system to run different types of plugins.
this PR implements - retrieving metadata from plugins and using the metadata for plugin activation and deactivation; - pluggability, which allows extending the plugin system to run different types of plugins.
this PR implements - retrieving metadata from plugins and using the metadata for plugin activation and deactivation; - pluggability, which allows extending the plugin system to run different types of plugins.
this PR implements - retrieving metadata from plugins and using the metadata for plugin activation and deactivation; - pluggability, which allows extending the plugin system to run different types of plugins.
this PR implements - retrieving metadata from plugins and using the metadata for plugin activation and deactivation; - pluggability, which allows extending the plugin system to run different types of plugins. Signed-off-by: Florent BENOIT <fbenoit@redhat.com>
this PR implements