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 System #85

Open
balupton opened this issue Sep 20, 2016 · 3 comments
Open

Plugin System #85

balupton opened this issue Sep 20, 2016 · 3 comments
Labels
enhancement Improvement or suggestion PR / Bounty only External demand, as such, external funding / effort is required to make this happen

Comments

@balupton
Copy link
Member

balupton commented Sep 20, 2016

Just realised I hadn't yet created an issue for this, besides it being confirmed to come.

Here is the current plan.

Event Emitter Grouped events:

  • reset
  • load
    • load:package-files
    • load:readme-files
  • merge
    • merge:package-files
  • enhance
    • enhance:package-files
    • enhance:readme-files
  • save
    • save:package-files
    • save:readme-files

Plugins will be given an opts property, that contains the data that projectz has, consider it a singleton that the plugins can share with each other. The util package will be published separately or within a submodule of the projectz package. Having the functions of the util package be their own packages makes most sense.

On the first iteration, only enhance:readme-files would be necessary. Then later the rest can be added. Whether enhance:readme-files provides data, or an individual files value, is to be determined, there is an argument for it to provide enhance:readme-file(value, opts, next)


if you want this feature, +1 this post, and also if you can donate https://bevry.me/donate

@balupton balupton self-assigned this Sep 20, 2016
@balupton balupton added this to the Next Release milestone Sep 20, 2016
@balupton balupton added the enhancement Improvement or suggestion label Sep 20, 2016
@danielbayley danielbayley mentioned this issue Jul 17, 2017
@balupton
Copy link
Member Author

Just published up https://github.com/bevry/ropo which can be a foundation for this

Details at https://twitter.com/balupton/status/1006070544871985153

@balupton
Copy link
Member Author

http://remark.js.org/ has also been suggested for accomplishing this

@balupton balupton removed this from the Next Release milestone Dec 10, 2018
@balupton balupton added the PR / Bounty only External demand, as such, external funding / effort is required to make this happen label Dec 10, 2018
@balupton balupton removed their assignment Apr 30, 2019
@balupton
Copy link
Member Author

balupton commented May 8, 2020

Some notes on this from #147

I'll also be aiming towards making it a series of small components, unix style.

update projectz for updating the markdown files using https://github.com/bevry/ropo for the replacements with a projectz configuration object inside package.json that can override or add additional sections to commands that will be executed - such as curl or whatever - which output will be used
It might be possible to break projectz apart into multiple cli commands, such as update-install-instructions or update-backers, or update-license etc etc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Improvement or suggestion PR / Bounty only External demand, as such, external funding / effort is required to make this happen
Projects
None yet
Development

No branches or pull requests

1 participant