FIX: `assets:precompile:js_processor` task issue (#23219)
* Fix the reference * Use mutex in non-prod only (…and don't try to build the processor in runtime in prod)
This commit is contained in:
parent
4dfe25d062
commit
4fdeb6281e
|
@ -110,9 +110,6 @@ class DiscourseJsProcessor
|
|||
end
|
||||
|
||||
def self.generate_js_processor
|
||||
@processor_mutex.synchronize do
|
||||
if Rails.env.development? || Rails.env.test? ||
|
||||
!File.exist?("#{Rails.root}/#{JS_PROCESSOR_PATH}")
|
||||
Discourse::Utils.execute_command(
|
||||
"yarn",
|
||||
"--silent",
|
||||
|
@ -125,8 +122,6 @@ class DiscourseJsProcessor
|
|||
"--outfile=#{JS_PROCESSOR_PATH}",
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def self.create_new_context
|
||||
# timeout any eval that takes longer than 15 seconds
|
||||
|
@ -138,7 +133,10 @@ class DiscourseJsProcessor
|
|||
ctx.attach("rails.logger.error", proc { |err| Rails.logger.error(err.to_s) })
|
||||
|
||||
# Theme template AST transformation plugins
|
||||
generate_js_processor
|
||||
if Rails.env.development? || Rails.env.test?
|
||||
@processor_mutex.synchronize { generate_js_processor }
|
||||
end
|
||||
|
||||
ctx.eval(File.read(JS_PROCESSOR_PATH), filename: "js-processor.js")
|
||||
|
||||
ctx
|
||||
|
|
|
@ -301,7 +301,7 @@ task "assets:precompile:compress_js" do
|
|||
end
|
||||
|
||||
task "assets:precompile:js_processor": "environment" do
|
||||
DiscourseJsProcessor.generate_js_processor
|
||||
DiscourseJsProcessor::Transpiler.generate_js_processor
|
||||
end
|
||||
|
||||
task "assets:precompile": %w[
|
||||
|
|
Loading…
Reference in New Issue