Hi there,

We are getting some strange behavior when building our application that we don't get when using the dynamic classloader. I think I've narrowed it down to something about Ext.fx.Anim and Ext.fx.Easing.

We are using ExtJS 4.1.0.

Test Page:
HTML Code:
<!DOCTYPE html>
<html>
<head>
    <title>Ext Test</title>
    
    <!-- Ext -->
    <script type="text/javascript" src="extjs-4.1.0/ext-dev.js"></script>

    <script type="text/javascript">
        
        Ext.Loader.setPath('Ext', 'extjs-4.1.0/src');
        
        //Ext.require('Ext.fx.Anim');
        Ext.syncRequire('Ext.fx.Anim');
        
        Ext.onReady(function() {
            
            var d = Ext.getDom('loader-contents');
            Ext.Array.each(Ext.Loader.history, function(item) {
                
                d.innerHTML += '<br/>&nbsp;&nbsp;&nbsp;&nbsp;' + item;
            });
            
        });
        
    
    </script>
    
</head>
<body>

<div id="loader-contents">
    Loader contents:
</div>
    
</body>
</html>
Load this page. It syncRequires "Ext.fx.Anim", which requires "Ext.fx.Easing", and onReady, the contents of Ext.Loader.history are printed. You can tell using FireBug that both classes are loaded properly. However, "Ext.fx.Easing" is not added to the Ext.Loader.history, and therefore isn't compiled when using Sencha SDK Tools.

Now change "Ext.syncRequire" to "Ext.require" and reload the page. Now "Ext.fx.Easing" is in the list!

Expected behavior would be that these two functions act the same.

It probably has something to do with Easing.js not ever calling "Ext.define('Ext.fx.Easing');", but I'm not 100% sure.