Enalmada / bs-ant-design

Bucklescript + ReasonReact binding Ant Design
6 stars 10 forks source link

Update to antd ^3.18 #4

Open JakubMarkiewicz opened 5 years ago

JakubMarkiewicz commented 5 years ago

Not a priority as of now, but we should keep it in mind. Right now every component breaks upon updating ant to 3.18.x. The fix seams to be rewriting

[@module] external reactComponent: React.component('a) = "antd/lib/package" 

to

[@module "antd/lib/package" ] external reactComponent: React.component('a) = "default"

Didn't yet check why is it an issue, maybe we could do something to omit changing every file.

Enalmada commented 5 years ago

When I started doing reason with antd I noticed that some modules needed that format and others didn't. I wonder what they are doing to cause this. This is a good heads up.

nirvdrum commented 4 years ago

Is there any ongoing work to support newer Ant releases? If not, I may be able to take on some of the work. But I don't want to duplicate anything anyone else may be working on.

Enalmada commented 4 years ago

JakubMarkiewicz has been using it more lately but I don't believe you would duplicate any work. have switched employment to a company not using reason or antd but I hope to come back someday. Will merge and cut release for any PR.

JakubMarkiewicz commented 4 years ago

@nirvdrum Hey, i'm actually waiting for stable 4.0.0 release https://github.com/ant-design/ant-design/issues/16911 to do the upgrade.

nirvdrum commented 4 years ago

Okay. Thanks. I naively had added antd to my package.json, not realizing an older version was a dependency of this project. None of the nested Layout components mapped properly, so I started manually binding them before I realized this project is just on an older release. I'm glad to see there's on-going work. I think I can stick with 3.17 for now.

nirvdrum commented 4 years ago

@JakubMarkiewicz How do you feel about making the next big release require BuckleScript 7+? I think the aesthetic improvements in mapping records to JS objects would be worth dropping older BuckleScript releases for.

JakubMarkiewicz commented 4 years ago

I've seen new features you mentioned and i think we should definitely go for the newest stable version, 7.0.1 as of now. I haven't had a chance to play around with bs higher then 5.2.1 yet so i need to catch up with all new changes

nirvdrum commented 4 years ago

@JakubMarkiewicz Have you begun the work on supporting Ant 4.0 yet? If so, is there a branch I can check out? And would you be interested in collaborating on it? While Ant 4.0 hasn't been officially released yet, it is on RC 3, so the API should be pretty stable now.

JakubMarkiewicz commented 4 years ago

@nirvdrum not yet but i can check the rc version later today. I'll let you know when I start writing binds, probably not before saturday unfortunately. If you want to help that would be awesome

nirvdrum commented 4 years ago

@JakubMarkiewicz It's been a crazy couple months, so I I doubt you've been able to start work on supporting Ant 4.0. But, I thought I'd check in and ask just in case you have. If you have, is there a branch I can contribute to?

JakubMarkiewicz commented 4 years ago

@nirvdrum Crazy months indeed. I've started migrating to Ant 4 back in February actually but there was some strange issue with hooks inside Button component which occurred in bindings but not in Ant library itself. Came back to this now and after upgrading to newer Ant it seems to work just fine. I'll make a new branch with some changes (only few files unfortunately). In fact i'm removing antd components in a project i'm working on so there was not much motivation for me to come back to this but since you're interested i'll try to migrate more files.

nirvdrum commented 4 years ago

@JakubMarkiewicz Out of curiosity, why are you moving away from Ant? I can understand why you wouldn't be all that interested in porting the bindings if you're not actively using it.

JakubMarkiewicz commented 4 years ago

There's really not that much to do to just make it work with antd4 i hope cause the changes between 3.x and 4.x weren't all that drastic. I'll try to migrate it asap, skipping time consuming binds for now, so we have a working version. Back to your question, there are several reasons. Recurring issues with newer nextjs versions, bundlesize, bindings. It's a really great library but everything i'm using from it could easily be written by my team or be replaced with other third party packages that gives us more flexibility. I'm still using ant in some projects (tho it's vanilla js) and will continue to do so. It just doesn't suit my project at work but was really helpful for prototyping