-
Notifications
You must be signed in to change notification settings - Fork 121
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: expose plugin extension points into main package, developer docs + sample #713
Conversation
✅ Deploy Preview for endearing-brigadeiros-63f9d0 canceled.
|
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #713 +/- ##
==========================================
+ Coverage 57.75% 60.08% +2.32%
==========================================
Files 46 46
Lines 1598 1631 +33
==========================================
+ Hits 923 980 +57
+ Misses 675 651 -24 ☔ View full report in Codecov by Sentry. |
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.
Some thoughts that may or may not be helpful.
Thanks @rgmz for the review! Can someone look at his comments? And since we're there, you may probably want to update the branch with latest changes from I read through the PR, code looks clean and docs seems to be solid; sadly - with OSFF in 2 weeks - it's hard for me to find time to test https://deploy-preview-713--endearing-brigadeiros-63f9d0.netlify.app/docs/development/plugins , so if anyone would be interested to go through these docs and test it locally, it would be great! Sections that are IMO particularly interesting are https://deploy-preview-713--endearing-brigadeiros-63f9d0.netlify.app/docs/development/plugins#via-npm-packages and https://deploy-preview-713--endearing-brigadeiros-63f9d0.netlify.app/docs/development/plugins#developing-new-plugins FYI - @vaibssingh @divinetettey @bill-n |
Any chance we can bump up the test coverage before merging? |
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.
LGTM! 🍰 Address comments and happy to merge! ❤️
007b5d7
to
6d539de
Compare
I can add additional tests if necessary. Note that these code paths have not had previous tests so some additional refactoring may be required. Mind if we incorporate this in a follow-up PR? It's more important to give developers adequate docs for plugin development ahead of improving test coverage for existing code that is known to be working. I've added tests for the most critical new code paths. This PR adds e2e tests for plugins to be installed & consumed which do validate these missing code paths - it's just not reflected in coverage. |
Happy 🤝 @coopernetes - once you've resolved all remaining conversations, happy for you to proceed and we can merge, and release 🎉 I'll get the LinkedIn juices flowing and put together a social media post as well. |
Honestly can't wait to have the discussion about community plugins ❤️ |
…s + sample - update PluginLoader to use load-plugin's native Node module resolution. this library already handles loading of files vs modules in node_modules/ so let's use that directly - add configuration-based plugin loading and deprecate environment variables - new documentation page for plugin development. loading, writing, etc. - add PullActionPlugin + unify config on just "plugins" - add explicit exports to make importing @finos/git-proxy more straight forward for plugins In addition, this commit adds both CommonJS and ES module examples of plugins and refactors them into a more reflective package. It also includes updates to the site documentation, specifically in the Development section, which now includes details about plugins and contribution guidelines. - fix issue with json-schema-for-humans producing bad output due to post-processing (script step no longer required) - docs: add section on docs on how to update the config schema + re-generate reference doc - fix: don't package website with git-proxy, update .npmignore on npm pack/publish
- remove actions which are used in internal fork from chain - add default config value for plugins (an empty array)
356e356
to
e0915ce
Compare
- add test cases for getChain + executeChain to validate the processor execution - remove extraneous function to create a loader and just use the constructor - address review comments
e0915ce
to
a7b799c
Compare
There's a few outstanding things which I'll handle in a follow-up PR (for example, updating all the version strings to the latest |
@coopernetes - woo 🎉 We are currently at version |
feat: expose plugin extension points into main package, developer docs + sample
handles loading of files vs modules in node_modules/ so let's use that directly
In addition, this commit adds both CommonJS and ES module examples of plugins and refactors them
into a more reflective package. It also includes updates to the site documentation, specifically
in the Development section, which now includes details about plugins and contribution guidelines.
no longer required)
Side note:
The version was bumped fromreverted this change, now using the version straight from main.1.3.4
to1.3.5-alpha.0
. This was necessary for validating the new package behaviour on a version that was distinct from the latest version of the public@finos/git-proxy
package. This can be rolled into a cumulative release instead of an "alpha" test release.