- Fine tuned internal plugin entry data.
- Added optional module data to be associated with plugin data when added.
- Added deep freeze of plugin data / typhonjs-object-util.
- Breaking change (minor impact): Updated data passed to global event bindings when plugins are added, removed, enabled.
- Breaking change (minor impact): updated event bindings for async / sync methods
-
added support for asynchronous usage: please see
addAsync,addAllAsync,destroyAsync,setEventbusAsync,removeAsync,removeAllAsyncand related event bindings. These methods that invoke plugin lifecycle methodsonPluginLoad/onPluginUnloadwill asynchronously invoke them such that if a plugin returns a Promise or isasyncthen execution awaits until completed. -
It is recommended that you use async / await to integrate asynchronous usage.
- added basic plugin invoke method and event binding that does not return results.
- reorganized method signature for invokeAsync / invokeSync to take a method name and then optional arguments / plugin names
- updated event bindings.
- added getPluginEventNames /
plugins:get:plugin:event:namesevent. - added getPluginsByEventName /
plugins:get:plugins:by:event:nameevent. - added getPluginsEventNames /
plugins:get:plugins:event:namesevent.
added plugins:destroy:manager event.
Added createEventProxy returning an EventProxy instance of any assigned eventbus to PluginManager.
Initial feature complete implementation; pending full testsuite for coverage & more docs.