I have noticed in some dijit modules, dijit/form/Button in particular, that
there are circular dependencies if conditions are ignored. For example
dijit/form/Button contains this :

if(!dojo.isAsync){
dojo.ready(0, function(){
require(["dijit/form/DropDownButton", "dijit/form/ComboButton",
"dijit/form/ToggleButton"]);
});
}

DropDownButton, ComboButton and ToggleButton all themselves depend on
dijit/form/Button.

I understand that the require is in a conditional block but what are the
rules being used by the build to ensure these will be ignored?

I must admit I have not actually looked in detail at the dojo build code
yet but I'm pretty sure that the requirejs optimizer will not ignore these
conditional requires (James, if you see this correct me if I am wrong).

As I'm attempting to write my own optimizer that will support Dojo 1.7 it
would help to understand the rules that have to be supported. I guess I can
consider ignoring require calls if their parent nodes include an "if".

Richard
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.dojotoolkit.org/pipermail/dojo-contributors/attachments/20110618/4aef3a88/attachment.htm

Search Discussions

  • Bill Keese at Jun 19, 2011 at 7:20 pm
    Hmm, if the build (for Rawld's builder or requirejs) is pulling those
    modules in then I'll need to obfuscate it more so it doesn't, maybe
    something like:

    if(!dojo.isAsync){
    dojo.ready(0, function(){
    var requires = ["*dijit*/form/DropDownButton", "*dijit*/form/ComboButton", "
    *dijit*/form/ToggleButton"];
    require(requires);
    });
    }

    2011/6/18 Richard Backhouse <backhous at us.ibm.com>
    I have noticed in some dijit modules, dijit/form/Button in particular, that
    there are circular dependencies if conditions are ignored. For example
    dijit/form/Button contains this :

    if(!dojo.isAsync){
    dojo.ready(0, function(){
    require(["*dijit*/form/DropDownButton", "*dijit*/form/ComboButton", "*
    dijit*/form/ToggleButton"]);
    });
    }

    DropDownButton, ComboButton and ToggleButton all themselves depend on
    dijit/form/Button.

    I understand that the require is in a conditional block but what are the
    rules being used by the build to ensure these will be ignored?

    I must admit I have not actually looked in detail at the dojo build code
    yet but I'm pretty sure that the requirejs optimizer will not ignore these
    conditional requires (James, if you see this correct me if I am wrong).

    As I'm attempting to write my own optimizer that will support Dojo 1.7 it
    would help to understand the rules that have to be supported. I guess I can
    consider ignoring require calls if their parent nodes include an "if".

    Richard

    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
    -------------- next part --------------
    An HTML attachment was scrubbed...
    URL: http://mail.dojotoolkit.org/pipermail/dojo-contributors/attachments/20110620/808af018/attachment.htm
  • James Burke at Jun 19, 2011 at 10:21 pm
    The requirejs build tool will detect the dependencies in the cod
    sample Richard shows in his message, doing what Bill proposed will
    avoid the dependencies from being detected.

    James

    2011/6/19 Bill Keese <bill at dojotoolkit.org>:
    Hmm, if the build (for Rawld's builder or requirejs) is pulling those
    modules in then I'll need to obfuscate it more so it doesn't, maybe
    something like:

    if(!dojo.isAsync){
    dojo.ready(0, function(){
    var requires =?["dijit/form/DropDownButton", "dijit/form/ComboButton",
    "dijit/form/ToggleButton"];
    require(requires);
    });
    }
    2011/6/18 Richard Backhouse <backhous at us.ibm.com>
    I have noticed in some dijit modules, dijit/form/Button in particular,
    that there are circular dependencies if conditions are ignored. For example
    dijit/form/Button contains this :

    if(!dojo.isAsync){
    dojo.ready(0, function(){
    require(["dijit/form/DropDownButton", "dijit/form/ComboButton",
    "dijit/form/ToggleButton"]);
    });
    }

    DropDownButton, ComboButton and ToggleButton all themselves depend on
    dijit/form/Button.

    I understand that the require is in a conditional block but what are the
    rules being used by the build to ensure these will be ignored?

    I must admit I have not actually looked in detail at the dojo build code
    yet but I'm pretty sure that the requirejs optimizer will not ignore these
    conditional requires (James, if you see this correct me if I am wrong).

    As I'm attempting to write my own optimizer that will support Dojo 1.7 it
    would help to understand the rules that have to be supported. I guess I can
    consider ignoring require calls if their parent nodes include an "if".

    Richard

    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors

    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
  • Bill Keese at Jun 20, 2011 at 12:31 am
    OK, I'll add that indirection. I just hope the if(!dojo.isAsync) will work
    with requireJS too (ie, that the if() block won't run when the module is
    loaded).
    On Mon, Jun 20, 2011 at 11:21 AM, James Burke wrote:

    The requirejs build tool will detect the dependencies in the cod
    sample Richard shows in his message, doing what Bill proposed will
    avoid the dependencies from being detected.

    James

    2011/6/19 Bill Keese <bill at dojotoolkit.org>:
    Hmm, if the build (for Rawld's builder or requirejs) is pulling those
    modules in then I'll need to obfuscate it more so it doesn't, maybe
    something like:

    if(!dojo.isAsync){
    dojo.ready(0, function(){
    var requires = ["dijit/form/DropDownButton", "dijit/form/ComboButton",
    "dijit/form/ToggleButton"];
    require(requires);
    });
    }
    2011/6/18 Richard Backhouse <backhous at us.ibm.com>
    I have noticed in some dijit modules, dijit/form/Button in particular,
    that there are circular dependencies if conditions are ignored. For
    example
    dijit/form/Button contains this :

    if(!dojo.isAsync){
    dojo.ready(0, function(){
    require(["dijit/form/DropDownButton", "dijit/form/ComboButton",
    "dijit/form/ToggleButton"]);
    });
    }

    DropDownButton, ComboButton and ToggleButton all themselves depend on
    dijit/form/Button.

    I understand that the require is in a conditional block but what are the
    rules being used by the build to ensure these will be ignored?

    I must admit I have not actually looked in detail at the dojo build code
    yet but I'm pretty sure that the requirejs optimizer will not ignore
    these
    conditional requires (James, if you see this correct me if I am wrong).

    As I'm attempting to write my own optimizer that will support Dojo 1.7
    it
    would help to understand the rules that have to be supported. I guess I
    can
    consider ignoring require calls if their parent nodes include an "if".

    Richard

    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors

    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
    -------------- next part --------------
    An HTML attachment was scrubbed...
    URL: http://mail.dojotoolkit.org/pipermail/dojo-contributors/attachments/20110620/f33eb456/attachment-0001.htm
  • James Burke at Jun 20, 2011 at 12:47 am

    2011/6/19 Bill Keese <bill at dojotoolkit.org>:
    OK, I'll add that indirection. ? I just hope the if(!dojo.isAsync) will work
    with requireJS too (ie, that the if() block won't run when the module is
    loaded).
    That call is inside the definition function, so it will be fine. The
    requirejs build tool uses uglifyjs to just parse out AST nodes that
    call define/require, and executes only those calls, and just the
    module IDs and dependency arrays, not the functions associated with
    those calls, but it will pull out any nested define/require calls
    inside those functions.

    James
  • Bill Keese at Jun 20, 2011 at 1:14 am
    But, I'm not talking about the build tool. I wanted to make sure that
    dojo.isAsync will be true regardless of the loader (assuming that
    djConfig="async: true").
    On Mon, Jun 20, 2011 at 1:47 PM, James Burke wrote:

    2011/6/19 Bill Keese <bill at dojotoolkit.org>:
    OK, I'll add that indirection. I just hope the if(!dojo.isAsync) will work
    with requireJS too (ie, that the if() block won't run when the module is
    loaded).
    That call is inside the definition function, so it will be fine. The
    requirejs build tool uses uglifyjs to just parse out AST nodes that
    call define/require, and executes only those calls, and just the
    module IDs and dependency arrays, not the functions associated with
    those calls, but it will pull out any nested define/require calls
    inside those functions.

    James
    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
    -------------- next part --------------
    An HTML attachment was scrubbed...
    URL: http://mail.dojotoolkit.org/pipermail/dojo-contributors/attachments/20110620/81499e3f/attachment.htm
  • James Burke at Jun 20, 2011 at 2:03 am

    2011/6/19 Bill Keese <bill at dojotoolkit.org>:
    But, I'm not talking about the build tool. ? ?I wanted to make sure that
    dojo.isAsync will be true regardless of the loader (assuming that
    djConfig="async: true").
    I'm behind on the latest changes to the dojo code, but as long as
    dojo/_base/kernel or something it explicitly requires properly finds
    the djConfig values and sets those properties in dojo, then it will
    work out. Perhaps Rawld could clarify if it will not.

    I also assume that if requirejs is being used as the loader, that
    djConfig.async would be set to true by the developer, so that
    dojo.ready call would not ever be run.

    James
  • Rawld Gill at Jun 20, 2011 at 3:29 pm

    On Sunday 19 June 2011 21:31:20 Bill Keese wrote:
    OK, I'll add that indirection. I just hope the if(!dojo.isAsync) will
    work with requireJS too (ie, that the if() block won't run when the module
    is loaded).
    dojo.isAsync is defined like this (in dojo/_base/kernel.js):

    dojo.isAsync = !has("dojo-loader") || require.async;

    ...which should work with all loaders.
    On Mon, Jun 20, 2011 at 11:21 AM, James Burke wrote:
    The requirejs build tool will detect the dependencies in the cod
    sample Richard shows in his message, doing what Bill proposed will
    avoid the dependencies from being detected.

    James

    2011/6/19 Bill Keese <bill at dojotoolkit.org>:
    Hmm, if the build (for Rawld's builder or requirejs) is pulling those
    modules in then I'll need to obfuscate it more so it doesn't, maybe
    something like:

    if(!dojo.isAsync){
    dojo.ready(0, function(){
    var requires = ["dijit/form/DropDownButton", "dijit/form/ComboButton",
    "dijit/form/ToggleButton"];
    require(requires);
    });
    }
    2011/6/18 Richard Backhouse <backhous at us.ibm.com>
    I have noticed in some dijit modules, dijit/form/Button in particular,
    that there are circular dependencies if conditions are ignored. For
    example
    dijit/form/Button contains this :

    if(!dojo.isAsync){
    dojo.ready(0, function(){
    require(["dijit/form/DropDownButton", "dijit/form/ComboButton",
    "dijit/form/ToggleButton"]);
    });
    }

    DropDownButton, ComboButton and ToggleButton all themselves depend on
    dijit/form/Button.

    I understand that the require is in a conditional block but what are
    the rules being used by the build to ensure these will be ignored?

    I must admit I have not actually looked in detail at the dojo build
    code yet but I'm pretty sure that the requirejs optimizer will not
    ignore
    these
    conditional requires (James, if you see this correct me if I am
    wrong).

    As I'm attempting to write my own optimizer that will support Dojo 1.7
    it
    would help to understand the rules that have to be supported. I guess
    I
    can
    consider ignoring require calls if their parent nodes include an "if".

    Richard

    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
  • Richard Backhouse at Jun 20, 2011 at 5:40 am
    I think this approach is fine as it should be easy for optimizing tools to
    detect and ignore

    Thanks
    Richard

    ------------>
    From: |
    ------------>
    --------------------------------------------------------------------------------------------------------------------------------------------------|
    James Burke <jburke at dojotoolkit.org> |
    --------------------------------------------------------------------------------------------------------------------------------------------------|
    ------------>
    To: |
    ------------>
    --------------------------------------------------------------------------------------------------------------------------------------------------|
    "dojo dev." <dojo-contributors at mail.dojotoolkit.org> |
    --------------------------------------------------------------------------------------------------------------------------------------------------|
    ------------>
    Date: |
    ------------>
    --------------------------------------------------------------------------------------------------------------------------------------------------|
    06/19/2011 10:21 PM |
    --------------------------------------------------------------------------------------------------------------------------------------------------|
    ------------>
    Subject: |
    ------------>
    --------------------------------------------------------------------------------------------------------------------------------------------------|
    Re: [dojo-contributors] Question on how the new build system is dealing with circular dependencies |
    --------------------------------------------------------------------------------------------------------------------------------------------------|




    The requirejs build tool will detect the dependencies in the cod
    sample Richard shows in his message, doing what Bill proposed will
    avoid the dependencies from being detected.

    James

    2011/6/19 Bill Keese <bill at dojotoolkit.org>:
    Hmm, if the build (for Rawld's builder or requirejs) is pulling those
    modules in then I'll need to obfuscate it more so it doesn't, maybe
    something like:

    if(!dojo.isAsync){
    dojo.ready(0, function(){
    var requires =?["dijit/form/DropDownButton", "dijit/form/ComboButton",
    "dijit/form/ToggleButton"];
    require(requires);
    });
    }
    2011/6/18 Richard Backhouse <backhous at us.ibm.com>
    I have noticed in some dijit modules, dijit/form/Button in particular,
    that there are circular dependencies if conditions are ignored. For
    example
    dijit/form/Button contains this :

    if(!dojo.isAsync){
    dojo.ready(0, function(){
    require(["dijit/form/DropDownButton", "dijit/form/ComboButton",
    "dijit/form/ToggleButton"]);
    });
    }

    DropDownButton, ComboButton and ToggleButton all themselves depend on
    dijit/form/Button.

    I understand that the require is in a conditional block but what are the
    rules being used by the build to ensure these will be ignored?

    I must admit I have not actually looked in detail at the dojo build code
    yet but I'm pretty sure that the requirejs optimizer will not ignore
    these
    conditional requires (James, if you see this correct me if I am wrong).

    As I'm attempting to write my own optimizer that will support Dojo 1.7
    it
    would help to understand the rules that have to be supported. I guess I
    can
    consider ignoring require calls if their parent nodes include an "if".

    Richard

    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors

    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors

    -------------- next part --------------
    An HTML attachment was scrubbed...
    URL: http://mail.dojotoolkit.org/pipermail/dojo-contributors/attachments/20110620/5712fae1/attachment.htm
    -------------- next part --------------
    A non-text attachment was scrubbed...
    Name: graycol.gif
    Type: image/gif
    Size: 105 bytes
    Desc: not available
    Url : http://mail.dojotoolkit.org/pipermail/dojo-contributors/attachments/20110620/5712fae1/attachment.gif
    -------------- next part --------------
    A non-text attachment was scrubbed...
    Name: ecblank.gif
    Type: image/gif
    Size: 45 bytes
    Desc: not available
    Url : http://mail.dojotoolkit.org/pipermail/dojo-contributors/attachments/20110620/5712fae1/attachment-0001.gif
  • Rawld Gill at Jun 20, 2011 at 3:28 pm
    The current transforms in the dojo build tool only look at deps vectors in
    define applications and completely ignore require applications. So the dojo
    build tool will ignore either form below.

    fwiw, I think it's a questionable design to unconditionally cache resources
    found in require applications. Typically, those would be runtime-dependent
    resources.
    On Sunday 19 June 2011 16:20:11 Bill Keese wrote:
    Hmm, if the build (for Rawld's builder or requirejs) is pulling those
    modules in then I'll need to obfuscate it more so it doesn't, maybe
    something like:

    if(!dojo.isAsync){
    dojo.ready(0, function(){
    var requires = ["*dijit*/form/DropDownButton", "*dijit*/form/ComboButton",
    " *dijit*/form/ToggleButton"];
    require(requires);
    });
    }

    2011/6/18 Richard Backhouse <backhous at us.ibm.com>
    I have noticed in some dijit modules, dijit/form/Button in particular,
    that there are circular dependencies if conditions are ignored. For
    example dijit/form/Button contains this :

    if(!dojo.isAsync){

    dojo.ready(0, function(){
    require(["*dijit*/form/DropDownButton", "*dijit*/form/ComboButton", "*

    dijit*/form/ToggleButton"]);

    });

    }

    DropDownButton, ComboButton and ToggleButton all themselves depend on
    dijit/form/Button.

    I understand that the require is in a conditional block but what are the
    rules being used by the build to ensure these will be ignored?

    I must admit I have not actually looked in detail at the dojo build code
    yet but I'm pretty sure that the requirejs optimizer will not ignore
    these conditional requires (James, if you see this correct me if I am
    wrong).

    As I'm attempting to write my own optimizer that will support Dojo 1.7 it
    would help to understand the rules that have to be supported. I guess I
    can consider ignoring require calls if their parent nodes include an
    "if".

    Richard

    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors
  • James Burke at Jun 20, 2011 at 4:25 pm

    On Mon, Jun 20, 2011 at 12:28 PM, Rawld Gill wrote:
    fwiw, I think it's a questionable design to unconditionally cache resources
    found in require applications. Typically, those would be runtime-dependent
    resources.
    I included them for the "top level" require calls, basically in the
    main.js for an app, where it may make a configuration call then load
    modules via require, and that work may happen in an anonymous closure
    in the main.js app, so I traversed the tree to find them.

    However, I can see the case for not including require calls that are
    inside a define function. I'll queue a task to do this in the
    requirejs optimizer, but I may not get it in until the release after
    next.

    James
  • Rawld Gill at Jun 20, 2011 at 3:31 pm
    On Saturday 18 June 2011 04:34:30 Richard Backhouse wrote:
    [snip]
    As I'm attempting to write my own optimizer that will support Dojo 1.7 it
    would help to understand the rules that have to be supported.
    What is it about the dojo build app that you find lacking?
  • Richard Backhouse at Jun 20, 2011 at 3:45 pm
    The optimizer I am writing is dynamic in nature. That is it can be
    incorporated into a server side environment and be able to perform analysis
    and optimization at runtime without having to depend on a static build tool

    Richard

    ------------>
    From: |
    ------------>
    --------------------------------------------------------------------------------------------------------------------------------------------------|
    Rawld Gill <rgill at altoviso.com> |
    --------------------------------------------------------------------------------------------------------------------------------------------------|
    ------------>
    To: |
    ------------>
    --------------------------------------------------------------------------------------------------------------------------------------------------|
    dojo-contributors at mail.dojotoolkit.org |
    --------------------------------------------------------------------------------------------------------------------------------------------------|
    ------------>
    Date: |
    ------------>
    --------------------------------------------------------------------------------------------------------------------------------------------------|
    06/20/2011 03:34 PM |
    --------------------------------------------------------------------------------------------------------------------------------------------------|
    ------------>
    Subject: |
    ------------>
    --------------------------------------------------------------------------------------------------------------------------------------------------|
    Re: [dojo-contributors] Question on how the new build system is dealing with circular dependencies |
    --------------------------------------------------------------------------------------------------------------------------------------------------|




    On Saturday 18 June 2011 04:34:30 Richard Backhouse wrote:
    [snip]
    As I'm attempting to write my own optimizer that will support Dojo 1.7 it
    would help to understand the rules that have to be supported.
    What is it about the dojo build app that you find lacking?
    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors

    -------------- next part --------------
    An HTML attachment was scrubbed...
    URL: http://mail.dojotoolkit.org/pipermail/dojo-contributors/attachments/20110620/d85212a8/attachment.htm
    -------------- next part --------------
    A non-text attachment was scrubbed...
    Name: graycol.gif
    Type: image/gif
    Size: 105 bytes
    Desc: not available
    Url : http://mail.dojotoolkit.org/pipermail/dojo-contributors/attachments/20110620/d85212a8/attachment.gif
    -------------- next part --------------
    A non-text attachment was scrubbed...
    Name: ecblank.gif
    Type: image/gif
    Size: 45 bytes
    Desc: not available
    Url : http://mail.dojotoolkit.org/pipermail/dojo-contributors/attachments/20110620/d85212a8/attachment-0001.gif
  • Richard Backhouse at Jun 20, 2011 at 3:55 pm
    And I should also add that the goal is to be independent of Dojo. I want to
    be able to support AMD based environments independent of the loader being
    used.

    Richard

    ------------>
    From: |
    ------------>
    --------------------------------------------------------------------------------------------------------------------------------------------------|
    Richard Backhouse/Durham/IBM at IBMUS |
    --------------------------------------------------------------------------------------------------------------------------------------------------|
    ------------>
    To: |
    ------------>
    --------------------------------------------------------------------------------------------------------------------------------------------------|
    "dojo dev." <dojo-contributors at mail.dojotoolkit.org> |
    --------------------------------------------------------------------------------------------------------------------------------------------------|
    ------------>
    Cc: |
    ------------>
    --------------------------------------------------------------------------------------------------------------------------------------------------|
    dojo-contributors at mail.dojotoolkit.org, dojo-contributors-bounces at mail.dojotoolkit.org |
    --------------------------------------------------------------------------------------------------------------------------------------------------|
    ------------>
    Date: |
    ------------>
    --------------------------------------------------------------------------------------------------------------------------------------------------|
    06/20/2011 03:46 PM |
    --------------------------------------------------------------------------------------------------------------------------------------------------|
    ------------>
    Subject: |
    ------------>
    --------------------------------------------------------------------------------------------------------------------------------------------------|
    Re: [dojo-contributors] Question on how the new build system is dealing with circular dependencies |
    --------------------------------------------------------------------------------------------------------------------------------------------------|




    The optimizer I am writing is dynamic in nature. That is it can be
    incorporated into a server side environment and be able to perform analysis
    and optimization at runtime without having to depend on a static build tool

    Richard

    Inactive hide details for Rawld Gill ---06/20/2011 03:34:51 PM---On
    Saturday 18 June 2011 04:34:30 Richard Backhouse wrote:Rawld Gill
    ---06/20/2011 03:34:51 PM---On Saturday 18 June 2011 04:34:30 Richard
    Backhouse wrote:


    From: Rawld Gill <rgill at altoviso.com>


    To: dojo-contributors at mail.dojotoolkit.org


    Date: 06/20/2011 03:34 PM


    Subje Re: [dojo-contributors] Question on how the new build system
    ct: is dealing with circular dependencies






    On Saturday 18 June 2011 04:34:30 Richard Backhouse wrote:
    [snip]
    As I'm attempting to write my own optimizer that will support Dojo 1.7 it
    would help to understand the rules that have to be supported.
    What is it about the dojo build app that you find lacking?
    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors

    _______________________________________________
    dojo-contributors mailing list
    dojo-contributors at mail.dojotoolkit.org
    http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors

    -------------- next part --------------
    An HTML attachment was scrubbed...
    URL: http://mail.dojotoolkit.org/pipermail/dojo-contributors/attachments/20110620/0c55281c/attachment-0001.htm
    -------------- next part --------------
    A non-text attachment was scrubbed...
    Name: graycol.gif
    Type: image/gif
    Size: 105 bytes
    Desc: not available
    Url : http://mail.dojotoolkit.org/pipermail/dojo-contributors/attachments/20110620/0c55281c/attachment-0002.gif
    -------------- next part --------------
    A non-text attachment was scrubbed...
    Name: ecblank.gif
    Type: image/gif
    Size: 45 bytes
    Desc: not available
    Url : http://mail.dojotoolkit.org/pipermail/dojo-contributors/attachments/20110620/0c55281c/attachment-0003.gif
  • Rawld Gill at Jun 20, 2011 at 4:12 pm

    On Monday 20 June 2011 12:55:46 Richard Backhouse wrote:
    And I should also add that the goal is to be independent of Dojo. I want to
    be able to support AMD based environments independent of the loader being
    used.
    There is nothing in the build system that is dojo-loader-dependent. The build
    system itself uses dojo, but the input/output need not have anything to do
    with dojo.

    Indeed the input/output need not have anything to do with optimizing AMD
    reources. It is intended as a general Javascript transform engine that should
    have many uses.

    You might find the overview interesting/helpful to your effort:

    http://bdframework.org/bdBuild/docs/bdBuild-tutorial/bdBuild-
    tutorial.html#overview

    (bdBuild is the same as the dojo build sytem)

    Best,
    Rawld
  • Rawld Gill at Jun 20, 2011 at 3:55 pm
    fwiw, the new build system in dojo (and the bdBuild application it came from)
    was designed to be able to do this also (with additional transforms).

    On Monday 20 June 2011 12:45:45 Richard Backhouse wrote:
    The optimizer I am writing is dynamic in nature. That is it can be
    incorporated into a server side environment and be able to perform analysis
    and optimization at runtime without having to depend on a static build tool

    Richard

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupdojo-contributors @
categoriesdojo
postedJun 18, '11 at 7:34a
activeJun 20, '11 at 4:25p
posts16
users4
websitedojotoolkit.org

People

Translate

site design / logo © 2021 Grokbase