DEV: Generate emoji/data on demand (#9744)

These emoji rarely change and can be re-generated when we make changes
to them.
This commit is contained in:
Robin Ward 2020-05-11 15:29:46 -04:00 committed by GitHub
parent ab919332dc
commit d2b16a7618
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 4576 additions and 7 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +0,0 @@
export const emojis = <%= Emoji.standard.map(&:name).flatten.inspect %>;
export const tonableEmojis = <%= Emoji.tonable_emojis.flatten.inspect %>;
export const aliases = <%= Emoji.aliases.inspect.gsub("=>", ":") %>;
export const searchAliases = <%= Emoji.search_aliases.inspect.gsub("=>", ":") %>;
export const translations = <%= Emoji.translations.inspect.gsub("=>", ":") %>;
export const replacements = <%= Emoji.unicode_replacements_json %>;

View File

@ -13,9 +13,13 @@ def library_src
end
task 'javascript:update_constants' => :environment do
constants_js = <<~JS
header = <<~HEADER
// DO NOT EDIT THIS FILE!!!
// Update it by running `rake javascript:update_constants`
HEADER
constants_js = <<~JS
#{header}
export const SEARCH_PRIORITIES = #{Searchable::PRIORITIES.to_json};
@ -27,6 +31,23 @@ task 'javascript:update_constants' => :environment do
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 tonableEmojis = #{Emoji.tonable_emojis.flatten.inspect};
export const aliases = #{Emoji.aliases.inspect.gsub("=>", ":")};
export const searchAliases = #{Emoji.search_aliases.inspect.gsub("=>", ":")};
export const translations = #{Emoji.translations.inspect.gsub("=>", ":")};
export const replacements = #{Emoji.unicode_replacements_json};
JS
output_path = "#{Rails.root}/app/assets/javascripts/pretty-text/addon/emoji/data.js"
File.write(output_path, emoji_data_js)
puts "emoji/data.js created"
%x{yarn run prettier --write #{output_path}}
puts "emoji/data.js prettified"
end
task 'javascript:update' do