diff --git a/app/models/theme_field.rb b/app/models/theme_field.rb index da1ab9d2a29..92d7fd2d172 100644 --- a/app/models/theme_field.rb +++ b/app/models/theme_field.rb @@ -44,10 +44,12 @@ class ThemeField < ActiveRecord::Base def transpile(es6_source, version) template = Tilt::ES6ModuleTranspilerTemplate.new {} wrapped = < { #{settings(es6_source)} #{es6_source} }); +} PLUGIN_API_JS template.babel_transpile(wrapped) @@ -73,7 +75,9 @@ PLUGIN_API_JS node.replace < (function() { + if ('Discourse' in window) { Discourse.RAW_TEMPLATES[#{name.sub(/\.raw$/, '').inspect}] = #{template}; + } })(); COMPILED @@ -82,7 +86,9 @@ COMPILED node.replace < (function() { + if ('Em' in window) { Ember.TEMPLATES[#{name.inspect}] = #{template}; + } })(); COMPILED diff --git a/spec/models/theme_spec.rb b/spec/models/theme_spec.rb index 5802de76120..d12e0fd10a0 100644 --- a/spec/models/theme_spec.rb +++ b/spec/models/theme_spec.rb @@ -233,10 +233,12 @@ HTML theme.save! transpiled = <<~HTML - + HTML expect(Theme.lookup_field(theme.id, :desktop, :after_header)).to eq(transpiled.strip) @@ -245,10 +247,12 @@ HTML setting.value = 'bill' transpiled = <<~HTML - + HTML expect(Theme.lookup_field(theme.id, :desktop, :after_header)).to eq(transpiled.strip)