DEV: Replace version.js.erb with pre generated file

This commit is contained in:
Robin Ward
2020-05-11 15:43:09 -04:00
parent d2b16a7618
commit 8311374a5a
3 changed files with 20 additions and 20 deletions

View File

@@ -0,0 +1,4 @@
// DO NOT EDIT THIS FILE!!!
// Update it by running `rake javascript:update_constants`
export const IMAGE_VERSION = "9";

View File

@@ -1,2 +0,0 @@
// bump up this number to expire all emojis
export const IMAGE_VERSION = "<%= Emoji::EMOJI_VERSION %>";

View File

@@ -12,30 +12,29 @@ def library_src
"#{Rails.root}/node_modules" "#{Rails.root}/node_modules"
end end
task 'javascript:update_constants' => :environment do def write_template(path, template)
header = <<~HEADER header = <<~HEADER
// DO NOT EDIT THIS FILE!!! // DO NOT EDIT THIS FILE!!!
// Update it by running `rake javascript:update_constants` // Update it by running `rake javascript:update_constants`
HEADER HEADER
constants_js = <<~JS basename = File.basename(path)
#{header} output_path = "#{Rails.root}/app/assets/javascripts/#{path}"
File.write(output_path, "#{header}\n\n#{template}")
puts "#{basename} created"
%x{yarn run prettier --write #{output_path}}
puts "#{basename} prettified"
end
task 'javascript:update_constants' => :environment do
write_template("discourse/app/lib/constants.js", <<~JS)
export const SEARCH_PRIORITIES = #{Searchable::PRIORITIES.to_json}; export const SEARCH_PRIORITIES = #{Searchable::PRIORITIES.to_json};
export const SEARCH_PHRASE_REGEXP = '#{Search::PHRASE_MATCH_REGEXP_PATTERN}'; export const SEARCH_PHRASE_REGEXP = '#{Search::PHRASE_MATCH_REGEXP_PATTERN}';
JS JS
output_path = "#{Rails.root}/app/assets/javascripts/discourse/app/lib/constants.js" write_template("pretty-text/addon/emoji/data.js", <<~JS)
File.write(output_path, constants_js)
puts "contants.js created"
%x{yarn run prettier --write #{output_path}}
puts "constants.js prettified"
# app/assets/javascripts/pretty-text/addon/emoji/data.js.erb
emoji_data_js = <<~JS
#{header}
export const emojis = #{Emoji.standard.map(&:name).flatten.inspect}; export const emojis = #{Emoji.standard.map(&:name).flatten.inspect};
export const tonableEmojis = #{Emoji.tonable_emojis.flatten.inspect}; export const tonableEmojis = #{Emoji.tonable_emojis.flatten.inspect};
export const aliases = #{Emoji.aliases.inspect.gsub("=>", ":")}; export const aliases = #{Emoji.aliases.inspect.gsub("=>", ":")};
@@ -43,11 +42,10 @@ task 'javascript:update_constants' => :environment do
export const translations = #{Emoji.translations.inspect.gsub("=>", ":")}; export const translations = #{Emoji.translations.inspect.gsub("=>", ":")};
export const replacements = #{Emoji.unicode_replacements_json}; export const replacements = #{Emoji.unicode_replacements_json};
JS JS
output_path = "#{Rails.root}/app/assets/javascripts/pretty-text/addon/emoji/data.js"
File.write(output_path, emoji_data_js) write_template("pretty-text/addon/emoji/version.js", <<~JS)
puts "emoji/data.js created" export const IMAGE_VERSION = "#{Emoji::EMOJI_VERSION}";
%x{yarn run prettier --write #{output_path}} JS
puts "emoji/data.js prettified"
end end
task 'javascript:update' do task 'javascript:update' do