Closed stevenvachon closed 10 years ago
Hello?
Hey Steve, sorry just been really busy lately. Was actually looking at this stuff last night. Latest version of Chrome has my test cases failing, so I'm working through that right now. I can't promise any timelines, but I'll try and get back to you with my progress and comments on some of these in the next few days here.
Best, Arthur.
On Tue, Feb 4, 2014 at 1:53 PM, Steven Vachon notifications@github.comwrote:
Hello?
Reply to this email directly or view it on GitHubhttps://github.com/arthur5005/jquery.motionnotion/pull/5#issuecomment-34111750 .
Cool, thanks!
I was reviewing your change for Zepto support in conjunction with my latest commits. Unfortunately, at this time, I won't be able to offer support to Zepto.
I use a very important internal (and currently exposed) function that is used for many of the DOM manipulation functions inside jQuery. This function is critical to the functioning DOM manipulation inside of jQuery for cross-browser compatibility, and I can't, at this time, skip over using it. This method doesn't exist in Zepto, and no similar method is exposed either.
I'm looking for ways to sidestep it, because ideally I would like to use only public api methods, but in the interest of moving this plugin forward on jQuery, and keeping the code valid for jQuery unit tests, I have decided to use it for the time being.
As an FYI, the function I'm referring to is 'domManip' used by all of the manipulation methods in jQuery which insert and clone nodes across a collection.
Hmmm another obvious solution would be to write our own implementation of domManip, incase the jQuery domManip doesn't exist.
This has 2 benefits: 1) Incase jQuery decides to no longer expose domManip, the plugin should continue to work 2) Incase you're using Zepto (or any other jQuery clone), the alternative method will be used
The only downside to this, of course, is if jQuery stops exposing domManip, jQuery unit tests on manipulation.js will likely start failing.
Ideally there's a way to do it with the public API.. let me think on this one.
And as for Require.JS support, that's coming shortly.
Ok, I felt quite intrepid today. I've made a -very- experimental branch of the latest codebase that supports Zepto and AMD. Check it out. It lacks a comprehensive test suite, but it passes my basic unit tests.
The branch requires 3 Zepto modules to work properly:
callbacks
deferred
data
Let me know if you find anything wrong. Not sure if I'll support this going forward, but some feedback might push me too ;).
Lots of people use AMD loaders in their large scale projects and Zepto is getting more and more popular as IE8 and 9 continue to fade away.