diff --git a/Dockerfile b/Dockerfile index 372b6ce20..62c122081 100644 --- a/Dockerfile +++ b/Dockerfile @@ -64,7 +64,7 @@ ARG BUILD_DATE ARG VCS_REF ARG TAG -ARG ZEALOT_VERSION="5.2.0" +ARG ZEALOT_VERSION="5.2.1" ARG REPLACE_CHINA_MIRROR="true" ARG ORIGINAL_REPO_URL="dl-cdn.alpinelinux.org" ARG MIRROR_REPO_URL="mirrors.ustc.edu.cn" diff --git a/Gemfile b/Gemfile index ae5e0ccc8..a81fde240 100644 --- a/Gemfile +++ b/Gemfile @@ -18,7 +18,7 @@ gem 'lograge', '~> 0.14.0' # API gem 'active_model_serializers', '~> 0.10.14' -gem 'graphql', '~> 2.2.10' +gem 'graphql', '~> 2.3.0' gem 'rack-cors', '~> 2.0.2' gem 'health_check', '~> 3.1.0' gem 'tiny_appstore_connect', '~> 0.1.12' @@ -38,12 +38,12 @@ gem 'friendly_id', '~> 5.5.1' ## 数据分页 gem 'kaminari', '~> 1.2.2' ## 文件上传 -gem 'carrierwave', '~> 3.0.4' +gem 'carrierwave', '~> 3.0.7' gem 'webp-ffi', '~> 0.4.0' # Helper ## HTTP 请求 -gem 'faraday', '~> 2.8.1' +gem 'faraday', '~> 2.9.0' ## 用户认证 gem 'pundit', '~> 2.3.1' @@ -65,7 +65,7 @@ gem 'plist', '~> 3.7.1' ## 系统信息 gem 'sys-filesystem', '~> 1.4.4' gem 'vmstat', '~> 2.3.0' -gem 'pghero', '~> 3.4.0' +gem 'pghero', '~> 3.4.1' ## 异常报错上报 gem 'sentry-ruby' @@ -88,7 +88,7 @@ gem 'sidekiq-failures', '~> 1.0.4' ## jsbundling-rails, cssbundling-rails 仅生成配置文件到项目组,核心还是 package.json 中 build/build:css 部分。 gem 'propshaft', '0.8.0' gem 'jsbundling-rails', '~> 1.3' -gem 'cssbundling-rails', '~> 1.3' +gem 'cssbundling-rails', '~> 1.4' ## Javascript gem 'stimulus-rails', '~> 1.3.3' gem 'turbo-rails', '~> 1.5' @@ -104,13 +104,13 @@ gem 'bootsnap', '>= 1.4.7', require: false group :development do # 调试控制台 - gem 'listen', '>= 3.0.5', '< 3.9' + gem 'listen', '>= 3.0.5', '< 3.10' gem 'web-console', '>= 3.3.0' gem 'graphiql-rails' # 调试器 ## VSCode debug: https://marketplace.visualstudio.com/items?itemName=KoichiSasada.vscode-rdbg - gem 'debug', '~> 1.9.1' + gem 'debug', '~> 1.9.2' # rails 更友好错误输出 gem 'awesome_print' @@ -118,7 +118,7 @@ group :development do gem 'binding_of_caller' # 在线查看 Action Mailer 内容 - gem 'letter_opener', '~> 1.8' + gem 'letter_opener', '~> 1.9' gem 'letter_opener_web', '~> 2.0' end diff --git a/Gemfile.lock b/Gemfile.lock index f33e76f27..f6342e414 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -3,35 +3,35 @@ GEM specs: CFPropertyList (3.0.6) rexml - actioncable (7.1.3.1) - actionpack (= 7.1.3.1) - activesupport (= 7.1.3.1) + actioncable (7.1.3.2) + actionpack (= 7.1.3.2) + activesupport (= 7.1.3.2) nio4r (~> 2.0) websocket-driver (>= 0.6.1) zeitwerk (~> 2.6) - actionmailbox (7.1.3.1) - actionpack (= 7.1.3.1) - activejob (= 7.1.3.1) - activerecord (= 7.1.3.1) - activestorage (= 7.1.3.1) - activesupport (= 7.1.3.1) + actionmailbox (7.1.3.2) + actionpack (= 7.1.3.2) + activejob (= 7.1.3.2) + activerecord (= 7.1.3.2) + activestorage (= 7.1.3.2) + activesupport (= 7.1.3.2) mail (>= 2.7.1) net-imap net-pop net-smtp - actionmailer (7.1.3.1) - actionpack (= 7.1.3.1) - actionview (= 7.1.3.1) - activejob (= 7.1.3.1) - activesupport (= 7.1.3.1) + actionmailer (7.1.3.2) + actionpack (= 7.1.3.2) + actionview (= 7.1.3.2) + activejob (= 7.1.3.2) + activesupport (= 7.1.3.2) mail (~> 2.5, >= 2.5.4) net-imap net-pop net-smtp rails-dom-testing (~> 2.2) - actionpack (7.1.3.1) - actionview (= 7.1.3.1) - activesupport (= 7.1.3.1) + actionpack (7.1.3.2) + actionview (= 7.1.3.2) + activesupport (= 7.1.3.2) nokogiri (>= 1.8.5) racc rack (>= 2.2.4) @@ -39,15 +39,15 @@ GEM rack-test (>= 0.6.3) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) - actiontext (7.1.3.1) - actionpack (= 7.1.3.1) - activerecord (= 7.1.3.1) - activestorage (= 7.1.3.1) - activesupport (= 7.1.3.1) + actiontext (7.1.3.2) + actionpack (= 7.1.3.2) + activerecord (= 7.1.3.2) + activestorage (= 7.1.3.2) + activesupport (= 7.1.3.2) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.1.3.1) - activesupport (= 7.1.3.1) + actionview (7.1.3.2) + activesupport (= 7.1.3.2) builder (~> 3.1) erubi (~> 1.11) rails-dom-testing (~> 2.2) @@ -57,25 +57,25 @@ GEM activemodel (>= 4.1) case_transform (>= 0.2) jsonapi-renderer (>= 0.1.1.beta1, < 0.3) - activejob (7.1.3.1) - activesupport (= 7.1.3.1) + activejob (7.1.3.2) + activesupport (= 7.1.3.2) globalid (>= 0.3.6) - activejob-status (1.0.0) + activejob-status (1.0.1) activejob (>= 6.0) activesupport (>= 6.0) - activemodel (7.1.3.1) - activesupport (= 7.1.3.1) - activerecord (7.1.3.1) - activemodel (= 7.1.3.1) - activesupport (= 7.1.3.1) + activemodel (7.1.3.2) + activesupport (= 7.1.3.2) + activerecord (7.1.3.2) + activemodel (= 7.1.3.2) + activesupport (= 7.1.3.2) timeout (>= 0.4.0) - activestorage (7.1.3.1) - actionpack (= 7.1.3.1) - activejob (= 7.1.3.1) - activerecord (= 7.1.3.1) - activesupport (= 7.1.3.1) + activestorage (7.1.3.2) + actionpack (= 7.1.3.2) + activejob (= 7.1.3.2) + activerecord (= 7.1.3.2) + activesupport (= 7.1.3.2) marcel (~> 1.0) - activesupport (7.1.3.1) + activesupport (7.1.3.2) base64 bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) @@ -85,7 +85,7 @@ GEM minitest (>= 5.1) mutex_m tzinfo (~> 2.0) - addressable (2.8.5) + addressable (2.8.6) public_suffix (>= 2.0.2, < 6.0) aes_key_wrap (1.1.0) android_parser (2.6.0) @@ -110,15 +110,15 @@ GEM erubi (>= 1.0.0) rack (>= 0.9.0) rouge (>= 1.0.0) - bigdecimal (3.1.6) + bigdecimal (3.1.7) bindata (2.5.0) bindex (0.8.1) - binding_of_caller (1.0.0) - debug_inspector (>= 0.0.1) - bootsnap (1.17.0) + binding_of_caller (1.0.1) + debug_inspector (>= 1.2.0) + bootsnap (1.18.3) msgpack (~> 1.2) builder (3.2.4) - carrierwave (3.0.5) + carrierwave (3.0.7) activemodel (>= 6.0.0) activesupport (>= 6.0.0) addressable (~> 2.6) @@ -134,13 +134,13 @@ GEM concurrent-ruby (1.2.3) connection_pool (2.4.1) crass (1.0.6) - cssbundling-rails (1.3.3) + cssbundling-rails (1.4.0) railties (>= 6.0.0) date (3.3.4) - debug (1.9.1) + debug (1.9.2) irb (~> 1.10) reline (>= 0.3.8) - debug_inspector (1.1.0) + debug_inspector (1.2.0) devise (4.9.3) bcrypt (~> 3.0) orm_adapter (~> 0.1) @@ -157,13 +157,12 @@ GEM erubi (1.12.0) et-orbi (1.2.7) tzinfo - faraday (2.8.1) - base64 - faraday-net_http (>= 2.0, < 3.1) - ruby2_keywords (>= 0.0.4) + faraday (2.9.0) + faraday-net_http (>= 2.0, < 3.2) faraday-follow_redirects (0.3.0) faraday (>= 1, < 3) - faraday-net_http (3.0.2) + faraday-net_http (3.1.0) + net-http ffi (1.16.3) ffi-compiler (1.0.1) ffi (>= 1.0.0) @@ -184,15 +183,14 @@ GEM google-protobuf (3.22.3-arm64-darwin) google-protobuf (3.22.3-x86_64-darwin) google-protobuf (3.22.3-x86_64-linux) - graphiql-rails (1.9.0) + graphiql-rails (1.10.0) railties - sprockets-rails - graphql (2.2.10) + graphql (2.3.0) base64 hashie (5.0.0) health_check (3.1.0) railties (>= 5.0) - i18n (1.14.1) + i18n (1.14.4) concurrent-ruby (~> 1.0) icns (0.2.0) image_processing (1.12.2) @@ -210,7 +208,7 @@ GEM interception (0.5) io-console (0.7.2) iostruct (0.0.5) - irb (1.11.2) + irb (1.12.0) rdoc reline (>= 0.4.2) jb (0.8.2) @@ -242,14 +240,14 @@ GEM rexml launchy (2.5.2) addressable (~> 2.8) - letter_opener (1.8.1) + letter_opener (1.9.0) launchy (>= 2.2, < 3) letter_opener_web (2.0.0) actionmailer (>= 5.2) letter_opener (~> 1.7) railties (>= 5.2) rexml - listen (3.8.0) + listen (3.9.0) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) lograge (0.14.0) @@ -265,12 +263,12 @@ GEM net-imap net-pop net-smtp - marcel (1.0.2) + marcel (1.0.4) method_source (1.0.0) mini_magick (4.12.0) mini_mime (1.1.5) mini_portile2 (2.8.5) - minitest (5.22.2) + minitest (5.22.3) mixlib-shellout (3.2.7) chef-utils msgpack (1.7.2) @@ -278,6 +276,8 @@ GEM multi_xml (0.6.0) multipart-post (2.3.0) mutex_m (0.2.0) + net-http (0.4.1) + uri net-imap (0.4.10) date net-protocol @@ -286,17 +286,17 @@ GEM net-protocol net-protocol (0.2.2) timeout - net-smtp (0.4.0.1) + net-smtp (0.5.0) net-protocol - nio4r (2.7.0) - nokogiri (1.16.2) + nio4r (2.7.1) + nokogiri (1.16.3) mini_portile2 (~> 2.8.2) racc (~> 1.4) - nokogiri (1.16.2-arm64-darwin) + nokogiri (1.16.3-arm64-darwin) racc (~> 1.4) - nokogiri (1.16.2-x86_64-darwin) + nokogiri (1.16.3-x86_64-darwin) racc (~> 1.4) - nokogiri (1.16.2-x86_64-linux) + nokogiri (1.16.3-x86_64-linux) racc (~> 1.4) oauth2 (1.4.11) faraday (>= 0.17.3, < 3.0) @@ -351,8 +351,8 @@ GEM multipart-post (>= 2.0.0) rainbow zhexdump (>= 0.0.2) - pg (1.5.4) - pghero (3.4.0) + pg (1.5.6) + pghero (3.4.1) activerecord (>= 6) plist (3.7.1) propshaft (0.8.0) @@ -360,12 +360,12 @@ GEM activesupport (>= 7.0.0) rack railties (>= 7.0.0) - pry (0.14.1) + pry (0.14.2) coderay (~> 1.1) method_source (~> 1.0) pry-rails (0.3.9) pry (>= 0.10.4) - pry-rescue (1.5.2) + pry-rescue (1.6.0) interception (>= 0.5) pry (>= 0.12.0) psych (5.1.2) @@ -378,7 +378,7 @@ GEM pyu-ruby-sasl (0.0.3.3) raabro (1.4.0) racc (1.7.3) - rack (3.0.9.1) + rack (3.0.10) rack-cors (2.0.2) rack (>= 2.0.0) rack-oauth2 (2.2.0) @@ -397,20 +397,20 @@ GEM rackup (2.1.0) rack (>= 3) webrick (~> 1.8) - rails (7.1.3.1) - actioncable (= 7.1.3.1) - actionmailbox (= 7.1.3.1) - actionmailer (= 7.1.3.1) - actionpack (= 7.1.3.1) - actiontext (= 7.1.3.1) - actionview (= 7.1.3.1) - activejob (= 7.1.3.1) - activemodel (= 7.1.3.1) - activerecord (= 7.1.3.1) - activestorage (= 7.1.3.1) - activesupport (= 7.1.3.1) + rails (7.1.3.2) + actioncable (= 7.1.3.2) + actionmailbox (= 7.1.3.2) + actionmailer (= 7.1.3.2) + actionpack (= 7.1.3.2) + actiontext (= 7.1.3.2) + actionview (= 7.1.3.2) + activejob (= 7.1.3.2) + activemodel (= 7.1.3.2) + activerecord (= 7.1.3.2) + activestorage (= 7.1.3.2) + activesupport (= 7.1.3.2) bundler (>= 1.15.0) - railties (= 7.1.3.1) + railties (= 7.1.3.2) rails-dom-testing (2.2.0) activesupport (>= 5.0.0) minitest @@ -424,9 +424,9 @@ GEM rails-settings-cached (2.9.4) activerecord (>= 5.0.0) railties (>= 5.0.0) - railties (7.1.3.1) - actionpack (= 7.1.3.1) - activesupport (= 7.1.3.1) + railties (7.1.3.2) + actionpack (= 7.1.3.2) + activesupport (= 7.1.3.2) irb rackup (>= 1.0.0) rake (>= 12.2) @@ -437,14 +437,14 @@ GEM rb-fsevent (0.11.2) rb-inotify (0.10.1) ffi (~> 1.0) - rdoc (6.6.2) + rdoc (6.6.3.1) psych (>= 4.0.0) redis (5.0.8) redis-client (>= 0.17.0) - redis-client (0.19.0) + redis-client (0.21.0) connection_pool regexp_parser (2.6.1) - reline (0.4.3) + reline (0.5.0) io-console (~> 0.5) request_store (1.5.1) rack (>= 1.4) @@ -475,20 +475,20 @@ GEM rubocop (>= 1.33.0, < 2.0) ruby-macho (3.0.0) ruby-progressbar (1.11.0) - ruby-vips (2.2.0) + ruby-vips (2.2.1) ffi (~> 1.12) - ruby2_keywords (0.0.5) rubyntlm (0.6.3) rubyzip (2.3.2) rufus-scheduler (3.9.1) fugit (~> 1.1, >= 1.1.6) - sentry-rails (5.15.2) + sentry-rails (5.17.1) railties (>= 5.0) - sentry-ruby (~> 5.15.2) - sentry-ruby (5.15.2) + sentry-ruby (~> 5.17.1) + sentry-ruby (5.17.1) + bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) - sentry-sidekiq (5.15.2) - sentry-ruby (~> 5.15.2) + sentry-sidekiq (5.17.1) + sentry-ruby (~> 5.17.1) sidekiq (>= 3.0) sidekiq (7.2.0) concurrent-ruby (< 2) @@ -512,13 +512,6 @@ GEM railties (>= 3.1) slim (>= 3.0, < 6.0, != 5.0.0) socksify (1.7.1) - sprockets (4.2.0) - concurrent-ruby (~> 1.0) - rack (>= 2.2.4, < 4) - sprockets-rails (3.4.2) - actionpack (>= 5.2) - activesupport (>= 5.2) - sprockets (>= 3.0.0) ssrf_filter (1.1.2) stimulus-rails (1.3.3) railties (>= 6.0.0) @@ -548,6 +541,7 @@ GEM tzinfo (2.0.6) concurrent-ruby (~> 1.0) unicode-display_width (2.3.0) + uri (0.13.0) uuidtools (2.2.0) validate_email (0.1.6) activemodel (>= 3.0) @@ -596,26 +590,26 @@ DEPENDENCIES better_errors binding_of_caller bootsnap (>= 1.4.7) - carrierwave (~> 3.0.4) - cssbundling-rails (~> 1.3) - debug (~> 1.9.1) + carrierwave (~> 3.0.7) + cssbundling-rails (~> 1.4) + debug (~> 1.9.2) devise (~> 4.9.3) devise-i18n (~> 1.12.0) dotenv-rails - faraday (~> 2.8.1) + faraday (~> 2.9.0) friendly_id (~> 5.5.1) gitlab_omniauth-ldap (~> 2.2.0) graphiql-rails - graphql (~> 2.2.10) + graphql (~> 2.3.0) health_check (~> 3.1.0) improved_jenkins_client (~> 1.6.7) jb (~> 0.8.2) jsbundling-rails (~> 1.3) kaminari (~> 1.2.2) kramdown (~> 2.4) - letter_opener (~> 1.8) + letter_opener (~> 1.9) letter_opener_web (~> 2.0) - listen (>= 3.0.5, < 3.9) + listen (>= 3.0.5, < 3.10) lograge (~> 0.14.0) omniauth (~> 2.1.2) omniauth-feishu (~> 0.1.8) @@ -625,7 +619,7 @@ DEPENDENCIES omniauth_openid_connect (= 0.7.1) openssl (~> 3.2.0) pg (>= 0.18, < 2.0) - pghero (~> 3.4.0) + pghero (~> 3.4.1) plist (~> 3.7.1) propshaft (= 0.8.0) pry-rails diff --git a/README.md b/README.md index 06204bb07..75d0d1fd4 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,7 @@ ## 在线演示 -> **注意**: 演示服务使用免费资源部署,资源额度耗尽会不可访问次月初重置;数据每日都会重新初始化,不对用户上传的应用承担任何法律风险,后果自负! +> **注意**: 演示服务中的数据每日都会重新初始化,不对用户上传的应用承担任何法律风险,后果自负! - 演示地址:https://tryzealot.ews.im/ - 登录账户: `admin@zealot.com` diff --git a/app/controllers/admin/system_info_controller.rb b/app/controllers/admin/system_info_controller.rb index 84978b684..2ea119ecb 100644 --- a/app/controllers/admin/system_info_controller.rb +++ b/app/controllers/admin/system_info_controller.rb @@ -106,7 +106,7 @@ def set_disk_volumes obj.push( bytes_total: disk.bytes_total, bytes_used: disk.bytes_used, - mount_path: disk.path, + mount_path: disk.path&.force_encoding('UTF-8'), mount_options: mount.options, percent: percent, color: progress_color(percent) diff --git a/app/helpers/channels_helper.rb b/app/helpers/channels_helper.rb index 0c5529c9d..dfbc2e771 100644 --- a/app/helpers/channels_helper.rb +++ b/app/helpers/channels_helper.rb @@ -4,9 +4,8 @@ module ChannelsHelper def using_friendly_channel_path(scheme, channel) device_type = channel.device_type real_channel = scheme.channels.find_by(device_type: device_type) - unless real_channel - real_channel = scheme.channels.where.not(device_type: device_type).limit(1)&.first - end + real_channel ||= scheme.channels.where.not(device_type: device_type).take + return nil unless real_channel friendly_channel_overview_path(real_channel) end diff --git a/app/models/app.rb b/app/models/app.rb index d31e7a692..6aa5fcf3f 100644 --- a/app/models/app.rb +++ b/app/models/app.rb @@ -12,8 +12,10 @@ class App < ApplicationRecord validates :name, presence: true + after_destroy :delete_app_recently_releases_cache + def recently_release - Rails.cache.fetch("app_#{id}_recently_release") do + Rails.cache.fetch(recently_release_cache_key) do return unless schcmes_ids = schemes.select(:id).map(&:id) return unless channel_ids = Channel.select(:id).where(schemes: schcmes_ids).map(&:id) return unless release = Release.where(channels: channel_ids).last @@ -71,4 +73,14 @@ def all_idenfiters(device_type: nil) end end end + + private + + def recently_release_cache_key + @recently_release_cache_key ||= "app_#{id}_recently_release" + end + + def delete_app_recently_releases_cache + Rails.cache.delete(recently_release_cache_key) + end end diff --git a/app/models/channel.rb b/app/models/channel.rb index 46165920a..e76633739 100755 --- a/app/models/channel.rb +++ b/app/models/channel.rb @@ -22,6 +22,7 @@ class Channel < ApplicationRecord delegate :app, to: :scheme before_create :generate_default_values + after_destroy :delete_app_recently_releases_cache validates :name, presence: true validates :slug, uniqueness: true @@ -131,4 +132,12 @@ def generate_default_values self.key = Digest::MD5.hexdigest(File.join(SecureRandom.uuid, name)) self.slug = Digest::SHA1.base64digest(key).gsub(%r{[+\/=]}, '')[0..4] if slug.blank? end + + def recently_release_cache_key + @recently_release_cache_key ||= "app_#{app.id}_recently_release" + end + + def delete_app_recently_releases_cache + Rails.cache.delete(recently_release_cache_key) + end end diff --git a/app/models/concerns/release_url.rb b/app/models/concerns/release_url.rb index 8ad282aa0..539bdf9c5 100644 --- a/app/models/concerns/release_url.rb +++ b/app/models/concerns/release_url.rb @@ -12,9 +12,7 @@ def download_url end def install_url - if platform.casecmp?('unknown') || platform.casecmp?('android') || platform.casecmp?('macos') - return download_url - end + return download_url unless platform == 'iOS' ios_url = channel_release_install_url(channel.slug, id) "itms-services://?action=download-manifest&url=#{ios_url}" diff --git a/app/models/release.rb b/app/models/release.rb index ab58a6f22..4ab86912e 100644 --- a/app/models/release.rb +++ b/app/models/release.rb @@ -48,6 +48,25 @@ def self.upload_file(params, parser = nil, default_source = 'web') end end + def self.find_since_version(release_version, build_version) + current_release = select(:id).find_by( + release_version: release_version, + build_version: build_version + ) + + prepared_releases = if current_release + where('id > ?', current_release.id).order(id: :desc) + else + newer_versions = release_versions.select { |version| ge_version(version, release_version) } + where(elease_version: newer_versions,).order(id: :desc) + end + + prepared_releases.select { |release| + ge_version(release.release_version, release_version) && + gt_version(release.build_version, build_version) + } + end + def app_name "#{app.name} #{scheme.name} #{channel.name}" end diff --git a/app/models/scheme.rb b/app/models/scheme.rb index cb2b8eeeb..d919fbf6b 100644 --- a/app/models/scheme.rb +++ b/app/models/scheme.rb @@ -9,6 +9,8 @@ class Scheme < ApplicationRecord validates :name, presence: true + after_destroy :delete_app_recently_releases_cache + def app_name "#{app.name} #{name}" end @@ -20,4 +22,14 @@ def latest_channel def total_releases channels.size end + + private + + def recently_release_cache_key + @recently_release_cache_key ||= "app_#{app.id}_recently_release" + end + + def delete_app_recently_releases_cache + Rails.cache.delete(recently_release_cache_key) + end end diff --git a/app/serializers/api/latest_app_serializer.rb b/app/serializers/api/latest_app_serializer.rb index 8316241e1..aabc5fedb 100644 --- a/app/serializers/api/latest_app_serializer.rb +++ b/app/serializers/api/latest_app_serializer.rb @@ -12,6 +12,15 @@ def releases bundle_id = instance_options[:bundle_id] release_version = instance_options[:release_version] build_version = instance_options[:build_version] + + if bundle_id.blank? + if release_version.blank? && build_version.blank? + return object.releases.order(version: :desc) + else + return object.releases.find_since_version(release_version, build_version) + end + end + if release_version.blank? && build_version.blank? object.releases.find_by(bundle_id: bundle_id) else diff --git a/config/initializers/sentry.rb b/config/initializers/sentry.rb index dd34e16e8..b5419b62e 100644 --- a/config/initializers/sentry.rb +++ b/config/initializers/sentry.rb @@ -4,7 +4,7 @@ if Rails.env.production? && ActiveModel::Type::Boolean.new.cast(ENV['ZEALOT_SENTRY_DISABLE'] || false) Rails.configuration.to_prepare do Sentry.init do |config| - config.dsn = ENV['ZEALOT_SENTRY_DNS'] || 'https://133aefa9f52448a1a7900ba9d02f93e1@o333914.ingest.sentry.io/1878137' + config.dsn = ENV['ZEALOT_SENTRY_DNS'] || 'https://133aefa9f52448a1a7900ba9d02f93e1@o333914.ingest.us.sentry.io/1878137' config.include_local_variables = true config.rails.report_rescued_exceptions = true diff --git a/package.json b/package.json index 75d08bf2f..76088e2de 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "zealot", - "version": "5.2.0", + "version": "5.2.1", "private": true, "license": "MIT", "dependencies": { @@ -10,12 +10,12 @@ "admin-lte": "3.1.0", "clipboard": "^2.0.11", "compare-versions": "^6.0.0", - "esbuild": "^0.20.1", - "sass": "^1.71.1", + "esbuild": "^0.20.2", + "sass": "^1.72.0", "ua-parser-js": "^1.0.37" }, "scripts": { - "build": "esbuild app/javascript/*.* --bundle --sourcemap --outdir=app/assets/builds --public-path=assets", + "build": "esbuild app/javascript/*.* --bundle --sourcemap --outdir=app/assets/builds --public-path=assets --format=esm --target=es2017", "build:css": "sass app/assets/stylesheets/application.sass.scss:app/assets/builds/application.css --no-source-map --load-path=node_modules" } } diff --git a/yarn.lock b/yarn.lock index ad09277d6..72b31c38e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,120 +2,120 @@ # yarn lockfile v1 -"@esbuild/aix-ppc64@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.1.tgz#eafa8775019b3650a77e8310ba4dbd17ca7af6d5" - integrity sha512-m55cpeupQ2DbuRGQMMZDzbv9J9PgVelPjlcmM5kxHnrBdBx6REaEd7LamYV7Dm8N7rCyR/XwU6rVP8ploKtIkA== - -"@esbuild/android-arm64@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.20.1.tgz#68791afa389550736f682c15b963a4f37ec2f5f6" - integrity sha512-hCnXNF0HM6AjowP+Zou0ZJMWWa1VkD77BXe959zERgGJBBxB+sV+J9f/rcjeg2c5bsukD/n17RKWXGFCO5dD5A== - -"@esbuild/android-arm@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.20.1.tgz#38c91d8ee8d5196f7fbbdf4f0061415dde3a473a" - integrity sha512-4j0+G27/2ZXGWR5okcJi7pQYhmkVgb4D7UKwxcqrjhvp5TKWx3cUjgB1CGj1mfdmJBQ9VnUGgUhign+FPF2Zgw== - -"@esbuild/android-x64@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.20.1.tgz#93f6190ce997b313669c20edbf3645fc6c8d8f22" - integrity sha512-MSfZMBoAsnhpS+2yMFYIQUPs8Z19ajwfuaSZx+tSl09xrHZCjbeXXMsUF/0oq7ojxYEpsSo4c0SfjxOYXRbpaA== - -"@esbuild/darwin-arm64@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.20.1.tgz#0d391f2e81fda833fe609182cc2fbb65e03a3c46" - integrity sha512-Ylk6rzgMD8klUklGPzS414UQLa5NPXZD5tf8JmQU8GQrj6BrFA/Ic9tb2zRe1kOZyCbGl+e8VMbDRazCEBqPvA== - -"@esbuild/darwin-x64@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.20.1.tgz#92504077424584684862f483a2242cfde4055ba2" - integrity sha512-pFIfj7U2w5sMp52wTY1XVOdoxw+GDwy9FsK3OFz4BpMAjvZVs0dT1VXs8aQm22nhwoIWUmIRaE+4xow8xfIDZA== - -"@esbuild/freebsd-arm64@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.1.tgz#a1646fa6ba87029c67ac8a102bb34384b9290774" - integrity sha512-UyW1WZvHDuM4xDz0jWun4qtQFauNdXjXOtIy7SYdf7pbxSWWVlqhnR/T2TpX6LX5NI62spt0a3ldIIEkPM6RHw== - -"@esbuild/freebsd-x64@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.20.1.tgz#41c9243ab2b3254ea7fb512f71ffdb341562e951" - integrity sha512-itPwCw5C+Jh/c624vcDd9kRCCZVpzpQn8dtwoYIt2TJF3S9xJLiRohnnNrKwREvcZYx0n8sCSbvGH349XkcQeg== - -"@esbuild/linux-arm64@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.20.1.tgz#f3c1e1269fbc9eedd9591a5bdd32bf707a883156" - integrity sha512-cX8WdlF6Cnvw/DO9/X7XLH2J6CkBnz7Twjpk56cshk9sjYVcuh4sXQBy5bmTwzBjNVZze2yaV1vtcJS04LbN8w== - -"@esbuild/linux-arm@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.20.1.tgz#4503ca7001a8ee99589c072801ce9d7540717a21" - integrity sha512-LojC28v3+IhIbfQ+Vu4Ut5n3wKcgTu6POKIHN9Wpt0HnfgUGlBuyDDQR4jWZUZFyYLiz4RBBBmfU6sNfn6RhLw== - -"@esbuild/linux-ia32@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.20.1.tgz#98c474e3e0cbb5bcbdd8561a6e65d18f5767ce48" - integrity sha512-4H/sQCy1mnnGkUt/xszaLlYJVTz3W9ep52xEefGtd6yXDQbz/5fZE5dFLUgsPdbUOQANcVUa5iO6g3nyy5BJiw== - -"@esbuild/linux-loong64@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.20.1.tgz#a8097d28d14b9165c725fe58fc438f80decd2f33" - integrity sha512-c0jgtB+sRHCciVXlyjDcWb2FUuzlGVRwGXgI+3WqKOIuoo8AmZAddzeOHeYLtD+dmtHw3B4Xo9wAUdjlfW5yYA== - -"@esbuild/linux-mips64el@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.20.1.tgz#c44f6f0d7d017c41ad3bb15bfdb69b690656b5ea" - integrity sha512-TgFyCfIxSujyuqdZKDZ3yTwWiGv+KnlOeXXitCQ+trDODJ+ZtGOzLkSWngynP0HZnTsDyBbPy7GWVXWaEl6lhA== - -"@esbuild/linux-ppc64@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.20.1.tgz#0765a55389a99237b3c84227948c6e47eba96f0d" - integrity sha512-b+yuD1IUeL+Y93PmFZDZFIElwbmFfIKLKlYI8M6tRyzE6u7oEP7onGk0vZRh8wfVGC2dZoy0EqX1V8qok4qHaw== - -"@esbuild/linux-riscv64@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.20.1.tgz#e4153b032288e3095ddf4c8be07893781b309a7e" - integrity sha512-wpDlpE0oRKZwX+GfomcALcouqjjV8MIX8DyTrxfyCfXxoKQSDm45CZr9fanJ4F6ckD4yDEPT98SrjvLwIqUCgg== - -"@esbuild/linux-s390x@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.20.1.tgz#b9ab8af6e4b73b26d63c1c426d7669a5d53eb5a7" - integrity sha512-5BepC2Au80EohQ2dBpyTquqGCES7++p7G+7lXe1bAIvMdXm4YYcEfZtQrP4gaoZ96Wv1Ute61CEHFU7h4FMueQ== - -"@esbuild/linux-x64@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.20.1.tgz#0b25da17ac38c3e11cdd06ca3691d4d6bef2755f" - integrity sha512-5gRPk7pKuaIB+tmH+yKd2aQTRpqlf1E4f/mC+tawIm/CGJemZcHZpp2ic8oD83nKgUPMEd0fNanrnFljiruuyA== - -"@esbuild/netbsd-x64@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.20.1.tgz#3148e48406cd0d4f7ba1e0bf3f4d77d548c98407" - integrity sha512-4fL68JdrLV2nVW2AaWZBv3XEm3Ae3NZn/7qy2KGAt3dexAgSVT+Hc97JKSZnqezgMlv9x6KV0ZkZY7UO5cNLCg== - -"@esbuild/openbsd-x64@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.20.1.tgz#7b73e852986a9750192626d377ac96ac2b749b76" - integrity sha512-GhRuXlvRE+twf2ES+8REbeCb/zeikNqwD3+6S5y5/x+DYbAQUNl0HNBs4RQJqrechS4v4MruEr8ZtAin/hK5iw== - -"@esbuild/sunos-x64@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.20.1.tgz#402a441cdac2eee98d8be378c7bc23e00c1861c5" - integrity sha512-ZnWEyCM0G1Ex6JtsygvC3KUUrlDXqOihw8RicRuQAzw+c4f1D66YlPNNV3rkjVW90zXVsHwZYWbJh3v+oQFM9Q== - -"@esbuild/win32-arm64@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.20.1.tgz#36c4e311085806a6a0c5fc54d1ac4d7b27e94d7b" - integrity sha512-QZ6gXue0vVQY2Oon9WyLFCdSuYbXSoxaZrPuJ4c20j6ICedfsDilNPYfHLlMH7vGfU5DQR0czHLmJvH4Nzis/A== - -"@esbuild/win32-ia32@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.20.1.tgz#0cf933be3fb9dc58b45d149559fe03e9e22b54fe" - integrity sha512-HzcJa1NcSWTAU0MJIxOho8JftNp9YALui3o+Ny7hCh0v5f90nprly1U3Sj1Ldj/CvKKdvvFsCRvDkpsEMp4DNw== - -"@esbuild/win32-x64@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.20.1.tgz#77583b6ea54cee7c1410ebbd54051b6a3fcbd8ba" - integrity sha512-0MBh53o6XtI6ctDnRMeQ+xoCN8kD2qI1rY1KgF/xdWQwoFeKou7puvDfV8/Wv4Ctx2rRpET/gGdz3YlNtNACSA== +"@esbuild/aix-ppc64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz#a70f4ac11c6a1dfc18b8bbb13284155d933b9537" + integrity sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g== + +"@esbuild/android-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz#db1c9202a5bc92ea04c7b6840f1bbe09ebf9e6b9" + integrity sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg== + +"@esbuild/android-arm@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.20.2.tgz#3b488c49aee9d491c2c8f98a909b785870d6e995" + integrity sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w== + +"@esbuild/android-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.20.2.tgz#3b1628029e5576249d2b2d766696e50768449f98" + integrity sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg== + +"@esbuild/darwin-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz#6e8517a045ddd86ae30c6608c8475ebc0c4000bb" + integrity sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA== + +"@esbuild/darwin-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz#90ed098e1f9dd8a9381695b207e1cff45540a0d0" + integrity sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA== + +"@esbuild/freebsd-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz#d71502d1ee89a1130327e890364666c760a2a911" + integrity sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw== + +"@esbuild/freebsd-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz#aa5ea58d9c1dd9af688b8b6f63ef0d3d60cea53c" + integrity sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw== + +"@esbuild/linux-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz#055b63725df678379b0f6db9d0fa85463755b2e5" + integrity sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A== + +"@esbuild/linux-arm@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz#76b3b98cb1f87936fbc37f073efabad49dcd889c" + integrity sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg== + +"@esbuild/linux-ia32@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz#c0e5e787c285264e5dfc7a79f04b8b4eefdad7fa" + integrity sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig== + +"@esbuild/linux-loong64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz#a6184e62bd7cdc63e0c0448b83801001653219c5" + integrity sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ== + +"@esbuild/linux-mips64el@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz#d08e39ce86f45ef8fc88549d29c62b8acf5649aa" + integrity sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA== + +"@esbuild/linux-ppc64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz#8d252f0b7756ffd6d1cbde5ea67ff8fd20437f20" + integrity sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg== + +"@esbuild/linux-riscv64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz#19f6dcdb14409dae607f66ca1181dd4e9db81300" + integrity sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg== + +"@esbuild/linux-s390x@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz#3c830c90f1a5d7dd1473d5595ea4ebb920988685" + integrity sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ== + +"@esbuild/linux-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz#86eca35203afc0d9de0694c64ec0ab0a378f6fff" + integrity sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw== + +"@esbuild/netbsd-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz#e771c8eb0e0f6e1877ffd4220036b98aed5915e6" + integrity sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ== + +"@esbuild/openbsd-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz#9a795ae4b4e37e674f0f4d716f3e226dd7c39baf" + integrity sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ== + +"@esbuild/sunos-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz#7df23b61a497b8ac189def6e25a95673caedb03f" + integrity sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w== + +"@esbuild/win32-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz#f1ae5abf9ca052ae11c1bc806fb4c0f519bacf90" + integrity sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ== + +"@esbuild/win32-ia32@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz#241fe62c34d8e8461cd708277813e1d0ba55ce23" + integrity sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ== + +"@esbuild/win32-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz#9c907b21e30a52db959ba4f80bb01a0cc403d5cc" + integrity sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ== "@fortawesome/fontawesome-free@^5.15.3": version "5.15.4" @@ -782,34 +782,34 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -esbuild@^0.20.1: - version "0.20.1" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.20.1.tgz#1e4cbb380ad1959db7609cb9573ee77257724a3e" - integrity sha512-OJwEgrpWm/PCMsLVWXKqvcjme3bHNpOgN7Tb6cQnR5n0TPbQx1/Xrn7rqM+wn17bYeT6MGB5sn1Bh5YiGi70nA== +esbuild@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.20.2.tgz#9d6b2386561766ee6b5a55196c6d766d28c87ea1" + integrity sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g== optionalDependencies: - "@esbuild/aix-ppc64" "0.20.1" - "@esbuild/android-arm" "0.20.1" - "@esbuild/android-arm64" "0.20.1" - "@esbuild/android-x64" "0.20.1" - "@esbuild/darwin-arm64" "0.20.1" - "@esbuild/darwin-x64" "0.20.1" - "@esbuild/freebsd-arm64" "0.20.1" - "@esbuild/freebsd-x64" "0.20.1" - "@esbuild/linux-arm" "0.20.1" - "@esbuild/linux-arm64" "0.20.1" - "@esbuild/linux-ia32" "0.20.1" - "@esbuild/linux-loong64" "0.20.1" - "@esbuild/linux-mips64el" "0.20.1" - "@esbuild/linux-ppc64" "0.20.1" - "@esbuild/linux-riscv64" "0.20.1" - "@esbuild/linux-s390x" "0.20.1" - "@esbuild/linux-x64" "0.20.1" - "@esbuild/netbsd-x64" "0.20.1" - "@esbuild/openbsd-x64" "0.20.1" - "@esbuild/sunos-x64" "0.20.1" - "@esbuild/win32-arm64" "0.20.1" - "@esbuild/win32-ia32" "0.20.1" - "@esbuild/win32-x64" "0.20.1" + "@esbuild/aix-ppc64" "0.20.2" + "@esbuild/android-arm" "0.20.2" + "@esbuild/android-arm64" "0.20.2" + "@esbuild/android-x64" "0.20.2" + "@esbuild/darwin-arm64" "0.20.2" + "@esbuild/darwin-x64" "0.20.2" + "@esbuild/freebsd-arm64" "0.20.2" + "@esbuild/freebsd-x64" "0.20.2" + "@esbuild/linux-arm" "0.20.2" + "@esbuild/linux-arm64" "0.20.2" + "@esbuild/linux-ia32" "0.20.2" + "@esbuild/linux-loong64" "0.20.2" + "@esbuild/linux-mips64el" "0.20.2" + "@esbuild/linux-ppc64" "0.20.2" + "@esbuild/linux-riscv64" "0.20.2" + "@esbuild/linux-s390x" "0.20.2" + "@esbuild/linux-x64" "0.20.2" + "@esbuild/netbsd-x64" "0.20.2" + "@esbuild/openbsd-x64" "0.20.2" + "@esbuild/sunos-x64" "0.20.2" + "@esbuild/win32-arm64" "0.20.2" + "@esbuild/win32-ia32" "0.20.2" + "@esbuild/win32-x64" "0.20.2" ev-emitter@^1.0.0: version "1.1.1" @@ -1434,10 +1434,10 @@ safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sass@^1.71.1: - version "1.71.1" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.71.1.tgz#dfb09c63ce63f89353777bbd4a88c0a38386ee54" - integrity sha512-wovtnV2PxzteLlfNzbgm1tFXPLoZILYAMJtvoXXkD7/+1uP41eKkIt1ypWq5/q2uT94qHjXehEYfmjKOvjL9sg== +sass@^1.72.0: + version "1.72.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.72.0.tgz#5b9978943fcfb32b25a6a5acb102fc9dabbbf41c" + integrity sha512-Gpczt3WA56Ly0Mn8Sl21Vj94s1axi9hDIzDFn9Ph9x3C3p4nNyvsqJoQyVXKou6cBlfFWEgRW4rT8Tb4i3XnVA== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0"