plugin.ts: Fixes for @code-asher
This commit is contained in:
parent
f4d7f00033
commit
75e52a3774
@ -4,6 +4,9 @@ set -euo pipefail
|
||||
main() {
|
||||
cd "$(dirname "$0")/../.."
|
||||
|
||||
cd test/test-plugin
|
||||
make -s out/index.js
|
||||
cd $OLDPWD
|
||||
mocha -r ts-node/register ./test/*.test.ts "$@"
|
||||
}
|
||||
|
||||
|
@ -23,7 +23,10 @@ interface Plugin extends pluginapi.Plugin {
|
||||
}
|
||||
|
||||
interface Application extends pluginapi.Application {
|
||||
plugin: Plugin
|
||||
/*
|
||||
* Clone of the above without functions.
|
||||
*/
|
||||
plugin: Omit<Plugin, "init" | "router" | "applications">
|
||||
}
|
||||
|
||||
/**
|
||||
@ -57,7 +60,15 @@ export class PluginAPI {
|
||||
// Add plugin key to each app.
|
||||
apps.push(
|
||||
...pluginApps.map((app) => {
|
||||
return { ...app, plugin: p }
|
||||
return {
|
||||
...app,
|
||||
plugin: {
|
||||
name: p.name,
|
||||
version: p.version,
|
||||
description: p.description,
|
||||
modulePath: p.modulePath,
|
||||
},
|
||||
}
|
||||
}),
|
||||
)
|
||||
}
|
||||
@ -74,8 +85,8 @@ export class PluginAPI {
|
||||
}
|
||||
|
||||
/**
|
||||
* loadPlugins loads all plugins based on this.csPluginPath
|
||||
* and this.csPlugin.
|
||||
* loadPlugins loads all plugins based on this.csPlugin,
|
||||
* this.csPluginPath and the built in plugins.
|
||||
*/
|
||||
public async loadPlugins(): Promise<void> {
|
||||
// Built-in plugins.
|
||||
|
@ -12,8 +12,7 @@ describe("plugin", () => {
|
||||
const papi = new PluginAPI(logger, path.resolve(__dirname, "test-plugin") + ":meow")
|
||||
await papi.loadPlugins()
|
||||
|
||||
// We remove the function fields from the application's plugins.
|
||||
const apps = JSON.parse(JSON.stringify(await papi.applications()))
|
||||
const apps = await papi.applications()
|
||||
|
||||
assert.deepEqual(
|
||||
[
|
||||
|
5
test/test-plugin/Makefile
Normal file
5
test/test-plugin/Makefile
Normal file
@ -0,0 +1,5 @@
|
||||
out/index.js: src/index.ts
|
||||
yarn build
|
||||
|
||||
node_modules: package.json yarn.lock
|
||||
yarn
|
Reference in New Issue
Block a user