class Ember::ES6Template::ES6Module
Public Class Methods
call(input)
click to toggle source
# File lib/ember/es6_template/sprockets/es6module.rb, line 8 def self.call(input) instance.call(input) end
default_mime_type()
click to toggle source
# File lib/ember/es6_template/sprockets-legacy/es6module.rb, line 4 def self.default_mime_type 'application/javascript' end
instance()
click to toggle source
# File lib/ember/es6_template/sprockets/es6module.rb, line 4 def self.instance @instance ||= new(Ember::ES6Template.config) end
new(config = Config.new)
click to toggle source
# File lib/ember/es6_template/sprockets/es6module.rb, line 12 def initialize(config = Config.new) @config = config end
Public Instance Methods
call(input)
click to toggle source
# File lib/ember/es6_template/sprockets/es6module.rb, line 16 def call(input) data = input[:data] dependencies = [ input[:load_path], input[:name], data ] result = input[:cache].fetch(_cache_key + dependencies) do transform(data, input) end result['code'] end
evaluate(scope, locals, &block)
click to toggle source
# File lib/ember/es6_template/sprockets-legacy/es6module.rb, line 10 def evaluate(scope, locals, &block) env = scope.environment result = Babel::Transpiler.transform(data, 'modules' => 'amdStrict', 'moduleIds' => true, 'sourceRoot' => env.root, 'moduleRoot' => nil, 'filename' => module_name(scope.logical_path) ) result['code'] end
prepare()
click to toggle source
# File lib/ember/es6_template/sprockets-legacy/es6module.rb, line 8 def prepare; end
Private Instance Methods
_cache_key()
click to toggle source
# File lib/ember/es6_template/sprockets/es6module.rb, line 44 def _cache_key [ self.class.name, VERSION, Babel::Transpiler.version, Babel::Transpiler.source_version, @config.to_hash ] end
config()
click to toggle source
# File lib/ember/es6_template/sprockets-legacy/es6module.rb, line 34 def config Ember::ES6Template.config end
module_name(path)
click to toggle source
# File lib/ember/es6_template/sprockets-legacy/es6module.rb, line 26 def module_name(path) paths = [] paths << config.module_prefix if config.prefix_pattern =~ path paths << path paths.compact.join('/') end
transform(data, input)
click to toggle source
# File lib/ember/es6_template/sprockets/es6module.rb, line 34 def transform(data, input) Babel::Transpiler.transform(data, 'modules' => 'amdStrict', 'moduleIds' => true, 'sourceRoot' => input[:load_path], 'moduleRoot' => nil, 'filename' => module_name(input) ) end