Interestingly...if I drop your vulcanized.js file into my solution, I have the same bug as I've previously reported. If I drop the platform.js in instead, everything works fine. So, there's still something else that's different...and it's a silent fail scenario because I get no errors in the console, but my custom elements don't work correctly. Any ideas on why that might be?
On Wed, Jan 22, 2014 at 5:04 PM, Eric Bidelman <[email protected]> wrote: > These videos are great Scott. Very helpful. Rob and I talked about > shortening them a bit and overlaying some commentary. > > If people are interested in building + using a single .min.js file for a > polyfill, it's basically the same procedure. Instead of enumerating the > sources for the polyfill, install the node modules and build with Grunt. > Example building the Custom Elements polyfill: > > bower install Polymer/CustomElements > > cd bower_components/CustomElements > > npm install > > grunt > > ...gets you custom-elements.min.js > > > On Wed, Jan 22, 2014 at 10:52 AM, Rob Eisenberg < > [email protected]> wrote: > >> Thanks Scott! I'll take a look at this soon. >> >> >> On Wed, Jan 22, 2014 at 1:49 PM, Scott Miles <[email protected]> wrote: >> >>> Erps, actual 'vulcanizing' video link: >>> >>> http://www.youtube.com/watch?v=FvFfJ0ODj0Y&feature=youtu.be >>> >>> >>> On Wed, Jan 22, 2014 at 10:48 AM, Scott Miles <[email protected]>wrote: >>> >>>> Remixing the polyfills is supposed to be relatively easy. I assume the >>>> devil is in the details, so I made a couple of screen captures of me >>>> starting from a blank folder and building up functionality, ultimately >>>> constructing a single js file containing the platform remix. >>>> >>>> remixing: >>>> http://www.youtube.com/watch?v=MfZxqONVzJA&feature=youtu.be >>>> >>>> vulcanizing the js: >>>> http://www.youtube.com/watch?v=MfZxqONVzJA&feature=youtu.be >>>> >>>> The resulting files are zipped up here: >>>> https://drive.google.com/file/d/0BwsasHLO95kdQXQzLTN2czFjVW8/edit?usp=sharing >>>> >>>> Tools used: Node, Bower, Terminal, Notepad, Browser. >>>> >>>> IMO, Bower is preferred over Git here, because we are read-only users >>>> in this context, and we can take advantage of the dependency fetching. >>>> >>>> The videos are kinda blurry (sorry!) and I there is no commentary. I >>>> figured we can do progressive refinement on these materials if they are >>>> found to be useful. >>>> >>>> >>>> >>>> >>>> On Tue, Jan 21, 2014 at 5:15 PM, Rob Eisenberg < >>>> [email protected]> wrote: >>>> >>>>> Thanks for the feedback. Part of what I'm creating is similar to >>>>> x-tags, but with my own spin, based on my own experience building large >>>>> scale componentized UI. For now, while I'm prototyping, I think I'll just >>>>> use the platform.js file...but eventually I'm going to have to figure out >>>>> how to do a custom build without the shadow dom pieces. >>>>> >>>>> >>>>> On Tue, Jan 21, 2014 at 7:04 PM, <[email protected]> wrote: >>>>> >>>>>> Rob, >>>>>> >>>>>> I asked a similar question about the "necessity" of the Shadow DOM a >>>>>> few months ago - >>>>>> https://groups.google.com/forum/?fromgroups=#!topic/polymer-dev/oVWSsMhFDnc. >>>>>> Basic upshot was although the polyfills themselves don't have a >>>>>> *dependency* on the Shadow DOM, Polymer depends on it, and it will >>>>>> be used if you use platform.js as well, even if you are only planning on >>>>>> using part of the platform like custom elements. >>>>>> >>>>>> If you are looking for simple, non-shadow DOM pre-built library, >>>>>> x-tags is maybe the way to go (although from my experience, the x-tag >>>>>> community is way less active). It is the biggest issue we have with >>>>>> Polymer >>>>>> - the shadow DOM polyfill is a bit invasive, and degrades performance - >>>>>> in >>>>>> our case, polymer doubles the time to load a page compared to x-tags. We >>>>>> have decided we will need to try "re-package" parts of the Polymer >>>>>> platform >>>>>> in our own library to get the performance characteristics we require, >>>>>> which >>>>>> is a shame, because I really like the library and the layer of sugar it >>>>>> provides. >>>>>> >>>>>> Regards, >>>>>> Ian >>>>>> >>>>>> >>>>>> >>>>>> On Tuesday, January 21, 2014 8:45:49 AM UTC+11, Rob Eisenberg wrote: >>>>>> >>>>>>> I think I can answer my own #3 question. Looks like the easiest way >>>>>>> to do this is to use pull-all.sh >>>>>>> I'd still like to know about the necessity of shadow dom and any >>>>>>> availability of pre-built platform libraries. >>>>>>> >>>>>>> >>>>>>> On Mon, Jan 20, 2014 at 4:35 PM, Rob Eisenberg < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> Ok. I found that just a few minutes ago. It looks like there are >>>>>>>> lots of little pieces that may be missing from what I've got. I've got >>>>>>>> a >>>>>>>> few questions: >>>>>>>> >>>>>>>> 1. I purposefully excluded the shadow dom pieces from my build. Do >>>>>>>> you see any problems with that? Should custom elements still work, >>>>>>>> assuming >>>>>>>> I'm not using shadow dom at all? >>>>>>>> 2. Where can I find the latest build of platform.js? Let's say I >>>>>>>> just want to make my life easy for now...and not do my own build. >>>>>>>> Where do >>>>>>>> I get latest? None of the github releases seem to have any actual built >>>>>>>> libraries in them. >>>>>>>> 3. Any advice on building this thing? There are tons of >>>>>>>> repositories. It seems like a major effort to track them all and keep >>>>>>>> an >>>>>>>> updated build happening...thoughts? >>>>>>>> >>>>>>>> >>>>>>>> On Mon, Jan 20, 2014 at 4:27 PM, Scott Miles <[email protected]>wrote: >>>>>>>> >>>>>>>>> The build is sadly non-trivial, but you can start with the >>>>>>>>> manifest here: >>>>>>>>> >>>>>>>>> https://github.com/Polymer/platform-dev/blob/master/build.json >>>>>>>>> >>>>>>>>> >>>>>>>>> On Mon, Jan 20, 2014 at 12:21 PM, Rob Eisenberg < >>>>>>>>> [email protected]> wrote: >>>>>>>>> >>>>>>>>>> There's definitely a difference between my custom build of the >>>>>>>>>> pollyfills and platform.js. When I replace my build with >>>>>>>>>> platform.js, I see >>>>>>>>>> the correct behavior. I would just use platform.js, but there's some >>>>>>>>>> stuff >>>>>>>>>> in there I don't think I need..and I'm trying to get things down as >>>>>>>>>> small >>>>>>>>>> as possible. Can someone point me to the build file for platform.js? >>>>>>>>>> I'd >>>>>>>>>> like to see if I can figure out what the real difference is. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Thursday, January 16, 2014 12:13:59 PM UTC-5, Rob Eisenberg >>>>>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>>> I had a pretty nice custom element system build on the >>>>>>>>>>> pollyfills from Stable release 2013-11-07 When I updated to 0.1.2, >>>>>>>>>>> everything broke. I've been going throughout, fixing things bit by >>>>>>>>>>> bit, but >>>>>>>>>>> now I'm to a point where I'm wondering if there's something wrong >>>>>>>>>>> with >>>>>>>>>>> Polymer. It seems as if custom element binding are being evaluated >>>>>>>>>>> before >>>>>>>>>>> the element is upgraded. I'm not sure about that, but I can't >>>>>>>>>>> explain the >>>>>>>>>>> behavior I'm seeing any other way. Here's my custom element test >>>>>>>>>>> code: >>>>>>>>>>> >>>>>>>>>>> var proto = Object.create(HTMLElement.prototype); >>>>>>>>>>> >>>>>>>>>>> proto.createdCallback = function () { >>>>>>>>>>> this.customAttributes = {}; >>>>>>>>>>> console.log('created'); >>>>>>>>>>> }; >>>>>>>>>>> >>>>>>>>>>> proto.attachedCallback = function() { >>>>>>>>>>> console.log('attached'); >>>>>>>>>>> }; >>>>>>>>>>> >>>>>>>>>>> proto.bind = function(name, value, oneTime) { >>>>>>>>>>> console.log('bind', name, value, oneTime); >>>>>>>>>>> }; >>>>>>>>>>> >>>>>>>>>>> proto.setAttribute = function(name, value) { >>>>>>>>>>> console.log('setAttribute', name, value); >>>>>>>>>>> }; >>>>>>>>>>> >>>>>>>>>>> proto.attributeChangedCallback = function(attrName, oldVal, >>>>>>>>>>> newVal) { >>>>>>>>>>> console.log('attribute changed', attrName, oldVal, newVal); >>>>>>>>>>> }; >>>>>>>>>>> >>>>>>>>>>> Object.defineProperty(proto, 'something', { >>>>>>>>>>> get: function () { >>>>>>>>>>> return this.customAttributes['something']; >>>>>>>>>>> }, >>>>>>>>>>> set: function (val) { >>>>>>>>>>> this.customAttributes['something'] = value; >>>>>>>>>>> console.log('something change', value); >>>>>>>>>>> } >>>>>>>>>>> }); >>>>>>>>>>> >>>>>>>>>>> document.registerElement('dx-test', { prototype: proto }); >>>>>>>>>>> >>>>>>>>>>> Then I use it inside of one of my templates like this: >>>>>>>>>>> >>>>>>>>>>> <dx-test something="{{someProperty}}"></dx-test> >>>>>>>>>>> >>>>>>>>>>> When I do this, the only callback that is fired is *createdCallback >>>>>>>>>>> * and by then it seems to have already parsed the bindings out. >>>>>>>>>>> This prevents me from having any custom *bind* logic and even >>>>>>>>>>> from reliably getting the value of my own property. If >>>>>>>>>>> *something* is not a primitive value, then attribute's value is >>>>>>>>>>> the result of *toString().* >>>>>>>>>>> >>>>>>>>>>> Am I doing something wrong here? Is this a bug? >>>>>>>>>>> >>>>>>>>>> Follow Polymer on Google+: plus.google.com/107187849809354688692 >>>>>>>>>> --- >>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>> Google Groups "Polymer" group. >>>>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>>>> send an email to [email protected]. >>>>>>>>>> To view this discussion on the web visit >>>>>>>>>> https://groups.google.com/d/msgid/polymer-dev/70e68a23- >>>>>>>>>> a5aa-4b1a-8b7e-48de9604325a%40googlegroups.com. >>>>>>>>>> >>>>>>>>>> For more options, visit https://groups.google.com/groups/opt_out. >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Rob Eisenberg, >>>>>>>> President - Blue Spire >>>>>>>> www.durandaljs.com >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Rob Eisenberg, >>>>>>> President - Blue Spire >>>>>>> www.durandaljs.com >>>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Rob Eisenberg, >>>>> President - Blue Spire >>>>> www.durandaljs.com >>>>> >>>> >>>> >>> Follow Polymer on Google+: plus.google.com/107187849809354688692 >>> --- >>> You received this message because you are subscribed to a topic in the >>> Google Groups "Polymer" group. >>> To unsubscribe from this topic, visit >>> https://groups.google.com/d/topic/polymer-dev/puRMCV1-8nI/unsubscribe. >>> To unsubscribe from this group and all its topics, send an email to >>> [email protected]. >>> >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/polymer-dev/CAHbmOLZxfQq4yDfnPUtuXY%3DvL2h3N3ckKFfuqbw%2BPHkvb7O_5A%40mail.gmail.com >>> . >>> >>> For more options, visit https://groups.google.com/groups/opt_out. >>> >> >> >> >> -- >> Rob Eisenberg, >> President - Blue Spire >> www.durandaljs.com >> >> Follow Polymer on Google+: plus.google.com/107187849809354688692 >> --- >> You received this message because you are subscribed to the Google Groups >> "Polymer" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/polymer-dev/CAMsr9Pm2FAycLjknWzuLLmEkMyveKhrz6YJnws0u-y7AdzH3AA%40mail.gmail.com >> . >> >> For more options, visit https://groups.google.com/groups/opt_out. >> > > -- Rob Eisenberg, President - Blue Spire www.durandaljs.com Follow Polymer on Google+: plus.google.com/107187849809354688692 --- You received this message because you are subscribed to the Google Groups "Polymer" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/polymer-dev/CAMsr9PkFkOkAO9K804cG66GroNELJaQ1F96hfFsfK1KLy%3D5qaw%40mail.gmail.com. For more options, visit https://groups.google.com/groups/opt_out.
