So I found some things out.
A. exports can't be an array. This is problematic. How do I define multiple objects then? Do I have to break out MooTools more into individual files? Seems a waste.
B. Export doesn't seem to work properly for Mootools as MooTools more complains about MooTools no existing.
C. Recursive dependencies in Shims doesn't seem to work at all. The deps in child deps are never loaded.
Here is my updated config:
steal.config({
map: {
"*": {
"can/util/util.js": "can/util/mootools/mootools.js",
"mootools/mootools.js" : "mootools",
"mootools-more/mootools-more.js" : "mootools-more",
"mootools-datepicker/mootools-datepicker.js" : "mootools-datepicker",
}
},
paths: {
"mootools" : "mootools-core-1.4.5-full-nocompat-tucows.js",
"mootools-more" : "mootools-more-1.4.0.1-tucows.js",
"mootools-datepicker" : "mootools-datepicker/Source/Picker.js",
},
shim : {
"mootools": {
exports: "MooTools"
},
"mootools-more": {
deps: "mootools",
exports: "MooTools.More"
},
"mootools-datepicker": {
exports: "Picker",
deps: ["mootools"]
},
"mootools-datepicker/Source/Picker.Attach.js": {
exports: "Picker.Attach",
deps: [
"mootools-datepicker"
]
},
"mootools-datepicker/Source/Picker.Date.js": {
exports: "Picker.Date",
deps: [
"mootools-datepicker/Source/Locale.en-US.DatePicker.js",
"mootools-more",
"mootools-datepicker"
]
},
"mootools-datepicker/Source/Picker.Date.Range.js": {
exports: "Picker.Date.Range",
deps: [
"mootools-datepicker/Source/Picker.Attach.js",
"mootools-datepicker/Source/Picker.Date.js",
]
}
},
ext: {
js: "js",
css: "css",
less: "steal/less/less.js",
ejs: "can/view/ejs/ejs.js",
mustache: "can/view/mustache/mustache.js"
}
})