Changes between Initial Version and Version 2 of Ticket #15137


Ignore:
Timestamp:
Apr 6, 2012, 12:09:24 PM (8 years ago)
Author:
bill
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #15137

    • Property Cc Adam Peller added
    • Property Owner changed from Rawld Gill to bill
    • Property Status changed from new to assigned
  • Ticket #15137 – Description

    initial v2  
    773. However, dojo/dom-construct has a dependency on dojo/dom-attr, and although dom-attr.js is already loaded, it's factory code hasn't been run yet, so require("dojo/dom-attr") === {}.
    88
     94. Thus the css.js plugin runs, calls construct.create(), which tries to call attr.set() (or something like that), and fails, since the dom-attr.js factory hasn't been run yet.
     10 
    911The failure is complicated to recreate because you need to download and install maquetta, as per the instructions in https://github.com/maqetta/maqetta/wiki/Developer-Setup, and then comment out the workaround code added in https://github.com/maqetta/maqetta/issues/2047.   I tried reducing it to a simpler case but no luck.
    1012
    1113I thought you (Rawld) might be able to surmise the problem though given this description, without actually installing maquetta.   Maquetta is using the sync loader, and this failure is happening on the source build.
     14
     15Alternately, if this pattern isn't supposed to work, just let us know.  Obviously the dom-construct.js factory shouldn't try to call functions in dom-attr.js, and vice-versa, but is it also true that other module factories shouldn't call functions in dom-attr.js and dom-construct.js?   And by corollary that plugins shouldn't call methods in dom-attr.js and dom-construct.js?   If so, the circular dependency just needs to be broken.