Set up aether module loading, but it's not working, so creating a branch until it works.

This commit is contained in:
Scott Erickson 2014-12-01 13:16:00 -08:00
parent a48fa41edd
commit 7f3f1a6038
4 changed files with 36 additions and 7 deletions

View file

@ -77,7 +77,13 @@ module.exports = ModuleLoader = class ModuleLoader extends CocoClass
# just a bit of cleanup to get the script objects out of the body element
$(e.result).remove()
# get treema set up only when the library loads, if it loads
if e.item.id is 'vendor/treema'
console.log 'setting up treema-ext'
treemaExt = require 'core/treema-ext'
treemaExt.setup()
# a module and its dependencies have loaded!
if @queue.progress is 1
$('#module-loading-list').modal('hide')
@ -86,11 +92,7 @@ module.exports = ModuleLoader = class ModuleLoader extends CocoClass
console.debug 'loaded', @recentPaths.length, 'files,', parseInt(@recentLoadedBytes/1024), 'KB'
@trigger 'load-complete'
# get treema set up only when the library loads, if it loads
if e.item.id is 'vendor/treema'
console.log 'setting up treema-ext'
treemaExt = require 'core/treema-ext'
treemaExt.setup()
@trigger 'loaded', e.item
parseDependencies: (raw) ->
bits = raw.match(/(require\(['"](.+?)['"])|(register\(['"].+?['"])/g) or []

View file

@ -89,6 +89,16 @@ module.exports = class LevelLoader extends CocoClass
loadDependenciesForSession: (session) ->
if session is @session
codeLanguage = session.get('codeLanguage') or me.get('aceConfig')?.language or 'python'
modulePath = "vendor/aether-#{codeLanguage}"
loading = application.moduleLoader.load(modulePath)
if loading
@languageModuleResource = @supermodel.addSomethingResource 'language_module'
@listenTo application.moduleLoader, 'loaded', (e) ->
if e.id is modulePath
@languageModuleResource.markLoaded()
@stopListening application.moduleLoader
# hero-ladder games require the correct session team in level:loaded
team = @team ? @session.get('team')
Backbone.Mediator.publish 'level:loaded', level: @level, team: team

View file

@ -32,7 +32,7 @@
"firepad": "~0.1.2",
"marked": "~0.3.0",
"moment": "~2.5.0",
"aether": "~0.2.39",
"aether": "~0.3.0",
"underscore.string": "~2.3.3",
"firebase": "~1.0.2",
"d3": "~3.4.4",
@ -96,6 +96,17 @@
},
"modernizr": {
"main": "modernizr.js"
},
"aether": {
"main": [
"build/aether.js",
"build/clojure.js",
"build/coffeescript.js",
"build/io.js",
"build/javascript.js",
"build/lua.js",
"build/python.js"
]
}
},
"devDependencies": {

View file

@ -88,6 +88,12 @@ exports.config =
'javascripts/box2d.js': regJoin('^vendor/scripts/Box2dWeb-2.1.a.3')
'javascripts/lodash.js': regJoin('^bower_components/lodash/dist/lodash.js')
'javascripts/aether.js': regJoin('^bower_components/aether/build/aether.js')
'javascripts/app/vendor/aether-clojure.js': 'bower_components/aether/build/clojure.js'
'javascripts/app/vendor/aether-coffeescript.js': 'bower_components/aether/build/coffeescript.js'
'javascripts/app/vendor/aether-io.js': 'bower_components/aether/build/io.js'
'javascripts/app/vendor/aether-javascript.js': 'bower_components/aether/build/javascript.js'
'javascripts/app/vendor/aether-lua.js': 'bower_components/aether/build/lua.js'
'javascripts/app/vendor/aether-python.js': 'bower_components/aether/build/python.js'
# Any vendor libraries we don't want the client to load immediately
'javascripts/app/vendor/d3.js': regJoin('^bower_components/d3')