plugin: Make init and applications callbacks optional
This commit is contained in:
parent
9d39c53c99
commit
277211c4ce
@ -55,6 +55,9 @@ export class PluginAPI {
|
||||
public async applications(): Promise<Application[]> {
|
||||
const apps = new Array<Application>()
|
||||
for (const [, p] of this.plugins) {
|
||||
if (!p.applications) {
|
||||
continue
|
||||
}
|
||||
const pluginApps = await p.applications()
|
||||
|
||||
// Add plugin key to each app.
|
||||
@ -86,6 +89,9 @@ export class PluginAPI {
|
||||
*/
|
||||
public mount(r: express.Router): void {
|
||||
for (const [, p] of this.plugins) {
|
||||
if (!p.router) {
|
||||
continue
|
||||
}
|
||||
r.use(`${p.routerPath}`, p.router())
|
||||
}
|
||||
}
|
||||
|
8
typings/pluginapi.d.ts
vendored
8
typings/pluginapi.d.ts
vendored
@ -129,8 +129,10 @@ export interface Plugin {
|
||||
* Returns the plugin's router.
|
||||
*
|
||||
* Mounted at <code-sever-root>/<plugin-path>
|
||||
*
|
||||
* If not present, the plugin provides no routes.
|
||||
*/
|
||||
router(): express.Router
|
||||
router?(): express.Router
|
||||
|
||||
/**
|
||||
* code-server uses this to collect the list of applications that
|
||||
@ -139,8 +141,10 @@ export interface Plugin {
|
||||
* refresh the list of applications
|
||||
*
|
||||
* Ensure this is as fast as possible.
|
||||
*
|
||||
* If not present, the plugin provides no applications.
|
||||
*/
|
||||
applications(): Application[] | Promise<Application[]>
|
||||
applications?(): Application[] | Promise<Application[]>
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user