# TODO move shims to an extension define 'es5-shim' , ['config/load_components'], -> require “ende/vendor/assets/javascripts/polyfills/es5-shim.js” define 'es6-map-shim' , ['es5-shim' , 'config/load_components'], ->
# TODO use a better require require "indefinido~observable@es6-modules/vendor/shims/object.create.js" # TODO improve map shimming if (!Object.defineProperties) undefine = true Object.defineProperties = (object, properties) -> for name, descriptor of properties object[name] = descriptor.value object require "ende/vendor/assets/javascripts/polyfills/es6-map-shim.js" delete Object.defineProperties if undefine
# TODO extract this es6-shim to a component define 'es6-shim' , ['es6-map-shim', 'es5-shim' , 'config/load_components'], ->
# Fix wrong object order definition in internet explorer # TODO send a pull request to use dependency only after object definition require "paulmillr~es6-shim@0.14.0" require "indefinido~observable@es6-modules"
# Override defaults components definition, and force observable # loading after es6-shim, so it does not define collectionShims # # TODO better way to forward component modules to application define 'observable' , ['es6-shim', 'config/load_components'], -> require(“indefinido~observable@es6-modules”).mixin define 'advisable' , ['config/load_components'], -> require(“indefinido~advisable@master”).mixin
# TODO think if require jquery and jquery inview in this place is actualy a good idea # TODO use requirejs alias / packing modules definition for this define 'ende', ['config/load_components', 'config/initializers', 'es6-shim'], ->
require ['jquery.ujs'] # TODO FIX THIS! require.register('observable', (e, module) -> module.exports = require "indefinido~observable@es6-modules" ) require.register('advisable' , (e, module) -> module.exports = require("indefinido~advisable@master").mixin )