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

Why not continue flex-layout development with a community maintained fork? #1434

Open
thomastthai opened this issue Jan 3, 2023 · 23 comments

Comments

@thomastthai
Copy link

Proposal

What is the summary of the proposal?

Is there a community fork already in place? If not, create a community-maintained repo.

What is the proposal?

With the deprecation set, how much interest is there in a community repo to continue flex-layout development? There are currently over 50 contributors and the project has over 104K projects. Perhaps some of the current contributors would like to help?

Is there anything else we should know?

@CaerusKaru
Copy link
Member

cc @DuncanFaulkner

@DuncanFaulkner
Copy link
Contributor

@thomastthai I'm currently looking at doing this this week. there are a few things I need to set up first, so please bear with me

@pashvin
Copy link

pashvin commented Jan 28, 2023

Or please help to grow https://www.npmjs.com/package/ngx-flexible-layout

@DuncanFaulkner
Copy link
Contributor

The new home for Angular Flexlayout is... ngx-flexlayout

I'm in the throws of cloning the package - I have used the library for many years and contributed to it on a few occasions and I wanted to keep it going, I have been waiting for version 15 to be pushed to Github (which it now is) and I've cloned the package and I'm working on getting a build and the CI stuff working (that's still very much work in progress). Hopefully, it will be up and running soon.

Also looking for people to help me maintain and support this project

@coyoteecd
Copy link

@DuncanFaulkner maybe choose a different name for the library? ngx-flexlayout is already taken on NPM, and publishing on a different name than your repo name will just add to the confusion in the long run.

@DuncanFaulkner
Copy link
Contributor

DuncanFaulkner commented Jan 30, 2023

@coyoteecd I created the org in NPM with that name but someone beat to pushing it up, at some point I would like to rename the project (I think we might have to drop Angular from the title at some point).

@DuncanFaulkner
Copy link
Contributor

I've now setup a clone of the Angular Flex-Layout library- this is still very much at the early stages but I've got the GitHub repo set up along with the Circle CI and a package on NPM.

The new home is now at

@ngbracket/ngx-layout.

I've pushed up a pre-release version 15.0.1-beta.42, this version is just an initial release just to make sure things are working, the only thing that got changed was the name which has been changed from @angular to @ngbracket, some of the readme's, and documentation still need to be updated to reflect this change which I'm hoping to complete shortly.

Please do check it out I welcome all feedback
@CaerusKaru @coyoteecd @pashvin @thomastthai

@vince7488
Copy link

The author deferred from maintaining or updating this in the first place because he was trying to encourage people not to install packages and clutter their node_modules folder when they can learn how to implement display: flex on SCSS/Less/CSS3.

@CaerusKaru
Copy link
Member

@vince7488 if you are referring to me or the team, that is not fully accurate. I always advocate for the best solution for each individual customer, and there is usually not one "best" solution for everyone. In this specific case, the decision was made solely based on resourcing available.

@jeffschulzusc
Copy link

thanks for this effort ngx-layout ...
i don't know the internals of Flex-Layout ... so:
what is the potential that future releases of Angular could 'break' current Flex-Layout ?

@DuncanFaulkner
Copy link
Contributor

@jeffschulzusc This is quite possible, there may come a point where Angular does break ngx-layout, I don't think that will happen anytime soon (no guarantees of course), but I think that day is way into the future.

The main purpose I took this on was:

  • to keep the library going for as long as possible, there are still over 270K downloads of this library each week.
  • not every developer has the time or resources to replace the library, I would like to keep this going for them for as long as I can.

At this moment in time:

  • I'm not looking to add new features to the library - but I'm open to suggestions and what the community wants.
  • I'm committed to fixing bugs/defects that are raised, I have removed the beta tag from the library name, for example.
  • I will create early versions of ngx-layout based on release candidates of Angular.
  • I'm looking to upgrade to the latest version of Angular as quickly as possible after a major new release.

Will look at updating/refreshing the documentation and demo apps later this year.

As a side note: we are accepting sponsorship, please check out our sponsor page on GitHub.

@jackalvrus
Copy link

For the lazy people like me, who are looking for a quick link to the forked repo, here ya go: https://github.com/ngbracket/ngx-layout

@DuncanFaulkner Thanks for doing this.

@DuncanFaulkner
Copy link
Contributor

Thanks @jackalvrus

@alessiobianchini
Copy link

Hello everyone, in my company, for an internal project, we have updated the ng-flex-layout package and fixed dependencies and related security.
Current ng version is 17.0.7.
If it may interest you, here is the link:
ng-flex-layout

@buu700
Copy link

buu700 commented Feb 21, 2024

@alessiobianchini, @DuncanFaulkner, and @jtc10005, thanks a lot for all the hard work taking up the mantle on this!

Just throwing this out there, would it make sense for you guys to combine efforts in some way? It looks like all three forks are pretty actively maintained, and without reviewing the commit histories it's hard to tell which one is best to switch to. Maybe there could be some value in combining any fixes/improvements from the three forks into one canonical version.

@jtc10005
Copy link

jtc10005 commented Feb 22, 2024

@alessiobianchini, @DuncanFaulkner, and @jtc10005, thanks a lot for all the hard work taking up the mantle on this!

Just throwing this out there, would it make sense for you guys to combine efforts in some way? It looks like all three forks are >pretty actively maintained, and without reviewing the commit histories it's hard to tell which one is best to switch to. Maybe >there could be some value in combining any fixes/improvements from the three forks into one canonical version.

@buu700 from an Angular community standpoint I agree 100%. I think @alessiobianchini, @DuncanFaulkner and I were all trying to accomplish the same thing. I created my clone of the angular flex layout library, "ngx-flexible-layout", because it was/is impossible for our team to full transition away from Angular flex-layout. Honestly, due to this, I will probably have to continue to support it for the foreseeable future. My clone was created purely to maintain the last state of the library. Im not actively trying to add new features. Another library may be doing that.

@alessiobianchini
Copy link

@alessiobianchini, @DuncanFaulkner, and @jtc10005, thanks a lot for all the hard work taking up the mantle on this!
Just throwing this out there, would it make sense for you guys to combine efforts in some way? It looks like all three forks are >pretty actively maintained, and without reviewing the commit histories it's hard to tell which one is best to switch to. Maybe >there could be some value in combining any fixes/improvements from the three forks into one canonical version.

@buu700 from an Angular community standpoint I agree 100%. I think @alessiobianchini, @DuncanFaulkner and I were all trying to accomplish the same thing. I created my clone of the angular flex layout library, "ngx-flexible-layout", because it was/is impossible for our team to full transition away from Angular flex-layout. Honestly, due to this, I will probably have to continue to support it for the foreseeable future. My clone was created purely to maintain the last state of the library. Im not actively trying to add new features. Another library may be doing that.

Hello. As mentioned by @jtc10005, we are also maintaining the library for a large internal project.
We are not adding new features but only updating the library (ng-flex-layout) according to the updates of our project.
However, if we want to join forces, I am available, it will definitely be useful for the community ;)

@thomastthai
Copy link
Author

It make sense to all to distribute the work and maintain or possibly add new features. What is the long-term goal though?

@DuncanFaulkner
Copy link
Contributor

@thomastthai, I took this project on to keep it running in the community for as long as possible, it's still a very good library with a large number of developers and projects using it.

I know this project is on a downward trajectory with newer and modern technology offering better alternatives, but I also know that not every project can or will be changed (certainly not in the short term).

My initial plan for the project was not to make any big changes and just to keep it running, other than to get it updated with the latest packages and angular, and to remove the beta tag. More recently there have been a few fixes required as changes to angular have made that necessary.

I'm about to update my version of the library to 17.2 but these are the other things I'm thinking of:

Fix a couple of issues that have come up with the latest version of Angular - tickets raised by users.

migrate to eslint.
make it a standalone library.
move to either esbuild or application.
move the unit testing away from Karma (possibly Vitest or similar).
revamp the documentation and create a new website (domain name purchased about a year ago) ngbracket.com for this purpose

not sure if any of the above is possible (except eslint and the documentation), but these are main ones.

I'm happy to join forces or at least agree on one version going forward

@alessiobianchini
Copy link

alessiobianchini commented Feb 28, 2024

It make sense to all to distribute the work and maintain or possibly add new features. What is the long-term goal though?

We will maintain the library for a long time as it is connected to an enterprise project.
We have restored the automated tests and added an action that launches the tests.
The library has been migrated to eslint and updated to Angular 17.2.2.

It makes sense to join forces in order to do improvements une time :)

@DuncanFaulkner
Copy link
Contributor

@alessiobianchini @thomastthai
Sorry not been very active on here recently, due to other priorities, but will hopefully be able to start up again soon.

@melroy89
Copy link

melroy89 commented Apr 13, 2024

It make sense to all to distribute the work and maintain or possibly add new features. What is the long-term goal though?

We will maintain the library for a long time as it is connected to an enterprise project. We have restored the automated tests and added an action that launches the tests. The library has been migrated to eslint and updated to Angular 17.2.2.

It makes sense to join forces in order to do improvements une time :)

Thank you for creating the fork @alessiobianchini. I also migrated to your fork!

EDIT: Don't forget to update the changelog: https://github.com/alessiobianchini/ng-flex-layout/blob/master/CHANGELOG.md and why are issues closed on your repo?

@alessiobianchini
Copy link

It make sense to all to distribute the work and maintain or possibly add new features. What is the long-term goal though?

We will maintain the library for a long time as it is connected to an enterprise project. We have restored the automated tests and added an action that launches the tests. The library has been migrated to eslint and updated to Angular 17.2.2.
It makes sense to join forces in order to do improvements une time :)

Thank you for creating the fork @alessiobianchini. I also migrated to your fork!

EDIT: Don't forget to update the changelog: https://github.com/alessiobianchini/ng-flex-layout/blob/master/CHANGELOG.md and why are issues closed on your repo?

Thanks @melroy89 for your suggestion. I added Issues tab and we will update the changelog next ng update (under development). We are open to any proposal or collaboration!

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