angular / flex-layout

Provides HTML UI layout for Angular applications; using Flexbox and a Responsive API
MIT License
5.9k stars 771 forks source link

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

Open thomastthai opened 1 year ago

thomastthai commented 1 year ago

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 commented 1 year ago

cc @DuncanFaulkner

DuncanFaulkner commented 1 year ago

@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 commented 1 year ago

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

DuncanFaulkner commented 1 year ago

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 commented 1 year ago

@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 commented 1 year ago

@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 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

@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 commented 1 year ago

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 commented 1 year ago

@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:

At this moment in time:

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 commented 1 year ago

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 commented 1 year ago

Thanks @jackalvrus

alessiobianchini commented 10 months ago

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 commented 9 months ago

@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 commented 9 months ago

@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 commented 9 months ago

@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 commented 9 months ago

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

DuncanFaulkner commented 8 months ago

@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 commented 8 months ago

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 commented 7 months ago

@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 commented 7 months ago

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 commented 7 months ago

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!