Opened 8 years ago
Closed 8 years ago
#15901 closed defect (wontfix)
AMD optimizer cannot do static analysis on dojox/mobile/deviceTheme
Reported by: | Adam Peller | Owned by: | Eric Durocher |
---|---|---|---|
Priority: | undecided | Milestone: | 1.8.2 |
Component: | DojoX Mobile | Version: | 1.8.0 |
Keywords: | Cc: | Richard Backhouse, ykami, Bill Reed, ben hockey | |
Blocked By: | Blocking: |
Description (last modified by )
see https://github.com/maqetta/maqetta/issues/2708
The Zazl Optimizer cannot perform static analysis on deviceTheme because of its unusual define signature. @rbackhouse suggests a workaround that Zazl seems to accept, inserting the module id. Why is it necessary for this module to run without define being defined?
Change History (8)
comment:1 Changed 8 years ago by
Cc: | Richard Backhouse ykami Bill Reed added |
---|
comment:2 Changed 8 years ago by
Description: | modified (diff) |
---|
comment:3 Changed 8 years ago by
comment:4 Changed 8 years ago by
In Maqetta, we've actually been using async loading with mobile with some success. The Zazl optimizer works differently from static build layers. It computes the dependencies and builds the layers on demand. Apparently, it is not possible to leave the one module out of the optimization process. We will test the workaround we have, but it might be interesting to see if we can support async with dojox/mobile going forward and drop the back-compat syntax.
comment:5 Changed 8 years ago by
Cc: | ben hockey added |
---|
comment:6 Changed 8 years ago by
Milestone: | tbd → 1.8.1 |
---|
bump. Looking for a workaround to this interim solution in 1.8 which will satisfy the zazl optimizer.
comment:7 Changed 8 years ago by
Milestone: | 1.8.1 → 1.8.2 |
---|
comment:8 Changed 8 years ago by
Resolution: | → wontfix |
---|---|
Status: | new → closed |
Zazl worked around this problem.
deviceTheme.js may look AMD syntax, but it is for backward compatibility reason. In 1.8, loading deviceTheme asynchronously is not recommended, because that is often problematic. Actually none of the dojox.mobile test cases load it in the async manner. Instead, they load it with a script tag. So, my recommendation is to leave it out of the optimization layer.