Skip to content
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

plugin bootstrapping and code generators #32

Open
garrettjstevens opened this issue Nov 27, 2018 · 11 comments
Open

plugin bootstrapping and code generators #32

garrettjstevens opened this issue Nov 27, 2018 · 11 comments
Assignees

Comments

@garrettjstevens
Copy link
Collaborator

@rbuels I thought it would be nice to have a sample run-time plugin that does something basic that we could use to experiment with. I could work on this if you want, but I'd need a bit of direction since I'm not entirely sure how we are going to implement them.

@rbuels
Copy link
Contributor

rbuels commented Nov 30, 2018

It would be a good idea to look at what Atom, vscode, and other plugin-based javascript systems do for their plugins.

@garrettjstevens
Copy link
Collaborator Author

Not just for runtime plugins, but for plugins in general, I really like the idea of having a Yeoman generator for plugins like VS Code has for their extensions. If we could have several different hello-world-style templates that create plugins with different combinations of pluggable elements, I think it would go a long way toward making plugin creation easier and more consistent.

@rbuels
Copy link
Contributor

rbuels commented Dec 2, 2018 via email

@rbuels rbuels changed the title Create sample run-time plugin plugin boilerplate or yo generator Jan 15, 2020
@elliothershberg
Copy link
Member

I think it's worth noting @garrettjstevens and I have discussed this idea several times when thinking about the plugin template and GMOD/jbrowse-components#1146 . While the template is fairly automated now and includes an example, it could still be neat to have a generator tool for making plugins instead of a template. I think the value would be in having sub-generators to scaffold the boilerplate for various types of widgets.

@cmdcolin
Copy link
Contributor

Personally I'm a bigger fan of having working example plugins rather than generators, and people can base their work off examples that we have

@garrettjstevens
Copy link
Collaborator Author

We have a boilerplate template here: https://github.com/GMOD/jbrowse-plugin-template. We may open another issue later to do a generator for plugins.

@elliothershberg
Copy link
Member

@rbuels and I were talking about the prospect of revisiting generators for plugins. One potential implementation to base ours off of could be the RedwoodJS generators. They rolled their own basically, and didn't use a scaffolding tool.

Their generator code is here: https://github.com/redwoodjs/redwood/tree/main/packages/internal/src/generate

I've found generators to lead to a really nice developer experience in other cases where I was using tools that had them, and felt it greatly reduced the learning code. I realize that might not be the majority sentiment here, but I thought I'd re-open another time to discuss 😄

@cmdcolin
Copy link
Contributor

i'd advocate, if needed, to use the "create-react-app" model of generating a boilerplate

@rbuels rbuels changed the title plugin boilerplate or yo generator plugin bootstrapping and code generators Jul 28, 2021
@cmdcolin cmdcolin transferred this issue from GMOD/jbrowse-components Dec 6, 2022
@cmdcolin
Copy link
Contributor

cmdcolin commented Dec 6, 2022

moved to our plugin-template repo. might not strictly belong here either but it is a external plugin concern

@cmdcolin cmdcolin closed this as completed Dec 6, 2022
@cmdcolin cmdcolin reopened this Dec 6, 2022
@cmdcolin
Copy link
Contributor

just re-iterating some interest in this

I do like things like 'create-react-app' where a command line helps instantiate the template

Example

yarn create jbrowse-plugin myplugin
yarn create jbrowse-plugin --template minimal myplugin2

@ihh
Copy link
Member

ihh commented Apr 11, 2023

I like this idea too, perhaps in the context of an organized effort towards getting some key constituents' jbrowse1 plugins ported to jbrowse2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants