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

Track upstream and periodically update dependencies #1244

Open
3 tasks
evrifaessa opened this issue Mar 28, 2022 · 9 comments
Open
3 tasks

Track upstream and periodically update dependencies #1244

evrifaessa opened this issue Mar 28, 2022 · 9 comments
Labels
composer Issues and Pull Requests making changes in composer.(json/lock) dependencies Issues and Pull Requests involving the dependencies of BoxBilling. deprecated For issues or pull requests involving fixes or replacements made to deprecated dependencies. documentation Changes made in documentation, and not in the codebase. enhancements Issues and Pull Requests involving possible enhancements to BoxBilling. help wanted needs discussion

Comments

@evrifaessa
Copy link
Collaborator

evrifaessa commented Mar 28, 2022

We have some dependencies other than the Composer packages we're using.

We should keep them updated and find a way to be notified whenever they release a new update.

Including but not limited to:

  • CKEditor 4 (see Consider using CKEditor 5 #1245 too)
  • RedBean
  • tfpdf
  • PdoSessionHandler
  • php-gettext
  • hardcoded libs inside some server managers
  • CSRF-Protector-PHP

also theme dependencies (also see #978):

  • Bootstrap
  • jQuery
  • Font Awesome

We should also document the process for updating each of these so the new maintainers will have an easier time. Some of these can (and if possible, should) be replaced with automated package managers. We can even drop some of them entirely.

@gOOvER
Copy link
Contributor

gOOvER commented Mar 28, 2022

I think dependabot can handle this also. Never worked with dependabot, but found an example for Nextcloud:

nextcloud/mail@d84bb4a

@evrifaessa evrifaessa added composer Issues and Pull Requests making changes in composer.(json/lock) deprecated For issues or pull requests involving fixes or replacements made to deprecated dependencies. dependencies Issues and Pull Requests involving the dependencies of BoxBilling. documentation Changes made in documentation, and not in the codebase. enhancements Issues and Pull Requests involving possible enhancements to BoxBilling. help wanted needs discussion labels Mar 28, 2022
@andpavlenko
Copy link
Collaborator

andpavlenko commented Mar 28, 2022

If migrate to Doctrine, then RedBean and PdoSessionHandler will be no longer needed. Problem of updates will solved.
Lot of work, but can try. ;)

@BelleNottelling
Copy link
Collaborator

Many of these dependencies are also not maintained or even because we have had to hack them for BoxBilling due to issues on our own end (redbeanPHP for example)

@andpavlenko
Do you have a discord?
There's some stuff I'd like to loop you into

@andpavlenko
Copy link
Collaborator

@BenNottelling Yesterday I've first time install Discord. Only for Boxbilling. ))

@andpavlenko
Copy link
Collaborator

At first look, a lot of hardcode related to frontend could to move in package.json

@BelleNottelling
Copy link
Collaborator

@andpavlenko
Awesome!
Can you join the server?
https://boxbilling.org/discord

@timothygwebb
Copy link
Collaborator

timothygwebb commented Mar 28, 2022 via email

@evrifaessa
Copy link
Collaborator Author

If the second is your request most likely the answer will be no due to the
actual purpose of a package.json file and what their intended uses are for.

What are those "intented uses"? It's pretty common to grab your front-end assets from npm. That's a lot easier to keep them up-to-date.

https://fontawesome.com/docs/web/setup/packages
https://getbootstrap.com/docs/5.1/getting-started/download/#package-managers
https://jquery.com/download/#downloading-jquery-using-npm-or-yarn

@timothygwebb
Copy link
Collaborator

If the second is your request most likely the answer will be no due to the
actual purpose of a package.json file and what their intended uses are for.

What are those "intented uses"? It's pretty common to grab your front-end assets from npm. That's a lot easier to keep them up-to-date.

https://fontawesome.com/docs/web/setup/packages
https://getbootstrap.com/docs/5.1/getting-started/download/#package-managers
https://jquery.com/download/#downloading-jquery-using-npm-or-yarn

Thanks for the clarification. I am good with this. Just wanted to make sure we were not hard coding to fix something broken in our package.json when the file is strictly used for npm depends and settings.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
composer Issues and Pull Requests making changes in composer.(json/lock) dependencies Issues and Pull Requests involving the dependencies of BoxBilling. deprecated For issues or pull requests involving fixes or replacements made to deprecated dependencies. documentation Changes made in documentation, and not in the codebase. enhancements Issues and Pull Requests involving possible enhancements to BoxBilling. help wanted needs discussion
Projects
None yet
Development

No branches or pull requests

5 participants