Changes between Initial Version and Version 1 of Ticket #14819


Ignore:
Timestamp:
Feb 19, 2012, 2:00:24 AM (8 years ago)
Author:
bill
Comment:

Here are links to the first mailing list discussion and the second mailing list discussion.

I'm happy to remove that code altogether, but some would see it as a break in backwards-compatibility since in 1.0 dojo.require(dijit/layout/AccordionContainer); defined AccordionPane.

Another possibility is to add a has flag somewhere:

has.add("dijit-legacy-requires", !kernel.isAsync);

and then reference that in other modules, example from above:

	// Back compat w/1.6, remove for 2.0
	if(has("dijit-legacy-requires")){
		ready(0, function(){
			var requires = ["dijit/layout/AccordionPane"];
			require(requires);	// use indirection so modules not rolled into a build
		});
	}

That would allow you to strip all this code from your non-AMD build using staticHasFeatures in your build profile. What do you think?

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #14819 – Description

    initial v1  
    1 NOTE: this probably isnt really "BuildSystem" but it didnt really fit anywhere else either -- feel free to reassign more appropriately.
     1NOTE: this probably isnt really "!BuildSystem" but it didnt really fit anywhere else either -- feel free to reassign more appropriately.
    22
    33I discussed this with Bill last week, but figure I will open a ticket for posterity sake and see where the conversation goes.
    44
    5 Files likes AccordionContainer.js have code such as:
     5Files likes !AccordionContainer.js have code such as:
    66
    77{{{
     
    1515}}}
    1616
    17 Because of this... if your production product is on limited hardware where you cannot ship a modular build (only include layers and necessary files) -- you are forced to roll AccordionPane.js into your build as well now.
     17Because of this... if your production product is on limited hardware where you cannot ship a modular build (only include layers and necessary files) -- you are forced to roll !AccordionPane.js into your build as well now.
    1818
    1919This is far from an ideal situation...  Note there are other files as well but I believe this is the only instance of a deprecated file being forced to load... Surely there is a better solution.