mirror of
https://github.com/discourse/discourse.git
synced 2025-05-21 18:12:32 +08:00
Support for transpiling .js
files (#9160)
* Remove some `.es6` from comments where it does not matter * Use a post processor for transpilation This will allow us to eventually use the directory structure to transpile rather than the extension. * FIX: Some errors and clean up in confirm-new-email It would throw an error if the webauthn element wasn't present. Also I changed things so that no-module is not explicitly referenced. * Remove `no-module` Instead we allow a magic comment: `// discourse-skip-module` to prevent the asset pipeline from creating a module. * DEV: Enable babel transpilation based on directory If it's in `app/assets/javascripts/dicourse` it will be transpiled even without the `.es6` extension. * REFACTOR: Remove Tilt/ES6ModuleTranspiler
This commit is contained in:
@ -214,8 +214,8 @@ class ThemeJavascriptCompiler
|
||||
|
||||
def append_module(script, name, include_variables: true)
|
||||
script = "#{theme_variables}#{script}" if include_variables
|
||||
template = Tilt::ES6ModuleTranspilerTemplate.new {}
|
||||
@content << template.module_transpile(script, "", name)
|
||||
transpiler = DiscourseJsProcessor::Transpiler.new
|
||||
@content << transpiler.perform(script, "", name)
|
||||
rescue MiniRacer::RuntimeError => ex
|
||||
raise CompileError.new ex.message
|
||||
end
|
||||
@ -237,7 +237,7 @@ class ThemeJavascriptCompiler
|
||||
end
|
||||
|
||||
def transpile(es6_source, version)
|
||||
template = Tilt::ES6ModuleTranspilerTemplate.new {}
|
||||
transpiler = DiscourseJsProcessor::Transpiler.new(skip_module: true)
|
||||
wrapped = <<~PLUGIN_API_JS
|
||||
(function() {
|
||||
if ('Discourse' in window && typeof Discourse._registerPluginCode === 'function') {
|
||||
@ -254,7 +254,7 @@ class ThemeJavascriptCompiler
|
||||
})();
|
||||
PLUGIN_API_JS
|
||||
|
||||
template.babel_transpile(wrapped)
|
||||
transpiler.perform(wrapped)
|
||||
rescue MiniRacer::RuntimeError => ex
|
||||
raise CompileError.new ex.message
|
||||
end
|
||||
|
Reference in New Issue
Block a user