mirror of
https://github.com/discourse/discourse.git
synced 2024-11-22 11:44:49 +08:00
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,22 +110,17 @@ 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",
|
||||
"esbuild",
|
||||
"--log-level=warning",
|
||||
"--bundle",
|
||||
"--external:fs",
|
||||
"--define:process='{\"env\":{}}'",
|
||||
"app/assets/javascripts/js-processor.js",
|
||||
"--outfile=#{JS_PROCESSOR_PATH}",
|
||||
)
|
||||
end
|
||||
end
|
||||
Discourse::Utils.execute_command(
|
||||
"yarn",
|
||||
"--silent",
|
||||
"esbuild",
|
||||
"--log-level=warning",
|
||||
"--bundle",
|
||||
"--external:fs",
|
||||
"--define:process='{\"env\":{}}'",
|
||||
"app/assets/javascripts/js-processor.js",
|
||||
"--outfile=#{JS_PROCESSOR_PATH}",
|
||||
)
|
||||
end
|
||||
|
||||
def self.create_new_context
|
||||
|
@ -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
Block a user