diff --git a/app/views/user_mailer/welcome_email.text.erb b/app/views/user_mailer/welcome_email.text.erb
new file mode 100644
index 000000000..edb93c8a1
--- /dev/null
+++ b/app/views/user_mailer/welcome_email.text.erb
@@ -0,0 +1,8 @@
+<%= t('.greeting', name: @user.first_name) %>
+<%= t('.login_info') %>:
+ <%= t('.email', email: @user.email) %>
+ <%= t('.password', password: @user.password) %>
+
+<%= t('.to_login') %> : <%= @url %>
+
+<%= t('.thanks') %>
diff --git a/bin/dev b/bin/dev
new file mode 100755
index 000000000..74ade1664
--- /dev/null
+++ b/bin/dev
@@ -0,0 +1,8 @@
+#!/usr/bin/env sh
+
+if ! gem list foreman -i --silent; then
+ echo "Installing foreman..."
+ gem install foreman
+fi
+
+exec foreman start -f Procfile.dev "$@"
diff --git a/bin/importmap b/bin/importmap
new file mode 100755
index 000000000..36502ab16
--- /dev/null
+++ b/bin/importmap
@@ -0,0 +1,4 @@
+#!/usr/bin/env ruby
+
+require_relative "../config/application"
+require "importmap/commands"
diff --git a/bin/render-build.sh b/bin/render-build.sh
old mode 100644
new mode 100755
index aacff69f5..60e69ce14
--- a/bin/render-build.sh
+++ b/bin/render-build.sh
@@ -4,5 +4,6 @@ set -o errexit
bundle install
bundle exec rake db:migrate
+bundle exec rake db:seed
bundle exec rake assets:precompile
bundle exec rake assets:clean
diff --git a/bin/rubocop.sh b/bin/rubocop.sh
old mode 100644
new mode 100755
diff --git a/bin/webpack b/bin/webpack
deleted file mode 100755
index 62114baeb..000000000
--- a/bin/webpack
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/usr/bin/env ruby
-# frozen_string_literal: true
-
-ENV['RAILS_ENV'] ||= ENV['RACK_ENV'] || 'development'
-ENV['NODE_ENV'] ||= 'development'
-
-require 'pathname'
-ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile',
- Pathname.new(__FILE__).realpath)
-
-require 'bundler/setup'
-
-require 'webpacker'
-require 'webpacker/webpack_runner'
-
-APP_ROOT = File.expand_path('..', __dir__)
-Dir.chdir(APP_ROOT) do
- Webpacker::WebpackRunner.run(ARGV)
-end
diff --git a/bin/webpack-dev-server b/bin/webpack-dev-server
deleted file mode 100755
index e4f41ccd4..000000000
--- a/bin/webpack-dev-server
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/usr/bin/env ruby
-# frozen_string_literal: true
-
-ENV['RAILS_ENV'] ||= ENV['RACK_ENV'] || 'development'
-ENV['NODE_ENV'] ||= 'development'
-
-require 'pathname'
-ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile',
- Pathname.new(__FILE__).realpath)
-
-require 'bundler/setup'
-
-require 'webpacker'
-require 'webpacker/dev_server_runner'
-
-APP_ROOT = File.expand_path('..', __dir__)
-Dir.chdir(APP_ROOT) do
- Webpacker::DevServerRunner.run(ARGV)
-end
diff --git a/config/application.rb b/config/application.rb
index a8b4439e7..effb599d4 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -12,7 +12,7 @@
module ZeroWaste
class Application < Rails::Application
# Initialize configuration defaults for originally generated Rails version.
- config.load_defaults 6.1
+ config.load_defaults 7.1
config.active_job.queue_adapter = :sidekiq
# Configuration for the application, engines, and railties goes here.
@@ -20,11 +20,13 @@ class Application < Rails::Application
# These settings can be overridden in specific environments using the files
# in config/environments, which are processed later.
#
- # config.time_zone = "Central Time (US & Canada)"
+ config.time_zone = "Kyiv"
# config.eager_load_paths << Rails.root.join("extras")
config.i18n.available_locales = [:en, :uk]
config.i18n.default_locale = :en
config.i18n.load_path += Dir[Rails.root.join("config", "locales", "**", "*.{rb,yml}")]
+
+ config.assets.css_compressor = nil
end
end
diff --git a/config/database.yml.sample b/config/database.yml.sample
index 9a248369b..4526d46d2 100644
--- a/config/database.yml.sample
+++ b/config/database.yml.sample
@@ -7,7 +7,6 @@ default: &default
password: <%= ENV["ZW_DATABASE_PASSWORD"] %>
port: <%= ENV.fetch("ZW_DATABASE_PORT") { "5432" } %>
- pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
development:
<<: *default
database: zero_waste_development
diff --git a/config/environments/development.rb b/config/environments/development.rb
index 4d7f9d3e1..519517cee 100644
--- a/config/environments/development.rb
+++ b/config/environments/development.rb
@@ -64,7 +64,7 @@
# Debug mode disables concatenation and preprocessing of assets.
# This option may cause significant delays in view rendering with a large
# number of complex assets.
- config.assets.debug = true
+ config.assets.compile = true
# Suppress logger output for asset requests.
config.assets.quiet = true
diff --git a/config/environments/production.rb b/config/environments/production.rb
index fb755a534..343f49737 100644
--- a/config/environments/production.rb
+++ b/config/environments/production.rb
@@ -30,7 +30,6 @@
config.public_file_server.enabled = ENV["RAILS_SERVE_STATIC_FILES"].present?
# Compress CSS using a preprocessor.
- # config.assets.css_compressor = :sass
# Do not fallback to assets pipeline if a precompiled asset is missed.
config.assets.compile = false
diff --git a/config/environments/test.rb b/config/environments/test.rb
index f6ecab9eb..55d120509 100644
--- a/config/environments/test.rb
+++ b/config/environments/test.rb
@@ -34,7 +34,7 @@
config.cache_store = :null_store
# Raise exceptions instead of rendering exception templates.
- config.action_dispatch.show_exceptions = false
+ config.action_dispatch.show_exceptions = :none
# Disable request forgery protection in test environment.
config.action_controller.allow_forgery_protection = false
@@ -48,6 +48,7 @@
# The :test delivery method accumulates sent emails in the
# ActionMailer::Base.deliveries array.
config.action_mailer.delivery_method = :test
+ config.action_mailer.default_url_options = { host: "localhost" }
# Print deprecation notices to the stderr.
config.active_support.deprecation = :stderr
diff --git a/config/importmap.rb b/config/importmap.rb
new file mode 100644
index 000000000..0ed3f37e8
--- /dev/null
+++ b/config/importmap.rb
@@ -0,0 +1,16 @@
+# Pin npm packages by running ./bin/importmap
+
+pin "application", preload: true
+pin "@hotwired/turbo-rails", to: "turbo.min.js", preload: true
+pin "@hotwired/stimulus", to: "stimulus.min.js", preload: true
+pin "@hotwired/stimulus-loading", to: "stimulus-loading.js", preload: true
+pin "jquery", to: "https://ga.jspm.io/npm:jquery@3.7.0/dist/jquery.js"
+pin_all_from "app/javascript/controllers", under: "controllers"
+pin_all_from "app/javascript/channels", under: "channels"
+pin_all_from "app/javascript/turbo_streams", under: "turbo_streams"
+pin_all_from "app/javascript/helpers", under: "helpers"
+pin "bootstrap", to: "https://ga.jspm.io/npm:bootstrap@5.3.0/dist/js/bootstrap.esm.js", preload: true
+pin "@fortawesome/fontawesome-free", to: "https://ga.jspm.io/npm:@fortawesome/fontawesome-free@6.4.0/js/all.js", preload: true
+pin "@popperjs/core", to: "https://ga.jspm.io/npm:@popperjs/core@2.11.8/lib/index.js", preload: true
+pin "@rails/actioncable", to: "actioncable.esm.js", preload: true
+pin "toastify-js", to: "https://ga.jspm.io/npm:toastify-js@1.12.0/src/toastify.js", preload: true
diff --git a/config/initializers/assets.rb b/config/initializers/assets.rb
index ba194685a..d8de57926 100644
--- a/config/initializers/assets.rb
+++ b/config/initializers/assets.rb
@@ -13,4 +13,4 @@
# Precompile additional assets.
# application.js, application.css, and all non-JS/CSS in the app/assets
# folder are already added.
-# Rails.application.config.assets.precompile += %w( admin.js admin.css )
+Rails.application.config.assets.precompile += ["turbo-streams.js", "bootstrap.min.js", "popper.js", "jquery.min.js", "jquery_ujs.js", "toastify-js"]
diff --git a/config/initializers/devise.rb b/config/initializers/devise.rb
index fd6620d43..d75635fa4 100644
--- a/config/initializers/devise.rb
+++ b/config/initializers/devise.rb
@@ -178,7 +178,7 @@
# ==> Configuration for :validatable
# Range for password length.
- # config.password_length = 6..128
+ config.password_length = 8..64
# Email regex used to validate email formats. It simply asserts that
# one (and only one) @ exists in the given string. This is mainly
@@ -309,6 +309,8 @@
# When set to false, does not sign a user in automatically after their password is
# changed. Defaults to true, so a user is signed in automatically after changing a password.
# config.sign_in_after_change_password = true
+ config.responder.error_status = :unprocessable_entity
+ config.responder.redirect_status = :see_other
end
Devise::Async.setup do |config|
diff --git a/config/initializers/factory_bot.rb b/config/initializers/factory_bot.rb
new file mode 100644
index 000000000..ce6893dba
--- /dev/null
+++ b/config/initializers/factory_bot.rb
@@ -0,0 +1,11 @@
+if defined?(FactoryBot)
+ module FactoryBotCharacters
+ def clear_special_characters(string)
+ string.gsub(/[^0-9A-Za-zа-яА-Я ]/, "")
+ end
+ end
+
+ class FactoryBot::SyntaxRunner
+ include FactoryBotCharacters
+ end
+end
diff --git a/config/initializers/flipper/features.rb b/config/initializers/flipper/features.rb
new file mode 100644
index 000000000..24f9571ad
--- /dev/null
+++ b/config/initializers/flipper/features.rb
@@ -0,0 +1,12 @@
+if Flipper::Adapters::ActiveRecord::Feature.table_exists?
+ require_relative "flipper_feature"
+
+ Flipper[:new_calculator_design].en_description = "This feature flag is responsible for enabling new calculator design"
+ Flipper[:new_calculator_design].uk_description = "Відкриває можливість використовувати новий дизайн калькулятора"
+
+ Flipper[:show_calculators_list].en_description = "This feature flag controls the visibility of the calculators page on the public side"
+ Flipper[:show_calculators_list].uk_description = "Цей прапорець відображає або приховує сторінку калькуляторів на публічній стороні"
+
+ Flipper[:sandbox_mode].en_description = "This feature flag is responsible for enabling sandbox mode"
+ Flipper[:sandbox_mode].uk_description = "Відкриває можливість використовувати режим пісочниці"
+end
diff --git a/config/initializers/flipper/flipper.rb b/config/initializers/flipper/flipper.rb
new file mode 100644
index 000000000..97f69ca95
--- /dev/null
+++ b/config/initializers/flipper/flipper.rb
@@ -0,0 +1,26 @@
+if Flipper::Adapters::ActiveRecord::Feature.table_exists?
+ require "flipper/adapters/active_record"
+
+ require_relative "flipper_feature"
+ require "./app/services/database_backup_service"
+
+ Flipper.configure do |config|
+ config.default do
+ Flipper.new(Flipper::Adapters::ActiveRecord.new)
+ end
+ end
+
+ Flipper.features.each do |feature|
+ case feature.name
+ when "sandbox_mode"
+ Flipper.disable(feature.name) unless DatabaseBackupService.sandbox_enabled?
+ when "show_calculators_list"
+ Flipper.disable(feature.name)
+ else
+ Flipper.enable(feature.name)
+ end
+ end
+
+ # add string below after creating staging environment
+ # Flipper.remove(:sandbox_mode) if Rails.env.production?
+end
diff --git a/config/initializers/flipper/flipper_feature.rb b/config/initializers/flipper/flipper_feature.rb
new file mode 100644
index 000000000..b984e3e44
--- /dev/null
+++ b/config/initializers/flipper/flipper_feature.rb
@@ -0,0 +1,18 @@
+if Flipper::Adapters::ActiveRecord::Feature.table_exists?
+ class Flipper::Feature
+ delegate :en_description, :en_description=, to: :feature_record
+ delegate :uk_description, :uk_description=, to: :feature_record
+
+ alias_method :name, :key
+
+ def description
+ public_send("#{I18n.locale}_description")
+ end
+
+ private
+
+ def feature_record
+ @feature_record ||= Flipper::Adapters::ActiveRecord::Feature.find_or_create_by(key: key)
+ end
+ end
+end
diff --git a/config/initializers/kaminari_config.rb b/config/initializers/kaminari_config.rb
new file mode 100644
index 000000000..8e623edd8
--- /dev/null
+++ b/config/initializers/kaminari_config.rb
@@ -0,0 +1,14 @@
+# frozen_string_literal: true
+
+Kaminari.configure do |config|
+ config.default_per_page = 10
+ config.window = 2
+ # config.max_per_page = nil
+ config.outer_window = 1
+ # config.left = 0
+ # config.right = 0
+ # config.page_method_name = :page
+ # config.param_name = :page
+ # config.max_pages = nil
+ # config.params_on_first_page = false
+end
diff --git a/config/initializers/rails_db.rb b/config/initializers/rails_db.rb
new file mode 100644
index 000000000..e2fc05a67
--- /dev/null
+++ b/config/initializers/rails_db.rb
@@ -0,0 +1,35 @@
+if Object.const_defined?(:RailsDb)
+ RailsDb.setup do |config|
+ # # enabled or not
+ # config.enabled = Rails.env.development?
+
+ # # automatic engine routes mounting
+ # config.automatic_routes_mount = true
+
+ # set tables which you want to hide ONLY
+ # config.black_list_tables = ['users', 'accounts']
+
+ # set tables which you want to show ONLY
+ # config.white_list_tables = ['posts', 'comments']
+
+ # # Enable http basic authentication
+ # config.http_basic_authentication_enabled = false
+
+ # # Enable http basic authentication
+ # config.http_basic_authentication_user_name = 'rails_db'
+
+ # # Enable http basic authentication
+ # config.http_basic_authentication_password = 'password'
+
+ # # Enable http basic authentication
+ # config.verify_access_proc = proc { |controller| true }
+
+ # # Sandbox mode (only read-only operations)
+ config.sandbox = true
+
+ # Enable access for admins only
+ config.verify_access_proc = proc do |controller|
+ controller.current_user ? controller.current_user.admin? : false
+ end
+ end
+end
diff --git a/config/initializers/ransack.rb b/config/initializers/ransack.rb
new file mode 100644
index 000000000..94a44ed96
--- /dev/null
+++ b/config/initializers/ransack.rb
@@ -0,0 +1,6 @@
+Ransack.configure do |c|
+ c.custom_arrows = {
+ up_arrow: '',
+ down_arrow: ''
+ }
+end
diff --git a/config/initializers/simple_form_bootstrap.rb b/config/initializers/simple_form_bootstrap.rb
index 2ab221dc0..373eb7340 100644
--- a/config/initializers/simple_form_bootstrap.rb
+++ b/config/initializers/simple_form_bootstrap.rb
@@ -1,36 +1,35 @@
# frozen_string_literal: true
-# Please do not make direct changes to this file!
-# This generator is maintained by the community around simple_form-bootstrap:
-# https://github.com/rafaelfranca/simple_form-bootstrap
-# All future development, tests, and organization should happen there.
-# Background history: https://github.com/heartcombo/simple_form/issues/1561
+# These defaults are defined and maintained by the community at
+# https://github.com/heartcombo/simple_form-bootstrap
+# Please submit feedback, changes and tests only there.
+ALERT_DANGER = "alert alert-danger"
+COL_FORM_LABEL = "col-form-label pt-0"
+COL_FORM_LABEL_SM = "col-sm-3 col-form-label"
+COL_FORM_LABEL_SM_PT = "col-sm-3 col-form-label pt-0"
+COL_SM = "col-sm-9"
+IS_VALID = "is-valid"
+IS_INVALID = "is-invalid"
+FORM_CHECK_LABEL = "form-check-label"
+FORM_CHECK = "form-check"
+FORM_CHECK_INPUT = "form-check-input"
+FORM_CONTROL = "form-control"
+FORM_GROUP = "form-group"
+FORM_LABEL = "form-label"
+FORM_LABEL_BLOCK = "form-label d-block"
+FORM_SELECT = "form-select"
+FORM_TEXT = "form-text"
+FLEX = "d-flex flex-row justify-content-between align-items-center"
+INVALID_FEEDBACK = "invalid-feedback"
+INVALID_FEEDBACK_BLOCK = "invalid-feedback d-block"
+MB = "mb-3"
+ROW_MB = "row mb-3"
# Uncomment this and change the path if necessary to include your own
# components.
# See https://github.com/heartcombo/simple_form#custom-components
# to know more about custom components.
-# Dir[Rails.root.join('lib/components/**/*.rb')].each { |f| require f }
-
-IS_VALID = "is-valid"
-IS_INVALID = "is-invalid"
-FORM_CHECK_LABEL = "form-check-label"
-FORM_GROUP = "form-group"
-FORM_GROUP_VALID = "form-group-valid"
-FORM_GROUP_INVALID = "form-group-valid"
-FORM_CONTROL = "form-control"
-INVALID_FEEDBACK = "invalid-feedback"
-FORM_TEXT = "form-text text-muted"
-FORM_CHECK = "form-check"
-FORM_CHECK_INPUT = "form-check-input"
-COL_FORM_LABEL = "col-form-label pt-0"
-INVALID_FEEDBACK_BLOCK = "invalid-feedback d-block"
-FLEX = "d-flex flex-row justify-content-between align-items-center"
-FORM_GROUP_ROW = "form-group row"
-COL_FORM_LABEL_SM = "col-sm-3 col-form-label"
-COL_SM = "col-sm-9"
-CUSTOM_CONTROL_INPUT = "custom-control-input"
-CUSTOM_CONTROL_LABEL = "custom-control-label"
+Dir[Rails.root.join("lib", "components", "**", "*.rb")].sort.each { |f| require f }
# Use this setup block to configure all options available in SimpleForm.
SimpleForm.setup do |config|
@@ -41,9 +40,7 @@
config.boolean_label_class = FORM_CHECK_LABEL
# How the label text should be generated altogether with the required text.
- config.label_text = lambda { |label, required, _explicit_label|
- "#{label} #{required}"
- }
+ config.label_text = lambda { |label, required, explicit_label| "#{label} #{required}" }
# Define the way to render check boxes / radio buttons with labels.
config.boolean_style = :inline
@@ -56,7 +53,7 @@
config.include_default_input_wrapper_class = false
# CSS class to add for error notification helper.
- config.error_notification_class = "alert alert-danger"
+ config.error_notification_class = ALERT_DANGER
# Method used to tidy up errors. Specify any Rails Array method.
# :first lists the first message for each field.
@@ -70,9 +67,7 @@
# vertical forms
#
# vertical default_wrapper
- config.wrappers :vertical_form, tag: "div", class: FORM_GROUP,
- error_class: FORM_GROUP_INVALID,
- valid_class: FORM_GROUP_VALID do |b|
+ config.wrappers :vertical_form, class: MB do |b|
b.use :html5
b.use :placeholder
b.optional :maxlength
@@ -80,114 +75,99 @@
b.optional :pattern
b.optional :min_max
b.optional :readonly
- b.use :label
- b.use :input, class: FORM_CONTROL, error_class: IS_INVALID,
- valid_class: IS_VALID
- b.use :full_error, wrap_with: { tag: "div", class: INVALID_FEEDBACK }
- b.use :hint, wrap_with: { tag: "small", class: FORM_TEXT }
+ b.use :label, class: FORM_LABEL
+ b.use :input, class: FORM_CONTROL, error_class: IS_INVALID, valid_class: IS_VALID
+ b.use :full_error, wrap_with: { class: INVALID_FEEDBACK }
+ b.use :hint, wrap_with: { class: FORM_TEXT }
end
# vertical input for boolean
- config.wrappers :vertical_boolean, tag: "fieldset", class: FORM_GROUP,
- error_class: FORM_GROUP_INVALID,
- valid_class: FORM_GROUP_VALID do |b|
+ config.wrappers :vertical_boolean, tag: "fieldset", class: MB do |b|
b.use :html5
b.optional :readonly
- b.wrapper :form_check_wrapper, tag: "div", class: FORM_CHECK do |bb|
- bb.use :input, class: FORM_CHECK_INPUT, error_class: IS_INVALID,
- valid_class: IS_VALID
+ b.wrapper :form_check_wrapper, class: FORM_CHECK do |bb|
+ bb.use :input, class: FORM_CHECK_INPUT, error_class: IS_INVALID, valid_class: IS_VALID
bb.use :label, class: FORM_CHECK_LABEL
- bb.use :full_error, wrap_with: { tag: "div", class: INVALID_FEEDBACK }
- bb.use :hint, wrap_with: { tag: "small", class: FORM_TEXT }
+ bb.use :full_error, wrap_with: { class: INVALID_FEEDBACK }
+ bb.use :hint, wrap_with: { class: FORM_TEXT }
end
end
# vertical input for radio buttons and check boxes
- config.wrappers :vertical_collection, item_wrapper_class: FORM_CHECK,
- item_label_class: FORM_CHECK_LABEL,
- tag: "fieldset", class: FORM_GROUP,
- error_class: FORM_GROUP_INVALID,
- valid_class: FORM_GROUP_VALID do |b|
+ config.wrappers :vertical_collection, item_wrapper_class: FORM_CHECK, item_label_class: FORM_CHECK_LABEL, tag: "fieldset", class: MB do |b|
b.use :html5
b.optional :readonly
b.wrapper :legend_tag, tag: "legend", class: COL_FORM_LABEL do |ba|
ba.use :label_text
end
- b.use :input, class: FORM_CHECK_INPUT, error_class: IS_INVALID,
- valid_class: IS_VALID
- b.use :full_error, wrap_with: { tag: "div", class: INVALID_FEEDBACK_BLOCK }
- b.use :hint, wrap_with: { tag: "small", class: FORM_TEXT }
+ b.use :input, class: FORM_CHECK_INPUT, error_class: IS_INVALID, valid_class: IS_VALID
+ b.use :full_error, wrap_with: { class: INVALID_FEEDBACK_BLOCK }
+ b.use :hint, wrap_with: { class: FORM_TEXT }
end
# vertical input for inline radio buttons and check boxes
- config.wrappers :vertical_collection_inline,
- item_wrapper_class: "form-check form-check-inline",
- item_label_class: FORM_CHECK_LABEL, tag: "fieldset",
- class: FORM_GROUP, error_class: FORM_GROUP_INVALID,
- valid_class: FORM_GROUP_VALID do |b|
+ config.wrappers :vertical_collection_inline, item_wrapper_class: "form-check form-check-inline", item_label_class: FORM_CHECK_LABEL, tag: "fieldset", class: MB do |b|
b.use :html5
b.optional :readonly
b.wrapper :legend_tag, tag: "legend", class: COL_FORM_LABEL do |ba|
ba.use :label_text
end
- b.use :input, class: FORM_CHECK_INPUT, error_class: IS_INVALID,
- valid_class: IS_VALID
- b.use :full_error, wrap_with: { tag: "div", class: INVALID_FEEDBACK_BLOCK }
- b.use :hint, wrap_with: { tag: "small", class: FORM_TEXT }
+ b.use :input, class: FORM_CHECK_INPUT, error_class: IS_INVALID, valid_class: IS_VALID
+ b.use :full_error, wrap_with: { class: INVALID_FEEDBACK_BLOCK }
+ b.use :hint, wrap_with: { class: FORM_TEXT }
end
# vertical file input
- config.wrappers :vertical_file, tag: "div", class: FORM_GROUP,
- error_class: FORM_GROUP_INVALID,
- valid_class: FORM_GROUP_VALID do |b|
+ config.wrappers :vertical_file, class: MB do |b|
b.use :html5
b.use :placeholder
b.optional :maxlength
b.optional :minlength
b.optional :readonly
- b.use :label
- b.use :input, class: "form-control-file", error_class: IS_INVALID,
- valid_class: IS_VALID
- b.use :full_error, wrap_with: { tag: "div", class: INVALID_FEEDBACK }
- b.use :hint, wrap_with: { tag: "small", class: FORM_TEXT }
+ b.use :label, class: FORM_LABEL
+ b.use :input, class: FORM_CONTROL, error_class: IS_INVALID, valid_class: IS_VALID
+ b.use :full_error, wrap_with: { class: INVALID_FEEDBACK }
+ b.use :hint, wrap_with: { class: FORM_TEXT }
+ end
+
+ # vertical select input
+ config.wrappers :vertical_select, class: MB do |b|
+ b.use :html5
+ b.optional :readonly
+ b.use :label, class: FORM_LABEL
+ b.use :input, class: FORM_SELECT, error_class: IS_INVALID, valid_class: IS_VALID
+ b.use :full_error, wrap_with: { class: INVALID_FEEDBACK }
+ b.use :hint, wrap_with: { class: FORM_TEXT }
end
# vertical multi select
- config.wrappers :vertical_multi_select, tag: "div", class: FORM_GROUP,
- error_class: FORM_GROUP_INVALID,
- valid_class: FORM_GROUP_VALID do |b|
+ config.wrappers :vertical_multi_select, class: MB do |b|
b.use :html5
b.optional :readonly
- b.use :label
- b.wrapper tag: "div", class: FLEX do |ba|
- ba.use :input, class: "form-control mx-1", error_class: IS_INVALID,
- valid_class: IS_VALID
+ b.use :label, class: FORM_LABEL
+ b.wrapper class: FLEX do |ba|
+ ba.use :input, class: "form-select mx-1", error_class: IS_INVALID, valid_class: IS_VALID
end
- b.use :full_error, wrap_with: { tag: "div", class: INVALID_FEEDBACK_BLOCK }
- b.use :hint, wrap_with: { tag: "small", class: FORM_TEXT }
+ b.use :full_error, wrap_with: { class: INVALID_FEEDBACK_BLOCK }
+ b.use :hint, wrap_with: { class: FORM_TEXT }
end
# vertical range input
- config.wrappers :vertical_range, tag: "div", class: FORM_GROUP,
- error_class: FORM_GROUP_INVALID,
- valid_class: FORM_GROUP_VALID do |b|
+ config.wrappers :vertical_range, class: MB do |b|
b.use :html5
b.use :placeholder
b.optional :readonly
b.optional :step
- b.use :label
- b.use :input, class: "form-control-range", error_class: IS_INVALID,
- valid_class: IS_VALID
- b.use :full_error, wrap_with: { tag: "div", class: INVALID_FEEDBACK_BLOCK }
- b.use :hint, wrap_with: { tag: "small", class: FORM_TEXT }
+ b.use :label, class: FORM_LABEL
+ b.use :input, class: "form-range", error_class: IS_INVALID, valid_class: IS_VALID
+ b.use :full_error, wrap_with: { class: INVALID_FEEDBACK }
+ b.use :hint, wrap_with: { class: FORM_TEXT }
end
# horizontal forms
#
# horizontal default_wrapper
- config.wrappers :horizontal_form, tag: "div", class: FORM_GROUP_ROW,
- error_class: FORM_GROUP_INVALID,
- valid_class: FORM_GROUP_VALID do |b|
+ config.wrappers :horizontal_form, class: ROW_MB do |b|
b.use :html5
b.use :placeholder
b.optional :maxlength
@@ -196,130 +176,110 @@
b.optional :min_max
b.optional :readonly
b.use :label, class: COL_FORM_LABEL_SM
- b.wrapper :grid_wrapper, tag: "div", class: COL_SM do |ba|
- ba.use :input, class: FORM_CONTROL, error_class: IS_INVALID,
- valid_class: IS_VALID
- ba.use :full_error, wrap_with: { tag: "div", class: INVALID_FEEDBACK }
- ba.use :hint, wrap_with: { tag: "small", class: FORM_TEXT }
+ b.wrapper :grid_wrapper, class: COL_SM do |ba|
+ ba.use :input, class: FORM_CONTROL, error_class: IS_INVALID, valid_class: IS_VALID
+ ba.use :full_error, wrap_with: { class: INVALID_FEEDBACK }
+ ba.use :hint, wrap_with: { class: FORM_TEXT }
end
end
# horizontal input for boolean
- config.wrappers :horizontal_boolean, tag: "div", class: FORM_GROUP_ROW,
- error_class: FORM_GROUP_INVALID,
- valid_class: FORM_GROUP_VALID do |b|
+ config.wrappers :horizontal_boolean, class: ROW_MB do |b|
b.use :html5
b.optional :readonly
- b.wrapper tag: "label", class: "col-sm-3" do |ba|
- ba.use :label_text
- end
- b.wrapper :grid_wrapper, tag: "div", class: COL_SM do |wr|
- wr.wrapper :form_check_wrapper, tag: "div", class: FORM_CHECK do |bb|
- bb.use :input, class: FORM_CHECK_INPUT, error_class: IS_INVALID,
- valid_class: IS_VALID
+ b.wrapper :grid_wrapper, class: "col-sm-9 offset-sm-3" do |wr|
+ wr.wrapper :form_check_wrapper, class: FORM_CHECK do |bb|
+ bb.use :input, class: FORM_CHECK_INPUT, error_class: IS_INVALID, valid_class: IS_VALID
bb.use :label, class: FORM_CHECK_LABEL
- bb.use :full_error,
- wrap_with: { tag: "div", class: INVALID_FEEDBACK_BLOCK }
- bb.use :hint, wrap_with: { tag: "small", class: FORM_TEXT }
+ bb.use :full_error, wrap_with: { class: INVALID_FEEDBACK }
+ bb.use :hint, wrap_with: { class: FORM_TEXT }
end
end
end
# horizontal input for radio buttons and check boxes
- config.wrappers :horizontal_collection, item_wrapper_class: FORM_CHECK,
- item_label_class: FORM_CHECK_LABEL,
- tag: "div", class: FORM_GROUP_ROW,
- error_class: FORM_GROUP_INVALID,
- valid_class: FORM_GROUP_VALID do |b|
+ config.wrappers :horizontal_collection, item_wrapper_class: FORM_CHECK, item_label_class: FORM_CHECK_LABEL, class: ROW_MB do |b|
b.use :html5
b.optional :readonly
- b.use :label, class: "col-sm-3 col-form-label pt-0"
- b.wrapper :grid_wrapper, tag: "div", class: COL_SM do |ba|
- ba.use :input, class: FORM_CHECK_INPUT, error_class: IS_INVALID,
- valid_class: IS_VALID
- ba.use :full_error,
- wrap_with: { tag: "div", class: INVALID_FEEDBACK_BLOCK }
- ba.use :hint, wrap_with: { tag: "small", class: FORM_TEXT }
+ b.use :label, class: COL_FORM_LABEL_SM_PT
+ b.wrapper :grid_wrapper, class: COL_SM do |ba|
+ ba.use :input, class: FORM_CHECK_INPUT, error_class: IS_INVALID, valid_class: IS_VALID
+ ba.use :full_error, wrap_with: { class: INVALID_FEEDBACK_BLOCK }
+ ba.use :hint, wrap_with: { class: FORM_TEXT }
end
end
# horizontal input for inline radio buttons and check boxes
- config.wrappers :horizontal_collection_inline,
- item_wrapper_class: "form-check form-check-inline",
- item_label_class: FORM_CHECK_LABEL, tag: "div",
- class: FORM_GROUP_ROW, error_class: FORM_GROUP_INVALID,
- valid_class: FORM_GROUP_VALID do |b|
+ config.wrappers :horizontal_collection_inline, item_wrapper_class: "form-check form-check-inline", item_label_class: FORM_CHECK_LABEL, class: ROW_MB do |b|
b.use :html5
b.optional :readonly
- b.use :label, class: "col-sm-3 col-form-label pt-0"
- b.wrapper :grid_wrapper, tag: "div", class: COL_SM do |ba|
- ba.use :input, class: FORM_CHECK_INPUT, error_class: IS_INVALID,
- valid_class: IS_VALID
- ba.use :full_error,
- wrap_with: { tag: "div", class: INVALID_FEEDBACK_BLOCK }
- ba.use :hint, wrap_with: { tag: "small", class: FORM_TEXT }
+ b.use :label, class: COL_FORM_LABEL_SM_PT
+ b.wrapper :grid_wrapper, class: COL_SM do |ba|
+ ba.use :input, class: FORM_CHECK_INPUT, error_class: IS_INVALID, valid_class: IS_VALID
+ ba.use :full_error, wrap_with: { class: INVALID_FEEDBACK_BLOCK }
+ ba.use :hint, wrap_with: { class: FORM_TEXT }
end
end
# horizontal file input
- config.wrappers :horizontal_file, tag: "div", class: FORM_GROUP_ROW,
- error_class: FORM_GROUP_INVALID,
- valid_class: FORM_GROUP_VALID do |b|
+ config.wrappers :horizontal_file, class: ROW_MB do |b|
b.use :html5
b.use :placeholder
b.optional :maxlength
b.optional :minlength
b.optional :readonly
b.use :label, class: COL_FORM_LABEL_SM
- b.wrapper :grid_wrapper, tag: "div", class: COL_SM do |ba|
- ba.use :input, error_class: IS_INVALID, valid_class: IS_VALID
- ba.use :full_error,
- wrap_with: { tag: "div", class: INVALID_FEEDBACK_BLOCK }
- ba.use :hint, wrap_with: { tag: "small", class: FORM_TEXT }
+ b.wrapper :grid_wrapper, class: COL_SM do |ba|
+ ba.use :input, class: FORM_CONTROL, error_class: IS_INVALID, valid_class: IS_VALID
+ ba.use :full_error, wrap_with: { class: INVALID_FEEDBACK }
+ ba.use :hint, wrap_with: { class: FORM_TEXT }
+ end
+ end
+
+ # horizontal select input
+ config.wrappers :horizontal_select, class: ROW_MB do |b|
+ b.use :html5
+ b.optional :readonly
+ b.use :label, class: COL_FORM_LABEL_SM
+ b.wrapper :grid_wrapper, class: COL_SM do |ba|
+ ba.use :input, class: FORM_SELECT, error_class: IS_INVALID, valid_class: IS_VALID
+ ba.use :full_error, wrap_with: { class: INVALID_FEEDBACK }
+ ba.use :hint, wrap_with: { class: FORM_TEXT }
end
end
# horizontal multi select
- config.wrappers :horizontal_multi_select, tag: "div", class: FORM_GROUP_ROW,
- error_class: FORM_GROUP_INVALID,
- valid_class: FORM_GROUP_VALID do |b|
+ config.wrappers :horizontal_multi_select, class: ROW_MB do |b|
b.use :html5
b.optional :readonly
b.use :label, class: COL_FORM_LABEL_SM
- b.wrapper :grid_wrapper, tag: "div", class: COL_SM do |ba|
- ba.wrapper tag: "div", class: FLEX do |bb|
- bb.use :input, class: "form-control mx-1", error_class: IS_INVALID,
- valid_class: IS_VALID
+ b.wrapper :grid_wrapper, class: COL_SM do |ba|
+ ba.wrapper class: FLEX do |bb|
+ bb.use :input, class: "form-select mx-1", error_class: IS_INVALID, valid_class: IS_VALID
end
- ba.use :full_error,
- wrap_with: { tag: "div", class: INVALID_FEEDBACK_BLOCK }
- ba.use :hint, wrap_with: { tag: "small", class: FORM_TEXT }
+ ba.use :full_error, wrap_with: { class: INVALID_FEEDBACK_BLOCK }
+ ba.use :hint, wrap_with: { class: FORM_TEXT }
end
end
# horizontal range input
- config.wrappers :horizontal_range, tag: "div", class: FORM_GROUP_ROW,
- error_class: FORM_GROUP_INVALID,
- valid_class: FORM_GROUP_VALID do |b|
+ config.wrappers :horizontal_range, class: ROW_MB do |b|
b.use :html5
b.use :placeholder
b.optional :readonly
b.optional :step
- b.use :label, class: COL_FORM_LABEL_SM
- b.wrapper :grid_wrapper, tag: "div", class: COL_SM do |ba|
- ba.use :input, class: "form-control-range", error_class: IS_INVALID,
- valid_class: IS_VALID
- ba.use :full_error,
- wrap_with: { tag: "div", class: INVALID_FEEDBACK_BLOCK }
- ba.use :hint, wrap_with: { tag: "small", class: FORM_TEXT }
+ b.use :label, class: COL_FORM_LABEL_SM_PT
+ b.wrapper :grid_wrapper, class: COL_SM do |ba|
+ ba.use :input, class: "form-range", error_class: IS_INVALID, valid_class: IS_VALID
+ ba.use :full_error, wrap_with: { class: INVALID_FEEDBACK }
+ ba.use :hint, wrap_with: { class: FORM_TEXT }
end
end
# inline forms
#
# inline default_wrapper
- config.wrappers :inline_form, tag: "span", error_class: FORM_GROUP_INVALID,
- valid_class: FORM_GROUP_VALID do |b|
+ config.wrappers :inline_form, class: "col-12" do |b|
b.use :html5
b.use :placeholder
b.optional :maxlength
@@ -327,207 +287,113 @@
b.optional :pattern
b.optional :min_max
b.optional :readonly
- b.use :label, class: "sr-only"
+ b.use :label, class: "visually-hidden"
- b.use :input, class: FORM_CONTROL, error_class: IS_INVALID,
- valid_class: IS_VALID
- b.use :error, wrap_with: { tag: "div", class: INVALID_FEEDBACK }
- b.optional :hint, wrap_with: { tag: "small", class: FORM_TEXT }
+ b.use :input, class: FORM_CONTROL, error_class: IS_INVALID, valid_class: IS_VALID
+ b.use :error, wrap_with: { class: INVALID_FEEDBACK }
+ b.optional :hint, wrap_with: { class: FORM_TEXT }
end
# inline input for boolean
- config.wrappers :inline_boolean, tag: "span",
- class: "form-check mb-2 mr-sm-2",
- error_class: FORM_GROUP_INVALID,
- valid_class: FORM_GROUP_VALID do |b|
+ config.wrappers :inline_boolean, class: "col-12" do |b|
b.use :html5
b.optional :readonly
- b.use :input, class: FORM_CHECK_INPUT, error_class: IS_INVALID,
- valid_class: IS_VALID
- b.use :label, class: FORM_CHECK_LABEL
- b.use :error, wrap_with: { tag: "div", class: INVALID_FEEDBACK }
- b.optional :hint, wrap_with: { tag: "small", class: FORM_TEXT }
+ b.wrapper :form_check_wrapper, class: FORM_CHECK do |bb|
+ bb.use :input, class: FORM_CHECK_INPUT, error_class: IS_INVALID, valid_class: IS_VALID
+ bb.use :label, class: FORM_CHECK_LABEL
+ bb.use :error, wrap_with: { class: INVALID_FEEDBACK }
+ bb.optional :hint, wrap_with: { class: FORM_TEXT }
+ end
end
# bootstrap custom forms
#
- # custom input for boolean
- config.wrappers :custom_boolean, tag: "fieldset", class: FORM_GROUP,
- error_class: FORM_GROUP_INVALID,
- valid_class: FORM_GROUP_VALID do |b|
- b.use :html5
- b.optional :readonly
- b.wrapper :form_check_wrapper,
- tag: "div", class: "custom-control custom-checkbox" do |bb|
- bb.use :input, class: CUSTOM_CONTROL_INPUT, error_class: IS_INVALID,
- valid_class: IS_VALID
- bb.use :label, class: CUSTOM_CONTROL_LABEL
- bb.use :full_error, wrap_with: { tag: "div", class: INVALID_FEEDBACK }
- bb.use :hint, wrap_with: { tag: "small", class: FORM_TEXT }
- end
- end
-
# custom input switch for boolean
- config.wrappers :custom_boolean_switch, tag: "fieldset", class: FORM_GROUP,
- error_class: FORM_GROUP_INVALID,
- valid_class: FORM_GROUP_VALID do |b|
+ config.wrappers :custom_boolean_switch, class: MB do |b|
b.use :html5
b.optional :readonly
- b.wrapper :form_check_wrapper, tag: "div",
- class: "custom-control custom-switch" do |bb|
- bb.use :input, class: CUSTOM_CONTROL_INPUT, error_class: IS_INVALID,
- valid_class: IS_VALID
- bb.use :label, class: CUSTOM_CONTROL_LABEL
+ b.wrapper :form_check_wrapper, tag: "div", class: "form-check form-switch" do |bb|
+ bb.use :input, class: FORM_CHECK_INPUT, error_class: IS_INVALID, valid_class: IS_VALID
+ bb.use :label, class: FORM_CHECK_LABEL
bb.use :full_error, wrap_with: { tag: "div", class: INVALID_FEEDBACK }
- bb.use :hint, wrap_with: { tag: "small", class: FORM_TEXT }
- end
- end
-
- # custom input for radio buttons and check boxes
- config.wrappers :custom_collection, item_wrapper_class: "custom-control",
- item_label_class: CUSTOM_CONTROL_LABEL,
- tag: "fieldset", class: FORM_GROUP,
- error_class: FORM_GROUP_INVALID,
- valid_class: FORM_GROUP_VALID do |b|
- b.use :html5
- b.optional :readonly
- b.wrapper :legend_tag, tag: "legend", class: COL_FORM_LABEL do |ba|
- ba.use :label_text
+ bb.use :hint, wrap_with: { class: FORM_TEXT }
end
- b.use :input, class: CUSTOM_CONTROL_INPUT, error_class: IS_INVALID,
- valid_class: IS_VALID
- b.use :full_error, wrap_with: { tag: "div", class: INVALID_FEEDBACK_BLOCK }
- b.use :hint, wrap_with: { tag: "small", class: FORM_TEXT }
end
- # custom input for inline radio buttons and check boxes
- config.wrappers :custom_collection_inline,
- item_wrapper_class: "custom-control custom-control-inline",
- item_label_class: CUSTOM_CONTROL_LABEL, tag: "fieldset",
- class: FORM_GROUP, error_class: FORM_GROUP_INVALID,
- valid_class: FORM_GROUP_VALID do |b|
+ # Input Group - custom component
+ # see example app and config at https://github.com/heartcombo/simple_form-bootstrap
+ config.wrappers :input_group, class: MB do |b|
b.use :html5
+ b.use :placeholder
+ b.optional :maxlength
+ b.optional :minlength
+ b.optional :pattern
+ b.optional :min_max
b.optional :readonly
- b.wrapper :legend_tag, tag: "legend", class: COL_FORM_LABEL do |ba|
- ba.use :label_text
+ b.use :label, class: FORM_LABEL
+ b.wrapper :input_group_tag, class: "input-group" do |ba|
+ ba.optional :prepend
+ ba.use :input, class: FORM_CONTROL, error_class: IS_INVALID, valid_class: IS_VALID
+ ba.optional :append
+ ba.use :full_error, wrap_with: { class: INVALID_FEEDBACK }
end
- b.use :input, class: CUSTOM_CONTROL_INPUT, error_class: IS_INVALID,
- valid_class: IS_VALID
- b.use :full_error, wrap_with: { tag: "div", class: INVALID_FEEDBACK_BLOCK }
- b.use :hint, wrap_with: { tag: "small", class: FORM_TEXT }
+ b.use :hint, wrap_with: { class: FORM_TEXT }
end
- # custom file input
- config.wrappers :custom_file, tag: "div", class: FORM_GROUP,
- error_class: FORM_GROUP_INVALID,
- valid_class: FORM_GROUP_VALID do |b|
+ # Floating Labels form
+ #
+ # floating labels default_wrapper
+ config.wrappers :floating_labels_form, class: "form-floating mb-3" do |b|
b.use :html5
b.use :placeholder
b.optional :maxlength
b.optional :minlength
+ b.optional :pattern
+ b.optional :min_max
b.optional :readonly
+ b.use :input, class: FORM_CONTROL, error_class: IS_INVALID, valid_class: IS_VALID
b.use :label
- b.wrapper :custom_file_wrapper, tag: "div", class: "custom-file" do |ba|
- ba.use :input, class: "custom-file-input", error_class: IS_INVALID,
- valid_class: IS_VALID
- ba.use :label, class: "custom-file-label"
- ba.use :full_error, wrap_with: { tag: "div", class: INVALID_FEEDBACK }
- end
- b.use :hint, wrap_with: { tag: "small", class: FORM_TEXT }
+ b.use :full_error, wrap_with: { class: INVALID_FEEDBACK }
+ b.use :hint, wrap_with: { class: FORM_TEXT }
end
# custom multi select
- config.wrappers :custom_multi_select, tag: "div", class: FORM_GROUP,
- error_class: FORM_GROUP_INVALID,
- valid_class: FORM_GROUP_VALID do |b|
+ config.wrappers :floating_labels_select, class: "form-floating mb-3" do |b|
b.use :html5
b.optional :readonly
+ b.use :input, class: FORM_SELECT, error_class: IS_INVALID, valid_class: IS_VALID
b.use :label
- b.wrapper tag: "div", class: FLEX do |ba|
- ba.use :input, class: "custom-select mx-1", error_class: IS_INVALID,
- valid_class: IS_VALID
- end
- b.use :full_error, wrap_with: { tag: "div", class: INVALID_FEEDBACK_BLOCK }
- b.use :hint, wrap_with: { tag: "small", class: FORM_TEXT }
+ b.use :full_error, wrap_with: { class: INVALID_FEEDBACK }
+ b.use :hint, wrap_with: { class: FORM_TEXT }
end
- # custom range input
- config.wrappers :custom_range, tag: "div", class: FORM_GROUP,
- error_class: FORM_GROUP_INVALID,
- valid_class: FORM_GROUP_VALID do |b|
+ # custom vertical select
+ config.wrappers :custom_vertical_select, class: MB do |b|
b.use :html5
- b.use :placeholder
b.optional :readonly
- b.optional :step
- b.use :label
- b.use :input, class: "custom-range", error_class: IS_INVALID,
- valid_class: IS_VALID
- b.use :full_error, wrap_with: { tag: "div", class: INVALID_FEEDBACK_BLOCK }
- b.use :hint, wrap_with: { tag: "small", class: FORM_TEXT }
+ b.use :label, class: FORM_LABEL_BLOCK
+ b.use :input
+ b.use :full_error, wrap_with: { class: INVALID_FEEDBACK_BLOCK }
end
- # Input Group - custom component
- # see example app and config at https://github.com/rafaelfranca/simple_form-bootstrap
- # config.wrappers :input_group, tag: 'div', class: FORM_GROUP, error_class:
- # FORM_GROUP_INVALID, valid_class: FORM_GROUP_VALID do |b|
- # b.use :html5
- # b.use :placeholder
- # b.optional :maxlength
- # b.optional :minlength
- # b.optional :pattern
- # b.optional :min_max
- # b.optional :readonly
- # b.use :label
- # b.wrapper :input_group_tag, tag: 'div', class: 'input-group' do |ba|
- # ba.optional :prepend
- # ba.use :input, class: FORM_CONTROL, error_class: IS_INVALID,
- # valid_class: IS_VALID
- # ba.optional :append
- # end
- # b.use :full_error, wrap_with: { tag: 'div', class: INVALID_FEEDBACK_BLOCK}
- # b.use :hint, wrap_with: { tag: 'small', class: FORM_TEXT }
- # end
-
- # Floating Labels form
- #
- # floating labels default_wrapper
- config.wrappers :floating_labels_form, tag: "div", class: "form-label-group",
- error_class: FORM_GROUP_INVALID,
- valid_class: FORM_GROUP_VALID do |b|
+ # custom vertical file input
+ config.wrappers :custom_vertical_file, class: MB do |b|
b.use :html5
b.use :placeholder
b.optional :maxlength
b.optional :minlength
- b.optional :pattern
- b.optional :min_max
b.optional :readonly
- b.use :input, class: FORM_CONTROL, error_class: IS_INVALID,
- valid_class: IS_VALID
- b.use :label
- b.use :full_error, wrap_with: { tag: "div", class: INVALID_FEEDBACK }
- b.use :hint, wrap_with: { tag: "small", class: FORM_TEXT }
- end
-
- # custom multi select
- config.wrappers :floating_labels_select, tag: "div",
- class: "form-label-group",
- error_class: FORM_GROUP_INVALID,
- valid_class: FORM_GROUP_VALID do |b|
- b.use :html5
- b.optional :readonly
- b.use :input, class: "custom-select", error_class: IS_INVALID,
- valid_class: IS_VALID
- b.use :label
- b.use :full_error, wrap_with: { tag: "div", class: INVALID_FEEDBACK }
- b.use :hint, wrap_with: { tag: "small", class: FORM_TEXT }
+ b.use :label, class: FORM_LABEL_BLOCK
+ b.use :input, error_class: IS_INVALID, valid_class: IS_VALID
+ b.use :full_error, wrap_with: { class: INVALID_FEEDBACK }
+ b.use :hint, wrap_with: { class: FORM_TEXT }
end
# The default wrapper to be used by the FormBuilder.
config.default_wrapper = :vertical_form
# Custom wrappers for input types. This should be a hash containing an input
- # type as key and the wrapper that will be used for all inputs with specified
- # type.
+ # type as key and the wrapper that will be used for all inputs with specified type.
config.wrapper_mappings = {
boolean: :vertical_boolean,
check_boxes: :vertical_collection,
@@ -536,18 +402,7 @@
file: :vertical_file,
radio_buttons: :vertical_collection,
range: :vertical_range,
- time: :vertical_multi_select
+ time: :vertical_multi_select,
+ select: :vertical_select
}
-
- # enable custom form wrappers
- # config.wrapper_mappings = {
- # boolean: :custom_boolean,
- # check_boxes: :custom_collection,
- # date: :custom_multi_select,
- # datetime: :custom_multi_select,
- # file: :custom_file,
- # radio_buttons: :custom_collection,
- # range: :custom_range,
- # time: :custom_multi_select
- # }
end
diff --git a/config/locales/en/active_storage.yml b/config/locales/en/active_storage.yml
index ecc172849..6101d4d62 100644
--- a/config/locales/en/active_storage.yml
+++ b/config/locales/en/active_storage.yml
@@ -1,21 +1,21 @@
en:
errors:
messages:
- content_type_invalid: "has not allowed to upload %{content_type} files, allowed types: %{authorized_types}"
- file_size_out_of_range: "has size %{file_size} that is not between required range"
+ content_type_invalid: "Only .PNG and .ICO file formats are allowed"
+ file_size_out_of_range: "file size must be less than or equal to 1 KB"
limit_out_of_range: "total number is out of range"
image_metadata_missing: "is not a valid image"
- dimension_min_inclusion: "must be greater than or equal to %{width} x %{height} pixel."
- dimension_max_inclusion: "must be less than or equal to %{width} x %{height} pixel."
- dimension_width_inclusion: "width is not included between %{min} and %{max} pixel."
- dimension_height_inclusion: "height is not included between %{min} and %{max} pixel."
- dimension_width_greater_than_or_equal_to: "width must be greater than or equal to %{length} pixel."
- dimension_height_greater_than_or_equal_to: "height must be greater than or equal to %{length} pixel."
- dimension_width_less_than_or_equal_to: "width must be less than or equal to %{length} pixel."
- dimension_height_less_than_or_equal_to: "height must be less than or equal to %{length} pixel."
- dimension_width_equal_to: "width must be equal to %{length} pixel."
- dimension_height_equal_to: "height must be equal to %{length} pixel."
- aspect_ratio_not_square: "must be a square image"
+ dimension_min_inclusion: "must be greater than or equal to %{width} x %{height} pixel"
+ dimension_max_inclusion: "must be less than or equal to %{width} x %{height} pixel"
+ dimension_width_inclusion: "width is not included between %{min} and %{max} pixel"
+ dimension_height_inclusion: "height is not included between %{min} and %{max} pixel"
+ dimension_width_greater_than_or_equal_to: "width must be greater than or equal to %{length} pixel"
+ dimension_height_greater_than_or_equal_to: "height must be greater than or equal to %{length} pixel"
+ dimension_width_less_than_or_equal_to: "width must be less than or equal to %{length} pixel"
+ dimension_height_less_than_or_equal_to: "height must be less than or equal to %{length} pixel"
+ dimension_width_equal_to: "width must be equal to %{length} pixel"
+ dimension_height_equal_to: "height must be equal to %{length} pixel"
+ aspect_ratio_not_square: "resolution must be a multiple of square (for example: 16x16px)"
aspect_ratio_not_portrait: "must be a portrait image"
aspect_ratio_not_landscape: "must be a landscape image"
aspect_ratio_is_not: "must have an aspect ratio of %{aspect_ratio}"
diff --git a/config/locales/en/devise.en.yml b/config/locales/en/devise.en.yml
index 7fa7912c8..b04e334de 100644
--- a/config/locales/en/devise.en.yml
+++ b/config/locales/en/devise.en.yml
@@ -4,63 +4,71 @@ en:
# uk: "Українська"
devise:
confirmations:
- confirmed: "Your email address has been successfully confirmed."
- send_instructions: "You will receive an email with instructions for how to confirm your email address in a few minutes."
- send_paranoid_instructions: "If your email address exists in our database, you will receive an email with instructions for how to confirm your email address in a few minutes."
+ confirmed: "Your email address has been successfully confirmed"
+ send_instructions: "You will receive an email with instructions for how to confirm your email address in a few minutes"
+ send_paranoid_instructions: "If your email address exists in our database, you will receive an email with instructions for how to confirm your email address in a few minutes"
failure:
- already_authenticated: "You are already signed in."
- inactive: "Your account is not activated yet."
- invalid: "Invalid %{authentication_keys} or password."
- locked: "Your account is locked."
- last_attempt: "You have one more attempt before your account is locked."
- not_found_in_database: "Invalid %{authentication_keys} or password."
- timeout: "Your session expired. Please sign in again to continue."
- unauthenticated: "You need to sign in or sign up before continuing."
- unconfirmed: "You have to confirm your email address before continuing."
+ already_authenticated: "You have been signed in already"
+ inactive: "Your account has not been activated yet"
+ invalid: "Invalid %{authentication_keys} or password"
+ invalid_token: "Invalid email or password"
+ locked: "Your account is locked"
+ last_attempt: "You have one more attempt before your account is locked"
+ not_found_in_database: "Invalid %{authentication_keys} or password"
+ timeout: "Your session time has expired. Please sign in again to continue"
+ unauthenticated: "You need to sign in or sign up before continuing"
+ unconfirmed: "You have to confirm your email address before continuing"
mailer:
confirmation_instructions:
- subject: "Confirmation instructions"
+ subject: "Account confirmation instructions"
reset_password_instructions:
subject: "Reset password instructions"
unlock_instructions:
- subject: "Unlock instructions"
+ subject: "Account unlock instructions"
email_changed:
subject: "Email Changed"
password_change:
subject: "Password Changed"
omniauth_callbacks:
- failure: "Could not authenticate you from %{kind} because \"%{reason}\"."
- success: "Successfully authenticated from %{kind} account."
+ continue_with: "Or continue with"
+ failure: "Could not authenticate you from %{kind} because \"%{reason}\""
+ success: "Successfully authenticated from %{kind} account"
passwords:
- no_token: "You can't access this page without coming from a password reset email. If you do come from a password reset email, please make sure you used the full URL provided."
- send_instructions: "You will receive an email with instructions on how to reset your password in a few minutes."
- send_paranoid_instructions: "If your email address exists in our database, you will receive a password recovery link at your email address in a few minutes."
- updated: "Your password has been changed successfully. You are now signed in."
- updated_not_active: "Your password has been changed successfully."
+ format: "Invalid format - must be at least 8 characters long, including one uppercase letter, one lowercase letter and a number"
+ no_token: "You can't access this page without coming from a password reset email. If you do come from a password reset email, please make sure you used the full URL provided"
+ send_instructions: "You will receive an email with instructions on how to reset your password in a few minutes"
+ send_paranoid_instructions: "If your email address exists in our database, you will receive a password recovery link at your email address in a few minutes"
+ updated: "Your password has been changed successfully. You are signed in now"
+ updated_not_active: "Your password has been changed successfully"
registrations:
- destroyed: "Bye! Your account has been successfully cancelled. We hope to see you again soon."
- signed_up: "Welcome! You have signed up successfully."
- signed_up_but_inactive: "You have signed up successfully. However, we could not sign you in because your account is not yet activated."
- signed_up_but_locked: "You have signed up successfully. However, we could not sign you in because your account is locked."
- signed_up_but_unconfirmed: "A message with a confirmation link has been sent to your email address. Please follow the link to activate your account."
- update_needs_confirmation: "You updated your account successfully, but we need to verify your new email address. Please check your email and follow the confirmation link to confirm your new email address."
- updated: "Your account has been updated successfully."
+ destroyed: "Bye! Your account has been successfully cancelled. We hope to see you again soon"
+ signed_up: "Welcome! You have signed up successfully"
+ signed_up_but_inactive: "You have signed up successfully. However, we could not sign you in because your account is not yet activated"
+ signed_up_but_locked: "You have signed up successfully. However, we could not sign you in because your account is locked"
+ signed_up_but_unconfirmed: "A message with a confirmation link has been sent to your email address. Please follow the link to activate your account"
+ update_needs_confirmation: "You updated your account successfully, but we need to verify your new email address. Please check your email and follow the confirmation link to confirm your new email address"
+ updated: "Your account has been updated successfully"
updated_but_not_signed_in: "Your account has been updated successfully, but since your password was changed, you need to sign in again"
sessions:
- signed_in: "Signed in successfully."
- signed_out: "Signed out successfully."
- already_signed_out: "Signed out successfully."
+ signed_in: "Signed in successfully"
+ signed_out: "Signed out successfully"
+ already_signed_out: "Signed out successfully"
unlocks:
- send_instructions: "You will receive an email with instructions for how to unlock your account in a few minutes."
- send_paranoid_instructions: "If your account exists, you will receive an email with instructions for how to unlock it in a few minutes."
- unlocked: "Your account has been unlocked successfully. Please sign in to continue."
+ send_instructions: "You will receive an email with instructions for how to unlock your account in a few minutes"
+ send_paranoid_instructions: "If your account exists, you will receive an email with instructions for how to unlock it in a few minutes"
+ unlocked: "Your account has been unlocked successfully. Please sign in to continue"
errors:
messages:
- already_confirmed: "was already confirmed, please try signing in"
+ already_confirmed: "was already confirmed. Please try signing in"
confirmation_period_expired: "needs to be confirmed within %{period}, please request a new one"
expired: "has expired, please request a new one"
not_found: "not found"
not_locked: "was not locked"
not_saved:
one: "1 error prohibited this %{resource} from being saved:"
+ few: "%{count} errors prohibited this %{resource} from being saved:"
+ many: "%{count} errors prohibited this %{resource} from being saved:"
other: "%{count} errors prohibited this %{resource} from being saved:"
+ wrong_email: "Your login is incorrect"
+ wrong_password: "Your password is incorrect"
+ only_letters: "Only letters"
diff --git a/config/locales/en/en.yml b/config/locales/en/en.yml
index 1da2080e1..90f476e0e 100644
--- a/config/locales/en/en.yml
+++ b/config/locales/en/en.yml
@@ -31,72 +31,154 @@
en:
uk: "Українська"
+ buttons:
+ save: "Save"
+ update: "Update"
+ create: "Create"
+ cancel: "Cancel"
+ revert: "Revert"
+ back: "Back"
+ views:
+ pagination:
+ previous: "‹ Prev"
+ next: "Next ›"
+ truncate: "…"
calculators:
- calculator:
- diaper: "diaper"
- form_description: "Child’s age:"
- form_price: "Price category"
+ index:
+ meta-title: "Calculators"
+ new_calculator:
+ diaper_сalculator: "Diaper calculator"
form:
- childs_birthday_label: "Child's birthday"
- childs_age_label: "Child`s age"
- childs_years_label: "years"
- childs_months_label: "months"
- baby_weight_label: "Baby weight"
+ description: "Child’s age:"
+ price: "Price category"
+ childs_years_label: "y/o."
+ childs_months_label: "mth."
budgetary: "budgetary"
medium: "medium"
premium: "premium"
- calculate_result_button: "Calculate"
- want_recomentation_label: "Yes, I want to receive email messages with recommendations"
+ bought_diapers: "already used"
+ will_buy_diapers: "to be used in the future"
+ money_spent: "already spent on diapers"
+ money_will_be_spent: "yet to be spent on diapers"
+ pieces: "pcs."
+ unit: "uah"
+ old_calculator:
+ form:
+ description: "Child’s age:"
+ years_prompt: "years"
+ months_prompt: "months"
bought_diapers: "diapers already used"
- will_buy_diapers: "diapers to be used in the future"
money_spent: "UAH already spent on diapers"
+ will_buy_diapers: "diapers to be used in the future"
money_will_be_spent: "UAH yet to be spent on diapers"
- mililiters_of_naphtha: "Mililiters of Naphtha"
- gram_of_plastic: "Gram of Plastic"
+ errors:
+ year_and_month_error_msg: "Please, select years and months"
+ year_error_msg: "Please, select years"
+ month_error_msg: "Please, select month"
show:
welcome_header: "Welcome to ZeroWaste"
+ buttons:
+ to_main: "To main"
+ calculate: "Calculate"
+ index:
+ meta-title: "Calculators"
+ id_column: "ID Column"
+ calculator_name: "Calculator Name"
+ calculator_actions: "Calculator Actions"
+ date:
+ months:
+ one: "%{count} month"
+ few: "%{count} months"
+ many: "%{count} months"
+ other: "%{count} months"
+ years:
+ one: "%{count} year"
+ few: "%{count} years"
+ many: "%{count} years"
+ other: "%{count} years"
layouts:
navigation:
+ about_us: "About us"
admin: "Admin"
+ calculate: "Diaper calculator"
log_out: "Log Out"
sign_up: "Sign Up"
log_in: "Log In"
- сontact_us: "Contact us"
+ contact_us: "Contact us"
contacts: "%{contacts:Contacts}"
local_lang: "Українська"
description_block:
- description_block_html: "These are approximate results. The exact numbers for your
- family may differ depending on your daily habits and the diaper brand of choice. At any point of using
- diapers there is a way to reduce the number of diapers used. You are welcome to learn more about how
- this can be done and what reusable alternatives to disposable diapers there are. You can also learn
- more about %{calculate_link_one:how we calculate} the number and cost of diapers
- or %{calculate_link_two:contact us} with any other questions you may have."
+ description_block_html:
+ "These are approximate results. The exact numbers for your
+ family may differ depending on your daily habits and the diaper brand of choice. At any point of using
+ diapers there is a way to reduce the number of diapers used. You are welcome to learn more about how
+ this can be done and what reusable alternatives to disposable diapers there are. You can also learn
+ more about %{calculate_link_one:how we calculate} the number and cost of diapers
+ or %{calculate_link_two:contact us} with any other questions you may have."
description_button:
use_less: "%{use_less_link:HOW TO USE LESS}"
homepage:
homepage_title: "Welcome to the diaper calculator"
- description: "The calculator tells you how many disposable diapers your baby has already used and will use in the future before switching to regular underwear. And also how much money you have already spent on diapers and how much money you have yet to spend."
+ description:
+ "The calculator tells you how many disposable diapers your baby has already used and will use in the future before
+ switching to regular underwear. And also how much money you have already spent on diapers and how much money you have yet to spend."
calculate: "Let's go"
- visit_website: "Visit WebSite"
+ visit_website: "Visit website"
account_navbar:
+ homepage: "Home page"
calculators: "Calculators"
histories: "History"
users: "Users"
messages: "Messages"
- app_config: "App Config"
site_settings: "Site Settings"
- categories: 'Categories'
+ categories: "Categories"
+ products: "Products"
+ zerowaste_logo: "ZeroWaste logo"
+ account_footer:
+ created_with: "Created with"
+ by: "by"
+ mailer:
+ welcome_mail:
+ subject: "Welcome to ZeroWaste!"
+ user_mailer:
+ welcome_email:
+ greeting: "Welcome to ZeroWaste, %{name}"
+ login_info: "You have successfully signed up to zerowaste.com, your login info is"
+ email: "Email: %{email}"
+ password: "Password: %{password}"
+ to_login: "To login to the site, just follow this link"
+ thanks: "Thanks for joining and have a great day!"
messages:
new:
+ meta-title: "Contact Us"
contact_us_header: "Contact us"
email: "Email"
message: "Message"
title: "Title"
send: "Send"
- title_hint: "title (min 5 characters)"
+ title_hint: "Title (min 5 characters)"
message_hint: "Your message (min 20 characters)"
company_address: "Company address"
about_us: "About us"
+ sitemap:
+ index:
+ sitemap: "Sitemap"
+ homepage: "Home page"
+ about_us: "About us"
+ calculator-diapers: "Calculator diapers"
+ calculators: "Calculators"
+ message: "Write us a message"
+ about_us:
+ title: "About Us"
+ description:
+ first_paragraph: "We work in many directions for the sake of a clean future and sustainable development of our city and country."
+ second_paragraph: "Zero Waste encourages us to use resources rationally and consciously."
+ third_paragraph: "The main goal of zero waste is to move to a circular economy, where there is no garbage as such, and what is called garbage becomes a valuable resource."
+ our_team:
+ title: "Our Team"
+ description:
+ "Zero Waste Lviv and SoftServe present a calculator - an online tool for calculating the number of disposable and reusable items used.
+ The calculator was developed as part of the charity crowdsourcing platform Open Tech. The technical development is carried out by students of SoftServe Academy."
account:
account:
edit:
@@ -104,21 +186,11 @@ en:
new_password_label: "New password:"
confirm_password_label: "Confirm new password:"
change_password_button: "Change password"
- app_configs:
- edit:
- diapers_calculator_config: "Diapers calculator configuration"
- first_period: "First period"
- second_period: "Second period"
- third_period: "Third period"
- fourth_period: "Fourth period"
- fifth_period: "Fifth period"
- sixth_period: "Sixth period"
- seventh_period: "Seventh period"
- amount: "Amount"
- price: "Price"
- update: "Update"
messages:
index:
+ meta-title: "Messages"
+ search_placeholder: "Search"
+ search_button: "Search"
table:
title: "Title"
email: "Email"
@@ -133,29 +205,83 @@ en:
time_col: "Date"
categories:
index:
- add_category_button: 'Add category'
- confirm_delete: 'Delete category?'
- cancel_button: 'Cancel'
+ meta-title: "Categories"
+ search_placeholder: "Search"
+ search_button: "Search"
+ table:
+ title: "Title"
+ actions: "Actions"
+ priority: "Priority"
+ edit: "Edit"
+ delete: "Delete"
+ add_category_button: "Add category"
+ confirm_delete: "Delete category?"
+ cannot_delete: "You cannot delete preferable category."
edit:
- update_button: 'Update'
- cancel_button: 'Cancel'
+ form:
+ update_category_button: "Update category"
new:
- create_button: 'Create'
- cancel_button: 'Cancel'
- site_settings:
- validations:
- size: 'is too large'
- edit:
- update_button: 'Update'
+ form:
+ create_category_button: "Create category"
+ products:
+ index:
+ meta-title: "Products"
+ table:
+ title: "Title"
+ prices: "Prices"
+ actions: "Actions"
+ edit: "Edit"
+ delete: "Delete"
+ add_product_button: "Add product"
+ confirm_delete: "Delete product?"
+ show:
+ table:
+ title: "Title"
+ prices: "Prices"
+ actions: "Actions"
+ confirm_delete: "Delete product?"
+ partials:
+ new:
+ form:
+ title: "Title"
+ form:
+ sum: "Sum"
+ create_product_button: "Create product"
+ edit:
+ form:
+ title: "Title"
+ form:
+ sum: "Sum"
+ update_product_button: "Update product"
+ created: "A product was successfully created"
+ updated: "A product was successfully updated"
+ deleted: "A product was successfully deleted"
users:
index:
+ meta-title: "Users"
main_header: "Dashboard"
+ add_user_button: "Add user"
+ confirm_block: "Are you sure you want to block this user?"
+ confirm_unblock: "Are you sure you want to unblock this user?"
+ confirm_delete: "Are you sure you want to delete this user?"
table:
email_col: "Email"
+ first_name: "First name"
+ last_name: "Last name"
last_visit_col: "Last visit"
- view_info_col: "Show"
+ show: "Show"
edit: "Edit"
ban: "Ban"
+ delete: "Delete"
+ new:
+ table:
+ create_new_user: "Create new user"
+ form:
+ first_name_label: "First name"
+ last_name_label: "Last name"
+ password_hint: "Minimum 8 characters"
+ create_user_button: "Create user"
+ send_credentials_email: "Send email with credentials"
edit:
avatar: "User profile photo"
table:
@@ -164,7 +290,7 @@ en:
name_label: "Name"
surname_label: "Surname"
password_hint: "Leave blank if you don't want to change it"
- avatar_hint: "Avatar must be less than 2 MB. Allowed file types: PNG,JPG and JPEG"
+ avatar_hint: "Avatar must be less than 2 MB. Allowed file types: PNG, JPG and JPEG"
update_user_button: "Update user"
show:
header: "User information"
@@ -179,10 +305,110 @@ en:
ban_col: "Status"
blocked_label: "Blocked"
unblocked_label: "Unblocked"
+ button: "Back"
calculators:
index:
- search_placeholder: "Search"
- search_button: "Search"
+ meta-title: "Calculators"
+ add_calculator_button: "Add calculator"
+ confirm_delete: "Are you sure you want to delete calculator?"
+ table:
+ calculator_slug: "Slug"
+ calculator_name: "Name"
+ calculator_actions: "Actions"
+ show: "Show"
+ edit: "Edit"
+ delete: "Delete"
+ edit:
+ add_new_field_label: "Add new field"
+ form:
+ select_field_kind_label: "Select field kind"
+ select_field_type_label: "Select field type"
+ form_label: "Form"
+ parameters_label: "Parameters"
+ results_label: "Results"
+ no_fields_yet_label: "No fields yet"
+ update_calculator_button: "Update calculator"
+ new:
+ create_calculator_button: "Create calculator"
+ cancel_button: "Сancel"
+ prohibited_to_update: " prevent the calculator from updating"
+ prohibited_to_save: " перешкоджають збереженню калькулятора"
+ error: "помилки"
+ site_settings:
+ edit:
+ meta-title: "Site Settings"
+ site_settings: "Site settings"
+ site_features: "Site features"
+ dev_features: "Development features"
+ rails_db_description: "Access to database (read only)"
+ apply_button: "Save"
+ confirm_default: "Are you sure you want to revert the title and favicon to their default settings?"
+ diapers_periods:
+ partials:
+ edit:
+ form:
+ edit_name: "Edit Diapers Period"
+ period_start: "Period Start"
+ period_end: "Period End"
+ usage_amount: "Usage Amount"
+ price: "Price"
+ back_button: "Back"
+ cannot_edit_period: "You can't edit the start and end of the period"
+ index:
+ delete_button:
+ confirm_delete: "Are you sure you want to delete this period?"
+ cannot_delete_category: "You can't delete periods in preferable category."
+ cannot_delete_period: "You can only delete the last period."
+ add_new_link:
+ add_new: "Add New Period"
+ content:
+ periods_for: "Diapers Periods for category:"
+ confirm_delete: "Are you sure you want to delete this period?"
+ period_start: "Period Start"
+ period_end: "Period End"
+ usage_amount: "Usage Amount"
+ price: "Price"
+ table:
+ edit: "Edit"
+ delete: "Delete"
+ add_new: "Add New Period"
+ back_button: "Back"
+ warning: "This category isn't showing in Calculator, because it doesn't cover all periods. Please, add new periods, so the category covers 30 months."
+ cannot_delete: "You can't delete periods in preferable category."
+ new:
+ form:
+ new_period: "New Diapers Period for Category:"
+ period_start: "Period Start"
+ period_end: "Period End"
+ usage_amount: "Usage Amount"
+ price: "Price"
+ back_button: "Back"
+ cannot_edit_start_period: "You can't edit the start of the period"
+ categories:
+ partials:
+ available:
+ content:
+ available: "Select category:"
+ no_categories_available: "No Available categories. Create new Category."
+ category_name: "Category name"
+ confirm_delete: "Are you sure you want to delete all periods?"
+ back_button: "Back"
+ table:
+ add: "Add"
+ with_periods:
+ content:
+ category_name: "Category name"
+ confirm_delete: "Are you sure you want to delete all periods?"
+ table:
+ show: "Show"
+ delete: "Delete"
+ no_categories: "No diapers categories found. Add some from Available list."
+ add_button: "Add New"
+ tooltip: "This category isn't shown in Calculator, because it doesn't have all periods covered."
+ cannot_delete_category: "You can't delete periods in preferable category."
+ calculators:
+ index:
+ meta-title: "Calculators"
add_calculator_button: "Add calculator"
confirm_delete: "Are you sure you want to delete calculator?"
table:
@@ -194,51 +420,56 @@ en:
form:
select_field_kind_label: "Select field kind"
select_field_type_label: "Select field type"
- create_button: "Create"
form_label: "Form"
parameters_label: "Parameters"
results_label: "Results"
no_fields_yet_label: "No fields yet"
update_calculator_button: "Update calculator"
- cancel_button: "Cancel"
new:
create_calculator_button: "Create calculator"
- cancel_button: "Cancel"
+ feature_flags:
+ submit_button: "Save"
+ new_calculator_design:
+ name: "Enable new calculator design"
+ show_calculators_list:
+ name: "Show calculators on the public side"
+ sandbox_mode:
+ name: "Enable sandbox mode"
sessions:
new:
- log_in_header: "Log in"
- log_in_button: "Log in"
+ log_in_header: "Log In"
+ log_in_button: "Log In"
form:
email: "Email"
password: "Password"
shared:
links:
forgot_your_password: "Forgot your password?"
- log_in: "Log in"
+ log_in: "Log In"
confirmations:
new:
resend_confirmation_instructions_header: "Resend confirmation instructions"
resend_confirmation_instructions_button: "Resend confirmation instructions"
mailer:
confirmation_instructions:
- greetings_to_user: Welcome, %{recipient}!
+ greetings_to_user: "Welcome, %{recipient}!"
confirmation_email_through_link: "You can confirm your account email through the link below:"
confirmation_account_link: "Confirm my account"
email_changed:
- greeting: Hello %{recipient}!
- message_confirmed: We're contacting you to notify you that your email has been changed to %{email}.
- message_unconfirmed: We're contacting you to notify you that your email is being changed to %{email}.
+ greeting: "Hello, %{recipient}!"
+ message_confirmed: "We're contacting you to notify you that your email has been changed to %{email}."
+ message_unconfirmed: "We're contacting you to notify you that your email is being changed to %{email}."
password_change:
- greeting: Hello %{recipient}!
+ greeting: "Hello, %{recipient}!"
successful_change: "We're contacting you to notify you that your password has been changed."
reset_password_instructions:
- greeting: Hello %{recipient}!
+ greeting: "Hello, %{recipient}!"
change_password_link: "Change my password"
request_change_password: "Someone has requested a link to change your password. You can do this through the link below."
ignore_email: "If you didn't request this, please ignore this email."
access_to_changing: "Your password won't change until you access the link above and create a new one."
unlock_instructions:
- greeting: Hello %{recipient}!
+ greeting: "Hello, %{recipient}!"
locked_message: "Your account has been locked due to an excessive number of unsuccessful sign in attempts."
unlock_your_account: "Click the link below to unlock your account:"
unlock_link: "Unlock my account"
@@ -263,6 +494,7 @@ en:
email_label: "Email"
histories:
index:
+ meta-title: "History"
history_title: "History"
back_link: "Back"
table:
@@ -276,7 +508,10 @@ en:
passwords:
new:
forgot_password_header: "Forgot your password?"
- send_instructions_button: "Send me reset password instructions"
+ forgot_password_message: "Enter your email address and we'll send you reset instructions."
+ email_placeholder: "Enter your email"
+ send_instructions_button: "Reset"
+ back_to: "Back to"
form:
email_label: "Email"
edit:
@@ -288,31 +523,35 @@ en:
change_password_button: "Change my password"
sessions:
new:
- log_in: "Log in"
+ meta-title: "Log In"
+ log_in: "Log In"
+ email_placeholder: "Enter your email"
+ password_placeholder: "Enter your password"
shared:
links:
forgot_your_password: "Forgot your password?"
- log_in: "Log in"
- sign_up: "Sign up"
+ log_in: "Log In"
+ sign_up: "Sign Up"
sign_in_with: "Sign in with %{provider}"
google_sign_in: "Sign in with Google"
registrations:
new:
+ meta-title: "Sign Up"
sign_up_header: "Sign Up"
form:
email_label: "Email"
password_label: "Password"
- password_characters_minimum_label: "Characters Minimum"
- password_confirmation_label: "Password Confirmation"
- first_name_label: "First Name"
- last_name_label: "Last Name"
+ password_characters_minimum_label: "Characters minimum"
+ password_confirmation_label: "Password confirmation"
+ first_name_label: "First name"
+ last_name_label: "Last name"
sign_up_button: "Sign Up"
password_hint: "Minimum 8 characters"
edit:
update_user_button: "Update information"
current_password_label: "Current password:"
confirm_password_label: "Confirm new password:"
- change_password_button: "Змінити пароль"
+ change_password_button: "Change my password"
delete_account_label: "Delete my profile"
are_user_satisfied_question: "Unhappy?"
delete_account_button: "Delete profile"
@@ -325,69 +564,82 @@ en:
timeout: "Your session expired. Please sign in again to continue"
models:
calculator: "Calculator"
+ category: "Category"
activerecord:
errors:
models:
field:
attributes:
type:
- blank: " can't be blank"
+ blank: "can't be blank"
label:
- blank: " can't be blank"
+ blank: "can't be blank"
kind:
- blank: " can't be blank"
+ blank: "can't be blank"
named_value:
attributes:
name:
- too_short: " is too short"
+ too_short: "is too short"
from:
- not_an_integer: " must be an integer"
- not_a_number: " must be an integer"
+ not_an_integer: "must be an integer"
+ not_a_number: "must be an integer"
to:
- not_an_integer: " must be an integer"
- not_a_number: " must be an integer"
+ not_an_integer: "must be an integer"
+ not_a_number: "must be an integer"
range_field:
attributes:
from:
- not_an_integer: " must be an integer"
- not_a_number: " must be an integer"
+ not_an_integer: "must be an integer"
+ not_a_number: "must be an integer"
to:
- not_an_integer: " must be an integer"
- not_a_number: " must be an integer"
+ not_an_integer: "must be an integer"
+ not_a_number: "must be an integer"
value:
- too_short: " is too short"
+ too_short: "is too short"
calculation:
attributes:
value:
- too_short: " is too short"
+ too_short: "is too short"
select:
attributes:
value:
- too_short: " is too short"
+ too_short: "is too short"
value:
attributes:
value:
- too_short: " is too short"
- invalid: " is invalid"
+ too_short: "is too short"
+ invalid: "contains invalid characters"
product_type:
attributes:
title:
- blank: "The field 'Title' can't be blank."
- too_short: "The field 'Title' is too short."
+ blank: "The field 'Title' can't be blank"
+ too_short: "The field 'Title' is too short"
invalid: "Invalid value for the field 'Title'"
calculator:
attributes:
name:
- blank: " can't be blank"
- too_short: " is too short"
- invalid: " is invalid"
- name_format_validation: must contain only letters or numbers
+ blank: "can't be blank"
+ too_short: "is too short (minimum is 2 characters)"
+ too_long: "is too long (maximum is %{count} characters)"
+ invalid: "contains invalid characters"
+ taken: "has already been taken, please choose another one"
+ category:
+ attributes:
+ name:
+ invalid: "contains invalid characters"
+ taken: "has already been taken, please choose another one"
product:
attributes:
title:
- blank: "The field 'Title' can't be blank"
- too_long: "The field 'Title' is too long"
- too_short: "The field 'Title' is too short."
+ blank: "can't be blank"
+ too_long: "is too long (maximum %{count} symbols)"
+ too_short: "is too short (minimum %{count} symbols)"
+ taken: "has already been taken, please choose another one"
+ invalid: "contains invalid characters"
+ price:
+ attributes:
+ sum:
+ less_than: "is too long"
form_errors:
one: "One error prohibited %{model} from being saved"
other: "%{count} errors prohibited this %{model} from being saved"
@@ -399,171 +651,195 @@ en:
first_name: "First name"
last_name: "Last name"
country: "Country"
+ role: "Role"
+ remember_me: "Remember me"
successful_update: "User info was successfully updated!"
admin:
remember_me: "Remember me"
+ site_setting:
+ title: "Title"
+ diapers_period:
+ price: "Price"
+ period_start: "Period Start"
+ period_end: "Period End"
+ usage_amount: "Usage Amount"
calculator:
name: "Name"
slug: "Slug"
preferable: "Preferable"
+ category:
+ name: "Title"
+ priority: "Priority"
+ preferable: "Main"
+ price:
+ sum: "Sum"
+ product:
+ sum: "Sum"
notifications:
calculator_created: "Calculator has been successfully created"
calculator_updated: "Calculator has been successfully updated"
calculator_deleted: "Calculator has been successfully deleted"
+ user_created: "User has been successfully created"
+ user_updated: "User has been successfully updated"
+ user_deleted: "User has been successfully deleted"
message_sent: "Message has been sent"
- category_created: "Category was successfully created."
- category_updated: "Category was successfully updated."
- category_deleted: "Category was successfully destroyed."
- site_setting_updated: "Setting was successfully updated"
+ category_created: "Category was successfully created"
+ category_updated: "Category was successfully updated"
+ category_deleted: "Category was successfully deleted"
+ feature_flags_updated: "Features updated successfully"
+ site_setting_updated: "Settings were successfully updated"
+ site_setting_reverted: "The title and favicon have been successfully reverted to default"
+ diapers_period_not_deleted: "Can't delete diapers period."
+ category_diapers_period_not_deleted: "Can't delete diapers periods from category."
# time:
# formats:
# long: '%A, %d %B, %Y'
# short: '%d, %B, %Y'
date:
abbr_day_names:
- - Sun
- - Mon
- - Tue
- - Wed
- - Thu
- - Fri
- - Sat
+ - Sun
+ - Mon
+ - Tue
+ - Wed
+ - Thu
+ - Fri
+ - Sat
abbr_month_names:
- -
- - Jan
- - Feb
- - Mar
- - Apr
- - May
- - Jun
- - Jul
- - Aug
- - Sep
- - Oct
- - Nov
- - Dec
+ -
+ - Jan
+ - Feb
+ - Mar
+ - Apr
+ - May
+ - Jun
+ - Jul
+ - Aug
+ - Sep
+ - Oct
+ - Nov
+ - Dec
day_names:
- - Sunday
- - Monday
- - Tuesday
- - Wednesday
- - Thursday
- - Friday
- - Saturday
+ - Sunday
+ - Monday
+ - Tuesday
+ - Wednesday
+ - Thursday
+ - Friday
+ - Saturday
formats:
default: "%Y-%m-%d"
long: "%B %d, %Y"
short: "%b %d"
month_names:
- -
- - January
- - February
- - March
- - April
- - May
- - June
- - July
- - August
- - September
- - October
- - November
- - December
+ -
+ - January
+ - February
+ - March
+ - April
+ - May
+ - June
+ - July
+ - August
+ - September
+ - October
+ - November
+ - December
order:
- - :year
- - :month
- - :day
+ - :year
+ - :month
+ - :day
datetime:
distance_in_words:
about_x_hours:
- one: about 1 hour
- other: about %{count} hours
+ one: "about 1 hour"
+ other: "about %{count} hours"
about_x_months:
- one: about 1 month
- other: about %{count} months
+ one: "about 1 month"
+ other: "about %{count} months"
about_x_years:
- one: about 1 year
- other: about %{count} years
+ one: "about 1 year"
+ other: "about %{count} years"
almost_x_years:
- one: almost 1 year
- other: almost %{count} years
- half_a_minute: half a minute
+ one: "almost 1 year"
+ other: "almost %{count} years"
+ half_a_minute: "half a minute"
less_than_x_seconds:
- one: less than 1 second
- other: less than %{count} seconds
+ one: "less than 1 second"
+ other: "less than %{count} seconds"
less_than_x_minutes:
- one: less than a minute
- other: less than %{count} minutes
+ one: "less than a minute"
+ other: "less than %{count} minutes"
over_x_years:
- one: over 1 year
- other: over %{count} years
+ one: "over 1 year"
+ other: "over %{count} years"
x_seconds:
- one: 1 second
+ one: "1 second"
other: "%{count} seconds"
x_minutes:
- one: 1 minute
+ one: "1 minute"
other: "%{count} minutes"
x_days:
- one: 1 day
+ one: "1 day"
other: "%{count} days"
x_months:
- one: 1 month
+ one: "1 month"
other: "%{count} months"
x_years:
- one: 1 year
+ one: "1 year"
other: "%{count} years"
prompts:
- second: Second
- minute: Minute
- hour: Hour
- day: Day
- month: Month
- year: Year
+ second: "Second"
+ minute: "Minute"
+ hour: "Hour"
+ day: "Day"
+ month: "Month"
+ year: "Year"
errors:
format: "%{attribute} %{message}"
messages:
- accepted: must be accepted
- blank: can't be blank
- confirmation: doesn't match %{attribute}
- empty: can't be empty
- equal_to: must be equal to %{count}
- even: must be even
- exclusion: is reserved
- greater_than: must be greater than %{count}
- greater_than_or_equal_to: must be greater than or equal to %{count}
- in: must be in %{count}
- inclusion: is not included in the list
- invalid: is invalid
- less_than: must be less than %{count}
- less_than_or_equal_to: must be less than or equal to %{count}
- model_invalid: 'Validation failed: %{errors}'
- not_a_number: is not a number
- not_an_integer: must be an integer
- odd: must be odd
- other_than: must be other than %{count}
- present: must be blank
- required: must exist
- taken: has already been taken
+ accepted: "must be accepted"
+ blank: "can't be blank"
+ confirmation: "doesn't match %{attribute}"
+ empty: "can't be empty"
+ equal_to: "must be equal to %{count}"
+ even: "must be even"
+ exclusion: "is reserved"
+ greater_than: "must be greater than %{count}"
+ greater_than_or_equal_to: "must be greater than or equal to %{count}"
+ in: "must be in %{count}"
+ inclusion: "is not included in the list"
+ invalid: "is invalid"
+ less_than: "must be less than %{count}"
+ less_than_or_equal_to: "must be less than or equal to %{count}"
+ model_invalid: "Validation failed: %{errors}"
+ not_a_number: "is not a number"
+ not_an_integer: "must be an integer"
+ odd: "must be odd"
+ other_than: "must be other than %{count}"
+ present: "must be blank"
+ required: "must exist"
+ taken: "has already been taken"
too_long:
- one: is too long (maximum is 1 character)
- other: is too long (maximum is %{count} characters)
+ one: "is too long (maximum is 1 character)"
+ other: "is too long (maximum is %{count} characters)"
too_short:
- one: is too short (minimum is 1 character)
- other: is too short (minimum is %{count} characters)
+ one: "is too short (minimum is 1 character)"
+ other: "is too short (minimum is %{count} characters)"
wrong_length:
- one: is the wrong length (should be 1 character)
- other: is the wrong length (should be %{count} characters)
+ one: "is the wrong length (should be 1 character)"
+ other: "is the wrong length (should be %{count} characters)"
template:
- body: 'There were problems with the following fields:'
+ body: "There were problems with the following fields:"
header:
- one: 1 error prohibited this %{model} from being saved
+ one: "1 error prohibited this %{model} from being saved"
other: "%{count} errors prohibited this %{model} from being saved"
helpers:
select:
- prompt: Please select
+ prompt: "Please select"
submit:
- create: Create %{model}
- submit: Save %{model}
- update: Update %{model}
+ create: "Create %{model}"
+ submit: "Save %{model}"
+ update: "Update %{model}"
number:
currency:
format:
@@ -585,14 +861,14 @@ en:
decimal_units:
format: "%n %u"
units:
- billion: Billion
- million: Million
- quadrillion: Quadrillion
- thousand: Thousand
- trillion: Trillion
- unit: ''
+ billion: "Billion"
+ million: "Million"
+ quadrillion: "Quadrillion"
+ thousand: "Thousand"
+ trillion: "Trillion"
+ unit: ""
format:
- delimiter: ''
+ delimiter: ""
precision: 3
significant: true
strip_insignificant_zeros: true
@@ -600,30 +876,30 @@ en:
format: "%n %u"
units:
byte:
- one: Byte
- other: Bytes
- eb: EB
- gb: GB
- kb: KB
- mb: MB
- pb: PB
- tb: TB
+ one: "Byte"
+ other: "Bytes"
+ eb: "EB"
+ gb: "GB"
+ kb: "KB"
+ mb: "MB"
+ pb: "PB"
+ tb: "TB"
percentage:
format:
- delimiter: ''
+ delimiter: ""
format: "%n%"
precision:
format:
- delimiter: ''
+ delimiter: ""
support:
array:
last_word_connector: ", and "
two_words_connector: " and "
words_connector: ", "
time:
- am: am
+ am: "am"
formats:
default: "%a, %d %b %Y %H:%M:%S %z"
long: "%B %d, %Y %H:%M"
short: "%d %b %H:%M"
- pm: pm
+ pm: "pm"
diff --git a/config/locales/en/layouts.yml b/config/locales/en/layouts.yml
index 610ad0c37..7ea8138e0 100644
--- a/config/locales/en/layouts.yml
+++ b/config/locales/en/layouts.yml
@@ -5,7 +5,12 @@ en:
description: "The calculator tells you how many disposable diapers your baby has already used and will use in the future before switching to regular underwear. And also how much money you have already spent on diapers and how much money you have yet to spend."
calculate: "Let's go"
visit_website: "Visit WebSite"
+ link: 'https://zerowastelviv.org.ua/en'
account:
shared:
navigation:
- donate: "DONATE"
+ donate: "Donate"
+ calculators: "Calculators"
+ search_form:
+ search_placeholder: "Search"
+ search_button: "Search"
diff --git a/config/locales/en/simple_form.en.yml b/config/locales/en/simple_form.en.yml
new file mode 100644
index 000000000..5852f3db0
--- /dev/null
+++ b/config/locales/en/simple_form.en.yml
@@ -0,0 +1,8 @@
+en:
+ simple_form:
+ labels:
+ defaults:
+ required: "%{text} %{mark}"
+ required:
+ text: "Required"
+ mark: "*"
diff --git a/config/locales/uk/active_storage.yml b/config/locales/uk/active_storage.yml
index 1c8bdfde9..ec47a2719 100644
--- a/config/locales/uk/active_storage.yml
+++ b/config/locales/uk/active_storage.yml
@@ -1,22 +1,23 @@
uk:
errors:
messages:
- content_type_invalid: "Вам заборонено завантажувати %{content_type} файли, дозволені типи: %{authorized_types}"
- file_size_out_of_range: "розмір %{file_size} більше необхідного"
- limit_out_of_range: "кількість файлів більше необхідного"
+ content_type_invalid: "Дозволені лише формати файлів .PNG та .ICO"
+ file_size_out_of_range: "розмір файлу повинен бути менше або дорівнювати 1 КБ"
+ limit_out_of_range: "кількість файлів перевищує допустиму"
image_metadata_missing: "не є допустимим зображенням"
- dimension_min_inclusion: "мусить бути більше або дорівнювати %{width} x %{height} пікселям"
- dimension_max_inclusion: "мусить бути менше або дорівнювати %{width} x %{height} пікселям"
- dimension_width_inclusion: "ширина не включена між %{min} і %{max} пікселям"
- dimension_height_inclusion: "висота не включена між %{min} і %{max} пікселям"
- dimension_width_greater_than_or_equal_to: "ширина мусить бути більше або дорівнювати %{length} пікселям"
- dimension_height_greater_than_or_equal_to: "висота мусить бути більше або дорівнювати %{length} пікселям"
- dimension_width_less_than_or_equal_to: "ширина мусить бути менше або дорівнювати %{length} пікселям"
- dimension_height_less_than_or_equal_to: "висота мусить бути менше або дорівнювати %{length} пікселям"
- dimension_width_equal_to: "ширина мусить дорівнювати %{length} пікселям"
- dimension_height_equal_to: "висота мусить дорівнювати %{length} пікселям"
- aspect_ratio_not_square: "мусить бути квадратне зображення"
- aspect_ratio_not_portrait: "мусить бути портретне зображення"
- aspect_ratio_not_landscape: "мусить бути пейзажне зображення"
- aspect_ratio_is_not: "мусить мати співвідношення сторін %{aspect_ratio}"
+ dimension_min_inclusion: "повинен бути більше або дорівнювати %{width} x %{height} пікселям"
+ dimension_max_inclusion: "повинен бути менше або дорівнювати %{width} x %{height} пікселям"
+ dimension_width_inclusion: "має ширину, що не включена між %{min} і %{max} пікселями"
+ dimension_height_inclusion: "має висоту, що не включена між %{min} і %{max} пікселями"
+ dimension_width_greater_than_or_equal_to: "повинен мати ширину, що більше або дорівнює %{length} пікселям"
+ dimension_height_greater_than_or_equal_to: "повинен мати висоту, що більше або дорівнює %{length} пікселям"
+ dimension_width_less_than_or_equal_to: "повинен мати ширину, що менше або дорівнює %{length} пікселям"
+ dimension_height_less_than_or_equal_to: "повинен мати висоту, що менше або дорівнює %{length} пікселям"
+ dimension_width_equal_to: "повинен мати ширину, що дорівнює %{length} пікселям"
+ dimension_height_equal_to: "повинен мати висоту, що дорівнює %{length} пікселям"
+ aspect_ratio_not_square: "повинен мати роздільну здатність, кратну квадрату (наприклад: 16x16px)"
+ aspect_ratio_not_portrait: "повинен мати портретну орієнтацію"
+ aspect_ratio_not_landscape: "повинен мати пейзажну орієнтацію"
+ aspect_ratio_is_not: "повинен мати співвідношення сторін %{aspect_ratio}"
aspect_ratio_unknown: "має невідоме співвідношення сторін"
+ image_not_processable: "не є дійсним зображенням"
diff --git a/config/locales/uk/devise.uk.yml b/config/locales/uk/devise.uk.yml
index 5e8041486..3bc8e6a74 100644
--- a/config/locales/uk/devise.uk.yml
+++ b/config/locales/uk/devise.uk.yml
@@ -2,19 +2,20 @@ uk:
# en: English
devise:
confirmations:
- confirmed: "Ваш обліковий запис підтверджено. Ви увійшли в систему."
- send_instructions: "Ви отримаєте лист з інструкціями по підтвердженню вашого облікового запису протягом декількох хвилин."
- send_paranoid_instructions: "Якщо Ваша email адреса існує в нашій базі даних, то протягом декількох хвилин Ви отримаєте лист з інструкціями по підтвердженню Вашого облікового запису."
+ confirmed: "Ваша електронна пошта підтверджена"
+ send_instructions: "Ви отримаєте лист з інструкціями щодо підтвердження вашого облікового запису протягом декількох хвилин."
+ send_paranoid_instructions: "Якщо ваша електронна пошта існує в нашій базі даних, то протягом декількох хвилин Ви отримаєте лист з інструкціями щодо підтвердження вашого облікового запису."
failure:
- already_authenticated: "Ви вже увійшли в систему."
- inactive: "Ваш обліковий запис ще не активований."
- invalid: "Невірний email чи пароль."
- invalid_token: "Невірний ключ аутентифікації."
- locked: "Ваш обліковий запис заблоковано."
- not_found_in_database: "Невірний email чи пароль."
- timeout: "Час вашої сесії вичерпано. Будь-ласка, увійдіть в систему знову."
- unauthenticated: "Вам необхідно увійти в систему чи зареєструватися."
- unconfirmed: "Ви маєте підтвердити Ваш обліковий запис."
+ already_authenticated: "Ви вже увійшли до системи"
+ inactive: "Ваш обліковий запис ще не активований"
+ invalid: "Невірна електронна пошта чи пароль"
+ invalid_token: "Невірний ключ аутентифікації"
+ locked: "Ваш обліковий запис заблоковано"
+ last_attempt: "У вас є ще одна спроба, перш ніж ваш акаунт буде заблоковано"
+ not_found_in_database: "Невірна електронна пошта чи пароль"
+ timeout: "Час вашої сесії вичерпано. Будь ласка, увійдіть до системи знову"
+ unauthenticated: "Вам необхідно увійти до системи чи зареєструватися"
+ unconfirmed: "Ви маєте підтвердити ваш обліковий запис"
mailer:
confirmation_instructions:
subject: "Інструкції з підтвердження облікового запису"
@@ -22,43 +23,50 @@ uk:
subject: "Інструкції з відновлення паролю"
unlock_instructions:
subject: "Інструкції з розблокування облікового запису"
+ email_changed:
+ subject: "Електронну пошту змінено"
+ password_change:
+ subject: "Пароль змінено"
omniauth_callbacks:
- failure: "Ви не можете увійти в систему з облікового запису %{kind}, так як \"%{reason}\"."
- success: "Вхід в систему з облікового запису %{kind} успішний."
+ continue_with: "Або продовжити через"
+ failure: "Ви не можете увійти до системи з облікового запису %{kind}, оскільки \"%{reason}\"."
+ success: "Вхід до системи з облікового запису %{kind} успішний"
passwords:
- format: "Невірний формат - має складати мінімум 8 символів, у тому числі одну прописну букву, рядкову букву і цифру."
- no_token: "Ця сторінка доступна тільки при переході з email для скидання паролю. Якщо Ви перейшли по посиланню з листа, будь-ласка, переконайтесь, що Ви використовували повний URL."
- send_instructions: "Протягом декількох хвилин Ви отримаєте лист з інструкціями по скиданню Вашого паролю."
- send_paranoid_instructions: "Якщо Ваша email адреса існує в нашій базі даних, то протягом декількох хвилин Ви отримаєте лист з інструкціями по відновленню Вашого паролю."
- updated: "Ваш пароль було змінено. Ви увійшли в систему."
- updated_not_active: "Ваш пароль було змінено успішно."
+ format: "Невірний формат – має складати мінімум 8 символів, у тому числі одну велику літеру, малу літеру і цифру"
+ no_token: "Ця сторінка доступна тільки при переході з електронної пошти для скидання паролю. Якщо ви перейшли за посиланням з листа, будь ласка, переконайтесь, що ви використовували повний URL"
+ send_instructions: "Протягом декількох хвилин ви отримаєте лист з інструкціями щодо скидання вашого паролю"
+ send_paranoid_instructions: "Якщо ваша електронна пошта існує в нашій базі даних, то протягом декількох хвилин Ви отримаєте лист з інструкціями щодо відновлення вашого паролю"
+ updated: "Ваш пароль було змінено. Ви увійшли до системи"
+ updated_not_active: "Ваш пароль було змінено успішно"
registrations:
- destroyed: "До побачення! Ваш обліковий запис був успішно видалений. Сподіваємось незабаром побачитись з Вами знову."
- signed_up: "Ласкаво просимо! Ви успішно зареєструвалися."
- signed_up_but_inactive: "Ви успішно зареєструвалися, але Ви не можете увійти в систему тому, що Ваш обліковий запис ще не активований."
- signed_up_but_locked: "Ви успішно зареєструвалися, але Ви не можете увійти в систему тому, що Ваш обліковий запис заблоковано."
- signed_up_but_unconfirmed: "Ви отримаєте лист з інструкціями по підтвердженню вашого облікового запису протягом декількох хвилин."
- updated: "Ваш обліковий запис змінено."
- update_needs_confirmation: "Ваш обліковий запис оновлено успішно, але необхідно підтвердити Вашу нову email адресу. Будь-ласка, перевірте свою електронну скриньку і перейдіть за посиланням \"Підтвердити\", шоб завершити оновлення email адреси."
+ destroyed: "До побачення! Ваш обліковий запис був успішно видалений. Сподіваємось незабаром побачитись з вами знову"
+ signed_up: "Ласкаво просимо! Ви успішно зареєструвалися"
+ signed_up_but_inactive: "Ви успішно зареєструвалися, але ви не можете увійти до системи тому, що ваш обліковий запис ще не активований"
+ signed_up_but_locked: "Ви успішно зареєструвалися, але ви не можете увійти до системи тому, що ваш обліковий запис заблоковано"
+ signed_up_but_unconfirmed: "На вашу електронну адресу було надіслано повідомлення з посиланням для підтвердження. Будь ласка, перейдіть за посиланням для активації облікового запису"
+ updated: "Ваш обліковий запис змінено успішно"
+ updated_but_not_signed_in: "Ваш обліковий запис було успішно оновлено, але оскільки ваш пароль було змінено, вам потрібно увійти знову"
+ update_needs_confirmation: "Ваш обліковий запис оновлено успішно, але необхідно підтвердити вашу нову електронну пошту. Будь ласка, перевірте свою електронну скриньку і перейдіть за посиланням \"Підтвердити\", шоб завершити оновлення електронної пошти"
sessions:
- signed_in: "Ви увійшли в систему."
- signed_out: "Ви вийшли з системи."
+ signed_in: "Ви увійшли до системи"
+ signed_out: "Ви вийшли з системи"
+ already_signed_out: "Успішний вихід з системи"
unlocks:
- send_instructions: "Протягом декількох хвилин Ви отримаєте лист з інструкціями по розблокуванню Вашого облікового запису."
- send_paranoid_instructions: "Якщо Ваш обліковий запис існує, то протягом декількох хвилин Ви отримаєте лист з інструкціями по його розблокуванню."
- unlocked: "Ваш обліковий запис розблоковано. Ви увійшли в систему."
+ send_instructions: "Протягом декількох хвилин ви отримаєте лист з інструкціями щодо розблокування вашого облікового запису"
+ send_paranoid_instructions: "Якщо ваш обліковий запис існує, то протягом декількох хвилин ви отримаєте лист з інструкціями щодо його розблокування"
+ unlocked: "Ваш обліковий запис розблоковано. Будь ласка, увійдіть до системи, щоб продовжити"
errors:
messages:
- already_confirmed: "вже підтверждено. Будь-ласка, спробуйте увійти в систему"
- confirmation_period_expired: "має бути підтверджено протягом %{period}, будь-ласка, запросіть підтвердження запису завтра"
- expired: "застаріла. Будь-ласка, запросіть нову"
+ already_confirmed: "вже підтверждено. Будь ласка, спробуйте увійти до системи"
+ confirmation_period_expired: "має бути підтверджено протягом %{period}, будь ласка, запросіть підтвердження знову"
+ expired: "застаріла. Будь ласка, запросіть нову"
not_found: "не знайдено"
not_locked: "не заблоковано"
not_saved:
one: "%{resource}: не вдалося зберегти через %{count} помилку"
- few: "%{resource}: не вдалося зберегти через %{count} помилок"
+ few: "%{resource}: не вдалося зберегти через %{count} помилки"
many: "%{resource}: не вдалося зберегти через %{count} помилок"
- other: "%{resource}: не вдалося зберегти через %{count} помилку"
+ other: "%{resource}: не вдалося зберегти через %{count} помилок"
wrong_email: "Ваш логін невірний"
wrong_password: "Ваш пароль невірний"
only_letters: "Лише літери"
diff --git a/config/locales/uk/layouts.yml b/config/locales/uk/layouts.yml
index 59cf5bdd3..547d3a232 100644
--- a/config/locales/uk/layouts.yml
+++ b/config/locales/uk/layouts.yml
@@ -2,10 +2,15 @@ uk:
home:
index:
homepage_title: "Вас вітає калькулятор підгузків"
- description: "Цей калькулятор дозволяє порахувати, скільки одноразових підгузків ваша дитина вже використала та ще використає до того часу, як перейде на звичайну білизну. А також визначити вартість уже куплених підгузків та суму, яку ви витратите на них у майбутньому."
+ description: "Цей калькулятор дає змогу порахувати, скільки одноразових підгузків ваша дитина вже використала та ще використає до того часу, як перейде на звичайну білизну. А також визначити вартість уже куплених підгузків та суму, яку ви витратите на них у майбутньому."
calculate: "Почати"
visit_website: "Наш сайт"
+ link: 'https://zerowastelviv.org.ua/'
account:
shared:
navigation:
donate: "Підтримати"
+ calculators: "Калькулятори"
+ search_form:
+ search_placeholder: "Пошук"
+ search_button: "Шукати"
diff --git a/config/locales/uk/simple_form.uk.yml b/config/locales/uk/simple_form.uk.yml
new file mode 100644
index 000000000..3eae859de
--- /dev/null
+++ b/config/locales/uk/simple_form.uk.yml
@@ -0,0 +1,8 @@
+uk:
+ simple_form:
+ labels:
+ defaults:
+ required: "%{text} %{mark}"
+ required:
+ text: "Обовʼязкове поле"
+ mark: "*"
diff --git a/config/locales/uk/uk.yml b/config/locales/uk/uk.yml
index d3039992d..4354d31c7 100644
--- a/config/locales/uk/uk.yml
+++ b/config/locales/uk/uk.yml
@@ -1,37 +1,88 @@
uk:
en: English
+ buttons:
+ save: "Зберегти"
+ update: "Оновити"
+ create: "Створити"
+ cancel: "Скасувати"
+ revert: "Скинути"
+ back: "Назад"
+ views:
+ pagination:
+ previous: "‹ Поперед."
+ next: "Наступна ›"
+ truncate: "…"
calculators:
- calculator:
- diaper: "підгузок"
- form_description: "Скільки виповнилося дитині:"
- form_price: "Цінова категорія"
+ index:
+ meta-title: "Калькулятори"
+ new_calculator:
+ diaper_сalculator: "Калькулятор підгузків"
form:
- childs_birthday_label: "Дата народження дитини"
- childs_age_label: "Вік дитини"
- childs_years_label: "повних років"
- childs_months_label: "місяців"
- baby_weight_label: "Baby weight"
+ description: "Вік дитини:"
+ price: "Цінова категорія"
+ childs_years_label: "р."
+ childs_months_label: "міс."
budgetary: "бюджетна"
medium: "середня"
premium: "преміум"
- calculate_result_button: "Розрахувати"
- want_recomentation_label: "Так, я хочу отримувати листи з рекомендаціями"
- bought_diapers: "підгузок ви вже використали"
+ bought_diapers: "ви вже використали"
+ will_buy_diapers: "ви ще використаєте"
+ money_spent: "ви вже витратили"
+ money_will_be_spent: "ви ще витратите"
+ pieces: "шт."
+ unit: "грн"
+ old_calculator:
+ form:
+ description: "Вік дитини:"
+ years_prompt: "повних років"
+ months_prompt: "місяців"
+ bought_diapers:
+ one: "підгузок ви вже використали"
+ few: "підгузки ви вже використали"
+ many: "підгузків ви вже використали"
+ other: "підгузків ви вже використали"
+ will_buy_diapers:
+ one: "підгузок ви ще використаєте"
+ few: "підгузки ви ще використаєте"
+ many: "підгузків ви ще використаєте"
+ other: "підгузків ви ще використаєте"
money_spent: "грн ви вже витратили"
- will_buy_diapers: "підгузки які будуть використані"
money_will_be_spent: "грн ви ще витратите"
- mililiters_of_naphtha: "Мілілітрів нафти"
- gram_of_plastic: "Грамів пластику"
+ errors:
+ year_and_month_error_msg: "Будь ласка, виберіть, скільки років та місяців дитині"
+ year_error_msg: "Будь ласка, виберіть, скільки років дитині"
+ month_error_msg: "Будь ласка, виберіть, скільки місяців дитині"
show:
welcome_header: "Ласкаво просимо до ZeroWaste"
calculate_result_button: "Pозрахувати"
- bought_diapers: "Кількості підгузків, що вже були використані"
- will_buy_diapers: "Кількість підгузків, які ще будуть використані"
+ bought_diapers: "Кількість використаних підгузків"
+ will_buy_diapers: "Кількість підгузків, які ще будуть використані до моменту, коли дитина перейде на звичайну білизну"
money_spent: "Вартість використаних підгузків"
- money_will_be_spent: "вартість підгузків, які ви ще будуть використані до моменту, коли дитина перейде на звичайну білизну"
+ money_will_be_spent: "Вартість підгузків, які ще будуть використані до моменту, коли дитина перейде на звичайну білизну"
+ buttons:
+ to_main: "На головну"
+ calculate: "Розрахувати"
+ index:
+ meta-title: "Калькулятори"
+ id_column: "№"
+ calculator_name: "Назва"
+ calculator_actions: "Дії"
+ date:
+ months:
+ one: "%{count} місяць"
+ few: "%{count} місяці"
+ many: "%{count} місяців"
+ other: "%{count} місяців"
+ years:
+ one: "%{count} рік"
+ few: "%{count} роки"
+ many: "%{count} років"
+ other: "%{count} років"
layouts:
navigation:
+ about_us: "Про нас"
admin: "Адміністратор"
+ calculate: "Калькулятор підгузків"
log_out: "Вийти"
sign_up: "Зареєструватися"
log_in: "Увійти"
@@ -39,29 +90,47 @@ uk:
contacts: "%{contacts_uk:Контакти}"
local_lang: "English"
description_block:
- description_block_html: "Ці результати є приблизними, точні цифри для вашої сімʼї можуть бути дещо іншими
- та залежать від ваших щоденних звичок та обраної марки підгузків. На будь-якому етапі користування підгузками
- є можливість зменшити рівень їхнього використання. Запрошуємо вас дізнатися більше про методи, як це можна
- зробити, та про доступні багаторазові альтернативи одноразовим дитячим підгузкам. А ще ви можете почитати
- детальніше про те, %{calculate_link_one:як ми розраховуємо} кількість та вартість підгузків,
- або %{calculate_link_two:написати нам}, якщо маєте інші запитання."
+ description_block_html:
+ "Ці результати є приблизними, точні цифри для вашої сімʼї можуть бути дещо іншими
+ та залежать від ваших щоденних звичок та обраної марки підгузків. На будь-якому етапі користування підгузками
+ є можливість зменшити рівень їхнього використання. Запрошуємо вас дізнатися більше про методи, як це можна
+ зробити, та про достmупні багаторазові альтернативи одноразовим дитячим підгузкам. А ще ви можете почитати
+ докладніше про те, %{calculate_link_one:як ми розраховуємо} кількість та вартість підгузків,
+ або %{calculate_link_two:написати нам}, якщо маєте інші запитання."
description_button:
use_less: "%{use_less_link:ЯК ЗМЕНШИТИ ВИКОРИСТАННЯ}"
homepage:
homepage_title: "Вас вітає калькулятор підгузків"
- description: "Цей калькулятор дозволяє порахувати, скільки одноразових підгузків ваша дитина вже використала та ще використає до того часу, як перейде на звичайну білизну. А також визначити вартість уже куплених підгузків та суму, яку ви витратите на них у майбутньому."
+ description: "Цей калькулятор дає змогу порахувати, скільки одноразових підгузків ваша дитина вже використала та ще використає до того часу, як перейде на звичайну білизну. А також визначити вартість уже куплених підгузків та суму, яку ви витратите на них у майбутньому."
calculate: "Почати"
visit_website: "Наш сайт"
account_navbar:
+ homepage: "Головна сторінка"
calculators: "Калькулятори"
histories: "Історія"
users: "Користувачі"
messages: "Повідомлення"
- app_config: "Налаштування"
site_settings: "Налаштування сайту"
categories: "Категорії"
+ products: "Продукти"
+ zerowaste_logo: "логотип ZeroWaste"
+ account_footer:
+ created_with: "Створено з"
+ by: "в"
+ mailer:
+ welcome_mail:
+ subject: "Ласкаво просимо до ZeroWaste!"
+ user_mailer:
+ welcome_email:
+ greeting: "Ласкаво просимо до ZeroWaste, %{name}"
+ login_info: "Ви успішно зареєструвалися на zerowaste.com, ваші дані для входу"
+ email: "Електронна пошта: %{email}"
+ password: "Пароль: %{password}"
+ to_login: "Щоб увійти на сайт, просто перейдіть за цим посиланням"
+ thanks: "Дякуємо за приєднання та бажаємо гарного дня!"
messages:
new:
+ meta-title: "Зв'яжіться з нами"
contact_us_header: "Зв'яжіться з нами"
email: "Електронна пошта"
message: "Повідомлення"
@@ -71,6 +140,26 @@ uk:
message_hint: "Напишіть ваше повідомлення тут (мінімум 20 символів)"
company_address: "Адреса компанії"
about_us: "Про нас"
+ sitemap:
+ index:
+ sitemap: "Мапа сайту"
+ homepage: "Головна сторінка"
+ about_us: "Про нас"
+ calculator-diapers: "Калькулятор підгузків"
+ calculators: "Калькулятори"
+ message: "Напишіть нам повідомлення"
+ about_us:
+ title: "Про нас"
+ description:
+ first_paragraph: "Ми працюємо в багатьох напрямках на користь чистого майбутнього та сталого розвитку нашого міста та країни."
+ second_paragraph: "Zero Waste закликає нас раціонально та свідомо використовувати ресурси."
+ third_paragraph: "Основна мета zero waste – перейти до економіки замкненого циклу, де немає сміття як такого, а те, що називають сміттям, стає цінним ресурсом."
+ our_team:
+ title: "Наша команда"
+ description:
+ "Zero Waste Lviv та SoftServe представляють калькулятор – онлайн-інструмент для розрахунку кількості
+ одноразових та повторно використовуваних предметів. Калькулятор розроблений як частина благодійної платформи Open Tech.
+ Технічна реалізація здійснюється студентами SoftServe Academy."
account:
account:
edit:
@@ -78,26 +167,16 @@ uk:
new_password_label: "Новий пароль:"
confirm_password_label: "Підтвердіть новий пароль:"
change_password_button: "Змінити пароль"
- app_configs:
- edit:
- diapers_calculator_config: "Налаштування калькулятора памперсів"
- first_period: "Перший період"
- second_period: "Другий період"
- third_period: "Третій період"
- fourth_period: "Четвертий період"
- fifth_period: "П'ятий період"
- sixth_period: "Шостий період"
- seventh_period: "Сьомий період"
- amount: "Кількість"
- price: "Вартість"
- update: "Оновити"
messages:
index:
+ meta-title: "Повідомлення"
+ search_placeholder: "Пошук"
+ search_button: "Шукати"
table:
title: "Заголовок"
email: "Електронна пошта"
message: "Повідомлення"
- show_more: "Детальніше"
+ show_more: "Докладніше"
show:
header: "Інформація"
table:
@@ -107,31 +186,83 @@ uk:
time_col: "Дата"
categories:
index:
+ meta-title: "Категорії"
+ search_placeholder: "Пошук"
+ search_button: "Шукати"
table:
- title: 'Назва'
- actions: 'Дії'
- add_category_button: 'Додати категорію'
- confirm_delete: 'Видалити категорію?'
+ title: "Назва"
+ actions: "Дії"
+ priority: "Пріоритет"
+ edit: "Відредагувати"
+ delete: "Видалити"
+ add_category_button: "Додати категорію"
+ confirm_delete: "Видалити категорію?"
+ cannot_delete: "Ви не можете видалити основну категорію."
edit:
- update_button: 'Оновити'
- cancel_button: 'Скасувати'
+ form:
+ update_category_button: "Оновити категорію"
new:
- create_button: 'Create'
- cancel_button: 'Скасувати'
- site_settings:
- validations:
- size: 'надто великий'
- edit:
- update_button: 'Оновити'
+ form:
+ create_category_button: "Створити категорію"
+ products:
+ index:
+ meta-title: "Продукти"
+ table:
+ title: "Назва"
+ prices: "Ціни"
+ actions: "Дії"
+ edit: "Відредагувати"
+ delete: "Видалити"
+ add_product_button: "Додати продукт"
+ confirm_delete: "Видалити продукт?"
+ show:
+ table:
+ title: "Назва"
+ prices: "Ціни"
+ actions: "Дії"
+ confirm_delete: "Видалити продукт?"
+ partials:
+ new:
+ form:
+ title: "Назва"
+ form:
+ sum: "Сума"
+ create_product_button: "Створити продукт"
+ edit:
+ form:
+ title: "Назва"
+ form:
+ sum: "Сума"
+ update_product_button: "Оновити продукт"
+ created: "Продукт був успішно створений"
+ updated: "Продукт був успішно оновлений"
+ deleted: "Продукт був успішно видалений"
users:
index:
+ meta-title: "Користувачі"
main_header: "Адмінпанель"
+ add_user_button: "Створити нового користувача"
+ confirm_block: "Ви справді хочете заблокувати цього користувача?"
+ confirm_unblock: "Ви справді хочете розблокувати цього користувача?"
+ confirm_delete: "Ви справді хочете видалити цього користувача?"
table:
- email_col: "Електронна адреса"
+ email_col: "Електронна пошта"
+ first_name: "Ім'я"
+ last_name: "Прізвище"
last_visit_col: "Час останнього візиту"
- view_info_col: "Показати"
+ show: "Показати"
edit: "Відредагувати"
ban: "Заблокувати"
+ delete: "Видалити"
+ new:
+ table:
+ create_new_user: "Створіть користувача"
+ form:
+ first_name_label: "Ім'я"
+ last_name_label: "Прізвище"
+ password_hint: "Мінімум 8 символів"
+ create_user_button: "Створити нового користувача"
+ send_credentials_email: "Надіслати електронного листа з даними користувача"
edit:
avatar: "Фото профілю користувача"
table:
@@ -140,7 +271,7 @@ uk:
name_label: "Ім'я"
surname_label: "Прізвище"
password_hint: "Залиште порожнім, якщо не хочете змінювати"
- avatar_hint: "Розмір зображення не має перевищувати 2 Мб. Дозволені типи файлів: PNG,JPG та JPEG"
+ avatar_hint: "Розмір зображення не має перевищувати 2 Мб. Дозволені типи файлів: PNG, JPG та JPEG"
update_user_button: "Оновити інформацію"
show:
header: "Інформація про користувача"
@@ -157,38 +288,119 @@ uk:
unblocked_label: "Розблокований"
calculators:
index:
- search_placeholder: "Пошук"
- search_button: "Шукати"
+ meta-title: "Калькулятори"
add_calculator_button: "Додати калькулятор"
confirm_delete: "Ви справді хочете видалити калькулятор?"
table:
calculator_slug: "Шлях"
calculator_name: "Назва"
calculator_actions: "Дії"
+ show: "Показати"
+ edit: "Відредагувати"
+ delete: "Видалити"
edit:
add_new_field_label: "Додати нове поле"
form:
select_field_kind_label: "Оберіть поле"
select_field_type_label: "Оберіть тип поля"
- create_button: "Створити"
form_label: "Форма"
parameters_label: "Параметри"
results_label: "Результати"
no_fields_yet_label: "Полів поки нема"
update_calculator_button: "Оновити калькулятор"
- cancel_button: "Скасувати"
new:
create_calculator_button: "Створити калькулятор"
cancel_button: "Скасувати"
prohibited_to_update: " перешкоджають оновленню калькулятора"
prohibited_to_save: " перешкоджають збереженню калькулятора"
error: "помилки"
+ site_settings:
+ edit:
+ meta-title: "Налаштування сайту"
+ site_settings: "Налаштування сайту"
+ site_features: "Особливості сайту"
+ rails_db_description: "Доступ до бази даних (лише перегляд)"
+ dev_features: "Для розробників"
+ diapers_categories: "Категорії підгузків"
+ apply_button: "Зберегти"
+ confirm_default: "Ви впевнені, що бажаєте повернути налаштування за замовчуванням для назви та іконки сайту?"
+ diapers_periods:
+ partials:
+ edit:
+ form:
+ edit_name: "Редагувати періоди для підгузків"
+ period_start: "Початок періоду"
+ period_end: "Кінець періоду"
+ usage_amount: "Обсяг використання "
+ price: "Ціна"
+ back_button: "Назад"
+ cannot_edit_period: "Ви не можете редагувати початок та кінець періоду"
+ index:
+ delete_button:
+ confirm_delete: "Ви впевнені, що бажаєте видалити цей період?"
+ cannot_delete_category: "Ви не можете видалити періоди в основній категорії."
+ cannot_delete_period: "Ви можете видалити лише останній період."
+ add_new_link:
+ add_new: "Додати новий період"
+ content:
+ periods_for: "Періоди підгудків для категорії:"
+ confirm_delete: "Ви впевнені, що бажаєте видалити цей період?"
+ period_start: "Початок періоду"
+ period_end: "Кінець періоду"
+ usage_amount: "Обсяг використання "
+ price: "Ціна"
+ table:
+ edit: "Редагувати"
+ delete: "Видалити"
+ add_new: "Додати новий період"
+ back_button: "Назад"
+ warning: "Ця категорія не відображається в калькуляторі, оскільки вона не охоплює всі періоди. Будь ласка, додайте нові періоди, щоб категорія охоплювала 30 місяців."
+ cannot_delete: "Ви не можете видалити періоди в основній категорії."
+ new:
+ form:
+ new_period: "Новий період для підгузків категорії:"
+ period_start: "Початок періоду"
+ period_end: "Кінець періоду"
+ usage_amount: "Обсяг використання "
+ price: "Ціна"
+ back_button: "Назад"
+ cannot_edit_start_period: "Ви не можете редагувати початок періоду"
+ categories:
+ partials:
+ available:
+ content:
+ available: "Оберіть категорію:"
+ no_categories_available: "Немає доступних категорій. Створіть нову категорію."
+ category_name: "Назва категорії"
+ confirm_delete: "Ви впевнені, що бажаєте видалити всі періоди?"
+ back_button: "Назад"
+ table:
+ add: "Додати"
+ with_periods:
+ content:
+ category_name: "Назва категорії"
+ confirm_delete: "Ви впевнені, що бажаєте видалити всі періоди?"
+ table:
+ show: "Показати"
+ delete: "Видалити"
+ no_categories: "Не знайдено періодів для підгузків. Додайте новий зі списку доступних."
+ add_button: "Додати"
+ tooltip: "Ця категорія не відображається в Калькуляторі, оскільки вона не охоплює всі періоди."
+ cannot_delete_category: "Ви не можете видалити періоди в основній категорії."
+ feature_flags:
+ submit_button: "Зберегти"
+ new_calculator_design:
+ name: "Увімкнути новий дизайн калькулятора"
+ show_calculators_list:
+ name: "Показати калькулятори користувачам"
+ sandbox_mode:
+ name: "Увімкнути режим пісочниці"
sessions:
new:
log_in_header: "Увійти"
log_in_button: "Увійти"
form:
- email: "Пошта"
+ email: "Електронна пошта"
password: "Пароль"
shared:
links:
@@ -200,31 +412,31 @@ uk:
resend_confirmation_instructions_button: "Повторно надіслати інструкцію з підтвердженням"
mailer:
confirmation_instructions:
- greetings_to_user: Ласкаво просимо, %{recipient}!
+ greetings_to_user: "Ласкаво просимо, %{recipient}!"
confirmation_email_through_link: "Ви можете підтвердити свій акаунт за посиланням нижче:"
confirmation_account_link: "Підтвердити мій акаунт"
email_changed:
greeting: Привіт, %{recipient}!
- message_confirmed: Ми пишемо, щоб повідомити про зміну Вашої електронної пошти на %{email}.
- message_unconfirmed: Ми пишемо, щоб повідомити, що Вашу електронну пошту змінено на %{email}.
+ message_confirmed: "Ми пишемо, щоб повідомити, що вашу електронну пошту було змінено на %{email}."
+ message_unconfirmed: "Ми пишемо, щоб повідомити, що вашу електронну пошту буде змінено на %{email}."
password_change:
- greeting: Привіт, %{recipient}!
- successful_change: "Ми пишемо, щоб повідомити про зміну Вашого пароля"
+ greeting: "Привіт, %{recipient}!"
+ successful_change: "Ми пишемо, щоб повідомити про зміну вашого пароля"
reset_password_instructions:
- greeting: Привіт %{recipient}!
+ greeting: "Привіт, %{recipient}!"
change_password_link: "Змінити мій пароль"
- request_change_password: "Хтось надіслав запит на зміну Вашого пароля. Ви можете зробити це за посиланням нижче"
+ request_change_password: "Хтось надіслав запит на зміну вашого пароля. Ви можете зробити це за посиланням нижче:"
ignore_email: "Якщо ви не надсилали запит, будь ласка, проігноруйте цей лист."
- access_to_changing: "Ваш пароль не буде змінено, доки Ви не перейдете за посиланням вище та не зміните його."
+ access_to_changing: "Ваш пароль не буде змінено, доки ви не перейдете за посиланням вище та не зміните його."
unlock_instructions:
- greeting: Привіт, %{recipient}!
+ greeting: "Привіт, %{recipient}!"
locked_message: "Ваш акаунт було заблоковано через надто велику кількість неуспішних спроб увійти."
- unlock_your_account: "Натисніть на посилання нижче, аби розблокувати Ваш акаунт:"
+ unlock_your_account: "Натисніть на посилання нижче, щоб розблокувати ваш акаунт:"
unlock_link: "Розблокувати мій акаунт"
unlocks:
new:
- resend_unlock_instructions_header: "Повторно надіслати інструкцію розблокування"
- resend_unlock_instructions_button: "Повторно надіслати інструкцію розблокування"
+ resend_unlock_instructions_header: "Повторно надіслати інструкцію з розблокування"
+ resend_unlock_instructions_button: "Повторно надіслати інструкцію з розблокування"
passwords:
password:
blank: "Новий пароль не може бути порожнім"
@@ -242,6 +454,7 @@ uk:
email_label: "Електронна пошта"
histories:
index:
+ meta-title: "Історія"
history_title: "Історія"
back_link: "Назад"
table:
@@ -255,7 +468,10 @@ uk:
passwords:
new:
forgot_password_header: "Забули пароль?"
- send_instructions_button: "Надішліть мені інструкції щодо скидання пароля"
+ forgot_password_message: "Введіть свою електронну адресу, і ми надішлемо вам інструкції для скидання пароля."
+ email_placeholder: "Введіть свою ел.пошту"
+ send_instructions_button: "Скинути"
+ back_to: "Назад до"
form:
email_label: "Електронна пошта"
edit:
@@ -267,7 +483,10 @@ uk:
change_password_button: "Змінити пароль"
sessions:
new:
+ meta-title: "Увійти"
log_in: "Увійти"
+ email_placeholder: "Введіть свою ел.пошту"
+ password_placeholder: "Введіть свій пароль"
shared:
links:
forgot_your_password: "Забули пароль?"
@@ -277,12 +496,13 @@ uk:
google_sign_in: "Увійти через Google"
registrations:
new:
+ meta-title: "Зареєструватися"
sign_up_header: "Зареєструватися"
form:
- email_label: "Поштова Скринька"
+ email_label: "Електронна пошта"
password_label: "Пароль"
- password_characters_minimum_label: "Мінімум Символів"
- password_confirmation_label: "Підтвердження Паролю"
+ password_characters_minimum_label: "Мінімум символів"
+ password_confirmation_label: "Підтвердження паролю"
first_name_label: "Ім'я"
last_name_label: "Прізвище"
sign_up_button: "Зареєструватися"
@@ -301,13 +521,125 @@ uk:
resend_confirmation_button: "Надіслати запит на підтвердження знову"
resend_confirmation_instructions_header: "Надіслати запит на підтвердження знову"
failure:
- timeout: "Час вашої сесії закінчено. Будь ласка, увійдіть у систему знову"
+ timeout: "Час вашої сесії вичерпано. Будь ласка, увійдіть до системи знову"
models:
calculator: "Калькулятор"
+ category: "Категорію"
activerecord:
+ errors:
+ models:
+ calculator:
+ attributes:
+ name:
+ blank: "не може бути порожньою"
+ too_long:
+ one: "занадто довга (максимум %{count} знак)"
+ few: "занадто довга (максимум %{count} знаки)"
+ many: "занадто довга (максимум %{count} знаків)"
+ other: "занадто довга (максимум %{count} знаків)"
+ too_short:
+ one: "занадто коротка (мінімум %{count} знак)"
+ few: "занадто коротка (мінімум %{count} знаки)"
+ many: "занадто коротка (мінімум %{count} знаків)"
+ other: "занадто коротка (мінімум %{count} знаків)"
+ taken: "вже викориcтовується, будь ласка, оберіть іншу"
+ invalid: "містить неприпустимі символи"
+ category:
+ attributes:
+ name:
+ blank: "не може бути порожньою"
+ too_long:
+ one: "занадто довга (максимум %{count} знак)"
+ few: "занадто довга (максимум %{count} знаки)"
+ many: "занадто довга (максимум %{count} знаків)"
+ other: "занадто довга (максимум %{count} знаків)"
+ too_short:
+ one: "занадто коротка (мінімум %{count} знак)"
+ few: "занадто коротка (мінімум %{count} знаки)"
+ many: "занадто коротка (мінімум %{count} знаків)"
+ other: "занадто коротка (мінімум %{count} знаків)"
+ invalid: "містить неприпустимі символи"
+ taken: "вже викориcтовується, будь ласка, оберіть іншу"
+ site_setting:
+ attributes:
+ title:
+ blank: "не може бути порожньою"
+ too_long:
+ one: "занадто довга (максимум %{count} знак)"
+ few: "занадто довга (максимум %{count} знаки)"
+ many: "занадто довга (максимум %{count} знаків)"
+ other: "занадто довга (максимум %{count} знаків)"
+ too_short:
+ one: "занадто коротка (мінімум %{count} знак)"
+ few: "занадто коротка (мінімум %{count} знаки)"
+ many: "занадто коротка (мінімум %{count} знаків)"
+ other: "занадто коротка (мінімум %{count} знаків)"
+ diapers_period:
+ attributes:
+ price:
+ blank: "не може бути порожньою"
+ product:
+ attributes:
+ title:
+ blank: "не може бути порожньою"
+ too_long:
+ one: "занадто довга (максимум %{count} знак)"
+ few: "занадто довга (максимум %{count} знаки)"
+ many: "занадто довга (максимум %{count} знаків)"
+ other: "занадто довга (максимум %{count} знаків)"
+ too_short:
+ one: "занадто коротка (мінімум %{count} знак)"
+ few: "занадто коротка (мінімум %{count} знаки)"
+ many: "занадто коротка (мінімум %{count} знаків)"
+ other: "занадто коротка (мінімум %{count} знаків)"
+ taken: "вже викориcтовується, будь ласка, оберіть іншу"
+ invalid: "містить неприпустимі символи"
+ price:
+ attributes:
+ sum:
+ less_than: "занадто велика"
+ user:
+ attributes:
+ email:
+ invalid: "недійсна"
+ blank: "не може бути порожньою"
+ taken: "вже зайнята, вкажіть іншу"
+ first_name:
+ invalid: "недійсне"
+ too_long: "занадто довге (максимум %{count} знаків)"
+ too_short: "занадто коротке (мінімум %{count} знаки)"
+ last_name:
+ invalid: "недійсне"
+ too_long: "занадто довге (максимум %{count} знаків)"
+ too_short: "занадто коротке (мінімум %{count} знаки)"
+ avatar:
+ content_type:
+ "%{extension}"
+ # extension_allowlist_error: "Вам заборонено завантажувати %{extension} файли, дозволені типи: %{allowed_types}"
+
+ # uk:
+ # carrierwave:
+ # hint: "Дозволені формати: %{allowed_extensions}, рекомендоване розширення фото - %{dimension}, а максимальний розмір файлу: %{size}"
+ # errors:
+ # messages:
+ # carrierwave_processing_error: не вдалося обробити
+ # carrierwave_integrity_error: не є дозволеним типом файлу
+ # carrierwave_download_error: не вдалося завантажити
+ # extension_denylist_error: "Вам заборонено завантажувати %{extension} файли, заборонені типи: %{prohibited_types}"
+ # content_type_allowlist_error: "Вам заборонено завантажувати %{content_type} файли, дозволені типи: %{allowed_types}"
+ # content_type_denylist_error: "Вам заборонено завантажувати %{content_type} файли"
+ # processing_error: "Не вдалося опрацювати, можливо, це не зображення?"
+ # min_size_error: "Розмір файлу має бути більшим за %{min_size}"
+ # max_size_error: "Розмір файлу має бути менше %{max_size}"
+ # mini_magick_processing_error: "Не вдалося опрацювати з MiniMagick, можливо, це не зображення?"
+ messages:
+ record_invalid: "Виникли помилки: %{errors}"
+ restrict_dependent_destroy:
+ has_one: "Неможливо видалити запис, оскільки існує залежність: %{record}"
+ has_many: "Неможливо видалити запис, оскільки існують залежності: %{record}"
form_errors:
- one: "Одна помилка перешкоджає зберегти %{model}"
- few: "%{count} помилки перешкоджають зберегти %{model}"
+ one: "Одна помилка перешкоджає зберегти %{model}:"
+ few: "%{count} помилки перешкоджають зберегти %{model}:"
attributes:
user:
email: "Електронна пошта"
@@ -316,235 +648,228 @@ uk:
first_name: "Ім'я"
last_name: "Прізвище"
country: "Країна"
+ role: "Роль"
remember_me: "Запам'ятати мене"
successful_update: "Інформацію про користувача було успішно оновлено!"
admin:
remember_me: "Запам'ятати мене"
+ site_setting:
+ title: "Назва"
+ diapers_period:
+ price: "Ціна"
+ period_start: "Початок періоду"
+ period_end: "Кінець періоду"
+ usage_amount: "Обсяг використання"
calculator:
name: "Назва"
slug: "Шлях"
preferable: "Бажаний"
- errors:
- models:
- calculator:
- attributes:
- name:
- name_format_validation: Only letters and numbers allowed
- user:
- attributes:
- avatar:
- content_type: "%{extension}"
- # extension_allowlist_error: "Вам заборонено завантажувати %{extension} файли, дозволені типи: %{allowed_types}"
-
- # uk:
- # carrierwave:
- # hint: "Дозволені формати: %{allowed_extensions}, рекомендоване розширення фото - %{dimension}, а максимальний розмір файлу: %{size}"
- # errors:
- # messages:
- # carrierwave_processing_error: не вдалося обробити
- # carrierwave_integrity_error: не є дозволеним типом файлу
- # carrierwave_download_error: не вдалося завантажити
- # extension_denylist_error: "Вам заборонено завантажувати %{extension} файли, заборонені типи: %{prohibited_types}"
- # content_type_allowlist_error: "Вам заборонено завантажувати %{content_type} файли, дозволені типи: %{allowed_types}"
- # content_type_denylist_error: "Вам заборонено завантажувати %{content_type} файли"
- # processing_error: "Не вдалося опрацювати, можливо, це не зображення?"
- # min_size_error: "Розмір файлу має бути більшим за %{min_size}"
- # max_size_error: "Розмір файлу має бути менше %{max_size}"
- # mini_magick_processing_error: "Не вдалося опрацювати з MiniMagick, можливо, це не зображення?"
- messages:
- record_invalid: 'Виникли помилки: %{errors}'
- restrict_dependent_destroy:
- has_one: 'Неможливо видалити запис, так як існує залежність: %{record}'
- has_many: 'Неможливо видалити запис, так як існують залежності: %{record}'
+ category:
+ name: "Назва"
+ priority: "Пріоритет"
+ preferable: "Основна"
+ price:
+ sum: "Сума"
+ product:
+ title: "Назва"
notifications:
calculator_created: "Калькулятор було успішно створено"
calculator_updated: "Калькулятор було успішно оновлено"
calculator_deleted: "Калькулятор було успішно видалено"
+ user_created: "Користувача було успішно створено"
+ user_updated: "Користувача було успішно оновлено"
+ user_deleted: "Користувача було успішно видалено"
message_sent: "Повідомлення було надіслано"
- category_created: "Категорію було успішно створено."
- category_updated: "Категорію було успішно оновлено."
- category_deleted: "Категорію було успішно видалено."
+ category_created: "Категорію було успішно створено"
+ category_updated: "Категорію було успішно оновлено"
+ category_deleted: "Категорію було успішно видалено"
+ feature_flags_updated: "Оновлено успішно"
site_setting_updated: "Налаштування було успішно оновлено"
+ site_setting_reverted: "Заголовок та іконку сайту успішно відновлено до стандартних"
+ diapers_period_not_deleted: "Неможливо видалити період підгузків."
+ category_diapers_period_not_deleted: "Неможливо видалити періоди підгузків з категорії."
# time:
# formats:
# long: '%A, %d %B, %Y'
# short: '%d, %B, %Y'
date:
abbr_day_names:
- - нд.
- - пн.
- - вт.
- - ср.
- - чт.
- - пт.
- - сб.
+ - нд.
+ - пн.
+ - вт.
+ - ср.
+ - чт.
+ - пт.
+ - сб.
abbr_month_names:
- -
- - січ.
- - лют.
- - бер.
- - квіт.
- - трав.
- - черв.
- - лип.
- - серп.
- - вер.
- - жовт.
- - лист.
- - груд.
+ -
+ - січ.
+ - лют.
+ - бер.
+ - квіт.
+ - трав.
+ - черв.
+ - лип.
+ - серп.
+ - вер.
+ - жовт.
+ - лист.
+ - груд.
day_names:
- - неділя
- - понеділок
- - вівторок
- - середа
- - четвер
- - п'ятниця
- - субота
+ - неділя
+ - понеділок
+ - вівторок
+ - середа
+ - четвер
+ - п'ятниця
+ - субота
formats:
default: "%d.%m.%Y"
long: "%d %B %Y"
short: "%d %b"
month_names:
- -
- - Січня
- - Лютого
- - Березня
- - Квітня
- - Травня
- - Червня
- - Липня
- - Серпня
- - Вересня
- - Жовтня
- - Листопада
- - Грудня
+ -
+ - Січня
+ - Лютого
+ - Березня
+ - Квітня
+ - Травня
+ - Червня
+ - Липня
+ - Серпня
+ - Вересня
+ - Жовтня
+ - Листопада
+ - Грудня
order:
- - :day
- - :month
- - :year
+ - :day
+ - :month
+ - :year
datetime:
distance_in_words:
about_x_hours:
- one: близько %{count} години
- few: близько %{count} годин
- many: близько %{count} годин
- other: близько %{count} години
+ one: "близько %{count} години"
+ few: "близько %{count} годин"
+ many: "близько %{count} годин"
+ other: "близько %{count} годин"
about_x_months:
- one: близько %{count} місяця
- few: близько %{count} місяців
- many: близько %{count} місяців
- other: близько %{count} місяця
+ one: "близько %{count} місяця"
+ few: "близько %{count} місяців"
+ many: "близько %{count} місяців"
+ other: "близько %{count} місяців"
about_x_years:
- one: близько %{count} року
- few: близько %{count} років
- many: близько %{count} років
- other: близько %{count} року
+ one: "близько %{count} року"
+ few: "близько %{count} років"
+ many: "близько %{count} років"
+ other: "близько %{count} років"
almost_x_years:
- one: майже %{count} рік
- few: майже %{count} роки
- many: майже %{count} років
- other: майже %{count} років
- half_a_minute: пів хвилини
+ one: "майже %{count} рік"
+ few: "майже %{count} роки"
+ many: "майже %{count} років"
+ other: "майже %{count} років"
+ half_a_minute: "пів хвилини"
less_than_x_seconds:
- one: менше %{count} секунди
- few: менше %{count} секунд
- many: менше %{count} секунд
- other: менше %{count} секунди
+ one: "менше %{count} секунди"
+ few: "менше %{count} секунд"
+ many: "менше %{count} секунд"
+ other: "менше %{count} секунд"
less_than_x_minutes:
- one: менше %{count} хвилини
- few: менше %{count} хвилин
- many: менше %{count} хвилин
- other: менше %{count} хвилини
+ one: "менше %{count} хвилини"
+ few: "менше %{count} хвилин"
+ many: "менше %{count} хвилин"
+ other: "менше %{count} хвилин"
over_x_years:
- one: більше %{count} року
- few: більше %{count} років
- many: більше %{count} років
- other: більше %{count} року
+ one: "понад %{count} року"
+ few: "понад %{count} років"
+ many: "понад %{count} років"
+ other: "понад %{count} років"
x_seconds:
one: "%{count} секунда"
few: "%{count} секунди"
many: "%{count} секунд"
- other: "%{count} секунди"
+ other: "%{count} секунд"
x_minutes:
one: "%{count} хвилина"
few: "%{count} хвилини"
many: "%{count} хвилин"
- other: "%{count} хвилини"
+ other: "%{count} хвилин"
x_days:
one: "%{count} день"
few: "%{count} дні"
many: "%{count} днів"
- other: "%{count} дня"
+ other: "%{count} днів"
x_months:
one: "%{count} місяць"
few: "%{count} місяці"
many: "%{count} місяців"
- other: "%{count} місяця"
+ other: "%{count} місяців"
x_years:
one: "%{count} рік"
few: "%{count} роки"
many: "%{count} років"
- other: "%{count} року"
+ other: "%{count} років"
prompts:
- second: Секунда
- minute: Хвилина
- hour: Година
- day: День
- month: Місяць
- year: Рік
+ second: "Секунда"
+ minute: "Хвилина"
+ hour: "Година"
+ day: "День"
+ month: "Місяць"
+ year: "Рік"
+
errors:
format: "%{attribute} %{message}"
messages:
- accepted: має бути прийнятий
- blank: не може бути пустим
- confirmation: не збігається з підтвердженням
- empty: не може бути порожнім
- equal_to: має дорівнювати %{count}
- even: має бути парним
- exclusion: зарезервовано
- greater_than: має бути більше ніж %{count}
- greater_than_or_equal_to: має бути більше ніж або дорівнювати %{count}
- inclusion: не включено до переліку
- invalid: недійсний
- less_than: має бути менше ніж %{count}
- less_than_or_equal_to: має бути менше ніж або дорівнювати %{count}
- model_invalid: 'Виникли помилки: %{errors}'
- not_a_number: не число
- not_an_integer: не є цілим числом
- odd: має бути непарним
- other_than: має відрізнятись від %{count}
- present: має бути пустим
- required: не може бути порожнім
- taken: вже зайнятий
+ accepted: "може бути прийнятим"
+ blank: "не може бути порожнім"
+ confirmation: "не збігається з підтвердженням"
+ empty: "не може бути порожнім"
+ equal_to: "мусить дорівнювати %{count}"
+ even: "мусить бути парним"
+ exclusion: "є зарезервованим"
+ greater_than: "мусить бути більше ніж %{count}"
+ greater_than_or_equal_to: "мусить бути більше ніж або дорівнювати %{count}"
+ in: "має бути в %{count}"
+ inclusion: "не є включеним до переліку"
+ invalid: "не є дійсним"
+ less_than: "мусить бути менше ніж %{count}"
+ less_than_or_equal_to: "мусить бути менше ніж або дорівнювати %{count}"
+ model_invalid: "Виникли помилки: %{errors}"
+ not_a_number: "не є числом"
+ not_an_integer: "не є цілим числом"
+ odd: "мусить бути непарним"
+ other_than: "мусить відрізнятись від %{count}"
+ present: "мусить бути пустим"
+ required: "не може бути порожнім"
+ taken: "вже є зайнятим"
too_long:
- one: занадто довгий (максимум %{count} знак)
- few: занадто довгий (максимум %{count} знаки)
- many: занадто довгий (максимум %{count} знаків)
- other: занадто довгий (максимум %{count} знаку)
+ one: "є занадто довгим (максимум %{count} знак)"
+ few: "є занадто довгим (максимум %{count} знаки)"
+ many: "є занадто довгим (максимум %{count} знаків)"
+ other: "є занадто довгим (максимум %{count} знаків)"
too_short:
- one: занадто короткий (мінімум %{count} знак)
- few: занадто короткий (мінімум %{count} знаки)
- many: занадто короткий (мінімум %{count} знаків)
- other: занадто короткий (мінімум %{count} знаку)
+ one: "є занадто коротким (мінімум %{count} знак)"
+ few: "є занадто коротким (мінімум %{count} знаки)"
+ many: "є занадто коротким (мінімум %{count} знаків)"
+ other: "є занадто коротким (мінімум %{count} знаків)"
wrong_length:
- one: неправильна довжина (має бути %{count} знак)
- few: неправильна довжина (має бути %{count} знаки)
- many: неправильна довжина (має бути %{count} знаків)
- other: неправильна довжина (має бути %{count} знаку)
+ one: "неправильна довжина (має бути %{count} знак)"
+ few: "неправильна довжина (має бути %{count} знаки)"
+ many: "неправильна довжина (має бути %{count} знаків)"
+ other: "неправильна довжина (має бути %{count} знаків)"
template:
- body: 'Помилки виявлено в таких полях:'
+ body: "Помилки виявлено в таких полях:"
header:
one: "%{model} не збережено через %{count} помилку"
few: "%{model} не збережено через %{count} помилки"
many: "%{model} не збережено через %{count} помилок"
- other: "%{model} не збережено через %{count} помилки"
+ other: "%{model} не збережено через %{count} помилок"
helpers:
select:
- prompt: 'Оберіть: '
+ prompt: "Оберіть: "
submit:
- create: Створити %{model}
- submit: Зберегти %{model}
- update: Зберегти %{model}
+ create: "Створити %{model}"
+ submit: "Зберегти %{model}"
+ update: "Зберегти %{model}"
number:
currency:
format:
@@ -554,7 +879,7 @@ uk:
separator: ","
significant: false
strip_insignificant_zeros: false
- unit: грн.
+ unit: "грн"
format:
delimiter: " "
precision: 3
@@ -566,33 +891,33 @@ uk:
format: "%n %u"
units:
billion:
- one: Мільярд
- few: Мільярдів
- many: Мільярдів
- other: Мільярдів
+ one: "Мільярд"
+ few: "Мільярдів"
+ many: "Мільярдів"
+ other: "Мільярдів"
million:
- one: Мільйон
- few: Мільйонів
- many: Мільйонів
- other: Мільйонів
+ one: "Мільйон"
+ few: "Мільйонів"
+ many: "Мільйонів"
+ other: "Мільйонів"
quadrillion:
- one: Квадрильйон
- few: Квадрильйонів
- many: Квадрильйонів
- other: Квадрильйонів
+ one: "Квадрильйон"
+ few: "Квадрильйонів"
+ many: "Квадрильйонів"
+ other: "Квадрильйонів"
thousand:
- one: Тисяча
- few: Тисяч
- many: Тисяч
- other: Тисяч
+ one: "Тисяча"
+ few: "Тисяч"
+ many: "Тисяч"
+ other: "Тисяч"
trillion:
- one: Трильйон
- few: Трильйонів
- many: Трильйонів
- other: Трильйонів
- unit: ''
+ one: "Трильйон"
+ few: "Трильйонів"
+ many: "Трильйонів"
+ other: "Трильйонів"
+ unit: ""
format:
- delimiter: ''
+ delimiter: ""
precision: 1
significant: false
strip_insignificant_zeros: false
@@ -600,29 +925,31 @@ uk:
format: "%n %u"
units:
byte:
- one: байт
- few: байти
- many: байтів
- other: байту
- gb: ГБ
- kb: кБ
- mb: МБ
- tb: ТБ
+ one: "байт"
+ few: "байти"
+ many: "байтів"
+ other: "байтів"
+ eb: "ЕБ"
+ gb: "ГБ"
+ kb: "кБ"
+ mb: "МБ"
+ pb: "ПБ"
+ tb: "ТБ"
percentage:
format:
- delimiter: ''
+ delimiter: ""
precision:
format:
- delimiter: ''
+ delimiter: ""
support:
array:
last_word_connector: " та "
two_words_connector: " і "
words_connector: ", "
time:
- am: до полудня
+ am: "до полудня"
formats:
default: "%a, %d %b %Y, %H:%M:%S %z"
long: "%d %B %Y, %H:%M"
short: "%d %b, %H:%M"
- pm: по полудні
+ pm: "пополудні"
diff --git a/config/routes.rb b/config/routes.rb
index 30d095228..7de991fc5 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -6,24 +6,34 @@
# authenticate :user do
# mount Sidekiq::Web => 'admins/sidekiq'
# end
-
mount Sidekiq::Web => "/sidekiq"
- devise_for :users, only: :omniauth_callbacks,
- controllers: { omniauth_callbacks:
- "users/omniauth_callbacks" }
+ # devise_for :users, only: :omniauth_callbacks,
+ # controllers: { omniauth_callbacks:
+ # "users/omniauth_callbacks" }
get "/", to: "application#redirection", as: :root_redirection
+ concern :paginatable do
+ get "(page/:page)", action: :index, on: :collection
+ end
+
scope "/(:locale)", locale: /uk|en/ do
- devise_for :users, controllers: { registrations: "users/registrations" },
- skip: :omniauth_callbacks
+ devise_for :users, only: [:session]
+ # devise_for :users, skip: [:omniauth_callbacks, :registration]
+
+ # as :user do
+ # get :sign_up, to: "users/registrations#new", as: :new_user_registration
+ # post :sign_up, to: "users/registrations#create", as: :user_registration
+ # end
root "home#index"
+ get "/sitemap", to: "sitemap#index"
get "/calculator", to: "calculators#calculator"
post "/receive_recomendations", to: "calculators#receive_recomendations"
- get "/about_us", to: redirect("/about_us.html")
+
+ get "about-us", to: "home#about", as: "about"
resources :calculators, only: [:index, :show], param: :slug do
member do
@@ -32,13 +42,27 @@
end
resources :messages, only: [:new, :create]
namespace :account do
- resources :users, only: [:index, :show, :edit, :update]
- resources :calculators, param: :slug
- resources :categories
- resources :histories, only: :index
- resources :messages, only: [:index, :show]
- resource :app_config, only: [:edit, :update]
- resource :site_setting, only: [:edit, :update]
+ root "dashboard#index"
+ resources :users, concerns: :paginatable
+ resources :calculators, param: :slug, concerns: :paginatable
+ resources :categories, concerns: :paginatable
+ resources :products, concerns: :paginatable
+ resources :histories, only: :index, concerns: :paginatable
+ resources :messages, only: [:index, :show], concerns: :paginatable
+ patch "/feature_flags", to: "feature_flags#update", as: "features_flags"
+
+ resource :site_setting, only: [:edit, :update] do
+ put :revert
+ end
+
+ resources :diapers_periods
+
+ namespace :diapers_periods do
+ resources :categories, only: [:destroy] do
+ get :with_periods, on: :collection
+ get :available, on: :collection
+ end
+ end
scope module: :calculators do
resources :calculators, only: [], param: :slug do
@@ -52,7 +76,8 @@
resources :calculators, only: [] do
post :compute, on: :member
end
- resource :diaper_calculators, only: [:create]
+ post "/diaper_calculators",
+ to: "diaper_calculators#calculate"
end
namespace :v2 do
resources :calculators, only: [] do
diff --git a/config/storage.yml b/config/storage.yml
index d32f76e8f..ea05e08a0 100644
--- a/config/storage.yml
+++ b/config/storage.yml
@@ -6,6 +6,10 @@ local:
service: Disk
root: <%= Rails.root.join("storage") %>
+render:
+ service: Disk
+ root: "/opt/activestorage-data"
+
# Use rails credentials:edit to set the AWS secrets (as aws:access_key_id|secret_access_key)
# amazon:
# service: S3
diff --git a/config/tailwind.config.js b/config/tailwind.config.js
new file mode 100644
index 000000000..50f4af088
--- /dev/null
+++ b/config/tailwind.config.js
@@ -0,0 +1,40 @@
+const defaultTheme = require('tailwindcss/defaultTheme')
+
+module.exports = {
+ content: [
+ './public/*.html',
+ './app/helpers/**/*.rb',
+ './app/javascript/**/*.js',
+ './app/views/**/*.erb'
+ ],
+ theme: {
+ extend: {
+ fontFamily: {
+ sans: ['Comfortaa', ...defaultTheme.fontFamily.sans],
+ },
+ colors: {
+ success: '#8fba3b',
+ color: '#fff',
+ error: '#9e1503',
+ gray: '#8d8d8d',
+ matte_lime_green: '#73952f',
+ light_gray: '#ececec',
+ grey: '#999999',
+ dark_gray: '#515151',
+ dark_green: '#256d36',
+ white: '#ffffff',
+ blue: '#007bff',
+ dark_blue: '#0069d9',
+ },
+ minWidth: {
+ '36': '36px',
+ },
+ },
+ },
+ plugins: [
+ require('@tailwindcss/forms'),
+ require('@tailwindcss/aspect-ratio'),
+ require('@tailwindcss/typography'),
+ require('@tailwindcss/container-queries'),
+ ]
+}
diff --git a/config/webpack/development.js b/config/webpack/development.js
deleted file mode 100644
index 08a36772d..000000000
--- a/config/webpack/development.js
+++ /dev/null
@@ -1,7 +0,0 @@
-process.env.NODE_ENV = process.env.NODE_ENV || 'development'
-
-const environment = require('./environment')
-
-const config = environment.toWebpackConfig()
-config.output.filename = "js/[name]-[hash].js"
-module.exports = config
diff --git a/config/webpack/environment.js b/config/webpack/environment.js
deleted file mode 100644
index 44f33e1a0..000000000
--- a/config/webpack/environment.js
+++ /dev/null
@@ -1,10 +0,0 @@
-const { environment } = require('@rails/webpacker')
-const webpack = require('webpack')
-environment.plugins.prepend('Provide',
- new webpack.ProvidePlugin({
- $: 'jquery/src/jquery',
- jQuery: 'jquery/src/jquery'
- })
-)
-
-module.exports = environment
diff --git a/config/webpack/production.js b/config/webpack/production.js
deleted file mode 100644
index be0f53aac..000000000
--- a/config/webpack/production.js
+++ /dev/null
@@ -1,5 +0,0 @@
-process.env.NODE_ENV = process.env.NODE_ENV || 'production'
-
-const environment = require('./environment')
-
-module.exports = environment.toWebpackConfig()
diff --git a/config/webpack/staging.js b/config/webpack/staging.js
deleted file mode 100644
index be0f53aac..000000000
--- a/config/webpack/staging.js
+++ /dev/null
@@ -1,5 +0,0 @@
-process.env.NODE_ENV = process.env.NODE_ENV || 'production'
-
-const environment = require('./environment')
-
-module.exports = environment.toWebpackConfig()
diff --git a/config/webpack/test.js b/config/webpack/test.js
deleted file mode 100644
index c5edff94a..000000000
--- a/config/webpack/test.js
+++ /dev/null
@@ -1,5 +0,0 @@
-process.env.NODE_ENV = process.env.NODE_ENV || 'development'
-
-const environment = require('./environment')
-
-module.exports = environment.toWebpackConfig()
diff --git a/config/webpack/uat.js b/config/webpack/uat.js
deleted file mode 100644
index be0f53aac..000000000
--- a/config/webpack/uat.js
+++ /dev/null
@@ -1,5 +0,0 @@
-process.env.NODE_ENV = process.env.NODE_ENV || 'production'
-
-const environment = require('./environment')
-
-module.exports = environment.toWebpackConfig()
diff --git a/config/webpacker.yml b/config/webpacker.yml
deleted file mode 100644
index 71dacadad..000000000
--- a/config/webpacker.yml
+++ /dev/null
@@ -1,93 +0,0 @@
-# Note: You must restart bin/webpack-dev-server for changes to take effect
-
-default: &default
- source_path: app/javascript
- source_entry_path: packs
- public_root_path: public
- public_output_path: packs
- cache_path: tmp/cache/webpacker
- webpack_compile_output: true
- resolved_paths: []
-
- # Additional paths webpack should lookup modules
- # ['app/assets', 'engine/foo/app/assets']
- additional_paths: ['app/javascript/images']
-
- # Reload manifest.json on all requests so we reload latest compiled packs
- cache_manifest: false
-
- # Extract and emit a css file
- extract_css: false
-
- static_assets_extensions:
- - .jpg
- - .jpeg
- - .png
- - .gif
- - .tiff
- - .ico
- - .svg
- - .eot
- - .otf
- - .ttf
- - .woff
- - .woff2
-
- extensions:
- - .mjs
- - .js
- - .sass
- - .scss
- - .css
- - .module.sass
- - .module.scss
- - .module.css
- - .png
- - .svg
- - .gif
- - .jpeg
- - .jpg
-
-development:
- <<: *default
- compile: true
-
- # Reference: https://webpack.js.org/configuration/dev-server/
- dev_server:
- https: false
- host: localhost
- port: 3035
- public: localhost:3035
- hmr: false
- # Inline should be set to true if using HMR
- inline: true
- overlay: true
- compress: true
- disable_host_check: true
- use_local_ip: false
- quiet: false
- pretty: false
- headers:
- 'Access-Control-Allow-Origin': '*'
- watch_options:
- ignored: '**/node_modules/**'
-
-
-test:
- <<: *default
- compile: true
-
- # Compile test packs to a separate directory
- public_output_path: packs-test
-
-production:
- <<: *default
-
- # Production depends on precompilation of packs prior to booting for performance.
- compile: false
-
- # Extract and emit a css file
- extract_css: true
-
- # Cache manifest.json for performance
- cache_manifest: true
diff --git a/test/controllers/.keep b/db/backups/.keep
similarity index 100%
rename from test/controllers/.keep
rename to db/backups/.keep
diff --git a/test/fixtures/files/.keep b/db/backups/archive/.keep
similarity index 100%
rename from test/fixtures/files/.keep
rename to db/backups/archive/.keep
diff --git a/db/migrate/20210123171144_create_versions.rb b/db/migrate/20210123171144_create_versions.rb
index 984f4985c..a27708b2d 100644
--- a/db/migrate/20210123171144_create_versions.rb
+++ b/db/migrate/20210123171144_create_versions.rb
@@ -1,6 +1,6 @@
# This migration creates the `versions` table, the only schema PT requires.
# All other migrations PT provides are optional.
-class CreateVersions < ActiveRecord::Migration[6.1]
+class CreateVersions < ActiveRecord::Migration[7.1]
# The largest text column available in all supported RDBMS is
# 1024^3 - 1 bytes, roughly one gibibyte. We specify a size
# so that MySQL will use `longtext` instead of `text`. Otherwise,
diff --git a/db/migrate/20210408145903_create_fields.rb b/db/migrate/20210408145903_create_fields.rb
index d397850ad..9c357f747 100644
--- a/db/migrate/20210408145903_create_fields.rb
+++ b/db/migrate/20210408145903_create_fields.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-class CreateFields < ActiveRecord::Migration[6.1]
+class CreateFields < ActiveRecord::Migration[7.1]
def change
create_table :fields do |t|
t.uuid :uuid, null: false
diff --git a/db/migrate/20210409131859_create_calculators.rb b/db/migrate/20210409131859_create_calculators.rb
index 3acbf4692..6195f5b6d 100644
--- a/db/migrate/20210409131859_create_calculators.rb
+++ b/db/migrate/20210409131859_create_calculators.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-class CreateCalculators < ActiveRecord::Migration[6.1]
+class CreateCalculators < ActiveRecord::Migration[7.1]
def change
create_table :calculators do |t|
t.uuid :uuid, null: false
diff --git a/db/migrate/20210409171311_create_product_types.rb b/db/migrate/20210409171311_create_product_types.rb
index 78bf552ce..59861670b 100644
--- a/db/migrate/20210409171311_create_product_types.rb
+++ b/db/migrate/20210409171311_create_product_types.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-class CreateProductTypes < ActiveRecord::Migration[6.1]
+class CreateProductTypes < ActiveRecord::Migration[7.1]
def change
create_table :product_types do |t|
t.uuid :uuid, null: false
diff --git a/db/migrate/20210409175743_create_products.rb b/db/migrate/20210409175743_create_products.rb
index 8c3918fb1..a22f50d7d 100644
--- a/db/migrate/20210409175743_create_products.rb
+++ b/db/migrate/20210409175743_create_products.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-class CreateProducts < ActiveRecord::Migration[6.1]
+class CreateProducts < ActiveRecord::Migration[7.1]
def change
create_table :products do |t|
t.uuid :uuid
diff --git a/db/migrate/20210412104001_add_uuidchecking_to_products.rb b/db/migrate/20210412104001_add_uuidchecking_to_products.rb
index df9cde5f4..9f2350da7 100644
--- a/db/migrate/20210412104001_add_uuidchecking_to_products.rb
+++ b/db/migrate/20210412104001_add_uuidchecking_to_products.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-class AddUuidcheckingToProducts < ActiveRecord::Migration[6.1]
+class AddUuidcheckingToProducts < ActiveRecord::Migration[7.1]
def change
change_column_null :products, :uuid, false
end
diff --git a/db/migrate/20210413203204_change_uuid_default_in_fields.rb b/db/migrate/20210413203204_change_uuid_default_in_fields.rb
index 28e41b423..8ed49bbb6 100644
--- a/db/migrate/20210413203204_change_uuid_default_in_fields.rb
+++ b/db/migrate/20210413203204_change_uuid_default_in_fields.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-class ChangeUuidDefaultInFields < ActiveRecord::Migration[6.1]
+class ChangeUuidDefaultInFields < ActiveRecord::Migration[7.1]
enable_extension "pgcrypto" unless extension_enabled?("pgcrypto")
def up
diff --git a/db/migrate/20210413203226_change_uuid_default_in_calculators.rb b/db/migrate/20210413203226_change_uuid_default_in_calculators.rb
index 6c12617f6..90cc7eefa 100644
--- a/db/migrate/20210413203226_change_uuid_default_in_calculators.rb
+++ b/db/migrate/20210413203226_change_uuid_default_in_calculators.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-class ChangeUuidDefaultInCalculators < ActiveRecord::Migration[6.1]
+class ChangeUuidDefaultInCalculators < ActiveRecord::Migration[7.1]
enable_extension "pgcrypto" unless extension_enabled?("pgcrypto")
def up
diff --git a/db/migrate/20210413203250_change_uuid_default_in_product_types.rb b/db/migrate/20210413203250_change_uuid_default_in_product_types.rb
index 52e896bab..93ff91ad2 100644
--- a/db/migrate/20210413203250_change_uuid_default_in_product_types.rb
+++ b/db/migrate/20210413203250_change_uuid_default_in_product_types.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-class ChangeUuidDefaultInProductTypes < ActiveRecord::Migration[6.1]
+class ChangeUuidDefaultInProductTypes < ActiveRecord::Migration[7.1]
enable_extension "pgcrypto" unless extension_enabled?("pgcrypto")
def up
diff --git a/db/migrate/20210413203301_change_uuid_default_in_products.rb b/db/migrate/20210413203301_change_uuid_default_in_products.rb
index 88c8a5ccf..7d40198fb 100644
--- a/db/migrate/20210413203301_change_uuid_default_in_products.rb
+++ b/db/migrate/20210413203301_change_uuid_default_in_products.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-class ChangeUuidDefaultInProducts < ActiveRecord::Migration[6.1]
+class ChangeUuidDefaultInProducts < ActiveRecord::Migration[7.1]
enable_extension "pgcrypto" unless extension_enabled?("pgcrypto")
def up
diff --git a/db/migrate/20210422194341_add_slug_to_calculators.rb b/db/migrate/20210422194341_add_slug_to_calculators.rb
index 04fbef040..f8b32a981 100644
--- a/db/migrate/20210422194341_add_slug_to_calculators.rb
+++ b/db/migrate/20210422194341_add_slug_to_calculators.rb
@@ -1,4 +1,4 @@
-class AddSlugToCalculators < ActiveRecord::Migration[6.1]
+class AddSlugToCalculators < ActiveRecord::Migration[7.1]
def change
add_column :calculators, :slug, :string
add_index :calculators, :slug, unique: true
diff --git a/db/migrate/20210426125453_devise_create_users.rb b/db/migrate/20210426125453_devise_create_users.rb
index 1300082fa..e1584133a 100644
--- a/db/migrate/20210426125453_devise_create_users.rb
+++ b/db/migrate/20210426125453_devise_create_users.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-class DeviseCreateUsers < ActiveRecord::Migration[6.1]
+class DeviseCreateUsers < ActiveRecord::Migration[7.1]
def change
create_table :users do |t|
## Database authenticatable
diff --git a/db/migrate/20210426195530_remove_unit_from_fields.rb b/db/migrate/20210426195530_remove_unit_from_fields.rb
index f95c748db..8d90fac72 100644
--- a/db/migrate/20210426195530_remove_unit_from_fields.rb
+++ b/db/migrate/20210426195530_remove_unit_from_fields.rb
@@ -1,4 +1,4 @@
-class RemoveUnitFromFields < ActiveRecord::Migration[6.1]
+class RemoveUnitFromFields < ActiveRecord::Migration[7.1]
def change
remove_column :fields, :unit, :string
end
diff --git a/db/migrate/20210426195743_add_unit_to_fields.rb b/db/migrate/20210426195743_add_unit_to_fields.rb
index 962e1c587..90b0d6984 100644
--- a/db/migrate/20210426195743_add_unit_to_fields.rb
+++ b/db/migrate/20210426195743_add_unit_to_fields.rb
@@ -1,4 +1,4 @@
-class AddUnitToFields < ActiveRecord::Migration[6.1]
+class AddUnitToFields < ActiveRecord::Migration[7.1]
def change
add_column :fields, :unit, :integer, default: 0
end
diff --git a/db/migrate/20210426201823_change_product_types.rb b/db/migrate/20210426201823_change_product_types.rb
index 7723def9c..0cc3adb52 100644
--- a/db/migrate/20210426201823_change_product_types.rb
+++ b/db/migrate/20210426201823_change_product_types.rb
@@ -1,11 +1,18 @@
-class ChangeProductTypes < ActiveRecord::Migration[6.1]
+class ChangeProductTypes < ActiveRecord::Migration[7.1]
def up
ProductType.create(title: "Diapers")
ProductType.create(title: "Menstrual hygiene")
end
def down
+ create_table :prices do |t|
+ t.references :priceable, polymorphic: true
+ t.timestamps
+ end
+
ProductType.destroy_by(title: "Diapers")
ProductType.destroy_by(title: "Menstrual hygiene")
+
+ drop_table :prices
end
end
diff --git a/db/migrate/20210428101446_change_products.rb b/db/migrate/20210428101446_change_products.rb
index b3bbbc6ed..b689e8a81 100644
--- a/db/migrate/20210428101446_change_products.rb
+++ b/db/migrate/20210428101446_change_products.rb
@@ -1,9 +1,17 @@
-class ChangeProducts < ActiveRecord::Migration[6.1]
+class ChangeProducts < ActiveRecord::Migration[7.1]
def up
ProductType.find_by(title: "Diapers").products.create([{ title: "Diapers" }, { title: "Reusable diapers" }])
end
def down
- ProductType.find_by(title: "Diapers").products.destroy_all
+ create_table :prices do |t|
+ t.references :priceable, polymorphic: true
+ t.timestamps
+ end
+
+ products = ProductType.find_by(title: "Diapers")
+ products&.destroy_all
+
+ drop_table :prices
end
end
diff --git a/db/migrate/20210505150039_add_name_to_users.rb b/db/migrate/20210505150039_add_name_to_users.rb
index b58d231b8..c076e8a6b 100644
--- a/db/migrate/20210505150039_add_name_to_users.rb
+++ b/db/migrate/20210505150039_add_name_to_users.rb
@@ -1,4 +1,4 @@
-class AddNameToUsers < ActiveRecord::Migration[6.1]
+class AddNameToUsers < ActiveRecord::Migration[7.1]
def change
change_table :users, bulk: true do |t|
t.string :first_name
diff --git a/db/migrate/20210505150846_add_countries_to_users.rb b/db/migrate/20210505150846_add_countries_to_users.rb
index 3a1d38e6a..b7818ec8e 100644
--- a/db/migrate/20210505150846_add_countries_to_users.rb
+++ b/db/migrate/20210505150846_add_countries_to_users.rb
@@ -1,4 +1,4 @@
-class AddCountriesToUsers < ActiveRecord::Migration[6.1]
+class AddCountriesToUsers < ActiveRecord::Migration[7.1]
def change
add_column :users, :country, :string
end
diff --git a/db/migrate/20210510205349_add_last_visit_to_users.rb b/db/migrate/20210510205349_add_last_visit_to_users.rb
index d05adb539..154f58520 100644
--- a/db/migrate/20210510205349_add_last_visit_to_users.rb
+++ b/db/migrate/20210510205349_add_last_visit_to_users.rb
@@ -1,4 +1,4 @@
-class AddLastVisitToUsers < ActiveRecord::Migration[6.1]
+class AddLastVisitToUsers < ActiveRecord::Migration[7.1]
def change
change_table :users, bulk: true do |t|
t.integer :sign_in_count, default: 0, null: false
diff --git a/db/migrate/20210513165126_devise_create_admins.rb b/db/migrate/20210513165126_devise_create_admins.rb
index 001fc8cd9..b07aa34b4 100644
--- a/db/migrate/20210513165126_devise_create_admins.rb
+++ b/db/migrate/20210513165126_devise_create_admins.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-class DeviseCreateAdmins < ActiveRecord::Migration[6.1]
+class DeviseCreateAdmins < ActiveRecord::Migration[7.1]
def change
create_table :admins do |t|
## Database authenticatable
diff --git a/db/migrate/20210524103702_change_calculators.rb b/db/migrate/20210524103702_change_calculators.rb
index 122dfd473..d62d17ac9 100644
--- a/db/migrate/20210524103702_change_calculators.rb
+++ b/db/migrate/20210524103702_change_calculators.rb
@@ -1,2 +1,2 @@
-class ChangeCalculators < ActiveRecord::Migration[6.1]
+class ChangeCalculators < ActiveRecord::Migration[7.1]
end
diff --git a/db/migrate/20210923171630_add_omniauth_to_users.rb b/db/migrate/20210923171630_add_omniauth_to_users.rb
index ac7f980e3..e1fab82e8 100644
--- a/db/migrate/20210923171630_add_omniauth_to_users.rb
+++ b/db/migrate/20210923171630_add_omniauth_to_users.rb
@@ -1,4 +1,4 @@
-class AddOmniauthToUsers < ActiveRecord::Migration[6.1]
+class AddOmniauthToUsers < ActiveRecord::Migration[7.1]
def change
change_table :users, bulk: true do |t|
t.string :provider
diff --git a/db/migrate/20211205153832_add_blocked_to_users.rb b/db/migrate/20211205153832_add_blocked_to_users.rb
index 0b88ebadf..a83b7e588 100644
--- a/db/migrate/20211205153832_add_blocked_to_users.rb
+++ b/db/migrate/20211205153832_add_blocked_to_users.rb
@@ -1,4 +1,4 @@
-class AddBlockedToUsers < ActiveRecord::Migration[6.1]
+class AddBlockedToUsers < ActiveRecord::Migration[7.1]
def change
add_column :users, :blocked, :boolean, default: false
end
diff --git a/db/migrate/20220103151017_remove_not_null_from_fields_label.rb b/db/migrate/20220103151017_remove_not_null_from_fields_label.rb
index 4e06867b6..12555fa32 100644
--- a/db/migrate/20220103151017_remove_not_null_from_fields_label.rb
+++ b/db/migrate/20220103151017_remove_not_null_from_fields_label.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-class RemoveNotNullFromFieldsLabel < ActiveRecord::Migration[6.1]
+class RemoveNotNullFromFieldsLabel < ActiveRecord::Migration[7.1]
def change
change_column_null :fields, :label, true
end
diff --git a/db/migrate/20220107214301_add_fields_to_calculators.rb b/db/migrate/20220107214301_add_fields_to_calculators.rb
index f71226c0d..4d4661b9b 100644
--- a/db/migrate/20220107214301_add_fields_to_calculators.rb
+++ b/db/migrate/20220107214301_add_fields_to_calculators.rb
@@ -1,4 +1,4 @@
-class AddFieldsToCalculators < ActiveRecord::Migration[6.1]
+class AddFieldsToCalculators < ActiveRecord::Migration[7.1]
def change
add_column :calculators, :preferable, :boolean, default: false
end
diff --git a/db/migrate/20220122174636_add_contact_form.rb b/db/migrate/20220122174636_add_contact_form.rb
index 24a5c2b52..99db6f144 100644
--- a/db/migrate/20220122174636_add_contact_form.rb
+++ b/db/migrate/20220122174636_add_contact_form.rb
@@ -1,4 +1,4 @@
-class AddContactForm < ActiveRecord::Migration[6.1]
+class AddContactForm < ActiveRecord::Migration[7.1]
def change
create_table :messages do |t|
t.string :title, null: false
diff --git a/db/migrate/20220123171234_add_object_changes_to_versions.rb b/db/migrate/20220123171234_add_object_changes_to_versions.rb
index 5aaea5141..e2b92a6c0 100644
--- a/db/migrate/20220123171234_add_object_changes_to_versions.rb
+++ b/db/migrate/20220123171234_add_object_changes_to_versions.rb
@@ -1,4 +1,4 @@
-class AddObjectChangesToVersions < ActiveRecord::Migration[6.1]
+class AddObjectChangesToVersions < ActiveRecord::Migration[7.1]
def change
add_column :versions, :object_changes, :text
end
diff --git a/db/migrate/20220427131142_drop_admin.rb b/db/migrate/20220427131142_drop_admin.rb
index 3486832d4..f27dcdd4b 100644
--- a/db/migrate/20220427131142_drop_admin.rb
+++ b/db/migrate/20220427131142_drop_admin.rb
@@ -1,4 +1,4 @@
-class DropAdmin < ActiveRecord::Migration[6.1]
+class DropAdmin < ActiveRecord::Migration[7.1]
def change
drop_table :admins do |t|
t.string "email", default: "", null: false
diff --git a/db/migrate/20220427131337_add_role_to_user.rb b/db/migrate/20220427131337_add_role_to_user.rb
index ed5603c8b..d88f7d135 100644
--- a/db/migrate/20220427131337_add_role_to_user.rb
+++ b/db/migrate/20220427131337_add_role_to_user.rb
@@ -1,4 +1,4 @@
-class AddRoleToUser < ActiveRecord::Migration[6.1]
+class AddRoleToUser < ActiveRecord::Migration[7.1]
def change
add_column :users, :role, :integer, default: 0
end
diff --git a/db/migrate/20220512064155_create_app_config.rb b/db/migrate/20220512064155_create_app_config.rb
index 847c24b93..bfcfbbd25 100644
--- a/db/migrate/20220512064155_create_app_config.rb
+++ b/db/migrate/20220512064155_create_app_config.rb
@@ -1,4 +1,4 @@
-class CreateAppConfig < ActiveRecord::Migration[6.1]
+class CreateAppConfig < ActiveRecord::Migration[7.1]
def change
create_table :app_configs do |t|
t.jsonb :diapers_calculator, default: {}
diff --git a/db/migrate/20220512070236_init_app_config.rb b/db/migrate/20220512070236_init_app_config.rb
index 763842035..1e6e989bb 100644
--- a/db/migrate/20220512070236_init_app_config.rb
+++ b/db/migrate/20220512070236_init_app_config.rb
@@ -1,42 +1,42 @@
-class InitAppConfig < ActiveRecord::Migration[6.1]
+class InitAppConfig < ActiveRecord::Migration[7.1]
def up
- config = AppConfig.instance
- config.diapers_calculator = {
- (1..3) => {
- amount: 10,
- price: 4
- },
- (4..6) => {
- amount: 8,
- price: 4.5
- },
- (7..9) => {
- amount: 6,
- price: 5
- },
- (10..12) => {
- amount: 6,
- price: 5.5
- },
- (13..18) => {
- amount: 4,
- price: 5.5
- },
- (19..24) => {
- amount: 4,
- price: 6
- },
- (25..30) => {
- amount: 2,
- price: 6
- }
- }
- config.save
+ # config = AppConfig.instance
+ # config.diapers_calculator = {
+ # (1..3) => {
+ # amount: 10,
+ # price: 4
+ # },
+ # (4..6) => {
+ # amount: 8,
+ # price: 4.5
+ # },
+ # (7..9) => {
+ # amount: 6,
+ # price: 5
+ # },
+ # (10..12) => {
+ # amount: 6,
+ # price: 5.5
+ # },
+ # (13..18) => {
+ # amount: 4,
+ # price: 5.5
+ # },
+ # (19..24) => {
+ # amount: 4,
+ # price: 6
+ # },
+ # (25..30) => {
+ # amount: 2,
+ # price: 6
+ # }
+ # }
+ # config.save
end
def down
- config = AppConfig.instance
- config.diapers_calculator = {}
- config.save
+ # config = AppConfig.instance
+ # config.diapers_calculator = {}
+ # config.save
end
end
diff --git a/db/migrate/20220728162718_create_product_prices.rb b/db/migrate/20220728162718_create_product_prices.rb
index 61ba6ab21..2625ae952 100644
--- a/db/migrate/20220728162718_create_product_prices.rb
+++ b/db/migrate/20220728162718_create_product_prices.rb
@@ -1,4 +1,4 @@
-class CreateProductPrices < ActiveRecord::Migration[6.1]
+class CreateProductPrices < ActiveRecord::Migration[7.1]
def change
create_table :product_prices do |t|
t.uuid :uuid, default: -> { "gen_random_uuid()" }, null: false
diff --git a/db/migrate/20220808110227_create_feature_flags.rb b/db/migrate/20220808110227_create_feature_flags.rb
index ad9dddb51..0da57fe90 100644
--- a/db/migrate/20220808110227_create_feature_flags.rb
+++ b/db/migrate/20220808110227_create_feature_flags.rb
@@ -1,4 +1,4 @@
-class CreateFeatureFlags < ActiveRecord::Migration[6.1]
+class CreateFeatureFlags < ActiveRecord::Migration[7.1]
def change
create_table :feature_flags do |t|
t.string :name, null: false, index: { unique: true }
diff --git a/db/migrate/20221024174044_fix_calculator_creation.rb b/db/migrate/20221024174044_fix_calculator_creation.rb
index cef6974a5..94db0e5bd 100644
--- a/db/migrate/20221024174044_fix_calculator_creation.rb
+++ b/db/migrate/20221024174044_fix_calculator_creation.rb
@@ -1,4 +1,4 @@
-class FixCalculatorCreation < ActiveRecord::Migration[6.1]
+class FixCalculatorCreation < ActiveRecord::Migration[7.1]
def up
Calculator.create(name: "Diapers Calculator")
end
diff --git a/db/migrate/20221026072654_fix_missed_column_receive_recomndations_to_users.rb b/db/migrate/20221026072654_fix_missed_column_receive_recomndations_to_users.rb
index 5ee50a7dd..ddee19095 100644
--- a/db/migrate/20221026072654_fix_missed_column_receive_recomndations_to_users.rb
+++ b/db/migrate/20221026072654_fix_missed_column_receive_recomndations_to_users.rb
@@ -1,4 +1,4 @@
-class FixMissedColumnReceiveRecomndationsToUsers < ActiveRecord::Migration[6.1]
+class FixMissedColumnReceiveRecomndationsToUsers < ActiveRecord::Migration[7.1]
def change
add_column :users, :receive_recomendations, :boolean, default: false
end
diff --git a/db/migrate/20221111144449_change_category_from_integer_to_string.rb b/db/migrate/20221111144449_change_category_from_integer_to_string.rb
index 8b95f8a1a..cde124449 100644
--- a/db/migrate/20221111144449_change_category_from_integer_to_string.rb
+++ b/db/migrate/20221111144449_change_category_from_integer_to_string.rb
@@ -1,9 +1,9 @@
-class ChangeCategoryFromIntegerToString < ActiveRecord::Migration[6.1]
+class ChangeCategoryFromIntegerToString < ActiveRecord::Migration[7.1]
def up
change_column :product_prices, :category, :string
end
def down
- change_column :product_prices, :category, :integer
+ change_column :product_prices, :category, "integer USING CAST(category AS integer)"
end
end
diff --git a/db/migrate/20221122164401_change_price_from_float_to_decimal.rb b/db/migrate/20221122164401_change_price_from_float_to_decimal.rb
index 9d30bb73f..dba924deb 100644
--- a/db/migrate/20221122164401_change_price_from_float_to_decimal.rb
+++ b/db/migrate/20221122164401_change_price_from_float_to_decimal.rb
@@ -1,4 +1,4 @@
-class ChangePriceFromFloatToDecimal < ActiveRecord::Migration[6.1]
+class ChangePriceFromFloatToDecimal < ActiveRecord::Migration[7.1]
def up
change_column :product_prices, :price, :decimal, precision: 8, scale: 2
end
diff --git a/db/migrate/20221124165030_add_default_to_category.rb b/db/migrate/20221124165030_add_default_to_category.rb
index 6ccdb0894..098c611f2 100644
--- a/db/migrate/20221124165030_add_default_to_category.rb
+++ b/db/migrate/20221124165030_add_default_to_category.rb
@@ -1,4 +1,4 @@
-class AddDefaultToCategory < ActiveRecord::Migration[6.1]
+class AddDefaultToCategory < ActiveRecord::Migration[7.1]
def up
change_column :product_prices, :category, :string, null: false, default: "medium"
end
diff --git a/db/migrate/20221210110826_create_prices.rb b/db/migrate/20221210110826_create_prices.rb
index 4f554e51f..0a0f342ae 100644
--- a/db/migrate/20221210110826_create_prices.rb
+++ b/db/migrate/20221210110826_create_prices.rb
@@ -1,4 +1,4 @@
-class CreatePrices < ActiveRecord::Migration[6.1]
+class CreatePrices < ActiveRecord::Migration[7.1]
def change
create_table :prices do |t|
t.decimal :sum, precision: 8, scale: 2
diff --git a/db/migrate/20221210112507_create_categories.rb b/db/migrate/20221210112507_create_categories.rb
index c0aa1b676..3f8871af1 100644
--- a/db/migrate/20221210112507_create_categories.rb
+++ b/db/migrate/20221210112507_create_categories.rb
@@ -1,4 +1,4 @@
-class CreateCategories < ActiveRecord::Migration[6.1]
+class CreateCategories < ActiveRecord::Migration[7.1]
def change
create_table :categories do |t|
t.string :name
diff --git a/db/migrate/20221210114001_drop_product_prices.rb b/db/migrate/20221210114001_drop_product_prices.rb
index 5fb853ab6..3b77cfd53 100644
--- a/db/migrate/20221210114001_drop_product_prices.rb
+++ b/db/migrate/20221210114001_drop_product_prices.rb
@@ -1,4 +1,4 @@
-class DropProductPrices < ActiveRecord::Migration[6.1]
+class DropProductPrices < ActiveRecord::Migration[7.1]
def change
drop_table :product_prices do |t|
t.uuid "uuid", default: -> { "gen_random_uuid()" }, null: false
diff --git a/db/migrate/20221210114531_create_join_table_category_categoryables.rb b/db/migrate/20221210114531_create_join_table_category_categoryables.rb
index 3fe9977fc..9263ab8bc 100644
--- a/db/migrate/20221210114531_create_join_table_category_categoryables.rb
+++ b/db/migrate/20221210114531_create_join_table_category_categoryables.rb
@@ -1,4 +1,4 @@
-class CreateJoinTableCategoryCategoryables < ActiveRecord::Migration[6.1]
+class CreateJoinTableCategoryCategoryables < ActiveRecord::Migration[7.1]
def change
create_table :category_categoryables do |t|
t.references :category, index: true, foreign_key: true
diff --git a/db/migrate/20221213215638_add_uniq_index_to_calculators_name.rb b/db/migrate/20221213215638_add_uniq_index_to_calculators_name.rb
index 7acad541e..7f1ee18d1 100644
--- a/db/migrate/20221213215638_add_uniq_index_to_calculators_name.rb
+++ b/db/migrate/20221213215638_add_uniq_index_to_calculators_name.rb
@@ -1,4 +1,4 @@
-class AddUniqIndexToCalculatorsName < ActiveRecord::Migration[6.1]
+class AddUniqIndexToCalculatorsName < ActiveRecord::Migration[7.1]
def change
add_index :calculators, :name, unique: true
end
diff --git a/db/migrate/20221218110600_add_index_for_price.rb b/db/migrate/20221218110600_add_index_for_price.rb
index d89995480..1e25ca235 100644
--- a/db/migrate/20221218110600_add_index_for_price.rb
+++ b/db/migrate/20221218110600_add_index_for_price.rb
@@ -1,4 +1,4 @@
-class AddIndexForPrice < ActiveRecord::Migration[6.1]
+class AddIndexForPrice < ActiveRecord::Migration[7.1]
def change
add_index :prices, [:category_id, :priceable_id, :priceable_type], unique: true
end
diff --git a/db/migrate/20221220124102_create_site_settings.rb b/db/migrate/20221220124102_create_site_settings.rb
index 0554d176d..cf139ad15 100644
--- a/db/migrate/20221220124102_create_site_settings.rb
+++ b/db/migrate/20221220124102_create_site_settings.rb
@@ -1,4 +1,4 @@
-class CreateSiteSettings < ActiveRecord::Migration[6.1]
+class CreateSiteSettings < ActiveRecord::Migration[7.1]
def change
create_table :site_settings do |t|
t.string :title
diff --git a/db/migrate/20230215195330_update_diapers_calculator_values_app_config.rb b/db/migrate/20230215195330_update_diapers_calculator_values_app_config.rb
index cbd954e42..4a7793c2b 100644
--- a/db/migrate/20230215195330_update_diapers_calculator_values_app_config.rb
+++ b/db/migrate/20230215195330_update_diapers_calculator_values_app_config.rb
@@ -1,73 +1,73 @@
-class UpdateDiapersCalculatorValuesAppConfig < ActiveRecord::Migration[6.1]
+class UpdateDiapersCalculatorValuesAppConfig < ActiveRecord::Migration[7.1]
def up
- AppConfig.instance.tap do |ac|
- ac.diapers_calculator = {
- (1..3) => {
- amount: 10,
- price: 7.81
- },
- (4..6) => {
- amount: 8,
- price: 9.09
- },
- (7..9) => {
- amount: 6,
- price: 8.8
- },
- (10..12) => {
- amount: 6,
- price: 10.47
- },
- (13..18) => {
- amount: 4,
- price: 10.47
- },
- (19..24) => {
- amount: 4,
- price: 12.06
- },
- (25..30) => {
- amount: 2,
- price: 12.06
- }
- }
- ac.save
- end
+ # AppConfig.instance.tap do |ac|
+ # ac.diapers_calculator = {
+ # (1..3) => {
+ # amount: 10,
+ # price: 7.81
+ # },
+ # (4..6) => {
+ # amount: 8,
+ # price: 9.09
+ # },
+ # (7..9) => {
+ # amount: 6,
+ # price: 8.8
+ # },
+ # (10..12) => {
+ # amount: 6,
+ # price: 10.47
+ # },
+ # (13..18) => {
+ # amount: 4,
+ # price: 10.47
+ # },
+ # (19..24) => {
+ # amount: 4,
+ # price: 12.06
+ # },
+ # (25..30) => {
+ # amount: 2,
+ # price: 12.06
+ # }
+ # }
+ # ac.save
+ # end
end
def down
- AppConfig.instance.tap do |ac|
- ac.diapers_calculator = {
- (1..3) => {
- amount: 10,
- price: 4
- },
- (4..6) => {
- amount: 8,
- price: 4.5
- },
- (7..9) => {
- amount: 6,
- price: 5
- },
- (10..12) => {
- amount: 6,
- price: 5.5
- },
- (13..18) => {
- amount: 4,
- price: 5.5
- },
- (19..24) => {
- amount: 4,
- price: 6
- },
- (25..30) => {
- amount: 2,
- price: 6
- }
- }
- ac.save
- end
+ # AppConfig.instance.tap do |ac|
+ # ac.diapers_calculator = {
+ # (1..3) => {
+ # amount: 10,
+ # price: 4
+ # },
+ # (4..6) => {
+ # amount: 8,
+ # price: 4.5
+ # },
+ # (7..9) => {
+ # amount: 6,
+ # price: 5
+ # },
+ # (10..12) => {
+ # amount: 6,
+ # price: 5.5
+ # },
+ # (13..18) => {
+ # amount: 4,
+ # price: 5.5
+ # },
+ # (19..24) => {
+ # amount: 4,
+ # price: 6
+ # },
+ # (25..30) => {
+ # amount: 2,
+ # price: 6
+ # }
+ # }
+ # ac.save
+ # end
end
end
diff --git a/db/migrate/20230224135125_add_priority_to_categories.rb b/db/migrate/20230224135125_add_priority_to_categories.rb
new file mode 100644
index 000000000..f96027d6c
--- /dev/null
+++ b/db/migrate/20230224135125_add_priority_to_categories.rb
@@ -0,0 +1,5 @@
+class AddPriorityToCategories < ActiveRecord::Migration[7.1]
+ def change
+ add_column :categories, :priority, :integer, default: 0, null: false
+ end
+end
diff --git a/db/migrate/20230410153510_create_flipper_tables.rb b/db/migrate/20230410153510_create_flipper_tables.rb
new file mode 100644
index 000000000..d9eee6c66
--- /dev/null
+++ b/db/migrate/20230410153510_create_flipper_tables.rb
@@ -0,0 +1,23 @@
+class CreateFlipperTables < ActiveRecord::Migration[7.1]
+ def self.up
+ create_table :flipper_features do |t|
+ t.string :key, null: false, index: { unique: true }
+ t.timestamps null: false
+ t.text :en_description
+ t.text :uk_description
+ end
+
+ create_table :flipper_gates do |t|
+ t.string :feature_key, null: false
+ t.string :key, null: false
+ t.string :value
+ t.timestamps null: false
+ end
+ add_index :flipper_gates, [:feature_key, :key, :value], unique: true
+ end
+
+ def self.down
+ drop_table :flipper_gates
+ drop_table :flipper_features
+ end
+end
diff --git a/db/migrate/20230608072323_add_an_admin_user.rb b/db/migrate/20230608072323_add_an_admin_user.rb
new file mode 100644
index 000000000..5c4b4d6de
--- /dev/null
+++ b/db/migrate/20230608072323_add_an_admin_user.rb
@@ -0,0 +1,13 @@
+class AddAnAdminUser < ActiveRecord::Migration[7.1]
+ def change
+ User.create(
+ email: "admin@zw.com",
+ password: "ChangeMe1",
+ password_confirmation: "ChangeMe1",
+ first_name: "Admin",
+ last_name: "Admin",
+ confirmed_at: DateTime.current,
+ role: "admin"
+ )
+ end
+end
diff --git a/db/migrate/20230710212500_add_default_title_to_site_settings.rb b/db/migrate/20230710212500_add_default_title_to_site_settings.rb
new file mode 100644
index 000000000..45223d86f
--- /dev/null
+++ b/db/migrate/20230710212500_add_default_title_to_site_settings.rb
@@ -0,0 +1,11 @@
+class AddDefaultTitleToSiteSettings < ActiveRecord::Migration[7.1]
+ def up
+ change_column_default :site_settings, :title, from: nil, to: "ZeroWaste"
+ change_column_null :site_settings, :title, false
+ end
+
+ def down
+ change_column_default :site_settings, :title, from: "ZeroWaste", to: nil
+ change_column_null :site_settings, :title, true
+ end
+end
diff --git a/db/migrate/20230917082603_add_index_to_product.rb b/db/migrate/20230917082603_add_index_to_product.rb
new file mode 100644
index 000000000..112e65911
--- /dev/null
+++ b/db/migrate/20230917082603_add_index_to_product.rb
@@ -0,0 +1,20 @@
+class AddIndexToProduct < ActiveRecord::Migration[6.1]
+ def up
+ duplicated_titles = Product
+ .select(:title)
+ .group(:title)
+ .having("count(title) > 1")
+ .pluck(:title)
+
+ duplicated_titles.each do |dup_title|
+ products = Product.where(title: dup_title)
+ products.map { |product| product.update(title: "#{product.title}_#{product.uuid}") }
+ end
+
+ add_index :products, :title, unique: true
+ end
+
+ def down
+ remove_index :products, :title
+ end
+end
diff --git a/db/migrate/20231019194527_change_user_attributes_null.rb b/db/migrate/20231019194527_change_user_attributes_null.rb
new file mode 100644
index 000000000..29d3240bd
--- /dev/null
+++ b/db/migrate/20231019194527_change_user_attributes_null.rb
@@ -0,0 +1,21 @@
+class ChangeUserAttributesNull < ActiveRecord::Migration[7.1]
+ def up
+ User.where(first_name: nil).each do |user|
+ user.update(first_name: "Firstname")
+ user.save(validate: false)
+ end
+
+ User.where(last_name: nil).each do |user|
+ user.update(last_name: "Lastname")
+ user.save(validate: false)
+ end
+
+ change_column_null :users, :first_name, false
+ change_column_null :users, :last_name, false
+ end
+
+ def down
+ change_column_null :users, :first_name, true
+ change_column_null :users, :last_name, true
+ end
+end
diff --git a/db/migrate/20240122225503_create_diapers_periods.rb b/db/migrate/20240122225503_create_diapers_periods.rb
new file mode 100644
index 000000000..4d83f2f59
--- /dev/null
+++ b/db/migrate/20240122225503_create_diapers_periods.rb
@@ -0,0 +1,13 @@
+class CreateDiapersPeriods < ActiveRecord::Migration[7.1]
+ def change
+ create_table :diapers_periods do |t|
+ t.references :category, null: false, foreign_key: true
+ t.decimal :price, precision: 8, scale: 2, null: false
+ t.integer :period_start, null: false
+ t.integer :period_end, null: false
+ t.integer :usage_amount, null: false
+
+ t.timestamps
+ end
+ end
+end
diff --git a/db/migrate/20240207143101_add_preferable_to_categories.rb b/db/migrate/20240207143101_add_preferable_to_categories.rb
new file mode 100644
index 000000000..15f5cf84b
--- /dev/null
+++ b/db/migrate/20240207143101_add_preferable_to_categories.rb
@@ -0,0 +1,5 @@
+class AddPreferableToCategories < ActiveRecord::Migration[7.1]
+ def change
+ add_column :categories, :preferable, :boolean, default: false, null: false
+ end
+end
diff --git a/db/migrate/20240207150024_add_index_to_categories_name.rb b/db/migrate/20240207150024_add_index_to_categories_name.rb
new file mode 100644
index 000000000..7514f2ddd
--- /dev/null
+++ b/db/migrate/20240207150024_add_index_to_categories_name.rb
@@ -0,0 +1,5 @@
+class AddIndexToCategoriesName < ActiveRecord::Migration[7.1]
+ def change
+ add_index :categories, "LOWER(name)", name: "index_categories_on_name", unique: true
+ end
+end
diff --git a/db/migrate/20240208154012_drop_app_configs.rb b/db/migrate/20240208154012_drop_app_configs.rb
new file mode 100644
index 000000000..84e9ccfbc
--- /dev/null
+++ b/db/migrate/20240208154012_drop_app_configs.rb
@@ -0,0 +1,13 @@
+class DropAppConfigs < ActiveRecord::Migration[7.1]
+ def up
+ drop_table :app_configs
+ end
+
+ def down
+ create_table :app_configs do |t|
+ t.jsonb "diapers_calculator", default: {}
+ t.datetime "created_at", null: false
+ t.datetime "updated_at", null: false
+ end
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 5fbe44a0c..7042f48cf 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -10,8 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
-ActiveRecord::Schema.define(version: 2023_03_07_170020) do
-
+ActiveRecord::Schema[7.1].define(version: 2024_02_08_154012) do
# These are extensions that must be enabled in order to support this database
enable_extension "pgcrypto"
enable_extension "plpgsql"
@@ -21,7 +20,7 @@
t.string "record_type", null: false
t.bigint "record_id", null: false
t.bigint "blob_id", null: false
- t.datetime "created_at", null: false
+ t.datetime "created_at", precision: nil, null: false
t.index ["blob_id"], name: "index_active_storage_attachments_on_blob_id"
t.index ["record_type", "record_id", "name", "blob_id"], name: "index_active_storage_attachments_uniqueness", unique: true
end
@@ -34,7 +33,7 @@
t.string "service_name", null: false
t.bigint "byte_size", null: false
t.string "checksum", null: false
- t.datetime "created_at", null: false
+ t.datetime "created_at", precision: nil, null: false
t.index ["key"], name: "index_active_storage_blobs_on_key", unique: true
end
@@ -44,17 +43,11 @@
t.index ["blob_id", "variation_digest"], name: "index_active_storage_variant_records_uniqueness", unique: true
end
- create_table "app_configs", force: :cascade do |t|
- t.jsonb "diapers_calculator", default: {}
- t.datetime "created_at", precision: 6, null: false
- t.datetime "updated_at", precision: 6, null: false
- end
-
create_table "calculators", force: :cascade do |t|
t.uuid "uuid", default: -> { "gen_random_uuid()" }, null: false
t.string "name"
- t.datetime "created_at", precision: 6, null: false
- t.datetime "updated_at", precision: 6, null: false
+ t.datetime "created_at", null: false
+ t.datetime "updated_at", null: false
t.string "slug"
t.boolean "preferable", default: false
t.index ["name"], name: "index_calculators_on_name", unique: true
@@ -64,27 +57,40 @@
create_table "categories", force: :cascade do |t|
t.string "name"
- t.datetime "created_at", precision: 6, null: false
- t.datetime "updated_at", precision: 6, null: false
+ t.datetime "created_at", null: false
+ t.datetime "updated_at", null: false
t.integer "priority", default: 0, null: false
+ t.boolean "preferable", default: false, null: false
+ t.index "lower((name)::text)", name: "index_categories_on_name", unique: true
end
create_table "category_categoryables", force: :cascade do |t|
t.bigint "category_id"
t.string "categoryable_type"
t.bigint "categoryable_id"
- t.datetime "created_at", precision: 6, null: false
- t.datetime "updated_at", precision: 6, null: false
+ t.datetime "created_at", null: false
+ t.datetime "updated_at", null: false
t.index ["category_id"], name: "index_category_categoryables_on_category_id"
t.index ["categoryable_type", "categoryable_id", "category_id"], name: "unique_of_category_categoryables_index", unique: true
t.index ["categoryable_type", "categoryable_id"], name: "index_category_categoryables_on_categoryable"
end
+ create_table "diapers_periods", force: :cascade do |t|
+ t.bigint "category_id", null: false
+ t.decimal "price", precision: 8, scale: 2, null: false
+ t.integer "period_start", null: false
+ t.integer "period_end", null: false
+ t.integer "usage_amount", null: false
+ t.datetime "created_at", null: false
+ t.datetime "updated_at", null: false
+ t.index ["category_id"], name: "index_diapers_periods_on_category_id"
+ end
+
create_table "feature_flags", force: :cascade do |t|
t.string "name", null: false
t.boolean "enabled", default: false, null: false
- t.datetime "created_at", precision: 6, null: false
- t.datetime "updated_at", precision: 6, null: false
+ t.datetime "created_at", null: false
+ t.datetime "updated_at", null: false
t.index ["name"], name: "index_feature_flags_on_name", unique: true
end
@@ -99,19 +105,37 @@
t.integer "from"
t.integer "to"
t.integer "kind", null: false
- t.datetime "created_at", precision: 6, null: false
- t.datetime "updated_at", precision: 6, null: false
+ t.datetime "created_at", null: false
+ t.datetime "updated_at", null: false
t.integer "unit", default: 0
t.index ["calculator_id"], name: "index_fields_on_calculator_id"
t.index ["uuid"], name: "index_fields_on_uuid", unique: true
end
+ create_table "flipper_features", force: :cascade do |t|
+ t.string "key", null: false
+ t.datetime "created_at", null: false
+ t.datetime "updated_at", null: false
+ t.text "en_description"
+ t.text "uk_description"
+ t.index ["key"], name: "index_flipper_features_on_key", unique: true
+ end
+
+ create_table "flipper_gates", force: :cascade do |t|
+ t.string "feature_key", null: false
+ t.string "key", null: false
+ t.string "value"
+ t.datetime "created_at", null: false
+ t.datetime "updated_at", null: false
+ t.index ["feature_key", "key", "value"], name: "index_flipper_gates_on_feature_key_and_key_and_value", unique: true
+ end
+
create_table "messages", force: :cascade do |t|
t.string "title", null: false
t.string "message", null: false
t.string "email", null: false
- t.datetime "created_at", precision: 6, null: false
- t.datetime "updated_at", precision: 6, null: false
+ t.datetime "created_at", null: false
+ t.datetime "updated_at", null: false
end
create_table "prices", force: :cascade do |t|
@@ -119,9 +143,9 @@
t.string "priceable_type"
t.bigint "priceable_id"
t.integer "category_id"
- t.datetime "created_at", precision: 6, null: false
- t.datetime "updated_at", precision: 6, null: false
- t.index ["category_id", "priceable_id", "priceable_type"], name: "index_prices_on_category_id_and_priceable_id_and_priceable_type", unique: true
+ t.datetime "created_at", null: false
+ t.datetime "updated_at", null: false
+ t.index ["category_id", "priceable_id", "priceable_type"], name: "idx_on_category_id_priceable_id_priceable_type_1fa9ce7f24", unique: true
t.index ["category_id"], name: "index_prices_on_category_id"
t.index ["priceable_type", "priceable_id"], name: "index_prices_on_priceable"
end
@@ -129,8 +153,8 @@
create_table "product_types", force: :cascade do |t|
t.uuid "uuid", default: -> { "gen_random_uuid()" }, null: false
t.string "title"
- t.datetime "created_at", precision: 6, null: false
- t.datetime "updated_at", precision: 6, null: false
+ t.datetime "created_at", null: false
+ t.datetime "updated_at", null: false
t.index ["uuid"], name: "index_product_types_on_uuid", unique: true
end
@@ -138,16 +162,17 @@
t.uuid "uuid", default: -> { "gen_random_uuid()" }, null: false
t.string "title"
t.bigint "product_type_id"
- t.datetime "created_at", precision: 6, null: false
- t.datetime "updated_at", precision: 6, null: false
+ t.datetime "created_at", null: false
+ t.datetime "updated_at", null: false
t.index ["product_type_id"], name: "index_products_on_product_type_id"
+ t.index ["title"], name: "index_products_on_title", unique: true
t.index ["uuid"], name: "index_products_on_uuid", unique: true
end
create_table "site_settings", force: :cascade do |t|
t.string "title", default: "ZeroWaste", null: false
- t.datetime "created_at", precision: 6, null: false
- t.datetime "updated_at", precision: 6, null: false
+ t.datetime "created_at", null: false
+ t.datetime "updated_at", null: false
end
create_table "users", force: :cascade do |t|
@@ -162,10 +187,10 @@
t.integer "failed_attempts", default: 0, null: false
t.string "unlock_token"
t.datetime "locked_at"
- t.datetime "created_at", precision: 6, null: false
- t.datetime "updated_at", precision: 6, null: false
- t.string "first_name"
- t.string "last_name"
+ t.datetime "created_at", null: false
+ t.datetime "updated_at", null: false
+ t.string "first_name", null: false
+ t.string "last_name", null: false
t.string "country"
t.integer "sign_in_count", default: 0, null: false
t.datetime "current_sign_in_at"
@@ -182,7 +207,8 @@
end
create_table "versions", force: :cascade do |t|
- t.string "item_type", null: false
+ t.string "item_type"
+ t.string "{:null=>false}"
t.bigint "item_id", null: false
t.string "event", null: false
t.string "whodunnit"
@@ -195,4 +221,5 @@
add_foreign_key "active_storage_attachments", "active_storage_blobs", column: "blob_id"
add_foreign_key "active_storage_variant_records", "active_storage_blobs", column: "blob_id"
add_foreign_key "category_categoryables", "categories"
+ add_foreign_key "diapers_periods", "categories"
end
diff --git a/db/seeds.rb b/db/seeds.rb
index 9b389a733..99495cd83 100644
--- a/db/seeds.rb
+++ b/db/seeds.rb
@@ -1,47 +1,32 @@
# frozen_string_literal: true
-# This file should contain all the record creation needed to seed the database
-# with its default values.
-# The data can then be loaded with the bin/rails db:seed command (or created
-# alongside the database with db:setup).
-#
-# Examples:
-#
-# movies = Movie.create([{ name: 'Star Wars' }, { name: 'Lord of the
-# Rings' }])
-# Character.create(name: 'Luke', movie: movies.first)
+require "faker"
+require "factory_bot_rails"
# A regular user
-User.create(
- email: "user@zw.com",
- password: "password",
- password_confirmation: "password",
- first_name: "John",
- last_name: "User",
- confirmed_at: DateTime.current,
- role: "user"
-)
+unless User.exists?(email: "user@zw.com")
+ User.create(
+ email: "user@zw.com",
+ password: "password",
+ password_confirmation: "password",
+ first_name: "John",
+ last_name: "User",
+ confirmed_at: DateTime.current,
+ role: "user"
+ )
+end
# An admin
-User.create(
- email: "admin@zw.com",
- password: "ChangeMe1",
- password_confirmation: "ChangeMe1",
- first_name: "Admin",
- last_name: "Admin",
- confirmed_at: DateTime.current,
- role: "admin"
-)
+unless User.exists?(email: "admin@zw.com")
+ User.create(
+ email: "admin@zw.com",
+ password: "ChangeMe1",
+ password_confirmation: "ChangeMe1",
+ first_name: "Admin",
+ last_name: "Admin",
+ confirmed_at: DateTime.current,
+ role: "admin"
+ )
+end
-FactoryBot.create(:product_type, :hygiene)
-FactoryBot.create(:product, :diaper)
-
-FeatureFlag.create!(
- name: "feature_budget_category",
- enabled: false
-)
-
-FeatureFlag.create!(
- name: "show_admin_menu",
- enabled: false
-)
+FactoryBot.create(:product, :diaper) unless Product.exists?(title: "diaper")
diff --git a/lib/inflector_extensions.rb b/lib/inflector_extensions.rb
index df74d0bbd..569dabe42 100644
--- a/lib/inflector_extensions.rb
+++ b/lib/inflector_extensions.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
class String
- def pluralize(count: nil, locale: :en)
+ def pluralize(count = nil, locale = :en)
if count == 1
dup
else
diff --git a/lib/tasks/db_backup_task.rake b/lib/tasks/db_backup_task.rake
new file mode 100644
index 000000000..776f00c2d
--- /dev/null
+++ b/lib/tasks/db_backup_task.rake
@@ -0,0 +1,33 @@
+namespace :db do
+ namespace :backup do
+ desc "Create the database dump"
+ task :create, [:filename] => :environment do |t, args|
+ # pg_dump options:
+ # -F c - output file format custom
+ # -d DBNAME - database name to dump
+ # -f FILENAME - output file or directory name
+ cmd = "pg_dump -F c -d #{DatabaseBackupService.database_name} -f #{DatabaseBackupService.backup_full_path(args[:filename])}"
+
+ puts system(cmd) ? "Database dump was created successfully" : "Error to create database dump!!!"
+ end
+
+ desc "Restores the database dump"
+ task :restore, [:filename] => :environment do |t, args|
+ raise "You must specify a filename" unless args[:filename]
+
+ backup_file_name = DatabaseBackupService.backup_full_path(args[:filename])
+ # pg_restore options:
+ # -c - clean (drop) database objects before recreating
+ # -F c - output file format custom
+ # -d DBNAME - database name to dump
+ cmd = "pg_restore -c -F c -d #{DatabaseBackupService.database_name} #{backup_file_name}"
+
+ puts system(cmd) ? "Database dump was restored successfully" : "Error to restore database from #{backup_file_name}!!!"
+ end
+
+ desc "Show the existing database backups"
+ task list: :environment do
+ system "/bin/ls -ltR #{DatabaseBackupService.backup_dir}"
+ end
+ end
+end
diff --git a/package.json b/package.json
deleted file mode 100644
index 450be1ca9..000000000
--- a/package.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "name": "zero-waste",
- "private": true,
- "dependencies": {
- "@babel/core": "^7.16.5",
- "@babel/plugin-transform-runtime": "^7.16.5",
- "@babel/preset-env": "^7.16.5",
- "@fortawesome/fontawesome-free": "^5.15.4",
- "@hotwired/stimulus": "^3.2.1",
- "@hotwired/stimulus-webpack-helpers": "^1.0.1",
- "@nathanvda/cocoon": "^1.2.14",
- "@rails/actioncable": "^6.0.0",
- "@rails/activestorage": "^6.0.0",
- "@rails/ujs": "^6.0.0",
- "@rails/webpacker": "5.4.3",
- "@webpack-cli/serve": "^1.6",
- "babel-loader": "^8.2.3",
- "bootstrap": "^4.6.0",
- "flatpickr": "^4.6.9",
- "jquery": "^3.6.0",
- "popper.js": "^1.16.1",
- "turbolinks": "^5.2.0",
- "webpack": "^4.46.0"
- },
- "version": "0.1.0",
- "devDependencies": {
- "@babel/plugin-proposal-private-property-in-object": "^7.16.5",
- "@webpack-cli/serve": "^1.6",
- "webpack-cli": "^4.0",
- "webpack-dev-server": "^4",
- "yarn": "^1.22.17"
- }
-}
diff --git a/public/about_us.html b/public/about_us.html
deleted file mode 100644
index 080312480..000000000
--- a/public/about_us.html
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
- ZeroWaste
-
-
-
-
About us
-
Lorem ipsum dolor sit amet consectetur adipisicing elit. Beatae eaque vitae, placeat dignissimos odit laborum at atque! Vitae, doloribus sunt fuga assumenda, laudantium voluptates eum veritatis aut illum optio corrupti.
-
-
-
-
-
diff --git a/spec/controllers/account/app_configs_spec.rb b/spec/controllers/account/app_configs_spec.rb
deleted file mode 100644
index 395b40905..000000000
--- a/spec/controllers/account/app_configs_spec.rb
+++ /dev/null
@@ -1,27 +0,0 @@
-# frozen_string_literal: true
-
-require "rails_helper"
-
-RSpec.describe Account::AppConfigsController do
- before do
- @user = create(:user)
- @admin = create(:user, :admin)
- end
-
- context "GET edit" do
- it "renders the edit template for admin" do
- sign_in @admin
-
- get :edit
-
- expect(response).to render_template("edit")
- end
- it "redirects to homepage for user" do
- sign_in @user
-
- get :edit
-
- expect(response).to have_http_status(:redirect)
- end
- end
-end
diff --git a/spec/controllers/calculators_spec.rb b/spec/controllers/calculators_spec.rb
deleted file mode 100644
index 75fc319b7..000000000
--- a/spec/controllers/calculators_spec.rb
+++ /dev/null
@@ -1,42 +0,0 @@
-require "rails_helper"
-
-RSpec.describe CalculatorsController, type: :controller do
- describe "GET /calculator" do
- let!(:subject) { get :calculator }
-
- it "should return success response status" do
- expect(subject).to have_http_status(200)
- end
-
- it "shouldn`t create any instance" do
- expect(subject).not_to be_a_new(Calculator)
- end
- end
-
- describe "POST /receive_recomendations" do
- let!(:user) { create(:user) }
-
- before do
- controller.stub(:current_user) { user }
- end
-
- it "takes user with receive_recomendations:false" do
- expect(user.receive_recomendations).to eq false
- end
-
- it "doesn`t change user attribute unless user signed in" do
- expect do
- post :receive_recomendations
-
- user.reload
- end.not_to change { user.receive_recomendations }
- end
-
- # TODO: rewrite it to good spec
- # it "changes user`s receive_recomendations to true" do
- # post :receive_recomendations
-
- # expect(user.reload.receive_recomendations).to eq(true)
- # end
- end
-end
diff --git a/spec/controllers/diaper_calculators_spec.rb b/spec/controllers/diaper_calculators_spec.rb
deleted file mode 100644
index 2f28e27f9..000000000
--- a/spec/controllers/diaper_calculators_spec.rb
+++ /dev/null
@@ -1,83 +0,0 @@
-# frozen_string_literal: true
-
-require "rails_helper"
-
-RSpec.describe Api::V1::DiaperCalculatorsController do
- describe "#create" do
- let(:values) do
- [
- { name: "money_spent", result: 0 },
- { name: "money_will_be_spent", result: 0 },
- { name: "used_diapers_amount", result: 0 },
- { name: "to_be_used_diapers_amount", result: 0 }
- ]
- end
- let(:expected) do
- { result: values,
- date: 0,
- word_form_to_be_used: "diapers",
- word_form_used: "diapers" }
- end
-
- context "when default values" do
- before do
- get :create
- end
-
- it "renders expected result" do
- expect(response.body).to eq(expected.to_json)
- end
- end
- end
-
- describe "sending params to create" do
- let(:values) do
- [
- { name: "money_spent", result: 12_718.5 },
- { name: "money_will_be_spent", result: 10_614.0 },
- { name: "used_diapers_amount", result: 2745.0 },
- { name: "to_be_used_diapers_amount", result: 1830.0 }
- ]
- end
- let(:expected_result) do
- {
- result: values,
- date: 12,
- word_form_to_be_used: "diapers",
- word_form_used: "diapers"
- }
- end
-
- context "when get awaited values" do
- include_context :app_config_load
-
- it "got the expected result" do
- post :create, params: { childs_age: 12 }
-
- expect(response.body).to eq(expected_result.to_json)
- expect(response).to be_successful
- end
- end
-
- context "when get unawaited values" do
- include_context :app_config_load
-
- let(:invalid_values) do
- [
- { name: "money_spent", result: 42 },
- { name: "money_will_be_spent", result: 42 },
- { name: "used_diapers_amount", result: 42 },
- { name: "to_be_used_diapers_amount", result: 42 }
- ]
- end
-
- it "got the unexpected result" do
- expected_result[:result] = invalid_values
- post :create, params: { childs_age: 12 }
-
- expect(response.body).not_to eq(expected_result.to_json)
- expect(response).to be_successful
- end
- end
- end
-end
diff --git a/spec/factories/calculators.rb b/spec/factories/calculators.rb
index c81ec1268..cad0fdd0d 100644
--- a/spec/factories/calculators.rb
+++ b/spec/factories/calculators.rb
@@ -14,6 +14,7 @@
#
# Indexes
#
+# index_calculators_on_name (name) UNIQUE
# index_calculators_on_slug (slug) UNIQUE
# index_calculators_on_uuid (uuid) UNIQUE
#
diff --git a/spec/factories/categories.rb b/spec/factories/categories.rb
index 479be1507..6b20e3332 100644
--- a/spec/factories/categories.rb
+++ b/spec/factories/categories.rb
@@ -1,11 +1,36 @@
+# == Schema Information
+#
+# Table name: categories
+#
+# id :bigint not null, primary key
+# name :string
+# priority :integer default(0), not null
+# created_at :datetime not null
+# updated_at :datetime not null
+#
FactoryBot.define do
factory :category do
+ name { "name" }
+
trait :budgetary do
name { "budgetary" }
+
+ after(:create) do |category|
+ create(:diapers_period, category: category)
+ end
end
trait :medium do
name { "medium" }
+ preferable { true }
+
+ after(:create) do |category|
+ create(:diapers_period, category: category)
+ end
+ end
+
+ trait :without_diapers_period do
+ name { "without-diapers-period" }
end
end
end
diff --git a/spec/factories/diapers_periods.rb b/spec/factories/diapers_periods.rb
new file mode 100644
index 000000000..9b8c80d81
--- /dev/null
+++ b/spec/factories/diapers_periods.rb
@@ -0,0 +1,9 @@
+FactoryBot.define do
+ factory :diapers_period do
+ association :category, factory: :category
+ period_start { 1 }
+ period_end { 30 }
+ price { 10 }
+ usage_amount { 5 }
+ end
+end
diff --git a/spec/factories/diapers_services.rb b/spec/factories/diapers_services.rb
deleted file mode 100644
index 67131027f..000000000
--- a/spec/factories/diapers_services.rb
+++ /dev/null
@@ -1,27 +0,0 @@
-# frozen_string_literal: true
-
-FactoryBot.define do
- factory :diapers_service, class: Calculators::DiapersService do
- initialize_with { new(8) }
- used_diapers_amount { 0 }
- used_diapers_price { 0 }
- to_be_used_diapers_amount { 4575 }
- to_be_used_diapers_price { 23_332.5 }
- config do
- {
- "1..3" => {
- "amount" => 10,
- "price" => 4
- },
- "4..6" => {
- "amount" => 8,
- "price" => 4.5
- },
- "7..9" => {
- "amount" => 6,
- "price" => 5
- }
- }
- end
- end
-end
diff --git a/spec/factories/feature_flags.rb b/spec/factories/feature_flags.rb
index cfa6bdd60..56203e159 100644
--- a/spec/factories/feature_flags.rb
+++ b/spec/factories/feature_flags.rb
@@ -19,11 +19,11 @@
name { "FeatureFlag" }
enabled { false }
trait :show_admin_menu do
- name { "show_admin_menu" }
+ name { "access_admin_menu" }
enabled { true }
end
trait :hide_admin_menu do
- name { "show_admin_menu" }
+ name { "access_admin_menu" }
enabled { false }
end
end
diff --git a/spec/factories/prices.rb b/spec/factories/prices.rb
new file mode 100644
index 000000000..5a4fe0032
--- /dev/null
+++ b/spec/factories/prices.rb
@@ -0,0 +1,31 @@
+# == Schema Information
+#
+# Table name: prices
+#
+# id :bigint not null, primary key
+# priceable_type :string
+# sum :decimal(8, 2)
+# created_at :datetime not null
+# updated_at :datetime not null
+# category_id :integer
+# priceable_id :bigint
+#
+# Indexes
+#
+# index_prices_on_category_id (category_id)
+# index_prices_on_category_id_and_priceable_id_and_priceable_type (category_id,priceable_id,priceable_type) UNIQUE
+# index_prices_on_priceable (priceable_type,priceable_id)
+#
+FactoryBot.define do
+ factory :price do
+ association :priceable, factory: [:product, :diaper]
+
+ trait :budgetary_price do
+ sum { 40.2 }
+ end
+
+ trait :invalid_price do
+ sum { "" }
+ end
+ end
+end
diff --git a/spec/factories/products.rb b/spec/factories/products.rb
index 50db65395..418b5a426 100644
--- a/spec/factories/products.rb
+++ b/spec/factories/products.rb
@@ -18,16 +18,20 @@
#
FactoryBot.define do
factory :product do
- association :product_type
-
trait :diaper do
- association :product_type, :hygiene
- title { Product::DIAPER }
+ title { "diaper" }
end
trait :napkin do
- association :product_type, :hygiene
title { "napkin" }
end
+
+ trait :huggie do
+ title { "huggie" }
+ end
+
+ trait :invalid do
+ title { "" }
+ end
end
end
diff --git a/spec/factories/site_settings.rb b/spec/factories/site_settings.rb
index 2c30bf38d..fdc3d8427 100644
--- a/spec/factories/site_settings.rb
+++ b/spec/factories/site_settings.rb
@@ -1,8 +1,19 @@
+# == Schema Information
+#
+# Table name: site_settings
+#
+# id :bigint not null, primary key
+# title :string default("ZeroWaste"), not null
+# created_at :datetime not null
+# updated_at :datetime not null
+#
+IMAGE_TYPE = "image/png"
+
FactoryBot.define do
factory :site_setting do
trait :with_valid_site_setting do
title { "ZeroWaste" }
- favicon { Rack::Test::UploadedFile.new("spec/fixtures/files/logo_zerowaste.png", "image/png") }
+ favicon { Rack::Test::UploadedFile.new("app/assets/images/icons/favicon-48x48.png", IMAGE_TYPE) }
end
trait :invalid_site_setting do
@@ -11,7 +22,17 @@
trait :new_title do
title { "Test title" }
- favicon { Rack::Test::UploadedFile.new("spec/fixtures/files/logo_zerowaste.png", "image/png") }
+ favicon { Rack::Test::UploadedFile.new("app/assets/images/icons/favicon-48x48.png", IMAGE_TYPE) }
+ end
+
+ trait :invalid_favicon do
+ title { "ZeroWaste" }
+ favicon { Rack::Test::UploadedFile.new("spec/fixtures/icons/favicon-181x182.png", IMAGE_TYPE) }
+ end
+
+ trait :custom_setting do
+ title { "Custom Waste" }
+ favicon { Rack::Test::UploadedFile.new("app/assets/images/user.png", IMAGE_TYPE) }
end
end
end
diff --git a/spec/factories/users.rb b/spec/factories/users.rb
index 2aa9c3b3c..c6225356f 100644
--- a/spec/factories/users.rb
+++ b/spec/factories/users.rb
@@ -47,4 +47,12 @@
role { "admin" }
end
end
+
+ sequence :first_name do |num|
+ if Rails.env.test?
+ "#{clear_special_characters(Faker::Name.first_name.strip)} #{num}"
+ else
+ Faker::Name.first_name
+ end
+ end
end
diff --git a/spec/features/account/calculators_spec.rb b/spec/features/account/calculators_spec.rb
new file mode 100644
index 000000000..adb78be3b
--- /dev/null
+++ b/spec/features/account/calculators_spec.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+require "rails_helper"
+
+describe "visit admin page", js: true do
+ let!(:diapers_calculator) { create(:calculator, name: "Diapers Calculator", slug: "diapers") }
+ let!(:napkin_calculator) { create(:calculator, name: "Napkin Calculator", slug: "napkin") }
+
+ include_context :authorize_admin
+
+ it "visits admin page" do
+ visit account_calculators_path
+
+ expect(page).to have_content diapers_calculator.name
+ expect(page).to have_content napkin_calculator.name
+ end
+end
diff --git a/spec/features/account/categories_spec.rb b/spec/features/account/categories_spec.rb
new file mode 100644
index 000000000..a2c113aad
--- /dev/null
+++ b/spec/features/account/categories_spec.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+require "rails_helper"
+
+describe "visit admin page", js: true do
+ let!(:budgetary) { create(:category, :budgetary) }
+ let!(:medium) { create(:category, :medium) }
+
+ include_context :authorize_admin
+
+ it "visits admin page" do
+ visit account_categories_path
+
+ expect(page).to have_content budgetary.name
+ expect(page).to have_content medium.name
+ end
+end
diff --git a/spec/features/account/create_calculator_spec.rb b/spec/features/account/create_calculator_spec.rb
index e887af00e..0769e87d8 100644
--- a/spec/features/account/create_calculator_spec.rb
+++ b/spec/features/account/create_calculator_spec.rb
@@ -1,14 +1,15 @@
# frozen_string_literal: true
require "rails_helper"
+
CREATE_CALCULATOR_BUTTON = "Create calculator"
describe "Create Calculator Page", js: true do
let(:calculator) { create(:calculator) }
+ include_context :authorize_admin
+
before do
- @admin = create(:user, :admin)
- sign_in @admin
visit new_account_calculator_path
end
@@ -40,7 +41,7 @@
it "shows message that name is too short" do
fill_in "Name", with: "i"
click_button CREATE_CALCULATOR_BUTTON
- expect(page).to have_content("is too short")
+ expect(page).to have_content("Name is too short (minimum is 2 characters)")
end
end
@@ -48,7 +49,7 @@
it "shows message that name is invalid" do
fill_in "Name", with: "i[]p"
click_button CREATE_CALCULATOR_BUTTON
- expect(page).to have_content("Name must contain only letters or numbers")
+ expect(page).to have_content("Name contains invalid characters")
end
end
@@ -56,7 +57,7 @@
it "shows message that name can't be blank" do
fill_in "Name", with: ""
click_button CREATE_CALCULATOR_BUTTON
- expect(page).to have_content("is too short")
+ expect(page).to have_content("Name can't be blank")
end
end
end
diff --git a/spec/features/account/histories_spec.rb b/spec/features/account/histories_spec.rb
index 49311775a..eaf921c60 100644
--- a/spec/features/account/histories_spec.rb
+++ b/spec/features/account/histories_spec.rb
@@ -4,9 +4,9 @@
describe "visit admin page", js: true do
context "signed in admin visit page" do
+ include_context :authorize_admin
+
before do
- @admin = create(:user, :admin)
- sign_in @admin
visit account_histories_path
end
diff --git a/spec/features/account/products_spec.rb b/spec/features/account/products_spec.rb
new file mode 100644
index 000000000..978a7e7e0
--- /dev/null
+++ b/spec/features/account/products_spec.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+require "rails_helper"
+
+describe "visit admin page", js: true do
+ let!(:diaper) { create(:product, :diaper) }
+ let!(:napkin) { create(:product, :napkin) }
+
+ include_context :authorize_admin
+
+ it "visits admin page" do
+ visit account_products_path
+
+ expect(page).to have_content diaper.title
+ expect(page).to have_content napkin.title
+ end
+end
diff --git a/spec/features/account/update_calculator_spec.rb b/spec/features/account/update_calculator_spec.rb
index 9d7d9fb86..ca6d7e3ee 100644
--- a/spec/features/account/update_calculator_spec.rb
+++ b/spec/features/account/update_calculator_spec.rb
@@ -6,9 +6,9 @@
describe "Update Calculator Page", js: true do
let(:calculator) { create(:calculator) }
+ include_context :authorize_admin
+
before do
- @admin = create(:user, :admin)
- sign_in @admin
visit edit_account_calculator_path(slug: calculator.id)
end
@@ -24,7 +24,7 @@
it "shows message that name is too short" do
fill_in "Name", with: "o"
click_button UPDATE_CALCULATOR_BUTTON
- expect(page).to have_content("is too short")
+ expect(page).to have_content("Name is too short (minimum is 2 characters)")
end
end
@@ -32,7 +32,7 @@
it "shows message that name is invalid" do
fill_in "Name", with: '\[d]]p'
click_button UPDATE_CALCULATOR_BUTTON
- expect(page).to have_content("Name must contain only letters or numbers")
+ expect(page).to have_content("Name contains invalid characters")
end
end
end
diff --git a/spec/features/account/users_spec.rb b/spec/features/account/users_spec.rb
index dfd66fca1..232320d42 100644
--- a/spec/features/account/users_spec.rb
+++ b/spec/features/account/users_spec.rb
@@ -3,16 +3,13 @@
require "rails_helper"
describe "visit admin page", js: true do
- let(:time_login) { Time.new(2020, 0o1, 0o1).utc }
+ let(:time_login) { Time.new(2020, 0o1, 0o1).in_time_zone("Kyiv") }
let!(:another_user) do
create(:user, email: "test1@gmail.com", password: "12345878",
last_sign_in_at: time_login)
end
- before do
- @admin = create(:user, :admin)
- sign_in @admin
- end
+ include_context :authorize_admin
it "visits admin page" do
visit account_users_path
@@ -24,7 +21,7 @@
it "redirects to user info page" do
visit account_users_path
within(:css, "#user-info-#{another_user.id}") do
- click_link(href: account_user_path(id: another_user.id))
+ find(".fa-eye", visible: :all).click
sleep 3
end
expect(page).to have_current_path(account_user_path(id: another_user.id))
@@ -54,6 +51,37 @@
end
end
+ context "when user clicks lock-open icon" do
+ it "shows the correct confirmation message for blocking" do
+ visit account_users_path
+
+ within(:css, "#user-info-#{another_user.id}") do
+ find("svg.fa-lock-open").click
+ sleep 3
+ end
+
+ accept_confirm { "Are you sure you want to block this user?" }
+ expect(page).to have_current_path(account_user_path(id: another_user.id))
+ expect(page).to have_content "Blocked"
+ end
+ end
+
+ context "when user clicks lock icon" do
+ it "shows the correct confirmation message for unblocking" do
+ another_user.update(blocked: true)
+ visit account_users_path
+
+ within(:css, "#user-info-#{another_user.id}") do
+ find("svg.fa-lock").click
+ sleep 3
+ end
+
+ accept_confirm { "Are you sure you want to unblock this user?" }
+ expect(page).to have_current_path(account_user_path(id: another_user.id))
+ expect(page).to have_content "Unblocked"
+ end
+ end
+
context "when edit user`s info correctly" do
it "redirects to user info page" do
visit edit_account_user_path(id: another_user.id)
@@ -81,17 +109,12 @@
find_button("commit").click
expect(page).to have_content "First name is too short (minimum is 2 characters)"
expect(page).to have_content "Last name is too short (minimum is 2 characters)"
- expect(page).to have_content "Password is too short (minimum is 6 characters)"
+ expect(page).to have_content "Password is too short (minimum is 8 characters)"
expect(page).to have_content "Re-password doesn't match Password"
end
end
describe "user info page" do
- before do
- @admin = create(:user, :admin)
- sign_in @admin
- end
-
context "viewing non-existing user" do
it "renders the 404 page" do
visit account_user_path(id: 1355)
diff --git a/spec/features/admin_login_spec.rb b/spec/features/admin_login_spec.rb
index f7af7331c..b707d2d47 100644
--- a/spec/features/admin_login_spec.rb
+++ b/spec/features/admin_login_spec.rb
@@ -14,8 +14,10 @@
visit "/users/sign_in"
fill_in "Email", with: user.email
fill_in "Password", with: user.password
- click_button "Log in"
- expect(page).to have_content "Signed in successfully."
+ sleep 0.5
+ click_button "Log In"
+ sleep 0.5
+ expect(page).to have_content "Signed in successfully"
end
end
@@ -24,7 +26,9 @@
visit "/users/sign_in"
fill_in "Email", with: "wrong@email.com"
fill_in "Password", with: "wrong password"
- click_button "Log in"
+ sleep 0.5
+ click_button "Log In"
+ sleep 0.5
expect(page).to have_content "Invalid Email or password"
end
end
@@ -34,7 +38,9 @@
visit "/users/sign_in"
fill_in "Email", with: user.email
fill_in "Password", with: "wrong password"
- click_button "Log in"
+ sleep 0.5
+ click_button "Log In"
+ sleep 0.5
expect(page).to have_content "Invalid Email or password"
end
end
@@ -44,7 +50,9 @@
visit "/users/sign_in"
fill_in "Email", with: "wrong@email.com"
fill_in "Password", with: user.password
- click_button "Log in"
+ sleep 0.5
+ click_button "Log In"
+ sleep 0.5
expect(page).to have_content "Invalid Email or password"
end
end
@@ -52,46 +60,54 @@
context "with ukrainian locale" do
context "when sign in with correct login and password" do
- it "redirect to admin page" do
+ xit "redirect to admin page" do
visit new_user_session_path
- click_on LANG_BUTTON_TEXT
+ click_link LANG_BUTTON_TEXT
fill_in "user_email", with: user.email
fill_in "user_password", with: user.password
+ sleep 0.5
click_button "Увійти"
- expect(page).to have_content "Ви увійшли в систему."
+ sleep 0.5
+ expect(page).to have_content "Ви увійшли до системи"
end
end
context "when sign in with wrong login and password" do
it "redirect to admin login page" do
visit new_user_session_path
- click_on LANG_BUTTON_TEXT
+ click_link LANG_BUTTON_TEXT
fill_in "user_email", with: "wrong@email.com"
fill_in "user_password", with: "wrong password"
+ sleep 0.5
click_button "Увійти"
- expect(page).to have_content "Невірний email чи пароль."
+ sleep 0.5
+ expect(page).to have_content "Невірна електронна пошта чи пароль"
end
end
context "when sign in with wrong password" do
it "redirect to admin login page" do
visit new_user_session_path
- click_on LANG_BUTTON_TEXT
+ click_link LANG_BUTTON_TEXT
fill_in "user_email", with: user.email
fill_in "user_password", with: "wrong password"
+ sleep 0.5
click_button "Увійти"
- expect(page).to have_content "Невірний email чи пароль."
+ sleep 0.5
+ expect(page).to have_content "Невірна електронна пошта чи пароль"
end
end
context "when sign in with wrong login" do
it "redirect to admin login page" do
visit new_user_session_path
- click_on LANG_BUTTON_TEXT
+ click_link LANG_BUTTON_TEXT
fill_in "user_email", with: "wrong@email.com"
fill_in "user_password", with: user.password
+ sleep 0.5
click_button "Увійти"
- expect(page).to have_content "Невірний email чи пароль."
+ sleep 0.5
+ expect(page).to have_content "Невірна електронна пошта чи пароль"
end
end
end
diff --git a/spec/features/navigator_spec.rb b/spec/features/navigator_spec.rb
index 12f3d016c..7d6bde298 100644
--- a/spec/features/navigator_spec.rb
+++ b/spec/features/navigator_spec.rb
@@ -5,36 +5,34 @@
describe "navigator", js: true do
it "should style the navbar" do
visit root_path
+
expect(page).to have_css(".page-header")
- expect(page.body).to have_css(".tabs")
+ # expect(page).to have_link("Log In", href: user_session_path, visible: :all)
+ # expect(page).to have_link("Sign Up", href: new_user_registration_path, visible: :all)
+ expect(page).to have_link("Contact us", href: new_message_path, visible: :all)
end
- context "when feature show_admin_menu does not exist" do
- it "should not consist tabs" do
- visit root_path
- expect(page).not_to have_content("SIGN UP")
- expect(page).not_to have_content("LOG IN")
- expect(page).not_to have_content("CONTACT US")
- end
- end
+ context "as an admin user" do
+ include_context :authorize_admin
+
+ before { visit root_path }
- context "when feature show_admin_menu is disabled" do
- it "should not consist tabs" do
- create(:feature_flag, :hide_admin_menu)
- visit root_path
- expect(page).not_to have_content("SIGN UP")
- expect(page).not_to have_content("LOG IN")
- expect(page).not_to have_content("CONTACT US")
+ it "should consist tabs" do
+ expect(page).to have_link("Log Out", href: destroy_user_session_path, visible: :all)
+ expect(page).to have_link("Contact us", href: new_message_path, visible: :all)
+ expect(page).to have_link("Admin", href: account_calculators_path, visible: :all)
end
end
- context "when feature show_admin_menu is enabled" do
+ context "as an regular user" do
+ include_context :authorize_regular_user
+
+ before { visit root_path }
+
it "should consist tabs" do
- create(:feature_flag, :show_admin_menu)
- visit root_path
- expect(page).to have_content("SIGN UP")
- expect(page).to have_content("LOG IN")
- expect(page).to have_content("CONTACT US")
+ expect(page).to have_link("Log Out", href: destroy_user_session_path, visible: :all)
+ expect(page).to have_link("Contact us", href: new_message_path, visible: :all)
+ expect(page).to have_no_link("Admin", href: account_calculators_path, visible: :all)
end
end
end
diff --git a/spec/features/product_category_spec.rb b/spec/features/product_category_spec.rb
index b17abb220..944e63e7e 100644
--- a/spec/features/product_category_spec.rb
+++ b/spec/features/product_category_spec.rb
@@ -2,26 +2,26 @@
require "rails_helper"
-BUDGETARY_OPTION = "budgetary"
-MEDIUM_OPTION = "medium"
-PREMIUM_OPTION = "premium"
-
-describe "product category dropdown list", js: true do
+describe "product category dropdown list in new design", js: true do
let(:calculator) { create(:calculator) }
+ let!(:budgetary_category) { create(:category, :budgetary) }
+ let!(:preferable_category) { create(:category, :medium) }
+
+ include_context :new_calculator_design
before do
- FeatureFlag.get("feature_budget_category").activate
visit "/calculator"
- find(:select, "product_category")
- has_select?("product_category", with_options: [BUDGETARY_OPTION, MEDIUM_OPTION, PREMIUM_OPTION])
+
+ find(:select, "child_product_category")
+ has_select?("child_product_category", with_options: ["budgetary", "medium"])
end
it "default product category" do
- expect(page).to have_select("product_category", selected: MEDIUM_OPTION)
+ expect(page).to have_select("child_product_category", selected: "medium")
end
it "custom product category selected" do
- select(BUDGETARY_OPTION, from: "product_category")
- expect(page).to have_select("product_category", selected: BUDGETARY_OPTION)
+ select("budgetary", from: "child_product_category")
+ expect(page).to have_select("child_product_category", selected: "budgetary")
end
end
diff --git a/spec/features/reset_month_value_spec.rb b/spec/features/reset_month_value_spec.rb
new file mode 100644
index 000000000..51a8918c4
--- /dev/null
+++ b/spec/features/reset_month_value_spec.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+
+require "rails_helper"
+
+RSpec.describe "Year changed", type: :feature do
+ let(:year_select) { find("#child_years") }
+ let(:month_select) { find("#child_months") }
+
+ it "resets month value when year changes" do
+ visit calculator_path
+
+ year_select.select("0")
+ expect(month_select.value).to eq("")
+
+ year_select.select("1")
+ expect(month_select.value).to eq("")
+
+ year_select.select("2")
+ expect(month_select.value).to eq("")
+ end
+end
diff --git a/spec/features/reset_password_spec.rb b/spec/features/reset_password_spec.rb
index 40c345ce4..95330d9f2 100644
--- a/spec/features/reset_password_spec.rb
+++ b/spec/features/reset_password_spec.rb
@@ -3,7 +3,7 @@
require "rails_helper"
PASSWORD_RESET_PATH = "/users/password/new"
-describe "Password Reset Page", js: true do
+xdescribe "Password Reset Page", js: true do
let(:user) { create(:user) }
context "when user clicks button Send me reset password instructions" do
@@ -11,8 +11,8 @@
receive(:reset_password_instructions)
.and_return(double(deliver: true))
visit PASSWORD_RESET_PATH
- fill_in "Email", with: user.email
- click_button "Send me reset password instructions"
+ fill_in "user_email", with: user.email
+ click_button "Reset"
expect(page).to have_content("If your email address exists")
end
end
@@ -20,16 +20,8 @@
context "when user clicks Log in link" do
it "redirect to sign in page" do
visit PASSWORD_RESET_PATH
- click_link "Log in"
+ click_on "Log In"
expect(page).to have_current_path(new_user_session_path)
end
end
-
- context "when user clicks Sign up link" do
- it "redirect to sign up page" do
- visit PASSWORD_RESET_PATH
- click_link "Sign up"
- expect(page).to have_current_path(new_user_registration_path)
- end
- end
end
diff --git a/spec/features/sign_out_spec.rb b/spec/features/sign_out_spec.rb
index d5468955d..126146f3a 100644
--- a/spec/features/sign_out_spec.rb
+++ b/spec/features/sign_out_spec.rb
@@ -13,14 +13,15 @@
visit "/users/sign_in"
fill_in "Email", with: user.email
fill_in "Password", with: user.password
- click_button "Log in"
+ click_on "Log In"
+ page.driver.browser.manage.window.resize_to(1920, 1080)
Capybara.using_wait_time flash_message_disappear_time do
- click_link "Log Out"
+ click_on "Log Out"
sleep 3
end
end
- it "signs the user out" do
+ xit "signs the user out" do
expect(page).to have_current_path("/calculators/#{calculator.slug}")
expect(page).to have_content("LOG IN")
end
diff --git a/spec/features/sing_up_spec.rb b/spec/features/sing_up_spec.rb
index 394aa7045..b3885f917 100644
--- a/spec/features/sing_up_spec.rb
+++ b/spec/features/sing_up_spec.rb
@@ -9,7 +9,7 @@
LASTNAME = "Last name"
SIGN_UP_BUTTON_TEXT = I18n.t("layouts.navigation.sign_up")
-describe "User Sign Up", js: true do
+xdescribe "User Sign Up", js: true do
context "when sign up with correct password and email" do
it "shows a message about a confirmation link in the mail" do
receive(:confirmation_instructions)
@@ -38,7 +38,7 @@
click_button SIGN_UP_BUTTON_TEXT
- expect(page).to have_content "Password is invalid"
+ expect(page).to have_content "Password can't be blank"
end
end
@@ -63,7 +63,7 @@
click_button SIGN_UP_BUTTON_TEXT
- expect(page).to have_content "Email is invalid"
+ expect(page).to have_content "Email can't be blank"
end
end
@@ -78,8 +78,35 @@
expect(page).to have_content "First name is invalid"
expect(page).to have_content "Last name can't be blank"
+ end
+ end
+
+ context "when sign up with short first and last name" do
+ it "shows a message that first and last name is too short" do
+ visit new_user_registration_path
+
+ fill_in FIRSTNAME, with: "A"
+ fill_in LASTNAME, with: "A"
+
+ click_button SIGN_UP_BUTTON_TEXT
+
+ expect(page).to have_content "First name is too short"
expect(page).to have_content "Last name is too short"
expect(page).to have_content "minimum is 2 characters"
end
end
+
+ context "when sign up with blank first name" do
+ it "shows only one error message that first name can't be blank" do
+ visit new_user_registration_path
+
+ fill_in FIRSTNAME, with: " "
+
+ click_button SIGN_UP_BUTTON_TEXT
+
+ expect(page).to have_content "First name can't be blank"
+ expect(page).not_to have_content "First name is too short"
+ expect(page).not_to have_content "First name is invalid"
+ end
+ end
end
diff --git a/spec/features/visit_calculator_spec.rb b/spec/features/visit_calculator_spec.rb
index 205ec99c4..8934f5c11 100644
--- a/spec/features/visit_calculator_spec.rb
+++ b/spec/features/visit_calculator_spec.rb
@@ -7,16 +7,16 @@
let(:calculator) { create(:calculator) }
it "visits calculator page" do
- visit "/calculators/#{calculator.slug}"
+ visit "#{I18n.locale}/calculator"
expect(page).to have_content "Child’s age"
end
- it "visits calculator page and open log_in page" do
- create(:feature_flag, :show_admin_menu)
- visit "/calculators/#{calculator.slug}"
+ xit "visits calculator page and open log_in page" do
+ visit "#{I18n.locale}/calculator"
+ page.driver.browser.manage.window.resize_to(1920, 1080)
click_link("Log In")
- sleep 3
+
expect(page).to have_content "Forgot your password"
end
end
diff --git a/spec/features/visit_login_spec.rb b/spec/features/visit_login_spec.rb
index 6e619434d..ff358694c 100644
--- a/spec/features/visit_login_spec.rb
+++ b/spec/features/visit_login_spec.rb
@@ -16,8 +16,8 @@
visit "/users/sign_in"
fill_in "Email", with: user.email
fill_in "Password", with: user.password
- click_button "Log in"
+ click_button "Log In"
expect(page).to have_content("Signed in successfully")
- expect(page).to have_content("LOG OUT")
+ expect(page).to have_link("Log Out", href: destroy_user_session_path, visible: :all)
end
end
diff --git a/spec/fixtures/files/logo_zerowaste.png b/spec/fixtures/files/logo_zerowaste.png
deleted file mode 100644
index ef976b99e..000000000
Binary files a/spec/fixtures/files/logo_zerowaste.png and /dev/null differ
diff --git a/spec/fixtures/icons/favicon-181x182.png b/spec/fixtures/icons/favicon-181x182.png
new file mode 100644
index 000000000..2b3e22d3d
Binary files /dev/null and b/spec/fixtures/icons/favicon-181x182.png differ
diff --git a/spec/helpers/account/users_helper_spec.rb b/spec/helpers/account/users_helper_spec.rb
new file mode 100644
index 000000000..38c69fd79
--- /dev/null
+++ b/spec/helpers/account/users_helper_spec.rb
@@ -0,0 +1,45 @@
+# # frozen_string_literal: true
+
+require "rails_helper"
+
+RSpec.describe Account::UsersHelper, type: :helper do
+ let!(:user) { create(:user) }
+
+ describe ".toggle_block_param" do
+ it "toggles the 'blocked' attribute" do
+ user.update(blocked: true)
+
+ expect(helper.toggle_block_param(user)).to eq({ blocked: false })
+ end
+ end
+
+ describe ".toggle_confirm" do
+ it "returns '.confirm_unblock' if the user is blocked" do
+ user.update(blocked: true)
+ allow(helper).to receive(:t).with(".confirm_unblock").and_return(".confirm_unblock")
+
+ expect(helper.toggle_confirm(user)).to eq(".confirm_unblock")
+ end
+
+ it "returns '.confirm_block' if the user is unblocked" do
+ user.update(blocked: false)
+ allow(helper).to receive(:t).with(".confirm_block").and_return(".confirm_block")
+
+ expect(helper.toggle_confirm(user)).to eq(".confirm_block")
+ end
+ end
+
+ describe ".toggle_class" do
+ it "returns 'lock' if the user is blocked" do
+ user.update(blocked: true)
+
+ expect(helper.toggle_class(user)).to eq("lock")
+ end
+
+ it "returns 'lock-open' if the user is not blocked" do
+ user.update(blocked: false)
+
+ expect(helper.toggle_class(user)).to eq("lock-open")
+ end
+ end
+end
diff --git a/spec/models/calculation_resolver_spec.rb b/spec/lib/calculation_resolver_spec.rb
similarity index 96%
rename from spec/models/calculation_resolver_spec.rb
rename to spec/lib/calculation_resolver_spec.rb
index 680cdd8c8..448eaddbb 100644
--- a/spec/models/calculation_resolver_spec.rb
+++ b/spec/lib/calculation_resolver_spec.rb
@@ -2,7 +2,7 @@
require "rails_helper"
-RSpec.describe CalculationResolver, type: :model do
+RSpec.describe CalculationResolver do
subject { described_class }
describe "#result" do
diff --git a/spec/models/calculator_resolver_spec.rb b/spec/lib/calculator_resolver_spec.rb
similarity index 97%
rename from spec/models/calculator_resolver_spec.rb
rename to spec/lib/calculator_resolver_spec.rb
index 330ebd173..ab3af1d5e 100644
--- a/spec/models/calculator_resolver_spec.rb
+++ b/spec/lib/calculator_resolver_spec.rb
@@ -2,7 +2,7 @@
require "rails_helper"
-RSpec.describe CalculatorResolver, type: :model do
+RSpec.describe CalculatorResolver do
subject { described_class }
let(:calculator) { build(:calculator) }
diff --git a/spec/lib/inflector_extensions_spec.rb b/spec/lib/inflector_extensions_spec.rb
index 994df49f3..b8db61478 100644
--- a/spec/lib/inflector_extensions_spec.rb
+++ b/spec/lib/inflector_extensions_spec.rb
@@ -22,7 +22,7 @@
it "properly pluralizes all months" do
months.each do |count, expected|
- expect("місяць".pluralize(count: count, locale: :uk)).to eq(expected)
+ expect("місяць".pluralize(count, :uk)).to eq(expected)
end
end
end
@@ -38,7 +38,7 @@
it "properly pluralizes all years" do
years.each do |count, expected|
- expect("рік".pluralize(count: count, locale: :uk)).to eq(expected)
+ expect("рік".pluralize(count, :uk)).to eq(expected)
end
end
end
@@ -58,7 +58,7 @@
it "properly pluralizes all diapers" do
diapers.each do |count, expected|
- expect("підгузок".pluralize(count: count, locale: :uk)).to eq(expected)
+ expect("підгузок".pluralize(count, :uk)).to eq(expected)
end
end
end
@@ -74,29 +74,29 @@
end
it "pluralizes properly with count parameter" do
- expect("dog".pluralize(count: 10)).to eq("dogs")
- expect("cat".pluralize(count: 1)).to eq("cat")
- expect("alias".pluralize(count: 123)).to eq("aliases")
- expect("buffalo".pluralize(count: 1, locale: :en)).to eq("buffalo")
- expect("bus".pluralize(count: 0)).to eq("buses")
+ expect("dog".pluralize(10)).to eq("dogs")
+ expect("cat".pluralize(1)).to eq("cat")
+ expect("alias".pluralize(123)).to eq("aliases")
+ expect("buffalo".pluralize(1, :en)).to eq("buffalo")
+ expect("bus".pluralize(0)).to eq("buses")
end
it "pluralizes irregular words properly" do
- expect("person".pluralize(count: 10)).to eq("people")
- expect("man".pluralize(count: 1)).to eq("man")
- expect("child".pluralize(count: 0)).to eq("children")
+ expect("person".pluralize(10)).to eq("people")
+ expect("man".pluralize(1)).to eq("man")
+ expect("child".pluralize(0)).to eq("children")
expect("zombie".pluralize).to eq("zombies")
- expect("sex".pluralize(count: 666)).to eq("sexes")
+ expect("sex".pluralize(666)).to eq("sexes")
end
end
context "with words that cannot be plural" do
it "does not pluralize uncountable words" do
- expect("equipment".pluralize(count: 10)).to eq("equipment")
+ expect("equipment".pluralize(10)).to eq("equipment")
expect("information".pluralize).to eq("information")
- expect("rice".pluralize(count: 0)).to eq("rice")
- expect("money".pluralize(count: 1)).to eq("money")
- expect("fish".pluralize(count: 666)).to eq("fish")
+ expect("rice".pluralize(0)).to eq("rice")
+ expect("money".pluralize(1)).to eq("money")
+ expect("fish".pluralize(666)).to eq("fish")
end
end
end
diff --git a/spec/lib/users_csv_generator_spec.rb b/spec/lib/users_csv_generator_spec.rb
index b80014554..a3b3da2f3 100644
--- a/spec/lib/users_csv_generator_spec.rb
+++ b/spec/lib/users_csv_generator_spec.rb
@@ -2,15 +2,26 @@
require "rails_helper"
-RSpec.describe UsersCsvGenerator, type: :lib do
- let(:time_login) { Time.new(2020, 0o1, 0o1).utc }
+RSpec.describe UsersCsvGenerator do
+ let(:time_login) { Time.new(2020, 0o1, 0o1).in_time_zone("Kyiv") }
+
let(:users) do
- [create(:user, email: "test@gmail.com", last_sign_in_at: time_login)]
+ [create(:user, email: "test@gmail.com", first_name: "Han", last_name: "Solo", last_sign_in_at: time_login)]
+ end
+
+ let(:csv_content) do
+ result = "email,first_name,last_name,last_sign_in_at\n"
+
+ users.each do |user|
+ result += "#{users.first.email},#{users.first.first_name},#{users.first.last_name},#{time_login}\n"
+ end
+
+ result
end
it "export users" do
expect(UsersCsvGenerator.call(users,
- fields: ["email", "last_sign_in_at"]))
- .to eq("email,last_sign_in_at\ntest@gmail.com,#{time_login}\n")
+ fields: ["email", "first_name", "last_name", "last_sign_in_at"]))
+ .to eq(csv_content)
end
end
diff --git a/spec/mailers/user_mailer_spec.rb b/spec/mailers/user_mailer_spec.rb
index e69de29bb..494d2dffa 100644
--- a/spec/mailers/user_mailer_spec.rb
+++ b/spec/mailers/user_mailer_spec.rb
@@ -0,0 +1,19 @@
+require "rails_helper"
+
+RSpec.describe UserMailer, type: :mailer do
+ describe "welcome_email" do
+ let(:user) { create(:user) }
+ let(:mail) { UserMailer.welcome_email(user) }
+
+ it "renders the headers" do
+ expect(mail.subject).to eq(I18n.t("mailer.welcome_mail.subject"))
+ expect(mail.to).to eq([user.email])
+ expect(mail.from).to eq(["zerowastemailer@gmail.com"])
+ end
+
+ it "renders the body" do
+ expect(mail.html_part.body).to include(I18n.t("user_mailer.welcome_email.email", email: user.email))
+ expect(mail.html_part.body).to include(I18n.t("user_mailer.welcome_email.password", password: user.password))
+ end
+ end
+end
diff --git a/spec/models/app_config_spec.rb b/spec/models/app_config_spec.rb
deleted file mode 100644
index 0d7a3c750..000000000
--- a/spec/models/app_config_spec.rb
+++ /dev/null
@@ -1,23 +0,0 @@
-# frozen_string_literal: true
-
-# == Schema Information
-#
-# Table name: app_configs
-#
-# id :bigint not null, primary key
-# diapers_calculator :jsonb
-# created_at :datetime not null
-# updated_at :datetime not null
-#
-require "rails_helper"
-
-RSpec.describe AppConfig, type: :model do
- context "is a singleton model" do
- it "should not allow using new method" do
- expect { AppConfig.new }.to raise_error NoMethodError
- end
- it "should have instance method" do
- expect(AppConfig.instance).to be_an AppConfig
- end
- end
-end
diff --git a/spec/models/calculator_spec.rb b/spec/models/calculator_spec.rb
index 3bf4a1619..c3d4fd4ed 100644
--- a/spec/models/calculator_spec.rb
+++ b/spec/models/calculator_spec.rb
@@ -14,6 +14,7 @@
#
# Indexes
#
+# index_calculators_on_name (name) UNIQUE
# index_calculators_on_slug (slug) UNIQUE
# index_calculators_on_uuid (uuid) UNIQUE
#
@@ -25,24 +26,42 @@
subject { build(:calculator) }
describe "validations" do
- it {
- is_expected.to validate_presence_of(:name).with_message(
- I18n.t("#{LOCAL_PREFIX_CALCULATOR}.name.too_short")
- )
- }
- it {
- is_expected.to validate_length_of(:name).is_at_least(2).with_message(
- I18n.t("#{LOCAL_PREFIX_CALCULATOR}.name.too_short")
- )
- }
- it {
- is_expected.not_to allow_value("Hh@").for(:name).with_message(
- I18n.t("#{LOCAL_PREFIX_CALCULATOR}.name.name_format_validation")
- )
- }
- it {
+ it "validates the name and message " do
+ is_expected.to validate_presence_of(:name)
+ .with_message(I18n.t("#{LOCAL_PREFIX_CALCULATOR}.name.blank"))
+ end
+
+ it "validates the name's length and message" do
+ is_expected.to validate_length_of(:name).is_at_least(2)
+ .with_message(I18n.t("#{LOCAL_PREFIX_CALCULATOR}.name.too_short", count: 2))
+
+ is_expected.to validate_length_of(:name).is_at_most(30)
+ .with_message(I18n.t("#{LOCAL_PREFIX_CALCULATOR}.name.too_long", count: 30))
+ end
+
+ it "validates the name's uniqueness and message" do
is_expected.to validate_uniqueness_of(:name)
- }
+ .with_message(I18n.t("#{LOCAL_PREFIX_CALCULATOR}.name.taken"))
+ end
+
+ context "validates the name format" do
+ let(:calculator) { build(:calculator) }
+
+ it "with valid name" do
+ calculator.name = "Hedgehog і єнот з'їли 2 аґруси"
+
+ expect(calculator).to be_valid
+ end
+
+ it "with invalid name" do
+ ["#", "!", "@", "$", "%", "^", "&", "*", "(", ")", "?", "\"", "_"].each do |sym|
+ calculator.name = "Invalid Name #{sym}"
+
+ expect(calculator).to_not be_valid
+ expect(calculator.errors.messages[:name]).to include(I18n.t("#{LOCAL_PREFIX_CALCULATOR}.name.invalid"))
+ end
+ end
+ end
end
describe "scope" do
@@ -67,4 +86,14 @@
end
end
end
+
+ describe "versioning", versioning: true do
+ let!(:calculator) { create(:calculator, name: "Calculator 1") }
+
+ it "adds a version when the calculator is updated" do
+ calculator.update!(name: "Calculator 2")
+
+ expect(calculator.versions.count).to eq(2)
+ end
+ end
end
diff --git a/spec/models/category_categoryable_spec.rb b/spec/models/category_categoryable_spec.rb
index c9a8fed64..bfab4767b 100644
--- a/spec/models/category_categoryable_spec.rb
+++ b/spec/models/category_categoryable_spec.rb
@@ -1,62 +1,32 @@
# frozen_string_literal: true
+# == Schema Information
+#
+# Table name: category_categoryables
+#
+# id :bigint not null, primary key
+# categoryable_type :string
+# created_at :datetime not null
+# updated_at :datetime not null
+# category_id :bigint
+# categoryable_id :bigint
+#
+# Indexes
+#
+# index_category_categoryables_on_category_id (category_id)
+# index_category_categoryables_on_categoryable (categoryable_type,categoryable_id)
+# unique_of_category_categoryables_index (categoryable_type,categoryable_id,category_id) UNIQUE
+#
+# Foreign Keys
+#
+# fk_rails_... (category_id => categories.id)
+#
require "rails_helper"
RSpec.describe CategoryCategoryable, type: :model do
- describe "validations" do
- let(:budgetary_category) { create(:category, :budgetary) }
- let(:medium_category) { create(:category, :medium) }
- let(:product_diaper) { build(:product, :diaper) }
- let(:product_napkin) { build(:product, :napkin) }
- # let(:resource) { build(:resource) }
+ describe "associations" do
+ it { is_expected.to belong_to(:categoryable) }
- context "when a product(diaper) has one category" do
- it "returns valid product" do
- product_diaper.categories = [budgetary_category]
-
- expect(product_diaper.save).to eq true
- end
- end
-
- context "when a product(diaper) can have many different categories" do
- it "returns valid product" do
- product_diaper.categories = [budgetary_category, medium_category]
-
- expect(product_diaper.save).to eq true
- end
- end
-
- context "when a product(napkin) can have the same categories as a product(diaper)" do
- it "returns valid product" do
- product_diaper.categories = [budgetary_category, medium_category]
- product_napkin.categories = [budgetary_category, medium_category]
-
- expect(product_diaper.save).to eq true
- expect(product_napkin.save).to eq true
- end
- end
-
- skip "is skipped" do
- context "when a resource model can have the same categories as a product model" do
- it "returns valid product" do
- product_diaper.categories = [budgetary_category, medium_category]
- resource.categories = [budgetary_category, medium_category]
-
- expect(product_diaper.save).to eq true
- expect(resource.save).to eq true
- end
- end
- end
-
- context "when a product(diaper) cannot have two identical categories" do
- it "returns invalid product" do
- product_diaper.categories = [budgetary_category, budgetary_category]
-
- expect do
- product_diaper.save!
- end.to raise_error(ActiveRecord::RecordInvalid,
- "Validation failed: Category has already been taken")
- end
- end
+ it { is_expected.to belong_to(:category) }
end
end
diff --git a/spec/models/category_spec.rb b/spec/models/category_spec.rb
new file mode 100644
index 000000000..6514a04b9
--- /dev/null
+++ b/spec/models/category_spec.rb
@@ -0,0 +1,38 @@
+# == Schema Information
+#
+# Table name: categories
+#
+# id :bigint not null, primary key
+# name :string
+# priority :integer default(0), not null
+# created_at :datetime not null
+# updated_at :datetime not null
+#
+require "rails_helper"
+
+LOCAL_PREFIX_CATEGORY = "activerecord.errors.models.category.attributes"
+
+RSpec.describe Category, type: :model do
+ subject { build(:category) }
+
+ describe "associations" do
+ it { is_expected.to have_many(:category_categoryables).dependent(:restrict_with_exception) }
+ end
+
+ describe "validations" do
+ it { is_expected.to validate_presence_of(:name) }
+ it { is_expected.to validate_length_of(:name).is_at_least(3).is_at_most(30) }
+ it { is_expected.to validate_uniqueness_of(:name).case_insensitive }
+ it { is_expected.to validate_numericality_of(:priority).is_greater_than_or_equal_to(0) }
+ end
+
+ context "checking the number of errors" do
+ let(:category) { build(:category, name: "") }
+
+ it "returns only one error message when field is blank" do
+ category.valid?
+ expect(category.errors.full_messages_for(:name).length).to eq 1
+ expect(category.errors.full_messages_for(:name)).to include("Title can't be blank")
+ end
+ end
+end
diff --git a/spec/models/diapers_period_spec.rb b/spec/models/diapers_period_spec.rb
new file mode 100644
index 000000000..2dd56f926
--- /dev/null
+++ b/spec/models/diapers_period_spec.rb
@@ -0,0 +1,45 @@
+# frozen_string_literal: true
+
+# == Schema Information
+#
+# Table name: diapers_periods
+#
+# category_id :bigint null: false
+# price :decimal precision: 8, scale: 2
+# period_start :integer null: false
+# period_end :integer null: false
+# usage_amount :integer null: false
+# created_at :datetime null: false
+# updated_at :datetime null: false
+# index ["category_id"], name: "index_diapers_periods_on_category_id"
+
+require "rails_helper"
+
+RSpec.describe DiapersPeriod, type: :model do
+ let(:diapers_period) { FactoryBot.build :diapers_period }
+
+ describe "associations" do
+ it { is_expected.to belong_to(:category) }
+ end
+
+ context "validations" do
+ it { is_expected.to validate_presence_of(:price) }
+ it { is_expected.to validate_numericality_of(:price).is_greater_than_or_equal_to(0) }
+
+ it { is_expected.to validate_presence_of(:period_start) }
+ it { is_expected.to validate_numericality_of(:period_start).is_greater_than_or_equal_to(1) }
+
+ it { is_expected.to validate_presence_of(:period_end) }
+
+ it "period end is greater than period start" do
+ expect(diapers_period.period_end).to be > diapers_period.period_start
+ end
+
+ it "period end is less than 30" do
+ expect(diapers_period.period_end).to be <= 30
+ end
+
+ it { is_expected.to validate_presence_of(:usage_amount) }
+ it { is_expected.to validate_numericality_of(:usage_amount).is_greater_than_or_equal_to(0) }
+ end
+end
diff --git a/spec/models/feature_flag_spec.rb b/spec/models/feature_flag_spec.rb
index f67643e17..382b7ea9d 100644
--- a/spec/models/feature_flag_spec.rb
+++ b/spec/models/feature_flag_spec.rb
@@ -25,7 +25,7 @@
end
describe "#feature_exist?" do
- it "reaturn true if feature is added to table" do
+ it "return true if feature is added to table" do
expect(subject.create.feature_exist?).to be_truthy
end
end
diff --git a/spec/models/price_spec.rb b/spec/models/price_spec.rb
new file mode 100644
index 000000000..ea8d033e1
--- /dev/null
+++ b/spec/models/price_spec.rb
@@ -0,0 +1,39 @@
+# == Schema Information
+#
+# Table name: prices
+#
+# id :bigint not null, primary key
+# priceable_type :string
+# sum :decimal(8, 2)
+# created_at :datetime not null
+# updated_at :datetime not null
+# category_id :integer
+# priceable_id :bigint
+#
+# Indexes
+#
+# index_prices_on_category_id (category_id)
+# index_prices_on_category_id_and_priceable_id_and_priceable_type (category_id,priceable_id,priceable_type) UNIQUE
+# index_prices_on_priceable (priceable_type,priceable_id)
+#
+require "rails_helper"
+
+RSpec.describe Price, type: :model do
+ subject { create(:price, :budgetary_price) }
+
+ describe "associations" do
+ it { is_expected.to belong_to(:priceable) }
+
+ it { is_expected.to belong_to(:category).optional }
+ end
+
+ describe "validations" do
+ it { is_expected.to validate_presence_of(:sum) }
+
+ it { is_expected.to validate_numericality_of(:sum).is_greater_than_or_equal_to(0) }
+
+ it { is_expected.to validate_numericality_of(:sum).is_less_than(1_000_000) }
+
+ it { is_expected.to validate_uniqueness_of(:category_id).scoped_to(:priceable_id, :priceable_type) }
+ end
+end
diff --git a/spec/models/product_spec.rb b/spec/models/product_spec.rb
index 00e9219f6..4129b61ff 100644
--- a/spec/models/product_spec.rb
+++ b/spec/models/product_spec.rb
@@ -23,18 +23,72 @@
RSpec.describe Product, type: :model do
subject { build(:product) }
+ describe "associations" do
+ it { is_expected.to have_many(:prices).dependent(:destroy) }
+
+ it { is_expected.to have_many(:categories_by_prices).through(:prices).source(:category) }
+ end
+
describe "validations" do
- it {
+ it "validates the title and message " do
is_expected.to validate_presence_of(:title)
.with_message(I18n.t("#{LOCAL_PREFIX_PRODUCT}.title.blank"))
- }
- it {
- is_expected.to validate_length_of(:title).is_at_least(2).with_message(I18n
- .t("#{LOCAL_PREFIX_PRODUCT}.title.too_short"))
- }
- it {
- is_expected.to validate_length_of(:title).is_at_most(50).with_message(I18n
- .t("#{LOCAL_PREFIX_PRODUCT}.title.too_long"))
- }
+ end
+
+ it "validates the title's length and message" do
+ is_expected.to validate_length_of(:title).is_at_least(2)
+ .with_message(I18n.t("#{LOCAL_PREFIX_PRODUCT}.title.too_short", count: 2))
+
+ is_expected.to validate_length_of(:title).is_at_most(30)
+ .with_message(I18n.t("#{LOCAL_PREFIX_PRODUCT}.title.too_long", count: 30))
+ end
+
+ it "validates the title's uniqueness and message " do
+ is_expected.to validate_uniqueness_of(:title)
+ .with_message(I18n.t("#{LOCAL_PREFIX_PRODUCT}.title.taken"))
+ end
+
+ context "validates the title format" do
+ let(:product) { build(:product) }
+
+ it "with valid title" do
+ product.title = "Hedgehog і єнот з'їли 2 аґруси"
+
+ expect(product).to be_valid
+ end
+
+ it "with invalid title" do
+ ["#", "!", "@", "$", "%", "^", "&", "*", "(", ")", "?", "\"", "_"].each do |sym|
+ product.title = "Invalid Title #{sym}"
+
+ expect(product).to_not be_valid
+ expect(product.errors.messages[:title]).to include(I18n.t("#{LOCAL_PREFIX_PRODUCT}.title.invalid"))
+ end
+ end
+ end
+ end
+
+ describe "#find_or_build_price_for_category" do
+ let(:product) { create(:product, title: "Valid Title") }
+ let(:category) { create(:category, name: "Valid Name") }
+ let(:valid_sum) { 10.0 }
+
+ context "when the product has a price for the category" do
+ let!(:existing_price) { create(:price, priceable: product, category: category, sum: valid_sum) }
+
+ it "returns the existing price" do
+ expect(product.find_or_build_price_for_category(category)).to eq(existing_price)
+ end
+ end
+
+ context "when the product does not have a price for the category" do
+ it "builds a new price for the category" do
+ expect(product.prices).to be_empty
+
+ new_price = product.find_or_build_price_for_category(category)
+ expect(new_price.category).to eq(category)
+ expect(new_price).to be_a_new(Price)
+ end
+ end
end
end
diff --git a/spec/models/product_type_spec.rb b/spec/models/product_type_spec.rb
index a1f17b732..edd04fa84 100644
--- a/spec/models/product_type_spec.rb
+++ b/spec/models/product_type_spec.rb
@@ -21,6 +21,10 @@
RSpec.describe ProductType, type: :model do
subject { build(:product_type) }
+ describe "associations" do
+ it { is_expected.to have_many(:products).dependent(:destroy) }
+ end
+
describe "validations" do
it {
is_expected.to validate_presence_of(:title).with_message(I18n
diff --git a/spec/models/site_setting_spec.rb b/spec/models/site_setting_spec.rb
index 7749a1653..0aa4f5d7a 100644
--- a/spec/models/site_setting_spec.rb
+++ b/spec/models/site_setting_spec.rb
@@ -12,48 +12,93 @@
end
context "validates properly" do
- before { site_setting.update(site_setting_params) }
+ subject { described_class.current }
- let!(:site_setting) { SiteSetting.current }
- let(:site_setting_params) { FactoryBot.attributes_for(:site_setting, :with_valid_site_setting) }
+ before { subject.update(site_setting_params) }
+
+ let(:site_setting_params) { attributes_for(:site_setting, :with_valid_site_setting) }
it "has a valid factory" do
- expect(site_setting).to be_valid
+ is_expected.to be_valid
end
it "is valid with valid attributes" do
- expect(site_setting).to be_valid
+ is_expected.to be_valid
end
it "is not valid without a title" do
- site_setting.title = nil
- expect(site_setting).not_to be_valid
+ is_expected.to validate_presence_of(:title)
end
- it "is not valid with a title longer than 20 characters" do
- site_setting.title = "a" * 21
- expect(site_setting).not_to be_valid
+ it "is not valid with a title longer than 30 characters" do
+ is_expected.to validate_length_of(:title).is_at_least(3).is_at_most(30)
end
it "is not valid without a favicon" do
- site_setting.favicon.purge
- expect(site_setting).not_to be_valid
+ subject.favicon.purge
+
+ is_expected.not_to be_valid
+ end
+
+ context "with an invalid favicon type" do
+ let(:invalid_favicon_format) { "application/pdf" }
+
+ before do
+ subject.favicon.content_type = invalid_favicon_format
+ end
+
+ it "is not valid" do
+ is_expected.not_to be_valid
+ end
+ end
+
+ context "with a valid favicon type" do
+ let(:valid_favicon_format) { "image/png" }
+
+ before do
+ subject.favicon.content_type = valid_favicon_format
+ end
+
+ it "is valid" do
+ is_expected.to be_valid
+ end
end
- it "is not valid with a favicon of invalid type" do
- site_setting.favicon.content_type = "application/pdf"
- expect(site_setting).not_to be_valid
+ context "with a favicon larger than 1 KB" do
+ let(:invalid_favicon_size) { 2.kilobytes }
+
+ before do
+ subject.favicon.byte_size = invalid_favicon_size
+ end
+
+ it "is not valid" do
+ is_expected.not_to be_valid
+ expect(subject.errors.messages[:favicon].join).to include(
+ I18n.t("errors.messages.file_size_out_of_range")
+ )
+ end
end
- it "is valid with a favicon of valid type" do
- site_setting.favicon.content_type = "image/png"
- expect(site_setting).to be_valid
+ context "with a favicon larger than 180x180 pixels" do
+ let(:site_setting_params) { attributes_for(:site_setting, :invalid_favicon) }
+
+ it "is not valid" do
+ is_expected.not_to be_valid
+ expect(subject.errors.messages[:favicon]).to include(
+ I18n.t("errors.messages.dimension_width_less_than_or_equal_to", length: 180)
+ )
+ end
end
- it "is not valid with a favicon larger than 500 KB" do
- site_setting.favicon.byte_size = 600.kilobytes
- expect(site_setting).not_to be_valid
- expect(site_setting.errors.messages[:favicon]).to include(I18n.t("account.site_settings.validations.size"))
+ context "with a favicon with not square acpect ratio" do
+ let(:site_setting_params) { attributes_for(:site_setting, :invalid_favicon) }
+
+ it "is not valid" do
+ is_expected.not_to be_valid
+ expect(subject.errors.messages[:favicon]).to include(
+ I18n.t("errors.messages.aspect_ratio_not_square")
+ )
+ end
end
end
end
diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb
index f24f79d27..b20b510b5 100644
--- a/spec/models/user_spec.rb
+++ b/spec/models/user_spec.rb
@@ -38,6 +38,12 @@
require "rails_helper"
RSpec.describe User, type: :model do
+ subject { build(:user) }
+
+ describe "associations" do
+ it { is_expected.to have_one_attached(:avatar) }
+ end
+
describe "validations" do
it { is_expected.to validate_presence_of(:email) }
it { is_expected.to validate_uniqueness_of(:email).case_insensitive }
@@ -50,13 +56,13 @@
it { is_expected.to validate_presence_of(:first_name).on(:create) }
it { is_expected.to validate_presence_of(:first_name).on(:update) }
- it { is_expected.to validate_length_of(:first_name).is_at_least(2).on(:create) }
- it { is_expected.to validate_length_of(:first_name).is_at_least(2).on(:update) }
+ it { is_expected.to validate_length_of(:first_name).is_at_least(2).is_at_most(50).on(:create) }
+ it { is_expected.to validate_length_of(:first_name).is_at_least(2).is_at_most(50).on(:update) }
it { is_expected.to validate_presence_of(:last_name).on(:create) }
it { is_expected.to validate_presence_of(:last_name).on(:update) }
- it { is_expected.to validate_length_of(:last_name).is_at_least(2).on(:create) }
- it { is_expected.to validate_length_of(:last_name).is_at_least(2).on(:update) }
+ it { is_expected.to validate_length_of(:last_name).is_at_least(2).is_at_most(50).on(:create) }
+ it { is_expected.to validate_length_of(:last_name).is_at_least(2).is_at_most(50).on(:update) }
it { is_expected.to allow_value("email@gmail.com").for(:email) }
it { is_expected.not_to allow_value("email.factory-com").for(:email) }
@@ -64,4 +70,63 @@
it { is_expected.to allow_value("P@$$w0rd!-_%^&*()_+|~={}[]:\";'<>?,./").for(:password) }
it { is_expected.not_to allow_value("/asd").for(:password) }
end
+
+ describe "versioning", versioning: true do
+ let!(:user) { create(:user, first_name: "John", last_name: "Doe") }
+
+ it "adds a version when the user is updated" do
+ user.update!(first_name: "Jane", last_name: "Doe")
+
+ expect(user.versions.count).to eq(2)
+ end
+ end
+
+ describe ".grouped_collection_by_role" do
+ let!(:admin) { create(:user, :admin) }
+ let!(:regular_user) { create(:user) }
+
+ subject { described_class.grouped_collection_by_role.to_h }
+
+ it "returns a hash with the users grouped by role" do
+ expect(subject.keys).to match_array(["admin", "user"])
+ expect(subject.values.flatten).to match_array([admin, regular_user])
+ end
+ end
+
+ describe ".from_omniauth" do
+ context "when the user exists" do
+ let(:user) { create(:user) }
+ let(:access_token) do
+ double(
+ "access_token",
+ info: {
+ "email" => user.email
+ }
+ )
+ end
+
+ it "returns the user" do
+ expect(described_class.from_omniauth(access_token)).to eq(user)
+ end
+ end
+
+ context "when the user does not exist" do
+ let(:access_token) do
+ double(
+ "access_token",
+ info: {
+ "first_name" => "John",
+ "last_name" => "Doe",
+ "email" => "example@mail.io"
+ }
+ )
+ end
+
+ it "creates a new user" do
+ expect do
+ described_class.from_omniauth(access_token)
+ end.to change(described_class, :count).by(1)
+ end
+ end
+ end
end
diff --git a/spec/requests/account/calculators_spec.rb b/spec/requests/account/calculators_spec.rb
new file mode 100644
index 000000000..d1ad7f17a
--- /dev/null
+++ b/spec/requests/account/calculators_spec.rb
@@ -0,0 +1,20 @@
+# frozen_string_literal: true
+
+require "rails_helper"
+
+RSpec.describe "Account::CalculatorsController", type: :request do
+ include_context :authorize_admin
+
+ let!(:calculator) { create(:calculator) }
+
+ describe "DELETE #destroy" do
+ it "destroys the calculator and redirects" do
+ expect do
+ delete account_calculator_path(calculator)
+ end.to change(Calculator, :count).by(-1)
+
+ expect(response).to redirect_to(account_calculators_path)
+ expect(flash[:notice]).to eq(I18n.t("notifications.calculator_deleted"))
+ end
+ end
+end
diff --git a/spec/requests/account/diapers_periods/categories_spec.rb b/spec/requests/account/diapers_periods/categories_spec.rb
new file mode 100644
index 000000000..4426c38df
--- /dev/null
+++ b/spec/requests/account/diapers_periods/categories_spec.rb
@@ -0,0 +1,49 @@
+require "rails_helper"
+
+RSpec.describe Account::DiapersPeriods::CategoriesController, type: :request do
+ include_context :authorize_admin
+
+ let!(:diapers_period) { create :diapers_period }
+ let!(:category) { create :category, :budgetary }
+
+ describe "GET #with_periods" do
+ it "is successful" do
+ get with_periods_account_diapers_periods_categories_path(format: :turbo_stream)
+
+ expect(response).to be_successful
+ end
+ end
+
+ describe "GET #available" do
+ it "is successful" do
+ get available_account_diapers_periods_categories_path(format: :turbo_stream)
+
+ expect(response).to be_successful
+ end
+ end
+
+ describe "DELETE #destroy" do
+ it "destroys all periods in the requested category" do
+ expect do
+ delete account_diapers_periods_category_path(id: category.id, format: :turbo_stream),
+ params: { category_id: category.id }
+ end.to change(category.diapers_periods, :count).to(0)
+
+ expect(response).to have_http_status(:see_other)
+ expect(response).to have_rendered(:destroy)
+ expect(response.body).to include("action=\"remove\" target=\"category_#{category.id}\"")
+ end
+
+ context "when destroy fails" do
+ it "returns a turbo stream response with a status" do
+ allow_any_instance_of(Category).to receive_message_chain(:diapers_periods, :destroy_all).and_return(false)
+
+ delete account_diapers_periods_category_path(id: category.id, format: :turbo_stream),
+ params: { category_id: category.id }
+
+ expect(response).to have_http_status(:unprocessable_entity)
+ expect(response).to have_rendered(:with_periods)
+ end
+ end
+ end
+end
diff --git a/spec/requests/account/diapers_periods_spec.rb b/spec/requests/account/diapers_periods_spec.rb
new file mode 100644
index 000000000..a08a66627
--- /dev/null
+++ b/spec/requests/account/diapers_periods_spec.rb
@@ -0,0 +1,114 @@
+# frozen_string_literal: true
+
+require "rails_helper"
+
+RSpec.describe Account::DiapersPeriodsController, type: :request do
+ include_context :authorize_admin
+
+ let!(:diapers_period) { create :diapers_period }
+ let(:valid_params) { attributes_for(:diapers_period, category_id: category.id) }
+ let(:invalid_params) { attributes_for(:diapers_period, usage_amount: "", category_id: category.id) }
+ let(:new_params) { attributes_for(:diapers_period, category_id: category.id, usage_amount: 7) }
+ let!(:category) { create :category, :budgetary }
+
+ describe "GET #idex" do
+ it "is successful" do
+ get account_diapers_periods_path(category_id: category.id, format: :turbo_stream)
+
+ expect(response).to be_successful
+ expect(response.body).to include(category.name)
+ end
+ end
+
+ describe "GET #new" do
+ it "is successful" do
+ get new_account_diapers_period_path(category_id: category.id, format: :turbo_stream)
+
+ expect(response).to be_successful
+ expect(response.body).to include(category.name)
+ end
+ end
+
+ describe "GET #edit" do
+ it "is successful" do
+ get edit_account_diapers_period_path(diapers_period, category_id: category.id, format: :turbo_stream)
+
+ expect(response).to be_successful
+ end
+ end
+
+ describe "POST #create" do
+ context "with valid parameters" do
+ it "is successful" do
+ expect do
+ post account_diapers_periods_path(format: :turbo_stream), params: { diapers_period: valid_params }
+ end.to change(DiapersPeriod, :count).by(1)
+
+ expect(response).to render_template(:create)
+ expect(response.body).to include(valid_params[:usage_amount].to_s)
+ end
+ end
+
+ context "with invalid parameters" do
+ it "is not successful" do
+ expect do
+ post account_diapers_periods_path(format: :turbo_stream), params: { diapers_period: invalid_params }
+ end.not_to change(DiapersPeriod, :count)
+
+ expect(response).to render_template(:new)
+ expect(response).to be_unprocessable
+ end
+ end
+ end
+
+ describe "PATCH #update" do
+ context "with valid parameters" do
+ it "is successful" do
+ expect do
+ patch account_diapers_period_path(diapers_period, format: :turbo_stream), params: { diapers_period: new_params }
+
+ diapers_period.reload
+ end.to change(diapers_period, :usage_amount).to(new_params[:usage_amount])
+
+ expect(response).to render_template(:update)
+ expect(response.body).to include(new_params[:usage_amount].to_s)
+ end
+ end
+
+ context "with invalid parameters" do
+ it "is unprocessable" do
+ expect do
+ patch account_diapers_period_path(diapers_period, format: :turbo_stream), params: { diapers_period: invalid_params }
+ end.not_to change(diapers_period, :usage_amount)
+
+ expect(response).to render_template(:edit)
+ expect(response).to be_unprocessable
+ end
+ end
+ end
+
+ describe "DELETE #destroy" do
+ it "destroys the requested period" do
+ expect do
+ delete account_diapers_period_path(diapers_period, category_id: category.id, format: :turbo_stream)
+ end.to change(DiapersPeriod, :count).by(-1)
+
+ expect(response).to have_http_status(:see_other)
+ expect(response).to have_rendered(:destroy)
+ expect(response.body).to include("action=\"remove\" target=\"diapers_period_#{diapers_period.id}\"")
+ end
+
+ context "when destroy fails" do
+ it "returns a turbo stream response with a status" do
+ allow(DiapersPeriod).to receive(:find).and_return(diapers_period)
+ allow(diapers_period).to receive(:destroy).and_return(false)
+
+ delete account_diapers_period_path(diapers_period, format: :turbo_stream),
+ params: { id: diapers_period.id, category_id: category.id }
+
+ expect(response).to have_http_status(:unprocessable_entity)
+ expect(response).to have_rendered(:index)
+ end
+ end
+ end
+end
diff --git a/spec/requests/account/messages_spec.rb b/spec/requests/account/messages_spec.rb
new file mode 100644
index 000000000..dcd3d902c
--- /dev/null
+++ b/spec/requests/account/messages_spec.rb
@@ -0,0 +1,37 @@
+require "rails_helper"
+
+RSpec.describe Account::ProductsController, type: :request do
+ let!(:message) { create(:message, title: "Title") }
+
+ include_context :authorize_admin
+
+ describe "GET :index" do
+ it "is successful" do
+ get account_messages_path
+
+ expect(response).to be_successful
+ expect(response).to render_template(:index)
+ expect(response.body).to include(message.title)
+ end
+
+ it "returns the expected attributes" do
+ Message.ransackable_attributes.each do |attribute|
+ get account_messages_path(q: { s: "#{attribute} asc" })
+ expect(response).to be_successful
+
+ get account_messages_path(q: { s: "#{attribute} desc" })
+ expect(response).to be_successful
+ end
+ end
+ end
+
+ describe "GET :show" do
+ it "is successful" do
+ get account_message_path(message)
+
+ expect(response).to be_successful
+ expect(response).to render_template(:show)
+ expect(response.body).to include(message.title)
+ end
+ end
+end
diff --git a/spec/requests/account/users_spec.rb b/spec/requests/account/users_spec.rb
new file mode 100644
index 000000000..c5e744f84
--- /dev/null
+++ b/spec/requests/account/users_spec.rb
@@ -0,0 +1,128 @@
+# frozen_string_literal: true
+
+require "rails_helper"
+
+RSpec.describe "Account::UsersController", type: :request do
+ include_context :authorize_admin
+
+ let!(:user) { create(:user, last_sign_in_at: Time.current) }
+
+ describe "GET #index" do
+ it "returns a successful html response" do
+ get account_users_path
+
+ expect(response).to be_successful
+ expect(response).to render_template(:index)
+ expect(response.body).to include(I18n.t("account.users.index.main_header"))
+ end
+
+ it "returns a successful csv response" do
+ get account_users_path(format: "csv")
+
+ csv_content = response.instance_variable_get(:@stream).instance_variable_get(:@buf).join
+
+ expect(response.header["Content-Type"]).to include "application/octet-stream"
+ expect(csv_content).to match(user.email)
+ expect(csv_content).to match(user.first_name)
+ expect(csv_content).to match(user.last_name)
+ expect(csv_content).to include(user.last_sign_in_at.to_s)
+ end
+
+ it "returns the expected attributes" do
+ User.ransackable_attributes.each do |attribute|
+ get account_users_path(q: { s: "#{attribute} asc" })
+ expect(response).to be_successful
+
+ get account_users_path(q: { s: "#{attribute} desc" })
+ expect(response).to be_successful
+ end
+ end
+ end
+
+ describe "GET #new" do
+ it "returns a successful response" do
+ get new_account_user_path
+
+ expect(response).to be_successful
+ expect(response).to render_template(:new)
+ expect(response.body).to include(I18n.t("account.users.new.table.create_new_user"))
+ end
+ end
+
+ describe "POST #create" do
+ let(:valid_params) { attributes_for(:user) }
+
+ context "with valid parameters" do
+ it "creates a new user and redirects" do
+ expect do
+ post account_users_path, params: { user: valid_params }
+ end.to change(User, :count).by(1)
+
+ expect(response).to redirect_to(account_user_path(User.last))
+ expect(flash[:notice]).to eq(I18n.t("notifications.user_created"))
+ end
+
+ it "creates a new user and sends an email" do
+ expect do
+ post account_users_path, params: { user: valid_params.merge(send_credentials_email: "1") }
+ end.to change { ActionMailer::Base.deliveries.count }.by(1)
+ end
+
+ it "creates a new user and doesn`t send an email" do
+ expect do
+ post account_users_path, params: { user: valid_params.merge(send_credentials_email: "0") }
+ end.not_to change { ActionMailer::Base.deliveries.count }
+ end
+ end
+
+ context "with invalid parameters" do
+ it "does not create a new user" do
+ expect do
+ post account_users_path, params: { user: { email: "" }}
+ end.not_to change(User, :count)
+
+ expect(response).to be_unprocessable
+ expect(response).to render_template(:new)
+ end
+ end
+ end
+
+ describe "PATCH #update" do
+ context "with valid parameters" do
+ it "updates the user" do
+ expect do
+ patch account_user_path(user), params: { user: { email: "new@example.com" }}
+
+ user.reload
+ end.to change { user.email }.to("new@example.com")
+
+ expect(response).to redirect_to(account_user_path(user))
+ expect(flash[:notice]).to eq(I18n.t("notifications.user_updated"))
+ end
+ end
+
+ context "with invalid parameters" do
+ it "does not update the user" do
+ expect do
+ patch account_user_path(user), params: { user: { email: "" }}
+
+ user.reload
+ end.not_to change { user }
+
+ expect(response).to be_unprocessable
+ expect(response).to render_template(:edit)
+ end
+ end
+ end
+
+ describe "DELETE #destroy" do
+ it "destroys the user and redirects to index page" do
+ expect do
+ delete account_user_path(user)
+ end.to change(User, :count).by(-1)
+
+ expect(response).to redirect_to(account_users_path)
+ expect(flash[:notice]).to eq(I18n.t("notifications.user_deleted"))
+ end
+ end
+end
diff --git a/spec/requests/calculators_spec.rb b/spec/requests/calculators_spec.rb
index be424f158..648ea7f0f 100644
--- a/spec/requests/calculators_spec.rb
+++ b/spec/requests/calculators_spec.rb
@@ -37,22 +37,105 @@
end
it "returns JSON" do
- expect(response).to have_http_status(200)
+ expect(response).to be_successful
+ expect(response.content_type).to eq("application/json; charset=utf-8")
+
+ expect(json_response).to include("result")
+ expect(json_response["result"][0]).to include("name", "result")
end
- it "JSON response contains `result` in the root" do
+ it "JSON response contains 'result' in the root" do
expect(json_response["result"]).to be_truthy
end
- it "JSON response contains `name` and `result` attributes" do
+ it "JSON response contains 'name' and 'result' attributes" do
expect(json_response["result"][0].keys).to contain_exactly(
"name",
"result"
)
end
- it "JSON response contains field `name` in snake case format" do
+ it "JSON response contains field 'name' in snake case format" do
expect(json_response["result"][0]["name"]).to eq("first_result")
end
end
+
+ describe "GET #index" do
+ context "when show_calculators_list feature is enabled" do
+ include_context :show_calculators_list
+
+ it "renders the calculators index when show_calculators_list is enabled" do
+ get calculators_path
+
+ expect(response).to be_successful
+ expect(response).to render_template(:index)
+ expect(assigns(:calculators)).not_to be_nil
+ end
+ end
+
+ context "when show_calculators_list feature is disabled" do
+ include_context :hide_calculators_list
+
+ it "returns a not found status" do
+ get calculators_path
+ expect(response).to have_http_status(:not_found)
+ expect(response.body).to be_blank
+ end
+ end
+ end
+
+ describe "GET /calculator" do
+ context "new version" do
+ include_context :new_calculator_design
+
+ it "renders the calculator template and new_calculator_design is on" do
+ get calculator_path
+
+ expect(response).to be_successful
+ expect(response).to render_template(:new_calculator)
+ expect(response.body).to include("results")
+ end
+ end
+
+ context "old version" do
+ include_context :old_calculator_design
+
+ it "renders the calculator template and new_calculator_design is off" do
+ get calculator_path
+
+ expect(response).to be_successful
+ expect(response).to render_template(:old_calculator)
+ expect(response.body).to include("results")
+ end
+ end
+ end
+
+ describe "POST #create" do
+ include_context :authorize_admin
+
+ let(:valid_attributes) { { name: "калькулятор", slug: "test" } }
+ let(:invalid_attributes) { { name: "$калькулятор", slug: "test" } }
+
+ context "with valid attributes" do
+ it "creates a calculator" do
+ expect do
+ post account_calculators_path, params: { calculator: valid_attributes }
+ end.to change(Calculator, :count).by(1)
+
+ expect(response).to redirect_to(account_calculators_path)
+ expect(flash[:notice]).to eq(I18n.t("notifications.calculator_created"))
+ end
+ end
+
+ context "with invalid attributes" do
+ it "does not create a calculator" do
+ expect do
+ post account_calculators_path, params: { calculator: invalid_attributes }
+ end.not_to change(Calculator, :count)
+
+ expect(response.body).to include(I18n.t("activerecord.errors.models.calculator.attributes.name.invalid"))
+ expect(response).to render_template(:new)
+ end
+ end
+ end
end
diff --git a/spec/requests/categories_spec.rb b/spec/requests/categories_spec.rb
index 360cde08f..03456537b 100644
--- a/spec/requests/categories_spec.rb
+++ b/spec/requests/categories_spec.rb
@@ -14,6 +14,16 @@
expect(response).to be_successful
end
+
+ it "returns the expected attributes" do
+ Category.ransackable_attributes.each do |attribute|
+ get account_categories_path(q: { s: "#{attribute} asc" })
+ expect(response).to be_successful
+
+ get account_categories_path(q: { s: "#{attribute} desc" })
+ expect(response).to be_successful
+ end
+ end
end
describe "GET :new" do
@@ -40,7 +50,7 @@
end.to change(Category, :count).by(1)
expect(response).to redirect_to(account_categories_path)
- expect(flash[:notice]).to eq("Category was successfully created.")
+ expect(flash[:notice]).to eq("Category was successfully created")
end
end
@@ -63,7 +73,7 @@
expect(category.name).to eq("premium")
expect(response).to redirect_to(account_categories_path)
- expect(flash[:notice]).to eq("Category was successfully updated.")
+ expect(flash[:notice]).to eq("Category was successfully updated")
end
end
@@ -85,7 +95,7 @@
end.to change(Category, :count).by(-1)
expect(response).to redirect_to(account_categories_path)
- expect(flash[:notice]).to eq("Category was successfully destroyed.")
+ expect(flash[:notice]).to eq("Category was successfully deleted")
end
end
end
diff --git a/spec/requests/dashboard_request_spec.rb b/spec/requests/dashboard_request_spec.rb
new file mode 100644
index 000000000..dca045566
--- /dev/null
+++ b/spec/requests/dashboard_request_spec.rb
@@ -0,0 +1,28 @@
+require "rails_helper"
+
+RSpec.describe Account::DashboardController, type: :request do
+ context "when the user is signed in" do
+ describe "GET :index" do
+ include_context :authorize_admin
+
+ it "returns a success response" do
+ get account_root_path
+
+ expect(response).to be_successful
+ expect(response).to render_template(:index)
+ expect(response.body).to include("hello #{current_user.full_name}")
+ end
+ end
+ end
+
+ context "when the user is not signed in" do
+ describe "GET :index" do
+ it "redirects to the sign-in page" do
+ get account_root_path
+
+ expect(response).to redirect_to(new_user_session_path)
+ expect(flash[:alert]).to eq("You need to sign in or sign up before continuing")
+ end
+ end
+ end
+end
diff --git a/spec/requests/diaper_calculators_spec.rb b/spec/requests/diaper_calculators_spec.rb
new file mode 100644
index 000000000..75ba93f06
--- /dev/null
+++ b/spec/requests/diaper_calculators_spec.rb
@@ -0,0 +1,98 @@
+# frozen_string_literal: true
+
+require "rails_helper"
+
+RSpec.describe Api::V1::DiaperCalculatorsController, type: :request do
+ let(:values) do
+ {
+ money_spent: "18300.0",
+ money_will_be_spent: "27450.0",
+ used_diapers_amount: 1830.0,
+ to_be_used_diapers_amount: 2745.0,
+ used_diapers_amount_pluralize: I18n.t("calculators.old_calculator.bought_diapers", count: 1830),
+ to_be_diapers_amount_pluralize: I18n.t("calculators.old_calculator.will_buy_diapers", count: 2745)
+ }
+ end
+ let(:expected_result) do
+ {
+ result: values,
+ date: 12,
+ text_products_to_be_used: "#{values[:to_be_used_diapers_amount]} diapers to be used in the future",
+ text_products_used: "#{values[:used_diapers_amount]} diapers already used"
+ }
+ end
+
+ describe "POST /diaper_calculators" do
+ context "when no year and no month values" do
+ let(:year_and_month_error) do
+ {
+ error: "Please, select years and months"
+ }
+ end
+
+ it "renders year and month error" do
+ post api_v1_diaper_calculators_path
+ expect(response).to be_unprocessable
+ expect(response.body).to eq(year_and_month_error.to_json)
+ end
+ end
+
+ context "when no year value" do
+ let(:year_error) do
+ {
+ error: "Please, select years"
+ }
+ end
+
+ it "renders year error" do
+ post api_v1_diaper_calculators_path, params: { childs_months: 0 }
+ expect(response).to be_unprocessable
+ expect(response.body).to eq(year_error.to_json)
+ end
+ end
+
+ context "when no month value" do
+ let(:month_error) do
+ {
+ error: "Please, select month"
+ }
+ end
+
+ it "renders month error" do
+ post api_v1_diaper_calculators_path, params: { childs_years: 1 }
+ expect(response).to be_unprocessable
+ expect(response.body).to eq(month_error.to_json)
+ end
+ end
+
+ context "when get awaited values" do
+ let!(:preferable_category) { create(:category, :medium) }
+
+ it "got the expected result" do
+ post api_v1_diaper_calculators_path, params: { childs_years: 1, childs_months: 0 }
+
+ expect(JSON.parse(response.body)).to eq(JSON.parse(expected_result.to_json))
+ end
+ end
+
+ context "when get unawaited values" do
+ let!(:preferable_category) { create(:category, :medium) }
+
+ let(:invalid_values) do
+ {
+ money_spent: 42,
+ money_will_be_spent: 42,
+ used_diapers_amount: 42,
+ to_be_used_diapers_amount: 42
+ }
+ end
+
+ it "got the unexpected result" do
+ expected_result[:result] = invalid_values
+ post api_v1_diaper_calculators_path, params: { childs_years: 1, childs_months: 0 }
+ expect(response).to be_successful
+ expect(response.body).not_to eq(expected_result.to_json)
+ end
+ end
+ end
+end
diff --git a/spec/requests/feature_flags_spec.rb b/spec/requests/feature_flags_spec.rb
new file mode 100644
index 000000000..cdbd10b57
--- /dev/null
+++ b/spec/requests/feature_flags_spec.rb
@@ -0,0 +1,22 @@
+require "rails_helper"
+
+RSpec.describe Account::FeatureFlagsController, type: :request, include_shared: true do
+ context "PATCH /account/feature_flags" do
+ include_context :authorize_admin
+ include_context :old_calculator_design
+
+ before do
+ patch account_features_flags_path, params: {
+ feature_flags: {
+ new_calculator_design_enabled: "1"
+ }
+ }
+ end
+
+ it "updates feature flags and redirects to edit_account_site_setting_path" do
+ expect(Flipper[:new_calculator_design].enabled?).to eq(true)
+ expect(response).to redirect_to(edit_account_site_setting_path)
+ expect(flash[:notice]).to eq(I18n.t("notifications.feature_flags_updated"))
+ end
+ end
+end
diff --git a/spec/requests/home_spec.rb b/spec/requests/home_spec.rb
index 60a6b5dc0..98753832e 100644
--- a/spec/requests/home_spec.rb
+++ b/spec/requests/home_spec.rb
@@ -1,6 +1,6 @@
require "rails_helper"
-RSpec.describe "HomeController", type: :request do
+RSpec.describe HomeController, type: :request do
describe "GET :index" do
it "is successful" do
get root_path
@@ -38,4 +38,28 @@
end
end
end
+
+ describe "GET :about" do
+ it "is successful" do
+ get about_path
+
+ expect(response).to be_successful
+ expect(response).to render_template(:about)
+ end
+ end
+
+ context "with locale switching" do
+ it "is successful" do
+ get about_path(locale: :uk)
+
+ expect(response).to be_successful
+ expect(response.body).to include("Про нас")
+
+ get about_path(locale: :en)
+
+ expect(response).to be_successful
+ expect(response.body).to include("About Us")
+ expect(response).to render_template(:about)
+ end
+ end
end
diff --git a/spec/requests/products_spec.rb b/spec/requests/products_spec.rb
new file mode 100644
index 000000000..a7d792ed6
--- /dev/null
+++ b/spec/requests/products_spec.rb
@@ -0,0 +1,141 @@
+require "rails_helper"
+
+RSpec.describe Account::ProductsController, type: :request do
+ let!(:product) { create(:product, title: "Huggies") }
+
+ include_context :authorize_admin
+
+ describe "GET :index" do
+ it "is successful" do
+ get account_products_path
+
+ expect(response).to be_successful
+ expect(response).to render_template(:index)
+ expect(response.body).to include(product.title)
+ end
+
+ it "returns the expected attributes" do
+ Product.ransackable_attributes.each do |attribute|
+ get account_products_path(q: { s: "#{attribute} asc" })
+ expect(response).to be_successful
+
+ get account_products_path(q: { s: "#{attribute} desc" })
+ expect(response).to be_successful
+ end
+ end
+ end
+
+ describe "GET :new" do
+ it "is successful" do
+ get new_account_product_path
+
+ expect(response).to be_successful
+ expect(response).to render_template(:new)
+ end
+ end
+
+ describe "GET :show" do
+ it "is successful" do
+ get account_product_path(product)
+
+ expect(response).to be_successful
+ expect(response).to render_template(:show)
+ expect(response.body).to include(product.title)
+ end
+ end
+
+ describe "GET :edit" do
+ let!(:category) { create(:category, :budgetary) }
+
+ it "is successful" do
+ get edit_account_product_path(product)
+
+ expect(response).to be_successful
+ expect(response).to render_template(:edit)
+ end
+ end
+
+ describe "POST :create" do
+ let(:valid_product_attributes) { attributes_for(:product, title: "Libero") }
+ let(:invalid_product_attributes) { attributes_for(:product, :invalid) }
+
+ context "with valid attributes" do
+ it "creates a product" do
+ expect do
+ post account_products_path, params: { product: valid_product_attributes }
+ end.to change(Product, :count).by(1)
+
+ expect(response).to redirect_to(account_products_path)
+ expect(flash[:notice]).to eq(I18n.t("account.products.created"))
+ end
+ end
+
+ context "with duplicated attributes" do
+ before { create(:product, valid_product_attributes) }
+
+ it "doesn't create a duplicated product" do
+ expect do
+ post account_products_path, params: { product: valid_product_attributes }
+ end.not_to change(Product, :count)
+
+ expect(response).to be_unprocessable
+ expect(response).to render_template(:new)
+ expect(response.body).to include(I18n.t("activerecord.errors.models.product.attributes.title.taken"))
+ end
+ end
+
+ context "with invalid attributes" do
+ it "does not create a product" do
+ expect do
+ post account_products_path, params: { product: invalid_product_attributes }
+ end.not_to change(Product, :count)
+
+ expect(response).to be_unprocessable
+ expect(response).to render_template(:new)
+ end
+ end
+ end
+
+ describe "PATCH :update" do
+ let(:price) { create(:price, :budgetary_price) }
+
+ let(:updated_product_attributes) { attributes_for(:product, :huggie) }
+ let(:invalid_product_attributes) { attributes_for(:product, :invalid) }
+
+ context "with valid attributes" do
+ it "updates the product" do
+ expect do
+ patch account_product_path(id: price.priceable), params: { product: updated_product_attributes }
+ price.priceable.reload
+ end.to change(price.priceable, :title).from("diaper").to("huggie")
+
+ expect(response).to redirect_to(account_products_path)
+ expect(flash[:notice]).to eq(I18n.t("account.products.updated"))
+ end
+ end
+
+ context "with invalid attributes" do
+ it "does not update product" do
+ expect do
+ patch account_product_path(id: price.priceable), params: { product: invalid_product_attributes }
+ end.not_to change(price.priceable, :title)
+
+ expect(response).to be_unprocessable
+ expect(response).to render_template(:edit)
+ end
+ end
+ end
+
+ describe "DELETE :destroy" do
+ let!(:product) { create(:product, :diaper) }
+
+ it "deletes the product" do
+ expect do
+ delete account_product_path(id: product)
+ end.to change(Product, :count).by(-1)
+
+ expect(response).to redirect_to(account_products_path)
+ expect(flash[:notice]).to eq(I18n.t("account.products.deleted"))
+ end
+ end
+end
diff --git a/spec/requests/site_setting_spec.rb b/spec/requests/site_setting_spec.rb
index 220696e3d..0a3c47013 100644
--- a/spec/requests/site_setting_spec.rb
+++ b/spec/requests/site_setting_spec.rb
@@ -1,12 +1,17 @@
require "rails_helper"
RSpec.describe Account::SiteSettingsController, type: :request do
- describe "GET edit" do
- context "when user is authenticated" do
- include_context :authorize_admin
+ let(:site_setting) { SiteSetting.current }
+ let(:site_setting_params) { attributes_for(:site_setting, :with_valid_site_setting) }
+ let(:site_setting_invalid_params) { attributes_for(:site_setting, :invalid_site_setting) }
+ let(:site_setting_params_new_title) { attributes_for(:site_setting, :new_title) }
+
+ before { allow(SiteSetting).to receive(:current).and_return(site_setting) }
- let(:site_setting_params) { FactoryBot.attributes_for(:site_setting, :with_valid_site_setting) }
+ include_context :authorize_admin
+ describe "GET #edit" do
+ context "when user is authenticated" do
it "renders the edit template" do
get edit_account_site_setting_path
@@ -17,38 +22,62 @@
end
end
- describe "PATCH update" do
- include_context :authorize_admin
+ describe "PATCH #update" do
+ before { site_setting.update(site_setting_params) }
context "with valid params" do
- let(:site_setting_params) { { site_setting: FactoryBot.attributes_for(:site_setting, :with_valid_site_setting) } }
- let(:site_setting_params_new_title) { { site_setting: FactoryBot.attributes_for(:site_setting, :new_title) } }
-
it "updates site setting" do
- patch account_site_setting_path, params: site_setting_params
+ patch account_site_setting_path, params: { site_setting: site_setting_params }
expect(response).to redirect_to(edit_account_site_setting_path)
expect(flash[:notice]).to eq(I18n.t("notifications.site_setting_updated"))
- expect(SiteSetting.current).to be_valid
- expect(SiteSetting.current.favicon.attached?).to be_truthy
+ expect(site_setting).to be_valid
+ expect(site_setting.favicon.attached?).to be_truthy
end
it "change title" do
expect do
- patch account_site_setting_path, params: site_setting_params_new_title
- end.to change { SiteSetting.current.title }.from("ZeroWaste").to("Test title")
+ patch account_site_setting_path, params: { site_setting: site_setting_params_new_title }
+ end.to change { site_setting.title }.from("ZeroWaste").to("Test title")
end
end
context "with invalid params" do
- let(:site_setting) { SiteSetting.current }
- let(:site_setting_params) { FactoryBot.attributes_for(:site_setting, :invalid_site_setting) }
+ it "renders edit page with error message" do
+ patch account_site_setting_path, params: { site_setting: site_setting_invalid_params }
+
+ expect(response).to render_template(:edit)
+ expect(response).to be_unprocessable
+ end
+ end
+ end
+
+ describe "PUT #revert" do
+ context "with valid params" do
+ before { site_setting.update(site_setting_params_new_title) }
+
+ it "reverts site setting" do
+ put revert_account_site_setting_path
+
+ expect(response).to redirect_to(edit_account_site_setting_path)
+ expect(flash[:notice]).to eq(I18n.t("notifications.site_setting_reverted"))
+
+ expect(site_setting).to be_valid
+ expect(site_setting.favicon.attached?).to be_truthy
+
+ expect(site_setting.title).to eq(site_setting_params[:title])
+ expect(site_setting.favicon.filename).to eq(site_setting_params[:favicon].original_filename)
+ end
+ end
+
+ context "with invalid params" do
+ before { allow(site_setting).to receive(:update).and_return(false) }
it "renders edit page with error message" do
- patch account_site_setting_path, params: { site_setting: site_setting_params }
+ put revert_account_site_setting_path
expect(response).to render_template(:edit)
- expect(response).to have_http_status(:unprocessable_entity)
+ expect(response).to be_unprocessable
end
end
end
diff --git a/spec/requests/sitemap_spec.rb b/spec/requests/sitemap_spec.rb
new file mode 100644
index 000000000..976d81974
--- /dev/null
+++ b/spec/requests/sitemap_spec.rb
@@ -0,0 +1,27 @@
+require "rails_helper"
+
+RSpec.describe SitemapController, type: :request do
+ describe "GET #index" do
+ it "is successful" do
+ get sitemap_path
+
+ expect(response).to be_successful
+ expect(response.body).to include("Sitemap")
+ expect(response).to render_template(:index)
+ end
+
+ it "renders the XML template" do
+ get sitemap_path(format: :xml)
+
+ expect(response).to render_template(:index)
+ expect(response.content_type).to eq("application/xml; charset=utf-8")
+ end
+
+ it "renders the HTML template" do
+ get sitemap_path(format: :html)
+
+ expect(response).to render_template(:index)
+ expect(response.content_type).to eq("text/html; charset=utf-8")
+ end
+ end
+end
diff --git a/spec/services/calculators/diaper_usage_service_spec.rb b/spec/services/calculators/diaper_usage_service_spec.rb
new file mode 100644
index 000000000..c63a7899b
--- /dev/null
+++ b/spec/services/calculators/diaper_usage_service_spec.rb
@@ -0,0 +1,47 @@
+require "rails_helper"
+
+RSpec.describe Calculators::DiaperUsageService do
+ let(:category) { create(:category, :medium) }
+ let(:empty_category) { create(:category, :without_diapers_period) }
+
+ describe "#calculate" do
+ context "when DiapersPeriod records exist" do
+ before do
+ create(:diapers_period, category: category, period_start: 1, period_end: 12, usage_amount: 8, price: 10)
+ create(:diapers_period, category: category, period_start: 13, period_end: 24, usage_amount: 6, price: 12)
+ end
+
+ let!(:service) { described_class.new(1, 6, category.id) }
+
+ before do
+ service.calculate
+ end
+
+ let(:result) { service.result }
+
+ it "calculates the correct values" do
+ expect(result[:used_diapers_amount]).to eq(6_771.0)
+ expect(result[:used_diapers_price]).to eq(69_906.0)
+ expect(result[:to_be_used_diapers_amount]).to eq(2_928.0)
+ expect(result[:to_be_used_diapers_price]).to eq(31_476.0)
+ end
+ end
+
+ context "when there are no DiapersPeriod records" do
+ let(:service) { described_class.new(1, 6, empty_category.id) }
+
+ before do
+ service.calculate
+ end
+
+ let(:result) { service.result }
+
+ it "returns zero values" do
+ expect(result[:used_diapers_amount]).to eq(0)
+ expect(result[:used_diapers_price]).to eq(0)
+ expect(result[:to_be_used_diapers_amount]).to eq(0)
+ expect(result[:to_be_used_diapers_price]).to eq(0)
+ end
+ end
+ end
+end
diff --git a/spec/services/calculators/diapers_spec.rb b/spec/services/calculators/diapers_spec.rb
deleted file mode 100644
index 4655e853f..000000000
--- a/spec/services/calculators/diapers_spec.rb
+++ /dev/null
@@ -1,20 +0,0 @@
-# frozen_string_literal: true
-
-require "rails_helper"
-
-RSpec.describe Calculators::DiapersService, type: :service do
- subject { described_class }
-
- before do
- @service = build(:diapers_service).calculate!
- end
-
- context "when age valid" do
- it "calculates price and amount of diapers" do
- expect(@service.used_diapers_amount).to eq 2013
- expect(@service.to_be_used_diapers_amount).to eq 2562
- expect(@service.used_diapers_price).to eq 8784
- expect(@service.to_be_used_diapers_price).to eq 14_548.5
- end
- end
-end
diff --git a/spec/services/categories/preferable_service_spec.rb b/spec/services/categories/preferable_service_spec.rb
new file mode 100644
index 000000000..6bd6ac4d3
--- /dev/null
+++ b/spec/services/categories/preferable_service_spec.rb
@@ -0,0 +1,28 @@
+require "rails_helper"
+
+RSpec.describe Categories::PreferableService do
+ describe "#call" do
+ let!(:become_preferable_category) { create(:category, :medium) }
+ let!(:category) { create(:category, name: "category") }
+ let!(:current_preferable_category) { create(:category, name: "current preferable category", preferable: true) }
+ let!(:service) { described_class.new(become_preferable_category) }
+
+ context "when the category is preferable" do
+ it "sets the category to preferable" do
+ service.call
+
+ category.reload
+ expect(category.preferable).to eq("not_preferable")
+ end
+ end
+
+ context "when the category is preferable and another category is set to preferable" do
+ it "sets the other category to not preferable" do
+ service.call
+
+ current_preferable_category.reload
+ expect(current_preferable_category.preferable).to eq("not_preferable")
+ end
+ end
+ end
+end
diff --git a/spec/services/database_backup_spec.rb b/spec/services/database_backup_spec.rb
new file mode 100644
index 000000000..221c9648a
--- /dev/null
+++ b/spec/services/database_backup_spec.rb
@@ -0,0 +1,121 @@
+require "rails_helper"
+
+RSpec.describe DatabaseBackupService do
+ let(:command_enable) { "rake 'db:backup:create[zero_waste_sandbox.dump]'" }
+ let(:command_disable) { "rake 'db:backup:restore[zero_waste_sandbox.dump]'" }
+ let(:backup_archive_dir) { DatabaseBackupService.backup_archive_dir }
+ let(:backup_file) { DatabaseBackupService.backup_full_path(DatabaseBackupService::BACKUP_SANDBOX_NAME) }
+ let(:new_file_name_regex) { Regexp.new("\\d{14}_zero_waste_test\\.dump") }
+ let(:new_file_path_regex) { Regexp.new("#{Regexp.escape(backup_archive_dir.to_s)}/\\d{14}_zero_waste_test\\.dump") }
+ let(:files) { ["older.dump", "newest.dump"] }
+ let(:file_name) { "test.dump" }
+
+ describe ".database_name" do
+ it "returns the name of the current database" do
+ expect(DatabaseBackupService.database_name).to eq(ActiveRecord::Base.connection.current_database)
+ end
+ end
+
+ describe ".backup_dir" do
+ it "returns the backup directory path" do
+ expect(DatabaseBackupService.backup_dir.to_s).to include("db/backups")
+ end
+ end
+
+ describe ".backup_archive_dir" do
+ it "returns the backup archive directory path" do
+ expect(DatabaseBackupService.backup_archive_dir.to_s).to include("db/backups/archive")
+ end
+ end
+
+ describe ".backup_full_path" do
+ context "when file name is provided" do
+ it "returns the full backup path with the provided file name" do
+ expect(DatabaseBackupService.backup_full_path(file_name)).to eq(File.join(DatabaseBackupService.backup_dir, file_name))
+ end
+ end
+ end
+
+ describe ".sandbox_enable" do
+ context "when dump_flag is true" do
+ it "runs dump command and returns true" do
+ expect(described_class.sandbox_enable(true)).to eq(true)
+ end
+ end
+
+ context "when dump_flag is false" do
+ it "runs restore command, copies file to archive and returns false" do
+ expect(described_class.sandbox_enable(false)).to eq(false)
+ end
+ end
+ end
+
+ describe ".sandbox_enabled?" do
+ it "checks if the backup file exists" do
+ expect(File).to receive(:exist?).with(described_class.backup_full_path(described_class::BACKUP_SANDBOX_NAME)).and_return(true)
+ expect(described_class.sandbox_enabled?).to be_truthy
+ end
+ end
+
+ describe ".copy_to_archive" do
+ before do
+ allow(FileUtils).to receive(:mv)
+ end
+
+ it "move the backup file to the archive directory" do
+ expect(FileUtils).to receive(:mv).with(backup_file, match(new_file_path_regex))
+
+ DatabaseBackupService.copy_to_archive(backup_file)
+ end
+
+ it "calls prune_old_backups if archive directory exceeds max backups" do
+ allow(Dir).to receive(:glob).and_return(Array.new(11, "file.dump"))
+ expect(DatabaseBackupService).to receive(:prune_old_backups)
+
+ DatabaseBackupService.copy_to_archive(backup_file)
+ end
+ end
+
+ describe ".generate_backup_filename" do
+ it "generates a backup filename with the current timestamp and database name" do
+ expect(DatabaseBackupService.send(:generate_backup_filename)).to match(new_file_name_regex)
+ end
+ end
+
+ describe ".prune_old_backups" do
+ before do
+ allow(Dir).to receive(:glob).with(File.join(backup_archive_dir, "*")).and_return(files)
+ allow(File).to receive(:file?).and_return(true)
+ allow(File).to receive(:mtime)
+ allow(FileUtils).to receive(:rm)
+ end
+
+ it "removes the oldest backup file in the archive directory" do
+ expect(FileUtils).to receive(:rm).with("older.dump")
+
+ DatabaseBackupService.send(:prune_old_backups)
+ end
+ end
+
+ describe ".exceeds_backup_limit?" do
+ context "when the number of backup files is below the limit" do
+ it "returns false" do
+ expect(described_class.exceeds_backup_limit?).to be(false)
+ end
+ end
+
+ context "when the number of backup files is at the limit" do
+ it "returns true" do
+ allow(Dir).to receive(:glob).with(File.join(backup_archive_dir, "*")).and_return(Array.new(10, "backup_file"))
+ expect(described_class.exceeds_backup_limit?).to be(true)
+ end
+ end
+
+ context "when the number of backup files exceeds the limit" do
+ it "returns true" do
+ allow(Dir).to receive(:glob).with(File.join(backup_archive_dir, "*")).and_return(Array.new(11, "backup_file"))
+ expect(described_class.exceeds_backup_limit?).to be(true)
+ end
+ end
+ end
+end
diff --git a/spec/services/feature_flags_spec.rb b/spec/services/feature_flags_spec.rb
new file mode 100644
index 000000000..fd4c9f001
--- /dev/null
+++ b/spec/services/feature_flags_spec.rb
@@ -0,0 +1,16 @@
+require "rails_helper"
+
+RSpec.describe UpdateFeatureFlagsService do
+ let(:params) { { "feature_1_enabled" => "1", "feature_2_enabled" => "0" } }
+
+ describe "#call" do
+ it "updates feature flags based on params" do
+ allow(Flipper).to receive(:features).and_return([double(name: "feature_1"), double(name: "feature_2")])
+
+ expect(Flipper).to receive(:enable).with("feature_1")
+ expect(Flipper).to receive(:disable).with("feature_2")
+
+ UpdateFeatureFlagsService.new(params).call
+ end
+ end
+end
diff --git a/spec/support/shared/context/app_config_context.rb b/spec/support/shared/context/app_config_context.rb
deleted file mode 100644
index 57e467738..000000000
--- a/spec/support/shared/context/app_config_context.rb
+++ /dev/null
@@ -1,11 +0,0 @@
-# frozen_string_literal: true
-
-RSpec.shared_context :app_config_load do
- before do
- config = AppConfig.instance
-
- config.diapers_calculator = YAML.safe_load(file_fixture("app_config.yml").read,
- permitted_classes: [Range])
- config.save
- end
-end
diff --git a/spec/support/shared/context/feature_flags.rb b/spec/support/shared/context/feature_flags.rb
new file mode 100644
index 000000000..a037cdaa9
--- /dev/null
+++ b/spec/support/shared/context/feature_flags.rb
@@ -0,0 +1,39 @@
+RSpec.shared_context :new_calculator_design do
+ before do
+ FeatureFlag.find_or_create_by!(name: "new_calculator_design")
+ Flipper.enable :new_calculator_design
+ end
+end
+
+RSpec.shared_context :old_calculator_design do
+ before do
+ FeatureFlag.find_or_create_by!(name: "new_calculator_design")
+ Flipper.disable :new_calculator_design
+ end
+end
+
+RSpec.shared_context :show_calculators_list do
+ before do
+ FeatureFlag.find_or_create_by!(name: "show_calculators_list")
+ Flipper.enable(:show_calculators_list)
+ end
+end
+
+RSpec.shared_context :hide_calculators_list do
+ before do
+ FeatureFlag.find_or_create_by!(name: "show_calculators_list")
+ Flipper.disable(:show_calculators_list)
+ end
+end
+
+def sandbox_mode_context(mode)
+ RSpec.shared_context :"sandbox_mode_#{mode}" do
+ before do
+ FeatureFlag.find_or_create_by!(name: "sandbox_mode")
+ Flipper.send(mode, :sandbox_mode)
+ end
+ end
+end
+
+sandbox_mode_context(:enable)
+sandbox_mode_context(:disable)
diff --git a/spec/support/shared/context/session_context.rb b/spec/support/shared/context/session_context.rb
index c026e7c85..c8dcd33be 100644
--- a/spec/support/shared/context/session_context.rb
+++ b/spec/support/shared/context/session_context.rb
@@ -3,3 +3,9 @@
before { sign_in current_user }
end
+
+RSpec.shared_context :authorize_regular_user do
+ let(:current_user) { create(:user) }
+
+ before { sign_in current_user }
+end
diff --git a/spec/views/calculators/calculator.html.slim_spec.rb b/spec/views/calculators/calculator.html.slim_spec.rb
index 52acafe84..96d745ea1 100644
--- a/spec/views/calculators/calculator.html.slim_spec.rb
+++ b/spec/views/calculators/calculator.html.slim_spec.rb
@@ -5,11 +5,6 @@
allow(view).to receive(:user_signed_in?).and_return(true)
end
- xit "renders checkbox when user signed in" do
- render
- expect(rendered).to include("Yes, I want to receive email messages")
- end
-
it "inhers the calculators path" do
expect(controller.controller_path).to eq("calculators")
end
diff --git a/test/application_system_test_case.rb b/test/application_system_test_case.rb
deleted file mode 100644
index c05709aff..000000000
--- a/test/application_system_test_case.rb
+++ /dev/null
@@ -1,7 +0,0 @@
-# frozen_string_literal: true
-
-require "test_helper"
-
-class ApplicationSystemTestCase < ActionDispatch::SystemTestCase
- driven_by :selenium, using: :chrome, screen_size: [1400, 1400]
-end
diff --git a/test/channels/application_cable/connection_test.rb b/test/channels/application_cable/connection_test.rb
deleted file mode 100644
index 035cbc1d7..000000000
--- a/test/channels/application_cable/connection_test.rb
+++ /dev/null
@@ -1,20 +0,0 @@
-# frozen_string_literal: true
-
-require "test_helper"
-
-# test "connects with cookies" do
-# cookies.signed[:user_id] = 42
-#
-# connect
-#
-# assert_equal connection.user_id, "42"
-# end
-class ApplicationCable::ConnectionTest < ActionCable::Connection::TestCase
- # test "connects with cookies" do
- # cookies.signed[:user_id] = 42
- #
- # connect
- #
- # assert_equal connection.user_id, "42"
- # end
-end
diff --git a/test/helpers/.keep b/test/helpers/.keep
deleted file mode 100644
index e69de29bb..000000000
diff --git a/test/integration/.keep b/test/integration/.keep
deleted file mode 100644
index e69de29bb..000000000
diff --git a/test/mailers/.keep b/test/mailers/.keep
deleted file mode 100644
index e69de29bb..000000000
diff --git a/test/models/.keep b/test/models/.keep
deleted file mode 100644
index e69de29bb..000000000
diff --git a/test/system/.keep b/test/system/.keep
deleted file mode 100644
index e69de29bb..000000000
diff --git a/test/test_helper.rb b/test/test_helper.rb
deleted file mode 100644
index 2cd694316..000000000
--- a/test/test_helper.rb
+++ /dev/null
@@ -1,18 +0,0 @@
-# frozen_string_literal: true
-
-ENV["RAILS_ENV"] ||= "test"
-require_relative "../config/environment"
-require "rails/test_help"
-
-# Add more helper methods to be used by all tests here...
-# Add more helper methods to be used by all tests here...
-class ActiveSupport::TestCase
- # Run tests in parallel with specified workers
- parallelize(workers: :number_of_processors)
-
- # Setup all fixtures in test/fixtures/*.yml for all tests in
- # alphabetical order.
- fixtures :all
-
- # Add more helper methods to be used by all tests here...
-end
diff --git a/yarn.lock b/yarn.lock
deleted file mode 100644
index 819745a78..000000000
--- a/yarn.lock
+++ /dev/null
@@ -1,7835 +0,0 @@
-# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
-# yarn lockfile v1
-
-
-"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz"
- integrity sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==
- dependencies:
- "@babel/highlight" "^7.16.0"
-
-"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.0", "@babel/compat-data@^7.16.4":
- version "7.16.4"
- resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.4.tgz"
- integrity sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==
-
-"@babel/core@^7.15.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/core/-/core-7.16.0.tgz"
- integrity sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ==
- dependencies:
- "@babel/code-frame" "^7.16.0"
- "@babel/generator" "^7.16.0"
- "@babel/helper-compilation-targets" "^7.16.0"
- "@babel/helper-module-transforms" "^7.16.0"
- "@babel/helpers" "^7.16.0"
- "@babel/parser" "^7.16.0"
- "@babel/template" "^7.16.0"
- "@babel/traverse" "^7.16.0"
- "@babel/types" "^7.16.0"
- convert-source-map "^1.7.0"
- debug "^4.1.0"
- gensync "^1.0.0-beta.2"
- json5 "^2.1.2"
- semver "^6.3.0"
- source-map "^0.5.0"
-
-"@babel/core@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.5.tgz#924aa9e1ae56e1e55f7184c8bf073a50d8677f5c"
- integrity sha512-wUcenlLzuWMZ9Zt8S0KmFwGlH6QKRh3vsm/dhDA3CHkiTA45YuG1XkHRcNRl73EFPXDp/d5kVOU0/y7x2w6OaQ==
- dependencies:
- "@babel/code-frame" "^7.16.0"
- "@babel/generator" "^7.16.5"
- "@babel/helper-compilation-targets" "^7.16.3"
- "@babel/helper-module-transforms" "^7.16.5"
- "@babel/helpers" "^7.16.5"
- "@babel/parser" "^7.16.5"
- "@babel/template" "^7.16.0"
- "@babel/traverse" "^7.16.5"
- "@babel/types" "^7.16.0"
- convert-source-map "^1.7.0"
- debug "^4.1.0"
- gensync "^1.0.0-beta.2"
- json5 "^2.1.2"
- semver "^6.3.0"
- source-map "^0.5.0"
-
-"@babel/generator@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.16.0.tgz"
- integrity sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew==
- dependencies:
- "@babel/types" "^7.16.0"
- jsesc "^2.5.1"
- source-map "^0.5.0"
-
-"@babel/generator@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.5.tgz#26e1192eb8f78e0a3acaf3eede3c6fc96d22bedf"
- integrity sha512-kIvCdjZqcdKqoDbVVdt5R99icaRtrtYhYK/xux5qiWCBmfdvEYMFZ68QCrpE5cbFM1JsuArUNs1ZkuKtTtUcZA==
- dependencies:
- "@babel/types" "^7.16.0"
- jsesc "^2.5.1"
- source-map "^0.5.0"
-
-"@babel/helper-annotate-as-pure@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.0.tgz"
- integrity sha512-ItmYF9vR4zA8cByDocY05o0LGUkp1zhbTQOH1NFyl5xXEqlTJQCEJjieriw+aFpxo16swMxUnUiKS7a/r4vtHg==
- dependencies:
- "@babel/types" "^7.16.0"
-
-"@babel/helper-builder-binary-assignment-operator-visitor@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.0.tgz"
- integrity sha512-9KuleLT0e77wFUku6TUkqZzCEymBdtuQQ27MhEKzf9UOOJu3cYj98kyaDAzxpC7lV6DGiZFuC8XqDsq8/Kl6aQ==
- dependencies:
- "@babel/helper-explode-assignable-expression" "^7.16.0"
- "@babel/types" "^7.16.0"
-
-"@babel/helper-builder-binary-assignment-operator-visitor@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.5.tgz#a8429d064dce8207194b8bf05a70a9ea828746af"
- integrity sha512-3JEA9G5dmmnIWdzaT9d0NmFRgYnWUThLsDaL7982H0XqqWr56lRrsmwheXFMjR+TMl7QMBb6mzy9kvgr1lRLUA==
- dependencies:
- "@babel/helper-explode-assignable-expression" "^7.16.0"
- "@babel/types" "^7.16.0"
-
-"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.0", "@babel/helper-compilation-targets@^7.16.3":
- version "7.16.3"
- resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz"
- integrity sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA==
- dependencies:
- "@babel/compat-data" "^7.16.0"
- "@babel/helper-validator-option" "^7.14.5"
- browserslist "^4.17.5"
- semver "^6.3.0"
-
-"@babel/helper-create-class-features-plugin@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.0.tgz"
- integrity sha512-XLwWvqEaq19zFlF5PTgOod4bUA+XbkR4WLQBct1bkzmxJGB0ZEJaoKF4c8cgH9oBtCDuYJ8BP5NB9uFiEgO5QA==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.16.0"
- "@babel/helper-function-name" "^7.16.0"
- "@babel/helper-member-expression-to-functions" "^7.16.0"
- "@babel/helper-optimise-call-expression" "^7.16.0"
- "@babel/helper-replace-supers" "^7.16.0"
- "@babel/helper-split-export-declaration" "^7.16.0"
-
-"@babel/helper-create-class-features-plugin@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.5.tgz#5d1bcd096792c1ebec6249eebc6358eec55d0cad"
- integrity sha512-NEohnYA7mkB8L5JhU7BLwcBdU3j83IziR9aseMueWGeAjblbul3zzb8UvJ3a1zuBiqCMObzCJHFqKIQE6hTVmg==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.16.0"
- "@babel/helper-environment-visitor" "^7.16.5"
- "@babel/helper-function-name" "^7.16.0"
- "@babel/helper-member-expression-to-functions" "^7.16.5"
- "@babel/helper-optimise-call-expression" "^7.16.0"
- "@babel/helper-replace-supers" "^7.16.5"
- "@babel/helper-split-export-declaration" "^7.16.0"
-
-"@babel/helper-create-regexp-features-plugin@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.0.tgz"
- integrity sha512-3DyG0zAFAZKcOp7aVr33ddwkxJ0Z0Jr5V99y3I690eYLpukJsJvAbzTy1ewoCqsML8SbIrjH14Jc/nSQ4TvNPA==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.16.0"
- regexpu-core "^4.7.1"
-
-"@babel/helper-define-polyfill-provider@^0.3.0":
- version "0.3.0"
- resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.0.tgz"
- integrity sha512-7hfT8lUljl/tM3h+izTX/pO3W3frz2ok6Pk+gzys8iJqDfZrZy2pXjRTZAvG2YmfHun1X4q8/UZRLatMfqc5Tg==
- dependencies:
- "@babel/helper-compilation-targets" "^7.13.0"
- "@babel/helper-module-imports" "^7.12.13"
- "@babel/helper-plugin-utils" "^7.13.0"
- "@babel/traverse" "^7.13.0"
- debug "^4.1.1"
- lodash.debounce "^4.0.8"
- resolve "^1.14.2"
- semver "^6.1.2"
-
-"@babel/helper-environment-visitor@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.5.tgz#f6a7f38b3c6d8b07c88faea083c46c09ef5451b8"
- integrity sha512-ODQyc5AnxmZWm/R2W7fzhamOk1ey8gSguo5SGvF0zcB3uUzRpTRmM/jmLSm9bDMyPlvbyJ+PwPEK0BWIoZ9wjg==
- dependencies:
- "@babel/types" "^7.16.0"
-
-"@babel/helper-explode-assignable-expression@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.0.tgz"
- integrity sha512-Hk2SLxC9ZbcOhLpg/yMznzJ11W++lg5GMbxt1ev6TXUiJB0N42KPC+7w8a+eWGuqDnUYuwStJoZHM7RgmIOaGQ==
- dependencies:
- "@babel/types" "^7.16.0"
-
-"@babel/helper-function-name@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz"
- integrity sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog==
- dependencies:
- "@babel/helper-get-function-arity" "^7.16.0"
- "@babel/template" "^7.16.0"
- "@babel/types" "^7.16.0"
-
-"@babel/helper-get-function-arity@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz"
- integrity sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ==
- dependencies:
- "@babel/types" "^7.16.0"
-
-"@babel/helper-hoist-variables@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz"
- integrity sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg==
- dependencies:
- "@babel/types" "^7.16.0"
-
-"@babel/helper-member-expression-to-functions@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.0.tgz"
- integrity sha512-bsjlBFPuWT6IWhl28EdrQ+gTvSvj5tqVP5Xeftp07SEuz5pLnsXZuDkDD3Rfcxy0IsHmbZ+7B2/9SHzxO0T+sQ==
- dependencies:
- "@babel/types" "^7.16.0"
-
-"@babel/helper-member-expression-to-functions@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.5.tgz#1bc9f7e87354e86f8879c67b316cb03d3dc2caab"
- integrity sha512-7fecSXq7ZrLE+TWshbGT+HyCLkxloWNhTbU2QM1NTI/tDqyf0oZiMcEfYtDuUDCo528EOlt39G1rftea4bRZIw==
- dependencies:
- "@babel/types" "^7.16.0"
-
-"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz"
- integrity sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==
- dependencies:
- "@babel/types" "^7.16.0"
-
-"@babel/helper-module-transforms@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz"
- integrity sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA==
- dependencies:
- "@babel/helper-module-imports" "^7.16.0"
- "@babel/helper-replace-supers" "^7.16.0"
- "@babel/helper-simple-access" "^7.16.0"
- "@babel/helper-split-export-declaration" "^7.16.0"
- "@babel/helper-validator-identifier" "^7.15.7"
- "@babel/template" "^7.16.0"
- "@babel/traverse" "^7.16.0"
- "@babel/types" "^7.16.0"
-
-"@babel/helper-module-transforms@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.5.tgz#530ebf6ea87b500f60840578515adda2af470a29"
- integrity sha512-CkvMxgV4ZyyioElFwcuWnDCcNIeyqTkCm9BxXZi73RR1ozqlpboqsbGUNvRTflgZtFbbJ1v5Emvm+lkjMYY/LQ==
- dependencies:
- "@babel/helper-environment-visitor" "^7.16.5"
- "@babel/helper-module-imports" "^7.16.0"
- "@babel/helper-simple-access" "^7.16.0"
- "@babel/helper-split-export-declaration" "^7.16.0"
- "@babel/helper-validator-identifier" "^7.15.7"
- "@babel/template" "^7.16.0"
- "@babel/traverse" "^7.16.5"
- "@babel/types" "^7.16.0"
-
-"@babel/helper-optimise-call-expression@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz"
- integrity sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw==
- dependencies:
- "@babel/types" "^7.16.0"
-
-"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
- version "7.14.5"
- resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz"
- integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==
-
-"@babel/helper-plugin-utils@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.5.tgz#afe37a45f39fce44a3d50a7958129ea5b1a5c074"
- integrity sha512-59KHWHXxVA9K4HNF4sbHCf+eJeFe0Te/ZFGqBT4OjXhrwvA04sGfaEGsVTdsjoszq0YTP49RC9UKe5g8uN2RwQ==
-
-"@babel/helper-remap-async-to-generator@^7.16.0", "@babel/helper-remap-async-to-generator@^7.16.4":
- version "7.16.4"
- resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.4.tgz"
- integrity sha512-vGERmmhR+s7eH5Y/cp8PCVzj4XEjerq8jooMfxFdA5xVtAk9Sh4AQsrWgiErUEBjtGrBtOFKDUcWQFW4/dFwMA==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.16.0"
- "@babel/helper-wrap-function" "^7.16.0"
- "@babel/types" "^7.16.0"
-
-"@babel/helper-remap-async-to-generator@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.5.tgz#e706646dc4018942acb4b29f7e185bc246d65ac3"
- integrity sha512-X+aAJldyxrOmN9v3FKp+Hu1NO69VWgYgDGq6YDykwRPzxs5f2N+X988CBXS7EQahDU+Vpet5QYMqLk+nsp+Qxw==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.16.0"
- "@babel/helper-wrap-function" "^7.16.5"
- "@babel/types" "^7.16.0"
-
-"@babel/helper-replace-supers@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.0.tgz"
- integrity sha512-TQxuQfSCdoha7cpRNJvfaYxxxzmbxXw/+6cS7V02eeDYyhxderSoMVALvwupA54/pZcOTtVeJ0xccp1nGWladA==
- dependencies:
- "@babel/helper-member-expression-to-functions" "^7.16.0"
- "@babel/helper-optimise-call-expression" "^7.16.0"
- "@babel/traverse" "^7.16.0"
- "@babel/types" "^7.16.0"
-
-"@babel/helper-replace-supers@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.5.tgz#96d3988bd0ab0a2d22c88c6198c3d3234ca25326"
- integrity sha512-ao3seGVa/FZCMCCNDuBcqnBFSbdr8N2EW35mzojx3TwfIbdPmNK+JV6+2d5bR0Z71W5ocLnQp9en/cTF7pBJiQ==
- dependencies:
- "@babel/helper-environment-visitor" "^7.16.5"
- "@babel/helper-member-expression-to-functions" "^7.16.5"
- "@babel/helper-optimise-call-expression" "^7.16.0"
- "@babel/traverse" "^7.16.5"
- "@babel/types" "^7.16.0"
-
-"@babel/helper-simple-access@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz"
- integrity sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw==
- dependencies:
- "@babel/types" "^7.16.0"
-
-"@babel/helper-skip-transparent-expression-wrappers@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz"
- integrity sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==
- dependencies:
- "@babel/types" "^7.16.0"
-
-"@babel/helper-split-export-declaration@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz"
- integrity sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw==
- dependencies:
- "@babel/types" "^7.16.0"
-
-"@babel/helper-validator-identifier@^7.15.7":
- version "7.15.7"
- resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz"
- integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==
-
-"@babel/helper-validator-option@^7.14.5":
- version "7.14.5"
- resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz"
- integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==
-
-"@babel/helper-wrap-function@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.0.tgz"
- integrity sha512-VVMGzYY3vkWgCJML+qVLvGIam902mJW0FvT7Avj1zEe0Gn7D93aWdLblYARTxEw+6DhZmtzhBM2zv0ekE5zg1g==
- dependencies:
- "@babel/helper-function-name" "^7.16.0"
- "@babel/template" "^7.16.0"
- "@babel/traverse" "^7.16.0"
- "@babel/types" "^7.16.0"
-
-"@babel/helper-wrap-function@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.5.tgz#0158fca6f6d0889c3fee8a6ed6e5e07b9b54e41f"
- integrity sha512-2J2pmLBqUqVdJw78U0KPNdeE2qeuIyKoG4mKV7wAq3mc4jJG282UgjZw4ZYDnqiWQuS3Y3IYdF/AQ6CpyBV3VA==
- dependencies:
- "@babel/helper-function-name" "^7.16.0"
- "@babel/template" "^7.16.0"
- "@babel/traverse" "^7.16.5"
- "@babel/types" "^7.16.0"
-
-"@babel/helpers@^7.16.0":
- version "7.16.3"
- resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.3.tgz"
- integrity sha512-Xn8IhDlBPhvYTvgewPKawhADichOsbkZuzN7qz2BusOM0brChsyXMDJvldWaYMMUNiCQdQzNEioXTp3sC8Nt8w==
- dependencies:
- "@babel/template" "^7.16.0"
- "@babel/traverse" "^7.16.3"
- "@babel/types" "^7.16.0"
-
-"@babel/helpers@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.5.tgz#29a052d4b827846dd76ece16f565b9634c554ebd"
- integrity sha512-TLgi6Lh71vvMZGEkFuIxzaPsyeYCHQ5jJOOX1f0xXn0uciFuE8cEk0wyBquMcCxBXZ5BJhE2aUB7pnWTD150Tw==
- dependencies:
- "@babel/template" "^7.16.0"
- "@babel/traverse" "^7.16.5"
- "@babel/types" "^7.16.0"
-
-"@babel/highlight@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz"
- integrity sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==
- dependencies:
- "@babel/helper-validator-identifier" "^7.15.7"
- chalk "^2.0.0"
- js-tokens "^4.0.0"
-
-"@babel/parser@^7.16.0", "@babel/parser@^7.16.3":
- version "7.16.4"
- resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.16.4.tgz"
- integrity sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng==
-
-"@babel/parser@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.5.tgz#beb3af702e54d24796341ab9420fb329131ad658"
- integrity sha512-+Ce7T5iPNWzfu9C1aB5tN3Lyafs5xb3Ic7vBWyZL2KXT3QSdD1dD3CvgOzPmQKoNNRt6uauc0XwNJTQtXC2/Mw==
-
-"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.2":
- version "7.16.2"
- resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.2.tgz"
- integrity sha512-h37CvpLSf8gb2lIJ2CgC3t+EjFbi0t8qS7LCS1xcJIlEXE4czlofwaW7W1HA8zpgOCzI9C1nmoqNR1zWkk0pQg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.0.tgz"
- integrity sha512-4tcFwwicpWTrpl9qjf7UsoosaArgImF85AxqCRZlgc3IQDvkUHjJpruXAL58Wmj+T6fypWTC/BakfEkwIL/pwA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0"
- "@babel/plugin-proposal-optional-chaining" "^7.16.0"
-
-"@babel/plugin-proposal-async-generator-functions@^7.16.4":
- version "7.16.4"
- resolved "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.4.tgz"
- integrity sha512-/CUekqaAaZCQHleSK/9HajvcD/zdnJiKRiuUFq8ITE+0HsPzquf53cpFiqAwl/UfmJbR6n5uGPQSPdrmKOvHHg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
- "@babel/helper-remap-async-to-generator" "^7.16.4"
- "@babel/plugin-syntax-async-generators" "^7.8.4"
-
-"@babel/plugin-proposal-async-generator-functions@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.5.tgz#fd3bd7e0d98404a3d4cbca15a72d533f8c9a2f67"
- integrity sha512-C/FX+3HNLV6sz7AqbTQqEo1L9/kfrKjxcVtgyBCmvIgOjvuBVUWooDoi7trsLxOzCEo5FccjRvKHkfDsJFZlfA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
- "@babel/helper-remap-async-to-generator" "^7.16.5"
- "@babel/plugin-syntax-async-generators" "^7.8.4"
-
-"@babel/plugin-proposal-class-properties@^7.14.5", "@babel/plugin-proposal-class-properties@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.0.tgz"
- integrity sha512-mCF3HcuZSY9Fcx56Lbn+CGdT44ioBMMvjNVldpKtj8tpniETdLjnxdHI1+sDWXIM1nNt+EanJOZ3IG9lzVjs7A==
- dependencies:
- "@babel/helper-create-class-features-plugin" "^7.16.0"
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-proposal-class-properties@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.5.tgz#3269f44b89122110f6339806e05d43d84106468a"
- integrity sha512-pJD3HjgRv83s5dv1sTnDbZOaTjghKEz8KUn1Kbh2eAIRhGuyQ1XSeI4xVXU3UlIEVA3DAyIdxqT1eRn7Wcn55A==
- dependencies:
- "@babel/helper-create-class-features-plugin" "^7.16.5"
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-proposal-class-static-block@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.0.tgz"
- integrity sha512-mAy3sdcY9sKAkf3lQbDiv3olOfiLqI51c9DR9b19uMoR2Z6r5pmGl7dfNFqEvqOyqbf1ta4lknK4gc5PJn3mfA==
- dependencies:
- "@babel/helper-create-class-features-plugin" "^7.16.0"
- "@babel/helper-plugin-utils" "^7.14.5"
- "@babel/plugin-syntax-class-static-block" "^7.14.5"
-
-"@babel/plugin-proposal-class-static-block@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.5.tgz#df58ab015a7d3b0963aafc8f20792dcd834952a9"
- integrity sha512-EEFzuLZcm/rNJ8Q5krK+FRKdVkd6FjfzT9tuSZql9sQn64K0hHA2KLJ0DqVot9/iV6+SsuadC5yI39zWnm+nmQ==
- dependencies:
- "@babel/helper-create-class-features-plugin" "^7.16.5"
- "@babel/helper-plugin-utils" "^7.16.5"
- "@babel/plugin-syntax-class-static-block" "^7.14.5"
-
-"@babel/plugin-proposal-dynamic-import@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.0.tgz"
- integrity sha512-QGSA6ExWk95jFQgwz5GQ2Dr95cf7eI7TKutIXXTb7B1gCLTCz5hTjFTQGfLFBBiC5WSNi7udNwWsqbbMh1c4yQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
- "@babel/plugin-syntax-dynamic-import" "^7.8.3"
-
-"@babel/plugin-proposal-dynamic-import@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.5.tgz#2e0d19d5702db4dcb9bc846200ca02f2e9d60e9e"
- integrity sha512-P05/SJZTTvHz79LNYTF8ff5xXge0kk5sIIWAypcWgX4BTRUgyHc8wRxJ/Hk+mU0KXldgOOslKaeqnhthcDJCJQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
- "@babel/plugin-syntax-dynamic-import" "^7.8.3"
-
-"@babel/plugin-proposal-export-namespace-from@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.0.tgz"
- integrity sha512-CjI4nxM/D+5wCnhD11MHB1AwRSAYeDT+h8gCdcVJZ/OK7+wRzFsf7PFPWVpVpNRkHMmMkQWAHpTq+15IXQ1diA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
- "@babel/plugin-syntax-export-namespace-from" "^7.8.3"
-
-"@babel/plugin-proposal-export-namespace-from@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.5.tgz#3b4dd28378d1da2fea33e97b9f25d1c2f5bf1ac9"
- integrity sha512-i+sltzEShH1vsVydvNaTRsgvq2vZsfyrd7K7vPLUU/KgS0D5yZMe6uipM0+izminnkKrEfdUnz7CxMRb6oHZWw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
- "@babel/plugin-syntax-export-namespace-from" "^7.8.3"
-
-"@babel/plugin-proposal-json-strings@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.0.tgz"
- integrity sha512-kouIPuiv8mSi5JkEhzApg5Gn6hFyKPnlkO0a9YSzqRurH8wYzSlf6RJdzluAsbqecdW5pBvDJDfyDIUR/vLxvg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
- "@babel/plugin-syntax-json-strings" "^7.8.3"
-
-"@babel/plugin-proposal-json-strings@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.5.tgz#1e726930fca139caab6b084d232a9270d9d16f9c"
- integrity sha512-QQJueTFa0y9E4qHANqIvMsuxM/qcLQmKttBACtPCQzGUEizsXDACGonlPiSwynHfOa3vNw0FPMVvQzbuXwh4SQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
- "@babel/plugin-syntax-json-strings" "^7.8.3"
-
-"@babel/plugin-proposal-logical-assignment-operators@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.0.tgz"
- integrity sha512-pbW0fE30sVTYXXm9lpVQQ/Vc+iTeQKiXlaNRZPPN2A2VdlWyAtsUrsQ3xydSlDW00TFMK7a8m3cDTkBF5WnV3Q==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
- "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
-
-"@babel/plugin-proposal-logical-assignment-operators@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.5.tgz#df1f2e4b5a0ec07abf061d2c18e53abc237d3ef5"
- integrity sha512-xqibl7ISO2vjuQM+MzR3rkd0zfNWltk7n9QhaD8ghMmMceVguYrNDt7MikRyj4J4v3QehpnrU8RYLnC7z/gZLA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
- "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
-
-"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.0.tgz"
- integrity sha512-3bnHA8CAFm7cG93v8loghDYyQ8r97Qydf63BeYiGgYbjKKB/XP53W15wfRC7dvKfoiJ34f6Rbyyx2btExc8XsQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
- "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
-
-"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.5.tgz#652555bfeeeee2d2104058c6225dc6f75e2d0f07"
- integrity sha512-YwMsTp/oOviSBhrjwi0vzCUycseCYwoXnLiXIL3YNjHSMBHicGTz7GjVU/IGgz4DtOEXBdCNG72pvCX22ehfqg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
- "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
-
-"@babel/plugin-proposal-numeric-separator@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.0.tgz"
- integrity sha512-FAhE2I6mjispy+vwwd6xWPyEx3NYFS13pikDBWUAFGZvq6POGs5eNchw8+1CYoEgBl9n11I3NkzD7ghn25PQ9Q==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
- "@babel/plugin-syntax-numeric-separator" "^7.10.4"
-
-"@babel/plugin-proposal-numeric-separator@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.5.tgz#edcb6379b6cf4570be64c45965d8da7a2debf039"
- integrity sha512-DvB9l/TcsCRvsIV9v4jxR/jVP45cslTVC0PMVHvaJhhNuhn2Y1SOhCSFlPK777qLB5wb8rVDaNoqMTyOqtY5Iw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
- "@babel/plugin-syntax-numeric-separator" "^7.10.4"
-
-"@babel/plugin-proposal-object-rest-spread@^7.14.7", "@babel/plugin-proposal-object-rest-spread@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.0.tgz"
- integrity sha512-LU/+jp89efe5HuWJLmMmFG0+xbz+I2rSI7iLc1AlaeSMDMOGzWlc5yJrMN1d04osXN4sSfpo4O+azkBNBes0jg==
- dependencies:
- "@babel/compat-data" "^7.16.0"
- "@babel/helper-compilation-targets" "^7.16.0"
- "@babel/helper-plugin-utils" "^7.14.5"
- "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
- "@babel/plugin-transform-parameters" "^7.16.0"
-
-"@babel/plugin-proposal-object-rest-spread@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.5.tgz#f30f80dacf7bc1404bf67f99c8d9c01665e830ad"
- integrity sha512-UEd6KpChoyPhCoE840KRHOlGhEZFutdPDMGj+0I56yuTTOaT51GzmnEl/0uT41fB/vD2nT+Pci2KjezyE3HmUw==
- dependencies:
- "@babel/compat-data" "^7.16.4"
- "@babel/helper-compilation-targets" "^7.16.3"
- "@babel/helper-plugin-utils" "^7.16.5"
- "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
- "@babel/plugin-transform-parameters" "^7.16.5"
-
-"@babel/plugin-proposal-optional-catch-binding@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.0.tgz"
- integrity sha512-kicDo0A/5J0nrsCPbn89mTG3Bm4XgYi0CZtvex9Oyw7gGZE3HXGD0zpQNH+mo+tEfbo8wbmMvJftOwpmPy7aVw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
- "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
-
-"@babel/plugin-proposal-optional-catch-binding@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.5.tgz#1a5405765cf589a11a33a1fd75b2baef7d48b74e"
- integrity sha512-ihCMxY1Iljmx4bWy/PIMJGXN4NS4oUj1MKynwO07kiKms23pNvIn1DMB92DNB2R0EA882sw0VXIelYGdtF7xEQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
- "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
-
-"@babel/plugin-proposal-optional-chaining@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.0.tgz"
- integrity sha512-Y4rFpkZODfHrVo70Uaj6cC1JJOt3Pp0MdWSwIKtb8z1/lsjl9AmnB7ErRFV+QNGIfcY1Eruc2UMx5KaRnXjMyg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0"
- "@babel/plugin-syntax-optional-chaining" "^7.8.3"
-
-"@babel/plugin-proposal-optional-chaining@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.5.tgz#a5fa61056194d5059366c0009cb9a9e66ed75c1f"
- integrity sha512-kzdHgnaXRonttiTfKYnSVafbWngPPr2qKw9BWYBESl91W54e+9R5pP70LtWxV56g0f05f/SQrwHYkfvbwcdQ/A==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0"
- "@babel/plugin-syntax-optional-chaining" "^7.8.3"
-
-"@babel/plugin-proposal-private-methods@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.0.tgz"
- integrity sha512-IvHmcTHDFztQGnn6aWq4t12QaBXTKr1whF/dgp9kz84X6GUcwq9utj7z2wFCUfeOup/QKnOlt2k0zxkGFx9ubg==
- dependencies:
- "@babel/helper-create-class-features-plugin" "^7.16.0"
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-proposal-private-methods@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.5.tgz#2086f7d78c1b0c712d49b5c3fbc2d1ca21a7ee12"
- integrity sha512-+yFMO4BGT3sgzXo+lrq7orX5mAZt57DwUK6seqII6AcJnJOIhBJ8pzKH47/ql/d426uQ7YhN8DpUFirQzqYSUA==
- dependencies:
- "@babel/helper-create-class-features-plugin" "^7.16.5"
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-proposal-private-property-in-object@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.0.tgz"
- integrity sha512-3jQUr/HBbMVZmi72LpjQwlZ55i1queL8KcDTQEkAHihttJnAPrcvG9ZNXIfsd2ugpizZo595egYV6xy+pv4Ofw==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.16.0"
- "@babel/helper-create-class-features-plugin" "^7.16.0"
- "@babel/helper-plugin-utils" "^7.14.5"
- "@babel/plugin-syntax-private-property-in-object" "^7.14.5"
-
-"@babel/plugin-proposal-private-property-in-object@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.5.tgz#a42d4b56005db3d405b12841309dbca647e7a21b"
- integrity sha512-+YGh5Wbw0NH3y/E5YMu6ci5qTDmAEVNoZ3I54aB6nVEOZ5BQ7QJlwKq5pYVucQilMByGn/bvX0af+uNaPRCabA==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.16.0"
- "@babel/helper-create-class-features-plugin" "^7.16.5"
- "@babel/helper-plugin-utils" "^7.16.5"
- "@babel/plugin-syntax-private-property-in-object" "^7.14.5"
-
-"@babel/plugin-proposal-unicode-property-regex@^7.16.0", "@babel/plugin-proposal-unicode-property-regex@^7.4.4":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.0.tgz"
- integrity sha512-ti7IdM54NXv29cA4+bNNKEMS4jLMCbJgl+Drv+FgYy0erJLAxNAIXcNjNjrRZEcWq0xJHsNVwQezskMFpF8N9g==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.16.0"
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-proposal-unicode-property-regex@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.5.tgz#35fe753afa7c572f322bd068ff3377bde0f37080"
- integrity sha512-s5sKtlKQyFSatt781HQwv1hoM5BQ9qRH30r+dK56OLDsHmV74mzwJNX7R1yMuE7VZKG5O6q/gmOGSAO6ikTudg==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.16.0"
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-syntax-async-generators@^7.8.4":
- version "7.8.4"
- resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz"
- integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-class-properties@^7.12.13":
- version "7.12.13"
- resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz"
- integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.12.13"
-
-"@babel/plugin-syntax-class-static-block@^7.14.5":
- version "7.14.5"
- resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz"
- integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-syntax-dynamic-import@^7.8.3":
- version "7.8.3"
- resolved "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz"
- integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-export-namespace-from@^7.8.3":
- version "7.8.3"
- resolved "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz"
- integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
-
-"@babel/plugin-syntax-json-strings@^7.8.3":
- version "7.8.3"
- resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz"
- integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-logical-assignment-operators@^7.10.4":
- version "7.10.4"
- resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz"
- integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3":
- version "7.8.3"
- resolved "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz"
- integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-numeric-separator@^7.10.4":
- version "7.10.4"
- resolved "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz"
- integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-syntax-object-rest-spread@^7.8.3":
- version "7.8.3"
- resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz"
- integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-optional-catch-binding@^7.8.3":
- version "7.8.3"
- resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz"
- integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-optional-chaining@^7.8.3":
- version "7.8.3"
- resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz"
- integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-private-property-in-object@^7.14.5":
- version "7.14.5"
- resolved "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz"
- integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-syntax-top-level-await@^7.14.5":
- version "7.14.5"
- resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz"
- integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-transform-arrow-functions@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.0.tgz"
- integrity sha512-vIFb5250Rbh7roWARvCLvIJ/PtAU5Lhv7BtZ1u24COwpI9Ypjsh+bZcKk6rlIyalK+r0jOc1XQ8I4ovNxNrWrA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-transform-arrow-functions@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.5.tgz#04c18944dd55397b521d9d7511e791acea7acf2d"
- integrity sha512-8bTHiiZyMOyfZFULjsCnYOWG059FVMes0iljEHSfARhNgFfpsqE92OrCffv3veSw9rwMkYcFe9bj0ZoXU2IGtQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-async-to-generator@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.0.tgz"
- integrity sha512-PbIr7G9kR8tdH6g8Wouir5uVjklETk91GMVSUq+VaOgiinbCkBP6Q7NN/suM/QutZkMJMvcyAriogcYAdhg8Gw==
- dependencies:
- "@babel/helper-module-imports" "^7.16.0"
- "@babel/helper-plugin-utils" "^7.14.5"
- "@babel/helper-remap-async-to-generator" "^7.16.0"
-
-"@babel/plugin-transform-async-to-generator@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.5.tgz#89c9b501e65bb14c4579a6ce9563f859de9b34e4"
- integrity sha512-TMXgfioJnkXU+XRoj7P2ED7rUm5jbnDWwlCuFVTpQboMfbSya5WrmubNBAMlk7KXvywpo8rd8WuYZkis1o2H8w==
- dependencies:
- "@babel/helper-module-imports" "^7.16.0"
- "@babel/helper-plugin-utils" "^7.16.5"
- "@babel/helper-remap-async-to-generator" "^7.16.5"
-
-"@babel/plugin-transform-block-scoped-functions@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.0.tgz"
- integrity sha512-V14As3haUOP4ZWrLJ3VVx5rCnrYhMSHN/jX7z6FAt5hjRkLsb0snPCmJwSOML5oxkKO4FNoNv7V5hw/y2bjuvg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-transform-block-scoped-functions@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.5.tgz#af087494e1c387574260b7ee9b58cdb5a4e9b0b0"
- integrity sha512-BxmIyKLjUGksJ99+hJyL/HIxLIGnLKtw772zYDER7UuycDZ+Xvzs98ZQw6NGgM2ss4/hlFAaGiZmMNKvValEjw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-block-scoping@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.0.tgz"
- integrity sha512-27n3l67/R3UrXfizlvHGuTwsRIFyce3D/6a37GRxn28iyTPvNXaW4XvznexRh1zUNLPjbLL22Id0XQElV94ruw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-transform-block-scoping@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.5.tgz#b91f254fe53e210eabe4dd0c40f71c0ed253c5e7"
- integrity sha512-JxjSPNZSiOtmxjX7PBRBeRJTUKTyJ607YUYeT0QJCNdsedOe+/rXITjP08eG8xUpsLfPirgzdCFN+h0w6RI+pQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-classes@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.0.tgz"
- integrity sha512-HUxMvy6GtAdd+GKBNYDWCIA776byUQH8zjnfjxwT1P1ARv/wFu8eBDpmXQcLS/IwRtrxIReGiplOwMeyO7nsDQ==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.16.0"
- "@babel/helper-function-name" "^7.16.0"
- "@babel/helper-optimise-call-expression" "^7.16.0"
- "@babel/helper-plugin-utils" "^7.14.5"
- "@babel/helper-replace-supers" "^7.16.0"
- "@babel/helper-split-export-declaration" "^7.16.0"
- globals "^11.1.0"
-
-"@babel/plugin-transform-classes@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.5.tgz#6acf2ec7adb50fb2f3194dcd2909dbd056dcf216"
- integrity sha512-DzJ1vYf/7TaCYy57J3SJ9rV+JEuvmlnvvyvYKFbk5u46oQbBvuB9/0w+YsVsxkOv8zVWKpDmUoj4T5ILHoXevA==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.16.0"
- "@babel/helper-environment-visitor" "^7.16.5"
- "@babel/helper-function-name" "^7.16.0"
- "@babel/helper-optimise-call-expression" "^7.16.0"
- "@babel/helper-plugin-utils" "^7.16.5"
- "@babel/helper-replace-supers" "^7.16.5"
- "@babel/helper-split-export-declaration" "^7.16.0"
- globals "^11.1.0"
-
-"@babel/plugin-transform-computed-properties@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.0.tgz"
- integrity sha512-63l1dRXday6S8V3WFY5mXJwcRAnPYxvFfTlt67bwV1rTyVTM5zrp0DBBb13Kl7+ehkCVwIZPumPpFP/4u70+Tw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-transform-computed-properties@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.5.tgz#2af91ebf0cceccfcc701281ada7cfba40a9b322a"
- integrity sha512-n1+O7xtU5lSLraRzX88CNcpl7vtGdPakKzww74bVwpAIRgz9JVLJJpOLb0uYqcOaXVM0TL6X0RVeIJGD2CnCkg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-destructuring@^7.14.7", "@babel/plugin-transform-destructuring@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.0.tgz"
- integrity sha512-Q7tBUwjxLTsHEoqktemHBMtb3NYwyJPTJdM+wDwb0g8PZ3kQUIzNvwD5lPaqW/p54TXBc/MXZu9Jr7tbUEUM8Q==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-transform-destructuring@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.5.tgz#89ebc87499ac4a81b897af53bb5d3eed261bd568"
- integrity sha512-GuRVAsjq+c9YPK6NeTkRLWyQskDC099XkBSVO+6QzbnOnH2d/4mBVXYStaPrZD3dFRfg00I6BFJ9Atsjfs8mlg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-dotall-regex@^7.16.0", "@babel/plugin-transform-dotall-regex@^7.4.4":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.0.tgz"
- integrity sha512-FXlDZfQeLILfJlC6I1qyEwcHK5UpRCFkaoVyA1nk9A1L1Yu583YO4un2KsLBsu3IJb4CUbctZks8tD9xPQubLw==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.16.0"
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-transform-dotall-regex@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.5.tgz#b40739c00b6686820653536d6d143e311de67936"
- integrity sha512-iQiEMt8Q4/5aRGHpGVK2Zc7a6mx7qEAO7qehgSug3SDImnuMzgmm/wtJALXaz25zUj1PmnNHtShjFgk4PDx4nw==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.16.0"
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-duplicate-keys@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.0.tgz"
- integrity sha512-LIe2kcHKAZOJDNxujvmp6z3mfN6V9lJxubU4fJIGoQCkKe3Ec2OcbdlYP+vW++4MpxwG0d1wSDOJtQW5kLnkZQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-transform-duplicate-keys@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.5.tgz#2450f2742325412b746d7d005227f5e8973b512a"
- integrity sha512-81tijpDg2a6I1Yhj4aWY1l3O1J4Cg/Pd7LfvuaH2VVInAkXtzibz9+zSPdUM1WvuUi128ksstAP0hM5w48vQgg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-exponentiation-operator@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.0.tgz"
- integrity sha512-OwYEvzFI38hXklsrbNivzpO3fh87skzx8Pnqi4LoSYeav0xHlueSoCJrSgTPfnbyzopo5b3YVAJkFIcUpK2wsw==
- dependencies:
- "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.0"
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-transform-exponentiation-operator@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.5.tgz#36e261fa1ab643cfaf30eeab38e00ed1a76081e2"
- integrity sha512-12rba2HwemQPa7BLIKCzm1pT2/RuQHtSFHdNl41cFiC6oi4tcrp7gjB07pxQvFpcADojQywSjblQth6gJyE6CA==
- dependencies:
- "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.5"
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-for-of@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.0.tgz"
- integrity sha512-5QKUw2kO+GVmKr2wMYSATCTTnHyscl6sxFRAY+rvN7h7WB0lcG0o4NoV6ZQU32OZGVsYUsfLGgPQpDFdkfjlJQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-transform-for-of@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.5.tgz#9b544059c6ca11d565457c0ff1f08e13ce225261"
- integrity sha512-+DpCAJFPAvViR17PIMi9x2AE34dll5wNlXO43wagAX2YcRGgEVHCNFC4azG85b4YyyFarvkc/iD5NPrz4Oneqw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-function-name@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.0.tgz"
- integrity sha512-lBzMle9jcOXtSOXUpc7tvvTpENu/NuekNJVova5lCCWCV9/U1ho2HH2y0p6mBg8fPm/syEAbfaaemYGOHCY3mg==
- dependencies:
- "@babel/helper-function-name" "^7.16.0"
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-transform-function-name@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.5.tgz#6896ebb6a5538a75d6a4086a277752f655a7bd15"
- integrity sha512-Fuec/KPSpVLbGo6z1RPw4EE1X+z9gZk1uQmnYy7v4xr4TO9p41v1AoUuXEtyqAI7H+xNJYSICzRqZBhDEkd3kQ==
- dependencies:
- "@babel/helper-function-name" "^7.16.0"
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-literals@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.0.tgz"
- integrity sha512-gQDlsSF1iv9RU04clgXqRjrPyyoJMTclFt3K1cjLmTKikc0s/6vE3hlDeEVC71wLTRu72Fq7650kABrdTc2wMQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-transform-literals@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.5.tgz#af392b90e3edb2bd6dc316844cbfd6b9e009d320"
- integrity sha512-B1j9C/IfvshnPcklsc93AVLTrNVa69iSqztylZH6qnmiAsDDOmmjEYqOm3Ts2lGSgTSywnBNiqC949VdD0/gfw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-member-expression-literals@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.0.tgz"
- integrity sha512-WRpw5HL4Jhnxw8QARzRvwojp9MIE7Tdk3ez6vRyUk1MwgjJN0aNpRoXainLR5SgxmoXx/vsXGZ6OthP6t/RbUg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-transform-member-expression-literals@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.5.tgz#4bd6ecdc11932361631097b779ca5c7570146dd5"
- integrity sha512-d57i3vPHWgIde/9Y8W/xSFUndhvhZN5Wu2TjRrN1MVz5KzdUihKnfDVlfP1U7mS5DNj/WHHhaE4/tTi4hIyHwQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-modules-amd@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.0.tgz"
- integrity sha512-rWFhWbCJ9Wdmzln1NmSCqn7P0RAD+ogXG/bd9Kg5c7PKWkJtkiXmYsMBeXjDlzHpVTJ4I/hnjs45zX4dEv81xw==
- dependencies:
- "@babel/helper-module-transforms" "^7.16.0"
- "@babel/helper-plugin-utils" "^7.14.5"
- babel-plugin-dynamic-import-node "^2.3.3"
-
-"@babel/plugin-transform-modules-amd@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.5.tgz#92c0a3e83f642cb7e75fada9ab497c12c2616527"
- integrity sha512-oHI15S/hdJuSCfnwIz+4lm6wu/wBn7oJ8+QrkzPPwSFGXk8kgdI/AIKcbR/XnD1nQVMg/i6eNaXpszbGuwYDRQ==
- dependencies:
- "@babel/helper-module-transforms" "^7.16.5"
- "@babel/helper-plugin-utils" "^7.16.5"
- babel-plugin-dynamic-import-node "^2.3.3"
-
-"@babel/plugin-transform-modules-commonjs@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.0.tgz"
- integrity sha512-Dzi+NWqyEotgzk/sb7kgQPJQf7AJkQBWsVp1N6JWc1lBVo0vkElUnGdr1PzUBmfsCCN5OOFya3RtpeHk15oLKQ==
- dependencies:
- "@babel/helper-module-transforms" "^7.16.0"
- "@babel/helper-plugin-utils" "^7.14.5"
- "@babel/helper-simple-access" "^7.16.0"
- babel-plugin-dynamic-import-node "^2.3.3"
-
-"@babel/plugin-transform-modules-commonjs@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.5.tgz#4ee03b089536f076b2773196529d27c32b9d7bde"
- integrity sha512-ABhUkxvoQyqhCWyb8xXtfwqNMJD7tx+irIRnUh6lmyFud7Jln1WzONXKlax1fg/ey178EXbs4bSGNd6PngO+SQ==
- dependencies:
- "@babel/helper-module-transforms" "^7.16.5"
- "@babel/helper-plugin-utils" "^7.16.5"
- "@babel/helper-simple-access" "^7.16.0"
- babel-plugin-dynamic-import-node "^2.3.3"
-
-"@babel/plugin-transform-modules-systemjs@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.0.tgz"
- integrity sha512-yuGBaHS3lF1m/5R+6fjIke64ii5luRUg97N2wr+z1sF0V+sNSXPxXDdEEL/iYLszsN5VKxVB1IPfEqhzVpiqvg==
- dependencies:
- "@babel/helper-hoist-variables" "^7.16.0"
- "@babel/helper-module-transforms" "^7.16.0"
- "@babel/helper-plugin-utils" "^7.14.5"
- "@babel/helper-validator-identifier" "^7.15.7"
- babel-plugin-dynamic-import-node "^2.3.3"
-
-"@babel/plugin-transform-modules-systemjs@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.5.tgz#07078ba2e3cc94fbdd06836e355c246e98ad006b"
- integrity sha512-53gmLdScNN28XpjEVIm7LbWnD/b/TpbwKbLk6KV4KqC9WyU6rq1jnNmVG6UgAdQZVVGZVoik3DqHNxk4/EvrjA==
- dependencies:
- "@babel/helper-hoist-variables" "^7.16.0"
- "@babel/helper-module-transforms" "^7.16.5"
- "@babel/helper-plugin-utils" "^7.16.5"
- "@babel/helper-validator-identifier" "^7.15.7"
- babel-plugin-dynamic-import-node "^2.3.3"
-
-"@babel/plugin-transform-modules-umd@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.0.tgz"
- integrity sha512-nx4f6no57himWiHhxDM5pjwhae5vLpTK2zCnDH8+wNLJy0TVER/LJRHl2bkt6w9Aad2sPD5iNNoUpY3X9sTGDg==
- dependencies:
- "@babel/helper-module-transforms" "^7.16.0"
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-transform-modules-umd@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.5.tgz#caa9c53d636fb4e3c99fd35a4c9ba5e5cd7e002e"
- integrity sha512-qTFnpxHMoenNHkS3VoWRdwrcJ3FhX567GvDA3hRZKF0Dj8Fmg0UzySZp3AP2mShl/bzcywb/UWAMQIjA1bhXvw==
- dependencies:
- "@babel/helper-module-transforms" "^7.16.5"
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-named-capturing-groups-regex@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.0.tgz"
- integrity sha512-LogN88uO+7EhxWc8WZuQ8vxdSyVGxhkh8WTC3tzlT8LccMuQdA81e9SGV6zY7kY2LjDhhDOFdQVxdGwPyBCnvg==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.16.0"
-
-"@babel/plugin-transform-named-capturing-groups-regex@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.5.tgz#4afd8cdee377ce3568f4e8a9ee67539b69886a3c"
- integrity sha512-/wqGDgvFUeKELW6ex6QB7dLVRkd5ehjw34tpXu1nhKC0sFfmaLabIswnpf8JgDyV2NeDmZiwoOb0rAmxciNfjA==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.16.0"
-
-"@babel/plugin-transform-new-target@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.0.tgz"
- integrity sha512-fhjrDEYv2DBsGN/P6rlqakwRwIp7rBGLPbrKxwh7oVt5NNkIhZVOY2GRV+ULLsQri1bDqwDWnU3vhlmx5B2aCw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-transform-new-target@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.5.tgz#759ea9d6fbbc20796056a5d89d13977626384416"
- integrity sha512-ZaIrnXF08ZC8jnKR4/5g7YakGVL6go6V9ql6Jl3ecO8PQaQqFE74CuM384kezju7Z9nGCCA20BqZaR1tJ/WvHg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-object-super@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.0.tgz"
- integrity sha512-fds+puedQHn4cPLshoHcR1DTMN0q1V9ou0mUjm8whx9pGcNvDrVVrgw+KJzzCaiTdaYhldtrUps8DWVMgrSEyg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
- "@babel/helper-replace-supers" "^7.16.0"
-
-"@babel/plugin-transform-object-super@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.5.tgz#8ccd9a1bcd3e7732ff8aa1702d067d8cd70ce380"
- integrity sha512-tded+yZEXuxt9Jdtkc1RraW1zMF/GalVxaVVxh41IYwirdRgyAxxxCKZ9XB7LxZqmsjfjALxupNE1MIz9KH+Zg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
- "@babel/helper-replace-supers" "^7.16.5"
-
-"@babel/plugin-transform-parameters@^7.16.0", "@babel/plugin-transform-parameters@^7.16.3":
- version "7.16.3"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.3.tgz"
- integrity sha512-3MaDpJrOXT1MZ/WCmkOFo7EtmVVC8H4EUZVrHvFOsmwkk4lOjQj8rzv8JKUZV4YoQKeoIgk07GO+acPU9IMu/w==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-transform-parameters@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.5.tgz#4fc74b18a89638bd90aeec44a11793ecbe031dde"
- integrity sha512-B3O6AL5oPop1jAVg8CV+haeUte9oFuY85zu0jwnRNZZi3tVAbJriu5tag/oaO2kGaQM/7q7aGPBlTI5/sr9enA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-property-literals@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.0.tgz"
- integrity sha512-XLldD4V8+pOqX2hwfWhgwXzGdnDOThxaNTgqagOcpBgIxbUvpgU2FMvo5E1RyHbk756WYgdbS0T8y0Cj9FKkWQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-transform-property-literals@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.5.tgz#58f1465a7202a2bb2e6b003905212dd7a79abe3f"
- integrity sha512-+IRcVW71VdF9pEH/2R/Apab4a19LVvdVsr/gEeotH00vSDVlKD+XgfSIw+cgGWsjDB/ziqGv/pGoQZBIiQVXHg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-regenerator@^7.14.5", "@babel/plugin-transform-regenerator@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.0.tgz"
- integrity sha512-JAvGxgKuwS2PihiSFaDrp94XOzzTUeDeOQlcKzVAyaPap7BnZXK/lvMDiubkPTdotPKOIZq9xWXWnggUMYiExg==
- dependencies:
- regenerator-transform "^0.14.2"
-
-"@babel/plugin-transform-regenerator@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.5.tgz#704cc6d8dd3dd4758267621ab7b36375238cef13"
- integrity sha512-2z+it2eVWU8TtQQRauvGUqZwLy4+7rTfo6wO4npr+fvvN1SW30ZF3O/ZRCNmTuu4F5MIP8OJhXAhRV5QMJOuYg==
- dependencies:
- regenerator-transform "^0.14.2"
-
-"@babel/plugin-transform-reserved-words@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.0.tgz"
- integrity sha512-Dgs8NNCehHSvXdhEhln8u/TtJxfVwGYCgP2OOr5Z3Ar+B+zXicEOKNTyc+eca2cuEOMtjW6m9P9ijOt8QdqWkg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-transform-reserved-words@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.5.tgz#db95e98799675e193dc2b47d3e72a7c0651d0c30"
- integrity sha512-aIB16u8lNcf7drkhXJRoggOxSTUAuihTSTfAcpynowGJOZiGf+Yvi7RuTwFzVYSYPmWyARsPqUGoZWWWxLiknw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-runtime@^7.15.0":
- version "7.16.4"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.4.tgz"
- integrity sha512-pru6+yHANMTukMtEZGC4fs7XPwg35v8sj5CIEmE+gEkFljFiVJxEWxx/7ZDkTK+iZRYo1bFXBtfIN95+K3cJ5A==
- dependencies:
- "@babel/helper-module-imports" "^7.16.0"
- "@babel/helper-plugin-utils" "^7.14.5"
- babel-plugin-polyfill-corejs2 "^0.3.0"
- babel-plugin-polyfill-corejs3 "^0.4.0"
- babel-plugin-polyfill-regenerator "^0.3.0"
- semver "^6.3.0"
-
-"@babel/plugin-transform-runtime@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.5.tgz#0cc3f01d69f299d5a42cd9ec43b92ea7a777b8db"
- integrity sha512-gxpfS8XQWDbQ8oP5NcmpXxtEgCJkbO+W9VhZlOhr0xPyVaRjAQPOv7ZDj9fg0d5s9+NiVvMCE6gbkEkcsxwGRw==
- dependencies:
- "@babel/helper-module-imports" "^7.16.0"
- "@babel/helper-plugin-utils" "^7.16.5"
- babel-plugin-polyfill-corejs2 "^0.3.0"
- babel-plugin-polyfill-corejs3 "^0.4.0"
- babel-plugin-polyfill-regenerator "^0.3.0"
- semver "^6.3.0"
-
-"@babel/plugin-transform-shorthand-properties@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.0.tgz"
- integrity sha512-iVb1mTcD8fuhSv3k99+5tlXu5N0v8/DPm2mO3WACLG6al1CGZH7v09HJyUb1TtYl/Z+KrM6pHSIJdZxP5A+xow==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-transform-shorthand-properties@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.5.tgz#ccb60b1a23b799f5b9a14d97c5bc81025ffd96d7"
- integrity sha512-ZbuWVcY+MAXJuuW7qDoCwoxDUNClfZxoo7/4swVbOW1s/qYLOMHlm9YRWMsxMFuLs44eXsv4op1vAaBaBaDMVg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-spread@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.0.tgz"
- integrity sha512-Ao4MSYRaLAQczZVp9/7E7QHsCuK92yHRrmVNRe/SlEJjhzivq0BSn8mEraimL8wizHZ3fuaHxKH0iwzI13GyGg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0"
-
-"@babel/plugin-transform-spread@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.5.tgz#912b06cff482c233025d3e69cf56d3e8fa166c29"
- integrity sha512-5d6l/cnG7Lw4tGHEoga4xSkYp1euP7LAtrah1h1PgJ3JY7yNsjybsxQAnVK4JbtReZ/8z6ASVmd3QhYYKLaKZw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0"
-
-"@babel/plugin-transform-sticky-regex@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.0.tgz"
- integrity sha512-/ntT2NljR9foobKk4E/YyOSwcGUXtYWv5tinMK/3RkypyNBNdhHUaq6Orw5DWq9ZcNlS03BIlEALFeQgeVAo4Q==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-transform-sticky-regex@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.5.tgz#593579bb2b5a8adfbe02cb43823275d9098f75f9"
- integrity sha512-usYsuO1ID2LXxzuUxifgWtJemP7wL2uZtyrTVM4PKqsmJycdS4U4mGovL5xXkfUheds10Dd2PjoQLXw6zCsCbg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-template-literals@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.0.tgz"
- integrity sha512-Rd4Ic89hA/f7xUSJQk5PnC+4so50vBoBfxjdQAdvngwidM8jYIBVxBZ/sARxD4e0yMXRbJVDrYf7dyRtIIKT6Q==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-transform-template-literals@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.5.tgz#343651385fd9923f5aa2275ca352c5d9183e1773"
- integrity sha512-gnyKy9RyFhkovex4BjKWL3BVYzUDG6zC0gba7VMLbQoDuqMfJ1SDXs8k/XK41Mmt1Hyp4qNAvGFb9hKzdCqBRQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-typeof-symbol@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.0.tgz"
- integrity sha512-++V2L8Bdf4vcaHi2raILnptTBjGEFxn5315YU+e8+EqXIucA+q349qWngCLpUYqqv233suJ6NOienIVUpS9cqg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-transform-typeof-symbol@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.5.tgz#a1d1bf2c71573fe30965d0e4cd6a3291202e20ed"
- integrity sha512-ldxCkW180qbrvyCVDzAUZqB0TAeF8W/vGJoRcaf75awm6By+PxfJKvuqVAnq8N9wz5Xa6mSpM19OfVKKVmGHSQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-unicode-escapes@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.0.tgz"
- integrity sha512-VFi4dhgJM7Bpk8lRc5CMaRGlKZ29W9C3geZjt9beuzSUrlJxsNwX7ReLwaL6WEvsOf2EQkyIJEPtF8EXjB/g2A==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-transform-unicode-escapes@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.5.tgz#80507c225af49b4f4ee647e2a0ce53d2eeff9e85"
- integrity sha512-shiCBHTIIChGLdyojsKQjoAyB8MBwat25lKM7MJjbe1hE0bgIppD+LX9afr41lLHOhqceqeWl4FkLp+Bgn9o1Q==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-unicode-regex@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.0.tgz"
- integrity sha512-jHLK4LxhHjvCeZDWyA9c+P9XH1sOxRd1RO9xMtDVRAOND/PczPqizEtVdx4TQF/wyPaewqpT+tgQFYMnN/P94A==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.16.0"
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-transform-unicode-regex@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.5.tgz#ac84d6a1def947d71ffb832426aa53b83d7ed49e"
- integrity sha512-GTJ4IW012tiPEMMubd7sD07iU9O/LOo8Q/oU4xNhcaq0Xn8+6TcUQaHtC8YxySo1T+ErQ8RaWogIEeFhKGNPzw==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.16.0"
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/preset-env@^7.15.0":
- version "7.16.4"
- resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.4.tgz"
- integrity sha512-v0QtNd81v/xKj4gNKeuAerQ/azeNn/G1B1qMLeXOcV8+4TWlD2j3NV1u8q29SDFBXx/NBq5kyEAO+0mpRgacjA==
- dependencies:
- "@babel/compat-data" "^7.16.4"
- "@babel/helper-compilation-targets" "^7.16.3"
- "@babel/helper-plugin-utils" "^7.14.5"
- "@babel/helper-validator-option" "^7.14.5"
- "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.2"
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.0"
- "@babel/plugin-proposal-async-generator-functions" "^7.16.4"
- "@babel/plugin-proposal-class-properties" "^7.16.0"
- "@babel/plugin-proposal-class-static-block" "^7.16.0"
- "@babel/plugin-proposal-dynamic-import" "^7.16.0"
- "@babel/plugin-proposal-export-namespace-from" "^7.16.0"
- "@babel/plugin-proposal-json-strings" "^7.16.0"
- "@babel/plugin-proposal-logical-assignment-operators" "^7.16.0"
- "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.0"
- "@babel/plugin-proposal-numeric-separator" "^7.16.0"
- "@babel/plugin-proposal-object-rest-spread" "^7.16.0"
- "@babel/plugin-proposal-optional-catch-binding" "^7.16.0"
- "@babel/plugin-proposal-optional-chaining" "^7.16.0"
- "@babel/plugin-proposal-private-methods" "^7.16.0"
- "@babel/plugin-proposal-private-property-in-object" "^7.16.0"
- "@babel/plugin-proposal-unicode-property-regex" "^7.16.0"
- "@babel/plugin-syntax-async-generators" "^7.8.4"
- "@babel/plugin-syntax-class-properties" "^7.12.13"
- "@babel/plugin-syntax-class-static-block" "^7.14.5"
- "@babel/plugin-syntax-dynamic-import" "^7.8.3"
- "@babel/plugin-syntax-export-namespace-from" "^7.8.3"
- "@babel/plugin-syntax-json-strings" "^7.8.3"
- "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
- "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
- "@babel/plugin-syntax-numeric-separator" "^7.10.4"
- "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
- "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
- "@babel/plugin-syntax-optional-chaining" "^7.8.3"
- "@babel/plugin-syntax-private-property-in-object" "^7.14.5"
- "@babel/plugin-syntax-top-level-await" "^7.14.5"
- "@babel/plugin-transform-arrow-functions" "^7.16.0"
- "@babel/plugin-transform-async-to-generator" "^7.16.0"
- "@babel/plugin-transform-block-scoped-functions" "^7.16.0"
- "@babel/plugin-transform-block-scoping" "^7.16.0"
- "@babel/plugin-transform-classes" "^7.16.0"
- "@babel/plugin-transform-computed-properties" "^7.16.0"
- "@babel/plugin-transform-destructuring" "^7.16.0"
- "@babel/plugin-transform-dotall-regex" "^7.16.0"
- "@babel/plugin-transform-duplicate-keys" "^7.16.0"
- "@babel/plugin-transform-exponentiation-operator" "^7.16.0"
- "@babel/plugin-transform-for-of" "^7.16.0"
- "@babel/plugin-transform-function-name" "^7.16.0"
- "@babel/plugin-transform-literals" "^7.16.0"
- "@babel/plugin-transform-member-expression-literals" "^7.16.0"
- "@babel/plugin-transform-modules-amd" "^7.16.0"
- "@babel/plugin-transform-modules-commonjs" "^7.16.0"
- "@babel/plugin-transform-modules-systemjs" "^7.16.0"
- "@babel/plugin-transform-modules-umd" "^7.16.0"
- "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.0"
- "@babel/plugin-transform-new-target" "^7.16.0"
- "@babel/plugin-transform-object-super" "^7.16.0"
- "@babel/plugin-transform-parameters" "^7.16.3"
- "@babel/plugin-transform-property-literals" "^7.16.0"
- "@babel/plugin-transform-regenerator" "^7.16.0"
- "@babel/plugin-transform-reserved-words" "^7.16.0"
- "@babel/plugin-transform-shorthand-properties" "^7.16.0"
- "@babel/plugin-transform-spread" "^7.16.0"
- "@babel/plugin-transform-sticky-regex" "^7.16.0"
- "@babel/plugin-transform-template-literals" "^7.16.0"
- "@babel/plugin-transform-typeof-symbol" "^7.16.0"
- "@babel/plugin-transform-unicode-escapes" "^7.16.0"
- "@babel/plugin-transform-unicode-regex" "^7.16.0"
- "@babel/preset-modules" "^0.1.5"
- "@babel/types" "^7.16.0"
- babel-plugin-polyfill-corejs2 "^0.3.0"
- babel-plugin-polyfill-corejs3 "^0.4.0"
- babel-plugin-polyfill-regenerator "^0.3.0"
- core-js-compat "^3.19.1"
- semver "^6.3.0"
-
-"@babel/preset-env@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.5.tgz#2e94d922f4a890979af04ffeb6a6b4e44ba90847"
- integrity sha512-MiJJW5pwsktG61NDxpZ4oJ1CKxM1ncam9bzRtx9g40/WkLRkxFP6mhpkYV0/DxcciqoiHicx291+eUQrXb/SfQ==
- dependencies:
- "@babel/compat-data" "^7.16.4"
- "@babel/helper-compilation-targets" "^7.16.3"
- "@babel/helper-plugin-utils" "^7.16.5"
- "@babel/helper-validator-option" "^7.14.5"
- "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.2"
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.0"
- "@babel/plugin-proposal-async-generator-functions" "^7.16.5"
- "@babel/plugin-proposal-class-properties" "^7.16.5"
- "@babel/plugin-proposal-class-static-block" "^7.16.5"
- "@babel/plugin-proposal-dynamic-import" "^7.16.5"
- "@babel/plugin-proposal-export-namespace-from" "^7.16.5"
- "@babel/plugin-proposal-json-strings" "^7.16.5"
- "@babel/plugin-proposal-logical-assignment-operators" "^7.16.5"
- "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.5"
- "@babel/plugin-proposal-numeric-separator" "^7.16.5"
- "@babel/plugin-proposal-object-rest-spread" "^7.16.5"
- "@babel/plugin-proposal-optional-catch-binding" "^7.16.5"
- "@babel/plugin-proposal-optional-chaining" "^7.16.5"
- "@babel/plugin-proposal-private-methods" "^7.16.5"
- "@babel/plugin-proposal-private-property-in-object" "^7.16.5"
- "@babel/plugin-proposal-unicode-property-regex" "^7.16.5"
- "@babel/plugin-syntax-async-generators" "^7.8.4"
- "@babel/plugin-syntax-class-properties" "^7.12.13"
- "@babel/plugin-syntax-class-static-block" "^7.14.5"
- "@babel/plugin-syntax-dynamic-import" "^7.8.3"
- "@babel/plugin-syntax-export-namespace-from" "^7.8.3"
- "@babel/plugin-syntax-json-strings" "^7.8.3"
- "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
- "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
- "@babel/plugin-syntax-numeric-separator" "^7.10.4"
- "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
- "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
- "@babel/plugin-syntax-optional-chaining" "^7.8.3"
- "@babel/plugin-syntax-private-property-in-object" "^7.14.5"
- "@babel/plugin-syntax-top-level-await" "^7.14.5"
- "@babel/plugin-transform-arrow-functions" "^7.16.5"
- "@babel/plugin-transform-async-to-generator" "^7.16.5"
- "@babel/plugin-transform-block-scoped-functions" "^7.16.5"
- "@babel/plugin-transform-block-scoping" "^7.16.5"
- "@babel/plugin-transform-classes" "^7.16.5"
- "@babel/plugin-transform-computed-properties" "^7.16.5"
- "@babel/plugin-transform-destructuring" "^7.16.5"
- "@babel/plugin-transform-dotall-regex" "^7.16.5"
- "@babel/plugin-transform-duplicate-keys" "^7.16.5"
- "@babel/plugin-transform-exponentiation-operator" "^7.16.5"
- "@babel/plugin-transform-for-of" "^7.16.5"
- "@babel/plugin-transform-function-name" "^7.16.5"
- "@babel/plugin-transform-literals" "^7.16.5"
- "@babel/plugin-transform-member-expression-literals" "^7.16.5"
- "@babel/plugin-transform-modules-amd" "^7.16.5"
- "@babel/plugin-transform-modules-commonjs" "^7.16.5"
- "@babel/plugin-transform-modules-systemjs" "^7.16.5"
- "@babel/plugin-transform-modules-umd" "^7.16.5"
- "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.5"
- "@babel/plugin-transform-new-target" "^7.16.5"
- "@babel/plugin-transform-object-super" "^7.16.5"
- "@babel/plugin-transform-parameters" "^7.16.5"
- "@babel/plugin-transform-property-literals" "^7.16.5"
- "@babel/plugin-transform-regenerator" "^7.16.5"
- "@babel/plugin-transform-reserved-words" "^7.16.5"
- "@babel/plugin-transform-shorthand-properties" "^7.16.5"
- "@babel/plugin-transform-spread" "^7.16.5"
- "@babel/plugin-transform-sticky-regex" "^7.16.5"
- "@babel/plugin-transform-template-literals" "^7.16.5"
- "@babel/plugin-transform-typeof-symbol" "^7.16.5"
- "@babel/plugin-transform-unicode-escapes" "^7.16.5"
- "@babel/plugin-transform-unicode-regex" "^7.16.5"
- "@babel/preset-modules" "^0.1.5"
- "@babel/types" "^7.16.0"
- babel-plugin-polyfill-corejs2 "^0.3.0"
- babel-plugin-polyfill-corejs3 "^0.4.0"
- babel-plugin-polyfill-regenerator "^0.3.0"
- core-js-compat "^3.19.1"
- semver "^6.3.0"
-
-"@babel/preset-modules@^0.1.5":
- version "0.1.5"
- resolved "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz"
- integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/plugin-proposal-unicode-property-regex" "^7.4.4"
- "@babel/plugin-transform-dotall-regex" "^7.4.4"
- "@babel/types" "^7.4.4"
- esutils "^2.0.2"
-
-"@babel/runtime@^7.15.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4":
- version "7.16.3"
- resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.3.tgz"
- integrity sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ==
- dependencies:
- regenerator-runtime "^0.13.4"
-
-"@babel/template@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/template/-/template-7.16.0.tgz"
- integrity sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A==
- dependencies:
- "@babel/code-frame" "^7.16.0"
- "@babel/parser" "^7.16.0"
- "@babel/types" "^7.16.0"
-
-"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.0", "@babel/traverse@^7.16.3":
- version "7.16.3"
- resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.3.tgz"
- integrity sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag==
- dependencies:
- "@babel/code-frame" "^7.16.0"
- "@babel/generator" "^7.16.0"
- "@babel/helper-function-name" "^7.16.0"
- "@babel/helper-hoist-variables" "^7.16.0"
- "@babel/helper-split-export-declaration" "^7.16.0"
- "@babel/parser" "^7.16.3"
- "@babel/types" "^7.16.0"
- debug "^4.1.0"
- globals "^11.1.0"
-
-"@babel/traverse@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.5.tgz#d7d400a8229c714a59b87624fc67b0f1fbd4b2b3"
- integrity sha512-FOCODAzqUMROikDYLYxl4nmwiLlu85rNqBML/A5hKRVXG2LV8d0iMqgPzdYTcIpjZEBB7D6UDU9vxRZiriASdQ==
- dependencies:
- "@babel/code-frame" "^7.16.0"
- "@babel/generator" "^7.16.5"
- "@babel/helper-environment-visitor" "^7.16.5"
- "@babel/helper-function-name" "^7.16.0"
- "@babel/helper-hoist-variables" "^7.16.0"
- "@babel/helper-split-export-declaration" "^7.16.0"
- "@babel/parser" "^7.16.5"
- "@babel/types" "^7.16.0"
- debug "^4.1.0"
- globals "^11.1.0"
-
-"@babel/types@^7.16.0", "@babel/types@^7.4.4":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/types/-/types-7.16.0.tgz"
- integrity sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==
- dependencies:
- "@babel/helper-validator-identifier" "^7.15.7"
- to-fast-properties "^2.0.0"
-
-"@csstools/convert-colors@^1.4.0":
- version "1.4.0"
- resolved "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz"
- integrity sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==
-
-"@discoveryjs/json-ext@^0.5.0":
- version "0.5.6"
- resolved "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz"
- integrity sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==
-
-"@fortawesome/fontawesome-free@^5.15.4":
- version "5.15.4"
- resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.4.tgz#ecda5712b61ac852c760d8b3c79c96adca5554e5"
- integrity sha512-eYm8vijH/hpzr/6/1CJ/V/Eb1xQFW2nnUKArb3z+yUWv7HTwj6M7SP957oMjfZjAHU6qpoNc2wQvIxBLWYa/Jg==
-
-"@gar/promisify@^1.0.1":
- version "1.1.2"
- resolved "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.2.tgz"
- integrity sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw==
-
-"@hotwired/stimulus-webpack-helpers@^1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@hotwired/stimulus-webpack-helpers/-/stimulus-webpack-helpers-1.0.1.tgz#4cd74487adeca576c9865ac2b9fe5cb20cef16dd"
- integrity sha512-wa/zupVG0eWxRYJjC1IiPBdt3Lruv0RqGN+/DTMmUWUyMAEB27KXmVY6a8YpUVTM7QwVuaLNGW4EqDgrS2upXQ==
-
-"@hotwired/stimulus@^3.2.1":
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/@hotwired/stimulus/-/stimulus-3.2.1.tgz#e3de23623b0c52c247aba4cd5d530d257008676b"
- integrity sha512-HGlzDcf9vv/EQrMJ5ZG6VWNs8Z/xMN+1o2OhV1gKiSG6CqZt5MCBB1gRg5ILiN3U0jEAxuDTNPRfBcnZBDmupQ==
-
-"@nathanvda/cocoon@^1.2.14":
- version "1.2.14"
- resolved "https://registry.yarnpkg.com/@nathanvda/cocoon/-/cocoon-1.2.14.tgz#aaea910e4b9c0d28d5bdcb7f3743617db46b09af"
- integrity sha512-WcEt2vVp50de2i7rkD4O+96O1iMtMIcTBNGPocrHfcmHDujKOngoLHFF8Ektgoh8PjwFAJMxx8WyGv0BtKTjxQ==
- dependencies:
- jquery "^3.3.1"
-
-"@nodelib/fs.scandir@2.1.5":
- version "2.1.5"
- resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
- integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
- dependencies:
- "@nodelib/fs.stat" "2.0.5"
- run-parallel "^1.1.9"
-
-"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
- integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
-
-"@nodelib/fs.walk@^1.2.3":
- version "1.2.8"
- resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
- integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
- dependencies:
- "@nodelib/fs.scandir" "2.1.5"
- fastq "^1.6.0"
-
-"@npmcli/fs@^1.0.0":
- version "1.0.0"
- resolved "https://registry.npmjs.org/@npmcli/fs/-/fs-1.0.0.tgz"
- integrity sha512-8ltnOpRR/oJbOp8vaGUnipOi3bqkcW+sLHFlyXIr08OGHmVJLB1Hn7QtGXbYcpVtH1gAYZTlmDXtE4YV0+AMMQ==
- dependencies:
- "@gar/promisify" "^1.0.1"
- semver "^7.3.5"
-
-"@npmcli/move-file@^1.0.1":
- version "1.1.2"
- resolved "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz"
- integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==
- dependencies:
- mkdirp "^1.0.4"
- rimraf "^3.0.2"
-
-"@rails/actioncable@^6.0.0":
- version "6.1.4"
- resolved "https://registry.npmjs.org/@rails/actioncable/-/actioncable-6.1.4.tgz"
- integrity sha512-0LmSKJTuo2dL6BQ+9xxLnS9lbkyfz2mBGeBnQ2J7o9Bn0l0q+ZC6VuoZMZZXPvABI4QT7Nfknv5WhfKYL+boew==
-
-"@rails/activestorage@^6.0.0":
- version "6.1.4"
- resolved "https://registry.npmjs.org/@rails/activestorage/-/activestorage-6.1.4.tgz"
- integrity sha512-1Tm8uaVBhLTDEG4YaFPvqguhjbUGSPVItm0CfkRpIFZIkybWzFAxatIrk4YVOOxB8ZdXS7GdeYa1qVwjdiDkgQ==
- dependencies:
- spark-md5 "^3.0.0"
-
-"@rails/ujs@^6.0.0":
- version "6.1.4"
- resolved "https://registry.npmjs.org/@rails/ujs/-/ujs-6.1.4.tgz"
- integrity sha512-O3lEzL5DYbxppMdsFSw36e4BHIlfz/xusynwXGv3l2lhSlvah41qviRpsoAlKXxl37nZAqK+UUF5cnGGK45Mfw==
-
-"@rails/webpacker@5.4.3":
- version "5.4.3"
- resolved "https://registry.npmjs.org/@rails/webpacker/-/webpacker-5.4.3.tgz"
- integrity sha512-tEM8tpUtfx6FxKwcuQ9+v6pzgqM5LeAdhT6IJ4Te3BPKFO1xrGrXugqeRuZ+gE8ASDZRTOK6yuQkapOpuX5JdA==
- dependencies:
- "@babel/core" "^7.15.0"
- "@babel/plugin-proposal-class-properties" "^7.14.5"
- "@babel/plugin-proposal-object-rest-spread" "^7.14.7"
- "@babel/plugin-syntax-dynamic-import" "^7.8.3"
- "@babel/plugin-transform-destructuring" "^7.14.7"
- "@babel/plugin-transform-regenerator" "^7.14.5"
- "@babel/plugin-transform-runtime" "^7.15.0"
- "@babel/preset-env" "^7.15.0"
- "@babel/runtime" "^7.15.3"
- babel-loader "^8.2.2"
- babel-plugin-dynamic-import-node "^2.3.3"
- babel-plugin-macros "^2.8.0"
- case-sensitive-paths-webpack-plugin "^2.4.0"
- compression-webpack-plugin "^4.0.1"
- core-js "^3.16.2"
- css-loader "^3.6.0"
- file-loader "^6.2.0"
- flatted "^3.2.2"
- glob "^7.1.7"
- js-yaml "^3.14.1"
- mini-css-extract-plugin "^0.9.0"
- optimize-css-assets-webpack-plugin "^5.0.8"
- path-complete-extname "^1.0.0"
- pnp-webpack-plugin "^1.7.0"
- postcss-flexbugs-fixes "^4.2.1"
- postcss-import "^12.0.1"
- postcss-loader "^3.0.0"
- postcss-preset-env "^6.7.0"
- postcss-safe-parser "^4.0.2"
- regenerator-runtime "^0.13.9"
- sass "^1.38.0"
- sass-loader "10.1.1"
- style-loader "^1.3.0"
- terser-webpack-plugin "^4.2.3"
- webpack "^4.46.0"
- webpack-assets-manifest "^3.1.1"
- webpack-cli "^3.3.12"
- webpack-sources "^1.4.3"
-
-"@types/http-proxy@^1.17.5":
- version "1.17.7"
- resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.7.tgz#30ea85cc2c868368352a37f0d0d3581e24834c6f"
- integrity sha512-9hdj6iXH64tHSLTY+Vt2eYOGzSogC+JQ2H7bdPWkuh7KXP5qLllWx++t+K9Wk556c3dkDdPws/SpMRi0sdCT1w==
- dependencies:
- "@types/node" "*"
-
-"@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9":
- version "7.0.9"
- resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz"
- integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==
-
-"@types/node@*":
- version "16.11.12"
- resolved "https://registry.npmjs.org/@types/node/-/node-16.11.12.tgz"
- integrity sha512-+2Iggwg7PxoO5Kyhvsq9VarmPbIelXP070HMImEpbtGCoyWNINQj4wzjbQCXzdHTRXnqufutJb5KAURZANNBAw==
-
-"@types/parse-json@^4.0.0":
- version "4.0.0"
- resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz"
- integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
-
-"@types/q@^1.5.1":
- version "1.5.5"
- resolved "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz"
- integrity sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==
-
-"@types/retry@^0.12.0":
- version "0.12.1"
- resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.1.tgz#d8f1c0d0dc23afad6dc16a9e993a0865774b4065"
- integrity sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==
-
-"@webassemblyjs/ast@1.9.0":
- version "1.9.0"
- resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz"
- integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==
- dependencies:
- "@webassemblyjs/helper-module-context" "1.9.0"
- "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
- "@webassemblyjs/wast-parser" "1.9.0"
-
-"@webassemblyjs/floating-point-hex-parser@1.9.0":
- version "1.9.0"
- resolved "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz"
- integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==
-
-"@webassemblyjs/helper-api-error@1.9.0":
- version "1.9.0"
- resolved "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz"
- integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==
-
-"@webassemblyjs/helper-buffer@1.9.0":
- version "1.9.0"
- resolved "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz"
- integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==
-
-"@webassemblyjs/helper-code-frame@1.9.0":
- version "1.9.0"
- resolved "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz"
- integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==
- dependencies:
- "@webassemblyjs/wast-printer" "1.9.0"
-
-"@webassemblyjs/helper-fsm@1.9.0":
- version "1.9.0"
- resolved "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz"
- integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==
-
-"@webassemblyjs/helper-module-context@1.9.0":
- version "1.9.0"
- resolved "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz"
- integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==
- dependencies:
- "@webassemblyjs/ast" "1.9.0"
-
-"@webassemblyjs/helper-wasm-bytecode@1.9.0":
- version "1.9.0"
- resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz"
- integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==
-
-"@webassemblyjs/helper-wasm-section@1.9.0":
- version "1.9.0"
- resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz"
- integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==
- dependencies:
- "@webassemblyjs/ast" "1.9.0"
- "@webassemblyjs/helper-buffer" "1.9.0"
- "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
- "@webassemblyjs/wasm-gen" "1.9.0"
-
-"@webassemblyjs/ieee754@1.9.0":
- version "1.9.0"
- resolved "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz"
- integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==
- dependencies:
- "@xtuc/ieee754" "^1.2.0"
-
-"@webassemblyjs/leb128@1.9.0":
- version "1.9.0"
- resolved "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz"
- integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==
- dependencies:
- "@xtuc/long" "4.2.2"
-
-"@webassemblyjs/utf8@1.9.0":
- version "1.9.0"
- resolved "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz"
- integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==
-
-"@webassemblyjs/wasm-edit@1.9.0":
- version "1.9.0"
- resolved "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz"
- integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==
- dependencies:
- "@webassemblyjs/ast" "1.9.0"
- "@webassemblyjs/helper-buffer" "1.9.0"
- "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
- "@webassemblyjs/helper-wasm-section" "1.9.0"
- "@webassemblyjs/wasm-gen" "1.9.0"
- "@webassemblyjs/wasm-opt" "1.9.0"
- "@webassemblyjs/wasm-parser" "1.9.0"
- "@webassemblyjs/wast-printer" "1.9.0"
-
-"@webassemblyjs/wasm-gen@1.9.0":
- version "1.9.0"
- resolved "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz"
- integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==
- dependencies:
- "@webassemblyjs/ast" "1.9.0"
- "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
- "@webassemblyjs/ieee754" "1.9.0"
- "@webassemblyjs/leb128" "1.9.0"
- "@webassemblyjs/utf8" "1.9.0"
-
-"@webassemblyjs/wasm-opt@1.9.0":
- version "1.9.0"
- resolved "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz"
- integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==
- dependencies:
- "@webassemblyjs/ast" "1.9.0"
- "@webassemblyjs/helper-buffer" "1.9.0"
- "@webassemblyjs/wasm-gen" "1.9.0"
- "@webassemblyjs/wasm-parser" "1.9.0"
-
-"@webassemblyjs/wasm-parser@1.9.0":
- version "1.9.0"
- resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz"
- integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==
- dependencies:
- "@webassemblyjs/ast" "1.9.0"
- "@webassemblyjs/helper-api-error" "1.9.0"
- "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
- "@webassemblyjs/ieee754" "1.9.0"
- "@webassemblyjs/leb128" "1.9.0"
- "@webassemblyjs/utf8" "1.9.0"
-
-"@webassemblyjs/wast-parser@1.9.0":
- version "1.9.0"
- resolved "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz"
- integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==
- dependencies:
- "@webassemblyjs/ast" "1.9.0"
- "@webassemblyjs/floating-point-hex-parser" "1.9.0"
- "@webassemblyjs/helper-api-error" "1.9.0"
- "@webassemblyjs/helper-code-frame" "1.9.0"
- "@webassemblyjs/helper-fsm" "1.9.0"
- "@xtuc/long" "4.2.2"
-
-"@webassemblyjs/wast-printer@1.9.0":
- version "1.9.0"
- resolved "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz"
- integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==
- dependencies:
- "@webassemblyjs/ast" "1.9.0"
- "@webassemblyjs/wast-parser" "1.9.0"
- "@xtuc/long" "4.2.2"
-
-"@webpack-cli/configtest@^1.1.0":
- version "1.1.0"
- resolved "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.0.tgz"
- integrity sha512-ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg==
-
-"@webpack-cli/info@^1.4.0":
- version "1.4.0"
- resolved "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.0.tgz"
- integrity sha512-F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw==
- dependencies:
- envinfo "^7.7.3"
-
-"@webpack-cli/serve@^1.6", "@webpack-cli/serve@^1.6.0":
- version "1.6.0"
- resolved "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.0.tgz"
- integrity sha512-ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA==
-
-"@xtuc/ieee754@^1.2.0":
- version "1.2.0"
- resolved "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz"
- integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==
-
-"@xtuc/long@4.2.2":
- version "4.2.2"
- resolved "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz"
- integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==
-
-accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7:
- version "1.3.7"
- resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz"
- integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==
- dependencies:
- mime-types "~2.1.24"
- negotiator "0.6.2"
-
-acorn@^6.4.1:
- version "6.4.2"
- resolved "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz"
- integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==
-
-aggregate-error@^3.0.0:
- version "3.1.0"
- resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz"
- integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==
- dependencies:
- clean-stack "^2.0.0"
- indent-string "^4.0.0"
-
-ajv-errors@^1.0.0:
- version "1.0.1"
- resolved "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz"
- integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==
-
-ajv-formats@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520"
- integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==
- dependencies:
- ajv "^8.0.0"
-
-ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2:
- version "3.5.2"
- resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz"
- integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
-
-ajv-keywords@^5.0.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16"
- integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==
- dependencies:
- fast-deep-equal "^3.1.3"
-
-ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.4, ajv@^6.12.5:
- version "6.12.6"
- resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz"
- integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
- dependencies:
- fast-deep-equal "^3.1.1"
- fast-json-stable-stringify "^2.0.0"
- json-schema-traverse "^0.4.1"
- uri-js "^4.2.2"
-
-ajv@^8.0.0, ajv@^8.8.0:
- version "8.8.2"
- resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.8.2.tgz#01b4fef2007a28bf75f0b7fc009f62679de4abbb"
- integrity sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==
- dependencies:
- fast-deep-equal "^3.1.1"
- json-schema-traverse "^1.0.0"
- require-from-string "^2.0.2"
- uri-js "^4.2.2"
-
-alphanum-sort@^1.0.0:
- version "1.0.2"
- resolved "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz"
- integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=
-
-ansi-html-community@^0.0.8:
- version "0.0.8"
- resolved "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz"
- integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==
-
-ansi-regex@^4.1.0:
- version "4.1.0"
- resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz"
- integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==
-
-ansi-regex@^6.0.1:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a"
- integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==
-
-ansi-styles@^3.2.0, ansi-styles@^3.2.1:
- version "3.2.1"
- resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz"
- integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
- dependencies:
- color-convert "^1.9.0"
-
-anymatch@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz"
- integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==
- dependencies:
- micromatch "^3.1.4"
- normalize-path "^2.1.1"
-
-anymatch@~3.1.2:
- version "3.1.2"
- resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz"
- integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==
- dependencies:
- normalize-path "^3.0.0"
- picomatch "^2.0.4"
-
-aproba@^1.1.1:
- version "1.2.0"
- resolved "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz"
- integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
-
-argparse@^1.0.7:
- version "1.0.10"
- resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz"
- integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
- dependencies:
- sprintf-js "~1.0.2"
-
-arr-diff@^4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz"
- integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=
-
-arr-flatten@^1.1.0:
- version "1.1.0"
- resolved "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz"
- integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==
-
-arr-union@^3.1.0:
- version "3.1.0"
- resolved "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz"
- integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=
-
-array-flatten@1.1.1:
- version "1.1.1"
- resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz"
- integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=
-
-array-flatten@^2.1.0:
- version "2.1.2"
- resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz"
- integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==
-
-array-union@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
- integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
-
-array-unique@^0.3.2:
- version "0.3.2"
- resolved "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz"
- integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=
-
-asn1.js@^5.2.0:
- version "5.4.1"
- resolved "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz"
- integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==
- dependencies:
- bn.js "^4.0.0"
- inherits "^2.0.1"
- minimalistic-assert "^1.0.0"
- safer-buffer "^2.1.0"
-
-assert@^1.1.1:
- version "1.5.0"
- resolved "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz"
- integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==
- dependencies:
- object-assign "^4.1.1"
- util "0.10.3"
-
-assign-symbols@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz"
- integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=
-
-async-each@^1.0.1:
- version "1.0.3"
- resolved "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz"
- integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==
-
-async@^2.6.2:
- version "2.6.3"
- resolved "https://registry.npmjs.org/async/-/async-2.6.3.tgz"
- integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==
- dependencies:
- lodash "^4.17.14"
-
-atob@^2.1.2:
- version "2.1.2"
- resolved "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz"
- integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
-
-autoprefixer@^9.6.1:
- version "9.8.8"
- resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz"
- integrity sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==
- dependencies:
- browserslist "^4.12.0"
- caniuse-lite "^1.0.30001109"
- normalize-range "^0.1.2"
- num2fraction "^1.2.2"
- picocolors "^0.2.1"
- postcss "^7.0.32"
- postcss-value-parser "^4.1.0"
-
-babel-loader@^8.2.2, babel-loader@^8.2.3:
- version "8.2.3"
- resolved "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz"
- integrity sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==
- dependencies:
- find-cache-dir "^3.3.1"
- loader-utils "^1.4.0"
- make-dir "^3.1.0"
- schema-utils "^2.6.5"
-
-babel-plugin-dynamic-import-node@^2.3.3:
- version "2.3.3"
- resolved "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz"
- integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==
- dependencies:
- object.assign "^4.1.0"
-
-babel-plugin-macros@^2.8.0:
- version "2.8.0"
- resolved "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz"
- integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==
- dependencies:
- "@babel/runtime" "^7.7.2"
- cosmiconfig "^6.0.0"
- resolve "^1.12.0"
-
-babel-plugin-polyfill-corejs2@^0.3.0:
- version "0.3.0"
- resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.0.tgz"
- integrity sha512-wMDoBJ6uG4u4PNFh72Ty6t3EgfA91puCuAwKIazbQlci+ENb/UU9A3xG5lutjUIiXCIn1CY5L15r9LimiJyrSA==
- dependencies:
- "@babel/compat-data" "^7.13.11"
- "@babel/helper-define-polyfill-provider" "^0.3.0"
- semver "^6.1.1"
-
-babel-plugin-polyfill-corejs3@^0.4.0:
- version "0.4.0"
- resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.4.0.tgz"
- integrity sha512-YxFreYwUfglYKdLUGvIF2nJEsGwj+RhWSX/ije3D2vQPOXuyMLMtg/cCGMDpOA7Nd+MwlNdnGODbd2EwUZPlsw==
- dependencies:
- "@babel/helper-define-polyfill-provider" "^0.3.0"
- core-js-compat "^3.18.0"
-
-babel-plugin-polyfill-regenerator@^0.3.0:
- version "0.3.0"
- resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.0.tgz"
- integrity sha512-dhAPTDLGoMW5/84wkgwiLRwMnio2i1fUe53EuvtKMv0pn2p3S8OCoV1xAzfJPl0KOX7IB89s2ib85vbYiea3jg==
- dependencies:
- "@babel/helper-define-polyfill-provider" "^0.3.0"
-
-balanced-match@^1.0.0:
- version "1.0.2"
- resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz"
- integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
-
-base64-js@^1.0.2:
- version "1.5.1"
- resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz"
- integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
-
-base@^0.11.1:
- version "0.11.2"
- resolved "https://registry.npmjs.org/base/-/base-0.11.2.tgz"
- integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==
- dependencies:
- cache-base "^1.0.1"
- class-utils "^0.3.5"
- component-emitter "^1.2.1"
- define-property "^1.0.0"
- isobject "^3.0.1"
- mixin-deep "^1.2.0"
- pascalcase "^0.1.1"
-
-batch@0.6.1:
- version "0.6.1"
- resolved "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz"
- integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=
-
-big.js@^5.2.2:
- version "5.2.2"
- resolved "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz"
- integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==
-
-binary-extensions@^1.0.0:
- version "1.13.1"
- resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz"
- integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==
-
-binary-extensions@^2.0.0:
- version "2.2.0"
- resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz"
- integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
-
-bindings@^1.5.0:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df"
- integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==
- dependencies:
- file-uri-to-path "1.0.0"
-
-bluebird@^3.5.5:
- version "3.7.2"
- resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz"
- integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
-
-bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9:
- version "4.12.0"
- resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz"
- integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==
-
-bn.js@^5.0.0, bn.js@^5.1.1:
- version "5.2.0"
- resolved "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz"
- integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==
-
-body-parser@1.19.0:
- version "1.19.0"
- resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz"
- integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==
- dependencies:
- bytes "3.1.0"
- content-type "~1.0.4"
- debug "2.6.9"
- depd "~1.1.2"
- http-errors "1.7.2"
- iconv-lite "0.4.24"
- on-finished "~2.3.0"
- qs "6.7.0"
- raw-body "2.4.0"
- type-is "~1.6.17"
-
-bonjour@^3.5.0:
- version "3.5.0"
- resolved "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz"
- integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU=
- dependencies:
- array-flatten "^2.1.0"
- deep-equal "^1.0.1"
- dns-equal "^1.0.0"
- dns-txt "^2.0.2"
- multicast-dns "^6.0.1"
- multicast-dns-service-types "^1.1.0"
-
-boolbase@^1.0.0, boolbase@~1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz"
- integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24=
-
-bootstrap@^4.6.0:
- version "4.6.1"
- resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.6.1.tgz#bc25380c2c14192374e8dec07cf01b2742d222a2"
- integrity sha512-0dj+VgI9Ecom+rvvpNZ4MUZJz8dcX7WCX+eTID9+/8HgOkv3dsRzi8BGeZJCQU6flWQVYxwTQnEZFrmJSEO7og==
-
-brace-expansion@^1.1.7:
- version "1.1.11"
- resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz"
- integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
- dependencies:
- balanced-match "^1.0.0"
- concat-map "0.0.1"
-
-braces@^2.3.1, braces@^2.3.2:
- version "2.3.2"
- resolved "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz"
- integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==
- dependencies:
- arr-flatten "^1.1.0"
- array-unique "^0.3.2"
- extend-shallow "^2.0.1"
- fill-range "^4.0.0"
- isobject "^3.0.1"
- repeat-element "^1.1.2"
- snapdragon "^0.8.1"
- snapdragon-node "^2.0.1"
- split-string "^3.0.2"
- to-regex "^3.0.1"
-
-braces@^3.0.1, braces@~3.0.2:
- version "3.0.2"
- resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz"
- integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
- dependencies:
- fill-range "^7.0.1"
-
-brorand@^1.0.1, brorand@^1.1.0:
- version "1.1.0"
- resolved "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz"
- integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=
-
-browserify-aes@^1.0.0, browserify-aes@^1.0.4:
- version "1.2.0"
- resolved "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz"
- integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==
- dependencies:
- buffer-xor "^1.0.3"
- cipher-base "^1.0.0"
- create-hash "^1.1.0"
- evp_bytestokey "^1.0.3"
- inherits "^2.0.1"
- safe-buffer "^5.0.1"
-
-browserify-cipher@^1.0.0:
- version "1.0.1"
- resolved "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz"
- integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==
- dependencies:
- browserify-aes "^1.0.4"
- browserify-des "^1.0.0"
- evp_bytestokey "^1.0.0"
-
-browserify-des@^1.0.0:
- version "1.0.2"
- resolved "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz"
- integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==
- dependencies:
- cipher-base "^1.0.1"
- des.js "^1.0.0"
- inherits "^2.0.1"
- safe-buffer "^5.1.2"
-
-browserify-rsa@^4.0.0, browserify-rsa@^4.0.1:
- version "4.1.0"
- resolved "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz"
- integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==
- dependencies:
- bn.js "^5.0.0"
- randombytes "^2.0.1"
-
-browserify-sign@^4.0.0:
- version "4.2.1"
- resolved "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz"
- integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==
- dependencies:
- bn.js "^5.1.1"
- browserify-rsa "^4.0.1"
- create-hash "^1.2.0"
- create-hmac "^1.1.7"
- elliptic "^6.5.3"
- inherits "^2.0.4"
- parse-asn1 "^5.1.5"
- readable-stream "^3.6.0"
- safe-buffer "^5.2.0"
-
-browserify-zlib@^0.2.0:
- version "0.2.0"
- resolved "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz"
- integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==
- dependencies:
- pako "~1.0.5"
-
-browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.17.5, browserslist@^4.18.1, browserslist@^4.6.4:
- version "4.18.1"
- resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.18.1.tgz"
- integrity sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ==
- dependencies:
- caniuse-lite "^1.0.30001280"
- electron-to-chromium "^1.3.896"
- escalade "^3.1.1"
- node-releases "^2.0.1"
- picocolors "^1.0.0"
-
-buffer-from@^1.0.0:
- version "1.1.2"
- resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz"
- integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
-
-buffer-indexof@^1.0.0:
- version "1.1.1"
- resolved "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz"
- integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==
-
-buffer-xor@^1.0.3:
- version "1.0.3"
- resolved "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz"
- integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=
-
-buffer@^4.3.0:
- version "4.9.2"
- resolved "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz"
- integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==
- dependencies:
- base64-js "^1.0.2"
- ieee754 "^1.1.4"
- isarray "^1.0.0"
-
-builtin-status-codes@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz"
- integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=
-
-bytes@3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz"
- integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=
-
-bytes@3.1.0:
- version "3.1.0"
- resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz"
- integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==
-
-cacache@^12.0.2:
- version "12.0.4"
- resolved "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz"
- integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==
- dependencies:
- bluebird "^3.5.5"
- chownr "^1.1.1"
- figgy-pudding "^3.5.1"
- glob "^7.1.4"
- graceful-fs "^4.1.15"
- infer-owner "^1.0.3"
- lru-cache "^5.1.1"
- mississippi "^3.0.0"
- mkdirp "^0.5.1"
- move-concurrently "^1.0.1"
- promise-inflight "^1.0.1"
- rimraf "^2.6.3"
- ssri "^6.0.1"
- unique-filename "^1.1.1"
- y18n "^4.0.0"
-
-cacache@^15.0.5:
- version "15.3.0"
- resolved "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz"
- integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==
- dependencies:
- "@npmcli/fs" "^1.0.0"
- "@npmcli/move-file" "^1.0.1"
- chownr "^2.0.0"
- fs-minipass "^2.0.0"
- glob "^7.1.4"
- infer-owner "^1.0.4"
- lru-cache "^6.0.0"
- minipass "^3.1.1"
- minipass-collect "^1.0.2"
- minipass-flush "^1.0.5"
- minipass-pipeline "^1.2.2"
- mkdirp "^1.0.3"
- p-map "^4.0.0"
- promise-inflight "^1.0.1"
- rimraf "^3.0.2"
- ssri "^8.0.1"
- tar "^6.0.2"
- unique-filename "^1.1.1"
-
-cache-base@^1.0.1:
- version "1.0.1"
- resolved "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz"
- integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==
- dependencies:
- collection-visit "^1.0.0"
- component-emitter "^1.2.1"
- get-value "^2.0.6"
- has-value "^1.0.0"
- isobject "^3.0.1"
- set-value "^2.0.0"
- to-object-path "^0.3.0"
- union-value "^1.0.0"
- unset-value "^1.0.0"
-
-call-bind@^1.0.0, call-bind@^1.0.2:
- version "1.0.2"
- resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz"
- integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==
- dependencies:
- function-bind "^1.1.1"
- get-intrinsic "^1.0.2"
-
-caller-callsite@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz"
- integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=
- dependencies:
- callsites "^2.0.0"
-
-caller-path@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz"
- integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=
- dependencies:
- caller-callsite "^2.0.0"
-
-callsites@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz"
- integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=
-
-callsites@^3.0.0:
- version "3.1.0"
- resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz"
- integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
-
-camelcase@^5.0.0, camelcase@^5.3.1:
- version "5.3.1"
- resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz"
- integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
-
-caniuse-api@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz"
- integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==
- dependencies:
- browserslist "^4.0.0"
- caniuse-lite "^1.0.0"
- lodash.memoize "^4.1.2"
- lodash.uniq "^4.5.0"
-
-caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001280:
- version "1.0.30001429"
- resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001429.tgz"
- integrity sha512-511ThLu1hF+5RRRt0zYCf2U2yRr9GPF6m5y90SBCWsvSoYoW7yAGlv/elyPaNfvGCkp6kj/KFZWU0BMA69Prsg==
-
-case-sensitive-paths-webpack-plugin@^2.4.0:
- version "2.4.0"
- resolved "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz"
- integrity sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==
-
-chalk@^2.0, chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2:
- version "2.4.2"
- resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz"
- integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
- dependencies:
- ansi-styles "^3.2.1"
- escape-string-regexp "^1.0.5"
- supports-color "^5.3.0"
-
-"chokidar@>=3.0.0 <4.0.0", chokidar@^3.4.1, chokidar@^3.5.2:
- version "3.5.2"
- resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz"
- integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==
- dependencies:
- anymatch "~3.1.2"
- braces "~3.0.2"
- glob-parent "~5.1.2"
- is-binary-path "~2.1.0"
- is-glob "~4.0.1"
- normalize-path "~3.0.0"
- readdirp "~3.6.0"
- optionalDependencies:
- fsevents "~2.3.2"
-
-chokidar@^2.1.8:
- version "2.1.8"
- resolved "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz"
- integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==
- dependencies:
- anymatch "^2.0.0"
- async-each "^1.0.1"
- braces "^2.3.2"
- glob-parent "^3.1.0"
- inherits "^2.0.3"
- is-binary-path "^1.0.0"
- is-glob "^4.0.0"
- normalize-path "^3.0.0"
- path-is-absolute "^1.0.0"
- readdirp "^2.2.1"
- upath "^1.1.1"
- optionalDependencies:
- fsevents "^1.2.7"
-
-chownr@^1.1.1:
- version "1.1.4"
- resolved "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz"
- integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==
-
-chownr@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz"
- integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==
-
-chrome-trace-event@^1.0.2:
- version "1.0.3"
- resolved "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz"
- integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==
-
-cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
- version "1.0.4"
- resolved "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz"
- integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==
- dependencies:
- inherits "^2.0.1"
- safe-buffer "^5.0.1"
-
-class-utils@^0.3.5:
- version "0.3.6"
- resolved "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz"
- integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==
- dependencies:
- arr-union "^3.1.0"
- define-property "^0.2.5"
- isobject "^3.0.0"
- static-extend "^0.1.1"
-
-clean-stack@^2.0.0:
- version "2.2.0"
- resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz"
- integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==
-
-cliui@^5.0.0:
- version "5.0.0"
- resolved "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz"
- integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==
- dependencies:
- string-width "^3.1.0"
- strip-ansi "^5.2.0"
- wrap-ansi "^5.1.0"
-
-clone-deep@^4.0.1:
- version "4.0.1"
- resolved "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz"
- integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==
- dependencies:
- is-plain-object "^2.0.4"
- kind-of "^6.0.2"
- shallow-clone "^3.0.0"
-
-coa@^2.0.2:
- version "2.0.2"
- resolved "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz"
- integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==
- dependencies:
- "@types/q" "^1.5.1"
- chalk "^2.4.1"
- q "^1.1.2"
-
-collection-visit@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz"
- integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=
- dependencies:
- map-visit "^1.0.0"
- object-visit "^1.0.0"
-
-color-convert@^1.9.0, color-convert@^1.9.3:
- version "1.9.3"
- resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz"
- integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
- dependencies:
- color-name "1.1.3"
-
-color-name@1.1.3:
- version "1.1.3"
- resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"
- integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
-
-color-name@^1.0.0:
- version "1.1.4"
- resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
- integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
-
-color-string@^1.6.0:
- version "1.9.0"
- resolved "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz"
- integrity sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==
- dependencies:
- color-name "^1.0.0"
- simple-swizzle "^0.2.2"
-
-color@^3.0.0:
- version "3.2.1"
- resolved "https://registry.npmjs.org/color/-/color-3.2.1.tgz"
- integrity sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==
- dependencies:
- color-convert "^1.9.3"
- color-string "^1.6.0"
-
-colorette@^2.0.10, colorette@^2.0.14:
- version "2.0.16"
- resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz"
- integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==
-
-commander@^2.20.0:
- version "2.20.3"
- resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz"
- integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
-
-commander@^7.0.0:
- version "7.2.0"
- resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz"
- integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==
-
-commondir@^1.0.1:
- version "1.0.1"
- resolved "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz"
- integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=
-
-component-emitter@^1.2.1:
- version "1.3.0"
- resolved "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz"
- integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==
-
-compressible@~2.0.16:
- version "2.0.18"
- resolved "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz"
- integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==
- dependencies:
- mime-db ">= 1.43.0 < 2"
-
-compression-webpack-plugin@^4.0.1:
- version "4.0.1"
- resolved "https://registry.npmjs.org/compression-webpack-plugin/-/compression-webpack-plugin-4.0.1.tgz"
- integrity sha512-0mg6PgwTsUe5LEcUrOu3ob32vraDx2VdbMGAT1PARcOV+UJWDYZFdkSo6RbHoGQ061mmmkC7XpRKOlvwm/gzJQ==
- dependencies:
- cacache "^15.0.5"
- find-cache-dir "^3.3.1"
- schema-utils "^2.7.0"
- serialize-javascript "^4.0.0"
- webpack-sources "^1.4.3"
-
-compression@^1.7.4:
- version "1.7.4"
- resolved "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz"
- integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==
- dependencies:
- accepts "~1.3.5"
- bytes "3.0.0"
- compressible "~2.0.16"
- debug "2.6.9"
- on-headers "~1.0.2"
- safe-buffer "5.1.2"
- vary "~1.1.2"
-
-concat-map@0.0.1:
- version "0.0.1"
- resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
- integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
-
-concat-stream@^1.5.0:
- version "1.6.2"
- resolved "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz"
- integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
- dependencies:
- buffer-from "^1.0.0"
- inherits "^2.0.3"
- readable-stream "^2.2.2"
- typedarray "^0.0.6"
-
-connect-history-api-fallback@^1.6.0:
- version "1.6.0"
- resolved "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz"
- integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==
-
-console-browserify@^1.1.0:
- version "1.2.0"
- resolved "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz"
- integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==
-
-constants-browserify@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz"
- integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=
-
-content-disposition@0.5.3:
- version "0.5.3"
- resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz"
- integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==
- dependencies:
- safe-buffer "5.1.2"
-
-content-type@~1.0.4:
- version "1.0.4"
- resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz"
- integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
-
-convert-source-map@^1.7.0:
- version "1.8.0"
- resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz"
- integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==
- dependencies:
- safe-buffer "~5.1.1"
-
-cookie-signature@1.0.6:
- version "1.0.6"
- resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz"
- integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw=
-
-cookie@0.4.0:
- version "0.4.0"
- resolved "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz"
- integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==
-
-copy-concurrently@^1.0.0:
- version "1.0.5"
- resolved "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz"
- integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==
- dependencies:
- aproba "^1.1.1"
- fs-write-stream-atomic "^1.0.8"
- iferr "^0.1.5"
- mkdirp "^0.5.1"
- rimraf "^2.5.4"
- run-queue "^1.0.0"
-
-copy-descriptor@^0.1.0:
- version "0.1.1"
- resolved "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz"
- integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
-
-core-js-compat@^3.18.0, core-js-compat@^3.19.1:
- version "3.19.3"
- resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.19.3.tgz"
- integrity sha512-59tYzuWgEEVU9r+SRgceIGXSSUn47JknoiXW6Oq7RW8QHjXWz3/vp8pa7dbtuVu40sewz3OP3JmQEcDdztrLhA==
- dependencies:
- browserslist "^4.18.1"
- semver "7.0.0"
-
-core-js@^3.16.2:
- version "3.19.3"
- resolved "https://registry.npmjs.org/core-js/-/core-js-3.19.3.tgz"
- integrity sha512-LeLBMgEGSsG7giquSzvgBrTS7V5UL6ks3eQlUSbN8dJStlLFiRzUm5iqsRyzUB8carhfKjkJ2vzKqE6z1Vga9g==
-
-core-util-is@~1.0.0:
- version "1.0.3"
- resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz"
- integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
-
-cosmiconfig@^5.0.0:
- version "5.2.1"
- resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz"
- integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==
- dependencies:
- import-fresh "^2.0.0"
- is-directory "^0.3.1"
- js-yaml "^3.13.1"
- parse-json "^4.0.0"
-
-cosmiconfig@^6.0.0:
- version "6.0.0"
- resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz"
- integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==
- dependencies:
- "@types/parse-json" "^4.0.0"
- import-fresh "^3.1.0"
- parse-json "^5.0.0"
- path-type "^4.0.0"
- yaml "^1.7.2"
-
-create-ecdh@^4.0.0:
- version "4.0.4"
- resolved "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz"
- integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==
- dependencies:
- bn.js "^4.1.0"
- elliptic "^6.5.3"
-
-create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0:
- version "1.2.0"
- resolved "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz"
- integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==
- dependencies:
- cipher-base "^1.0.1"
- inherits "^2.0.1"
- md5.js "^1.3.4"
- ripemd160 "^2.0.1"
- sha.js "^2.4.0"
-
-create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7:
- version "1.1.7"
- resolved "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz"
- integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==
- dependencies:
- cipher-base "^1.0.3"
- create-hash "^1.1.0"
- inherits "^2.0.1"
- ripemd160 "^2.0.0"
- safe-buffer "^5.0.1"
- sha.js "^2.4.8"
-
-cross-spawn@^6.0.5:
- version "6.0.5"
- resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz"
- integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
- dependencies:
- nice-try "^1.0.4"
- path-key "^2.0.1"
- semver "^5.5.0"
- shebang-command "^1.2.0"
- which "^1.2.9"
-
-cross-spawn@^7.0.3:
- version "7.0.3"
- resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz"
- integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
- dependencies:
- path-key "^3.1.0"
- shebang-command "^2.0.0"
- which "^2.0.1"
-
-crypto-browserify@^3.11.0:
- version "3.12.0"
- resolved "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz"
- integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==
- dependencies:
- browserify-cipher "^1.0.0"
- browserify-sign "^4.0.0"
- create-ecdh "^4.0.0"
- create-hash "^1.1.0"
- create-hmac "^1.1.0"
- diffie-hellman "^5.0.0"
- inherits "^2.0.1"
- pbkdf2 "^3.0.3"
- public-encrypt "^4.0.0"
- randombytes "^2.0.0"
- randomfill "^1.0.3"
-
-css-blank-pseudo@^0.1.4:
- version "0.1.4"
- resolved "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz"
- integrity sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w==
- dependencies:
- postcss "^7.0.5"
-
-css-color-names@0.0.4, css-color-names@^0.0.4:
- version "0.0.4"
- resolved "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz"
- integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=
-
-css-declaration-sorter@^4.0.1:
- version "4.0.1"
- resolved "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz"
- integrity sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==
- dependencies:
- postcss "^7.0.1"
- timsort "^0.3.0"
-
-css-has-pseudo@^0.10.0:
- version "0.10.0"
- resolved "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz"
- integrity sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ==
- dependencies:
- postcss "^7.0.6"
- postcss-selector-parser "^5.0.0-rc.4"
-
-css-loader@^3.6.0:
- version "3.6.0"
- resolved "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz"
- integrity sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==
- dependencies:
- camelcase "^5.3.1"
- cssesc "^3.0.0"
- icss-utils "^4.1.1"
- loader-utils "^1.2.3"
- normalize-path "^3.0.0"
- postcss "^7.0.32"
- postcss-modules-extract-imports "^2.0.0"
- postcss-modules-local-by-default "^3.0.2"
- postcss-modules-scope "^2.2.0"
- postcss-modules-values "^3.0.0"
- postcss-value-parser "^4.1.0"
- schema-utils "^2.7.0"
- semver "^6.3.0"
-
-css-prefers-color-scheme@^3.1.1:
- version "3.1.1"
- resolved "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz"
- integrity sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg==
- dependencies:
- postcss "^7.0.5"
-
-css-select-base-adapter@^0.1.1:
- version "0.1.1"
- resolved "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz"
- integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==
-
-css-select@^2.0.0:
- version "2.1.0"
- resolved "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz"
- integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==
- dependencies:
- boolbase "^1.0.0"
- css-what "^3.2.1"
- domutils "^1.7.0"
- nth-check "^1.0.2"
-
-css-tree@1.0.0-alpha.37:
- version "1.0.0-alpha.37"
- resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz"
- integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==
- dependencies:
- mdn-data "2.0.4"
- source-map "^0.6.1"
-
-css-tree@^1.1.2:
- version "1.1.3"
- resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz"
- integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==
- dependencies:
- mdn-data "2.0.14"
- source-map "^0.6.1"
-
-css-what@^3.2.1:
- version "3.4.2"
- resolved "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz"
- integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==
-
-cssdb@^4.4.0:
- version "4.4.0"
- resolved "https://registry.npmjs.org/cssdb/-/cssdb-4.4.0.tgz"
- integrity sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ==
-
-cssesc@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz"
- integrity sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==
-
-cssesc@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz"
- integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
-
-cssnano-preset-default@^4.0.8:
- version "4.0.8"
- resolved "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz"
- integrity sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==
- dependencies:
- css-declaration-sorter "^4.0.1"
- cssnano-util-raw-cache "^4.0.1"
- postcss "^7.0.0"
- postcss-calc "^7.0.1"
- postcss-colormin "^4.0.3"
- postcss-convert-values "^4.0.1"
- postcss-discard-comments "^4.0.2"
- postcss-discard-duplicates "^4.0.2"
- postcss-discard-empty "^4.0.1"
- postcss-discard-overridden "^4.0.1"
- postcss-merge-longhand "^4.0.11"
- postcss-merge-rules "^4.0.3"
- postcss-minify-font-values "^4.0.2"
- postcss-minify-gradients "^4.0.2"
- postcss-minify-params "^4.0.2"
- postcss-minify-selectors "^4.0.2"
- postcss-normalize-charset "^4.0.1"
- postcss-normalize-display-values "^4.0.2"
- postcss-normalize-positions "^4.0.2"
- postcss-normalize-repeat-style "^4.0.2"
- postcss-normalize-string "^4.0.2"
- postcss-normalize-timing-functions "^4.0.2"
- postcss-normalize-unicode "^4.0.1"
- postcss-normalize-url "^4.0.1"
- postcss-normalize-whitespace "^4.0.2"
- postcss-ordered-values "^4.1.2"
- postcss-reduce-initial "^4.0.3"
- postcss-reduce-transforms "^4.0.2"
- postcss-svgo "^4.0.3"
- postcss-unique-selectors "^4.0.1"
-
-cssnano-util-get-arguments@^4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz"
- integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=
-
-cssnano-util-get-match@^4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz"
- integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=
-
-cssnano-util-raw-cache@^4.0.1:
- version "4.0.1"
- resolved "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz"
- integrity sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==
- dependencies:
- postcss "^7.0.0"
-
-cssnano-util-same-parent@^4.0.0:
- version "4.0.1"
- resolved "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz"
- integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==
-
-cssnano@^4.1.10:
- version "4.1.11"
- resolved "https://registry.npmjs.org/cssnano/-/cssnano-4.1.11.tgz"
- integrity sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==
- dependencies:
- cosmiconfig "^5.0.0"
- cssnano-preset-default "^4.0.8"
- is-resolvable "^1.0.0"
- postcss "^7.0.0"
-
-csso@^4.0.2:
- version "4.2.0"
- resolved "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz"
- integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==
- dependencies:
- css-tree "^1.1.2"
-
-cyclist@^1.0.1:
- version "1.0.1"
- resolved "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz"
- integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=
-
-debug@2.6.9, debug@^2.2.0, debug@^2.3.3:
- version "2.6.9"
- resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
- integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
- dependencies:
- ms "2.0.0"
-
-debug@^3.1.1:
- version "3.2.7"
- resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz"
- integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==
- dependencies:
- ms "^2.1.1"
-
-debug@^4.1.0, debug@^4.1.1:
- version "4.3.3"
- resolved "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz"
- integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==
- dependencies:
- ms "2.1.2"
-
-decamelize@^1.2.0:
- version "1.2.0"
- resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz"
- integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
-
-decode-uri-component@^0.2.0:
- version "0.2.0"
- resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz"
- integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=
-
-deep-equal@^1.0.1:
- version "1.1.1"
- resolved "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz"
- integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==
- dependencies:
- is-arguments "^1.0.4"
- is-date-object "^1.0.1"
- is-regex "^1.0.4"
- object-is "^1.0.1"
- object-keys "^1.1.1"
- regexp.prototype.flags "^1.2.0"
-
-default-gateway@^6.0.3:
- version "6.0.3"
- resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-6.0.3.tgz#819494c888053bdb743edbf343d6cdf7f2943a71"
- integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==
- dependencies:
- execa "^5.0.0"
-
-define-lazy-prop@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f"
- integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==
-
-define-properties@^1.1.3:
- version "1.1.3"
- resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz"
- integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==
- dependencies:
- object-keys "^1.0.12"
-
-define-property@^0.2.5:
- version "0.2.5"
- resolved "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz"
- integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=
- dependencies:
- is-descriptor "^0.1.0"
-
-define-property@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz"
- integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY=
- dependencies:
- is-descriptor "^1.0.0"
-
-define-property@^2.0.2:
- version "2.0.2"
- resolved "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz"
- integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==
- dependencies:
- is-descriptor "^1.0.2"
- isobject "^3.0.1"
-
-del@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/del/-/del-6.0.0.tgz#0b40d0332cea743f1614f818be4feb717714c952"
- integrity sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==
- dependencies:
- globby "^11.0.1"
- graceful-fs "^4.2.4"
- is-glob "^4.0.1"
- is-path-cwd "^2.2.0"
- is-path-inside "^3.0.2"
- p-map "^4.0.0"
- rimraf "^3.0.2"
- slash "^3.0.0"
-
-depd@~1.1.2:
- version "1.1.2"
- resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz"
- integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=
-
-des.js@^1.0.0:
- version "1.0.1"
- resolved "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz"
- integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==
- dependencies:
- inherits "^2.0.1"
- minimalistic-assert "^1.0.0"
-
-destroy@~1.0.4:
- version "1.0.4"
- resolved "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz"
- integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=
-
-detect-file@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz"
- integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=
-
-detect-node@^2.0.4:
- version "2.1.0"
- resolved "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz"
- integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==
-
-diffie-hellman@^5.0.0:
- version "5.0.3"
- resolved "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz"
- integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==
- dependencies:
- bn.js "^4.1.0"
- miller-rabin "^4.0.0"
- randombytes "^2.0.0"
-
-dir-glob@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
- integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==
- dependencies:
- path-type "^4.0.0"
-
-dns-equal@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz"
- integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0=
-
-dns-packet@^1.3.1:
- version "1.3.4"
- resolved "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz"
- integrity sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==
- dependencies:
- ip "^1.1.0"
- safe-buffer "^5.0.1"
-
-dns-txt@^2.0.2:
- version "2.0.2"
- resolved "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz"
- integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=
- dependencies:
- buffer-indexof "^1.0.0"
-
-dom-serializer@0:
- version "0.2.2"
- resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz"
- integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==
- dependencies:
- domelementtype "^2.0.1"
- entities "^2.0.0"
-
-domain-browser@^1.1.1:
- version "1.2.0"
- resolved "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz"
- integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==
-
-domelementtype@1:
- version "1.3.1"
- resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz"
- integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==
-
-domelementtype@^2.0.1:
- version "2.2.0"
- resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz"
- integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==
-
-domutils@^1.7.0:
- version "1.7.0"
- resolved "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz"
- integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==
- dependencies:
- dom-serializer "0"
- domelementtype "1"
-
-dot-prop@^5.2.0:
- version "5.3.0"
- resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz"
- integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==
- dependencies:
- is-obj "^2.0.0"
-
-duplexify@^3.4.2, duplexify@^3.6.0:
- version "3.7.1"
- resolved "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz"
- integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==
- dependencies:
- end-of-stream "^1.0.0"
- inherits "^2.0.1"
- readable-stream "^2.0.0"
- stream-shift "^1.0.0"
-
-ee-first@1.1.1:
- version "1.1.1"
- resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz"
- integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
-
-electron-to-chromium@^1.3.896:
- version "1.4.14"
- resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.14.tgz"
- integrity sha512-RsGkAN9JEAYMObS72kzUsPPcPGMqX1rBqGuXi9aa4TBKLzICoLf+DAAtd0fVFzrniJqYzpby47gthCUoObfs0Q==
-
-elliptic@^6.5.3:
- version "6.5.4"
- resolved "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz"
- integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==
- dependencies:
- bn.js "^4.11.9"
- brorand "^1.1.0"
- hash.js "^1.0.0"
- hmac-drbg "^1.0.1"
- inherits "^2.0.4"
- minimalistic-assert "^1.0.1"
- minimalistic-crypto-utils "^1.0.1"
-
-emoji-regex@^7.0.1:
- version "7.0.3"
- resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz"
- integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
-
-emojis-list@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz"
- integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==
-
-encodeurl@~1.0.2:
- version "1.0.2"
- resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz"
- integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=
-
-end-of-stream@^1.0.0, end-of-stream@^1.1.0:
- version "1.4.4"
- resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz"
- integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
- dependencies:
- once "^1.4.0"
-
-enhanced-resolve@^4.1.1, enhanced-resolve@^4.5.0:
- version "4.5.0"
- resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz"
- integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==
- dependencies:
- graceful-fs "^4.1.2"
- memory-fs "^0.5.0"
- tapable "^1.0.0"
-
-entities@^2.0.0:
- version "2.2.0"
- resolved "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz"
- integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==
-
-envinfo@^7.7.3:
- version "7.8.1"
- resolved "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz"
- integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==
-
-errno@^0.1.3, errno@~0.1.7:
- version "0.1.8"
- resolved "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz"
- integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==
- dependencies:
- prr "~1.0.1"
-
-error-ex@^1.3.1:
- version "1.3.2"
- resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz"
- integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
- dependencies:
- is-arrayish "^0.2.1"
-
-es-abstract@^1.17.2, es-abstract@^1.19.1:
- version "1.19.1"
- resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz"
- integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==
- dependencies:
- call-bind "^1.0.2"
- es-to-primitive "^1.2.1"
- function-bind "^1.1.1"
- get-intrinsic "^1.1.1"
- get-symbol-description "^1.0.0"
- has "^1.0.3"
- has-symbols "^1.0.2"
- internal-slot "^1.0.3"
- is-callable "^1.2.4"
- is-negative-zero "^2.0.1"
- is-regex "^1.1.4"
- is-shared-array-buffer "^1.0.1"
- is-string "^1.0.7"
- is-weakref "^1.0.1"
- object-inspect "^1.11.0"
- object-keys "^1.1.1"
- object.assign "^4.1.2"
- string.prototype.trimend "^1.0.4"
- string.prototype.trimstart "^1.0.4"
- unbox-primitive "^1.0.1"
-
-es-to-primitive@^1.2.1:
- version "1.2.1"
- resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz"
- integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==
- dependencies:
- is-callable "^1.1.4"
- is-date-object "^1.0.1"
- is-symbol "^1.0.2"
-
-escalade@^3.1.1:
- version "3.1.1"
- resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz"
- integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
-
-escape-html@~1.0.3:
- version "1.0.3"
- resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz"
- integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=
-
-escape-string-regexp@^1.0.5:
- version "1.0.5"
- resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
- integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
-
-eslint-scope@^4.0.3:
- version "4.0.3"
- resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz"
- integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==
- dependencies:
- esrecurse "^4.1.0"
- estraverse "^4.1.1"
-
-esprima@^4.0.0:
- version "4.0.1"
- resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz"
- integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
-
-esrecurse@^4.1.0:
- version "4.3.0"
- resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz"
- integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
- dependencies:
- estraverse "^5.2.0"
-
-estraverse@^4.1.1:
- version "4.3.0"
- resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz"
- integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
-
-estraverse@^5.2.0:
- version "5.3.0"
- resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz"
- integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
-
-esutils@^2.0.2:
- version "2.0.3"
- resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz"
- integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
-
-etag@~1.8.1:
- version "1.8.1"
- resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz"
- integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=
-
-eventemitter3@^4.0.0:
- version "4.0.7"
- resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz"
- integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==
-
-events@^3.0.0:
- version "3.3.0"
- resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz"
- integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
-
-evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:
- version "1.0.3"
- resolved "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz"
- integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==
- dependencies:
- md5.js "^1.3.4"
- safe-buffer "^5.1.1"
-
-execa@^5.0.0:
- version "5.1.1"
- resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz"
- integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==
- dependencies:
- cross-spawn "^7.0.3"
- get-stream "^6.0.0"
- human-signals "^2.1.0"
- is-stream "^2.0.0"
- merge-stream "^2.0.0"
- npm-run-path "^4.0.1"
- onetime "^5.1.2"
- signal-exit "^3.0.3"
- strip-final-newline "^2.0.0"
-
-expand-brackets@^2.1.4:
- version "2.1.4"
- resolved "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz"
- integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI=
- dependencies:
- debug "^2.3.3"
- define-property "^0.2.5"
- extend-shallow "^2.0.1"
- posix-character-classes "^0.1.0"
- regex-not "^1.0.0"
- snapdragon "^0.8.1"
- to-regex "^3.0.1"
-
-expand-tilde@^2.0.0, expand-tilde@^2.0.2:
- version "2.0.2"
- resolved "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz"
- integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=
- dependencies:
- homedir-polyfill "^1.0.1"
-
-express@^4.17.1:
- version "4.17.1"
- resolved "https://registry.npmjs.org/express/-/express-4.17.1.tgz"
- integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==
- dependencies:
- accepts "~1.3.7"
- array-flatten "1.1.1"
- body-parser "1.19.0"
- content-disposition "0.5.3"
- content-type "~1.0.4"
- cookie "0.4.0"
- cookie-signature "1.0.6"
- debug "2.6.9"
- depd "~1.1.2"
- encodeurl "~1.0.2"
- escape-html "~1.0.3"
- etag "~1.8.1"
- finalhandler "~1.1.2"
- fresh "0.5.2"
- merge-descriptors "1.0.1"
- methods "~1.1.2"
- on-finished "~2.3.0"
- parseurl "~1.3.3"
- path-to-regexp "0.1.7"
- proxy-addr "~2.0.5"
- qs "6.7.0"
- range-parser "~1.2.1"
- safe-buffer "5.1.2"
- send "0.17.1"
- serve-static "1.14.1"
- setprototypeof "1.1.1"
- statuses "~1.5.0"
- type-is "~1.6.18"
- utils-merge "1.0.1"
- vary "~1.1.2"
-
-extend-shallow@^2.0.1:
- version "2.0.1"
- resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz"
- integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=
- dependencies:
- is-extendable "^0.1.0"
-
-extend-shallow@^3.0.0, extend-shallow@^3.0.2:
- version "3.0.2"
- resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz"
- integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=
- dependencies:
- assign-symbols "^1.0.0"
- is-extendable "^1.0.1"
-
-extglob@^2.0.4:
- version "2.0.4"
- resolved "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz"
- integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==
- dependencies:
- array-unique "^0.3.2"
- define-property "^1.0.0"
- expand-brackets "^2.1.4"
- extend-shallow "^2.0.1"
- fragment-cache "^0.2.1"
- regex-not "^1.0.0"
- snapdragon "^0.8.1"
- to-regex "^3.0.1"
-
-fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
- version "3.1.3"
- resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz"
- integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
-
-fast-glob@^3.1.1:
- version "3.2.7"
- resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1"
- integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==
- dependencies:
- "@nodelib/fs.stat" "^2.0.2"
- "@nodelib/fs.walk" "^1.2.3"
- glob-parent "^5.1.2"
- merge2 "^1.3.0"
- micromatch "^4.0.4"
-
-fast-json-stable-stringify@^2.0.0:
- version "2.1.0"
- resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz"
- integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
-
-fastest-levenshtein@^1.0.12:
- version "1.0.12"
- resolved "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz"
- integrity sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==
-
-fastq@^1.6.0:
- version "1.13.0"
- resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c"
- integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==
- dependencies:
- reusify "^1.0.4"
-
-faye-websocket@^0.11.3:
- version "0.11.4"
- resolved "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz"
- integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==
- dependencies:
- websocket-driver ">=0.5.1"
-
-figgy-pudding@^3.5.1:
- version "3.5.2"
- resolved "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz"
- integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==
-
-file-loader@^6.2.0:
- version "6.2.0"
- resolved "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz"
- integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==
- dependencies:
- loader-utils "^2.0.0"
- schema-utils "^3.0.0"
-
-file-uri-to-path@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd"
- integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==
-
-fill-range@^4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz"
- integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=
- dependencies:
- extend-shallow "^2.0.1"
- is-number "^3.0.0"
- repeat-string "^1.6.1"
- to-regex-range "^2.1.0"
-
-fill-range@^7.0.1:
- version "7.0.1"
- resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz"
- integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
- dependencies:
- to-regex-range "^5.0.1"
-
-finalhandler@~1.1.2:
- version "1.1.2"
- resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz"
- integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==
- dependencies:
- debug "2.6.9"
- encodeurl "~1.0.2"
- escape-html "~1.0.3"
- on-finished "~2.3.0"
- parseurl "~1.3.3"
- statuses "~1.5.0"
- unpipe "~1.0.0"
-
-find-cache-dir@^2.1.0:
- version "2.1.0"
- resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz"
- integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==
- dependencies:
- commondir "^1.0.1"
- make-dir "^2.0.0"
- pkg-dir "^3.0.0"
-
-find-cache-dir@^3.3.1:
- version "3.3.2"
- resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz"
- integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==
- dependencies:
- commondir "^1.0.1"
- make-dir "^3.0.2"
- pkg-dir "^4.1.0"
-
-find-up@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz"
- integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==
- dependencies:
- locate-path "^3.0.0"
-
-find-up@^4.0.0:
- version "4.1.0"
- resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz"
- integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
- dependencies:
- locate-path "^5.0.0"
- path-exists "^4.0.0"
-
-findup-sync@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz"
- integrity sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==
- dependencies:
- detect-file "^1.0.0"
- is-glob "^4.0.0"
- micromatch "^3.0.4"
- resolve-dir "^1.0.1"
-
-flatpickr@^4.6.9:
- version "4.6.9"
- resolved "https://registry.npmjs.org/flatpickr/-/flatpickr-4.6.9.tgz"
- integrity sha512-F0azNNi8foVWKSF+8X+ZJzz8r9sE1G4hl06RyceIaLvyltKvDl6vqk9Lm/6AUUCi5HWaIjiUbk7UpeE/fOXOpw==
-
-flatted@^3.2.2:
- version "3.2.4"
- resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz"
- integrity sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==
-
-flatten@^1.0.2:
- version "1.0.3"
- resolved "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz"
- integrity sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==
-
-flush-write-stream@^1.0.0:
- version "1.1.1"
- resolved "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz"
- integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==
- dependencies:
- inherits "^2.0.3"
- readable-stream "^2.3.6"
-
-follow-redirects@^1.0.0:
- version "1.14.6"
- resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.6.tgz"
- integrity sha512-fhUl5EwSJbbl8AR+uYL2KQDxLkdSjZGR36xy46AO7cOMTrCMON6Sa28FmAnC2tRTDbd/Uuzz3aJBv7EBN7JH8A==
-
-for-in@^1.0.2:
- version "1.0.2"
- resolved "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz"
- integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=
-
-forwarded@0.2.0:
- version "0.2.0"
- resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz"
- integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==
-
-fragment-cache@^0.2.1:
- version "0.2.1"
- resolved "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz"
- integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=
- dependencies:
- map-cache "^0.2.2"
-
-fresh@0.5.2:
- version "0.5.2"
- resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz"
- integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=
-
-from2@^2.1.0:
- version "2.3.0"
- resolved "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz"
- integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=
- dependencies:
- inherits "^2.0.1"
- readable-stream "^2.0.0"
-
-fs-minipass@^2.0.0:
- version "2.1.0"
- resolved "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz"
- integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==
- dependencies:
- minipass "^3.0.0"
-
-fs-monkey@1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.3.tgz#ae3ac92d53bb328efe0e9a1d9541f6ad8d48e2d3"
- integrity sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==
-
-fs-write-stream-atomic@^1.0.8:
- version "1.0.10"
- resolved "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz"
- integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=
- dependencies:
- graceful-fs "^4.1.2"
- iferr "^0.1.5"
- imurmurhash "^0.1.4"
- readable-stream "1 || 2"
-
-fs.realpath@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"
- integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
-
-fsevents@^1.2.7:
- version "1.2.13"
- resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38"
- integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==
- dependencies:
- bindings "^1.5.0"
- nan "^2.12.1"
-
-fsevents@~2.3.2:
- version "2.3.2"
- resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
- integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
-
-function-bind@^1.1.1:
- version "1.1.1"
- resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz"
- integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
-
-gensync@^1.0.0-beta.2:
- version "1.0.0-beta.2"
- resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz"
- integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
-
-get-caller-file@^2.0.1:
- version "2.0.5"
- resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz"
- integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
-
-get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1:
- version "1.1.1"
- resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz"
- integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==
- dependencies:
- function-bind "^1.1.1"
- has "^1.0.3"
- has-symbols "^1.0.1"
-
-get-stream@^6.0.0:
- version "6.0.1"
- resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz"
- integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
-
-get-symbol-description@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz"
- integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==
- dependencies:
- call-bind "^1.0.2"
- get-intrinsic "^1.1.1"
-
-get-value@^2.0.3, get-value@^2.0.6:
- version "2.0.6"
- resolved "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz"
- integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=
-
-glob-parent@^3.1.0:
- version "3.1.0"
- resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz"
- integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=
- dependencies:
- is-glob "^3.1.0"
- path-dirname "^1.0.0"
-
-glob-parent@^5.1.2, glob-parent@~5.1.2:
- version "5.1.2"
- resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz"
- integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
- dependencies:
- is-glob "^4.0.1"
-
-glob@^7.1.3, glob@^7.1.4, glob@^7.1.7:
- version "7.2.0"
- resolved "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz"
- integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==
- dependencies:
- fs.realpath "^1.0.0"
- inflight "^1.0.4"
- inherits "2"
- minimatch "^3.0.4"
- once "^1.3.0"
- path-is-absolute "^1.0.0"
-
-global-modules@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz"
- integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==
- dependencies:
- global-prefix "^1.0.1"
- is-windows "^1.0.1"
- resolve-dir "^1.0.0"
-
-global-modules@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz"
- integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==
- dependencies:
- global-prefix "^3.0.0"
-
-global-prefix@^1.0.1:
- version "1.0.2"
- resolved "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz"
- integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=
- dependencies:
- expand-tilde "^2.0.2"
- homedir-polyfill "^1.0.1"
- ini "^1.3.4"
- is-windows "^1.0.1"
- which "^1.2.14"
-
-global-prefix@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz"
- integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==
- dependencies:
- ini "^1.3.5"
- kind-of "^6.0.2"
- which "^1.3.1"
-
-globals@^11.1.0:
- version "11.12.0"
- resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz"
- integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
-
-globby@^11.0.1:
- version "11.0.4"
- resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5"
- integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==
- dependencies:
- array-union "^2.1.0"
- dir-glob "^3.0.1"
- fast-glob "^3.1.1"
- ignore "^5.1.4"
- merge2 "^1.3.0"
- slash "^3.0.0"
-
-graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.2.4, graceful-fs@^4.2.6:
- version "4.2.8"
- resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz"
- integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==
-
-handle-thing@^2.0.0:
- version "2.0.1"
- resolved "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz"
- integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==
-
-has-bigints@^1.0.1:
- version "1.0.1"
- resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz"
- integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==
-
-has-flag@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz"
- integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
-
-has-flag@^4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz"
- integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
-
-has-symbols@^1.0.1, has-symbols@^1.0.2:
- version "1.0.2"
- resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz"
- integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==
-
-has-tostringtag@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz"
- integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==
- dependencies:
- has-symbols "^1.0.2"
-
-has-value@^0.3.1:
- version "0.3.1"
- resolved "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz"
- integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=
- dependencies:
- get-value "^2.0.3"
- has-values "^0.1.4"
- isobject "^2.0.0"
-
-has-value@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz"
- integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=
- dependencies:
- get-value "^2.0.6"
- has-values "^1.0.0"
- isobject "^3.0.0"
-
-has-values@^0.1.4:
- version "0.1.4"
- resolved "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz"
- integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E=
-
-has-values@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz"
- integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=
- dependencies:
- is-number "^3.0.0"
- kind-of "^4.0.0"
-
-has@^1.0.0, has@^1.0.3:
- version "1.0.3"
- resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz"
- integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
- dependencies:
- function-bind "^1.1.1"
-
-hash-base@^3.0.0:
- version "3.1.0"
- resolved "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz"
- integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==
- dependencies:
- inherits "^2.0.4"
- readable-stream "^3.6.0"
- safe-buffer "^5.2.0"
-
-hash.js@^1.0.0, hash.js@^1.0.3:
- version "1.1.7"
- resolved "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz"
- integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==
- dependencies:
- inherits "^2.0.3"
- minimalistic-assert "^1.0.1"
-
-hex-color-regex@^1.1.0:
- version "1.1.0"
- resolved "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz"
- integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==
-
-hmac-drbg@^1.0.1:
- version "1.0.1"
- resolved "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz"
- integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=
- dependencies:
- hash.js "^1.0.3"
- minimalistic-assert "^1.0.0"
- minimalistic-crypto-utils "^1.0.1"
-
-homedir-polyfill@^1.0.1:
- version "1.0.3"
- resolved "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz"
- integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==
- dependencies:
- parse-passwd "^1.0.0"
-
-hpack.js@^2.1.6:
- version "2.1.6"
- resolved "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz"
- integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=
- dependencies:
- inherits "^2.0.1"
- obuf "^1.0.0"
- readable-stream "^2.0.1"
- wbuf "^1.1.0"
-
-hsl-regex@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz"
- integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=
-
-hsla-regex@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz"
- integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg=
-
-html-entities@^2.3.2:
- version "2.3.2"
- resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.3.2.tgz#760b404685cb1d794e4f4b744332e3b00dcfe488"
- integrity sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ==
-
-http-deceiver@^1.2.7:
- version "1.2.7"
- resolved "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz"
- integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=
-
-http-errors@1.7.2:
- version "1.7.2"
- resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz"
- integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==
- dependencies:
- depd "~1.1.2"
- inherits "2.0.3"
- setprototypeof "1.1.1"
- statuses ">= 1.5.0 < 2"
- toidentifier "1.0.0"
-
-http-errors@~1.6.2:
- version "1.6.3"
- resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz"
- integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=
- dependencies:
- depd "~1.1.2"
- inherits "2.0.3"
- setprototypeof "1.1.0"
- statuses ">= 1.4.0 < 2"
-
-http-errors@~1.7.2:
- version "1.7.3"
- resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz"
- integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==
- dependencies:
- depd "~1.1.2"
- inherits "2.0.4"
- setprototypeof "1.1.1"
- statuses ">= 1.5.0 < 2"
- toidentifier "1.0.0"
-
-http-parser-js@>=0.5.1:
- version "0.5.5"
- resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.5.tgz"
- integrity sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA==
-
-http-proxy-middleware@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.1.tgz#7ef3417a479fb7666a571e09966c66a39bd2c15f"
- integrity sha512-cfaXRVoZxSed/BmkA7SwBVNI9Kj7HFltaE5rqYOub5kWzWZ+gofV2koVN1j2rMW7pEfSSlCHGJ31xmuyFyfLOg==
- dependencies:
- "@types/http-proxy" "^1.17.5"
- http-proxy "^1.18.1"
- is-glob "^4.0.1"
- is-plain-obj "^3.0.0"
- micromatch "^4.0.2"
-
-http-proxy@^1.18.1:
- version "1.18.1"
- resolved "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz"
- integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==
- dependencies:
- eventemitter3 "^4.0.0"
- follow-redirects "^1.0.0"
- requires-port "^1.0.0"
-
-https-browserify@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz"
- integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=
-
-human-signals@^2.1.0:
- version "2.1.0"
- resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz"
- integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
-
-iconv-lite@0.4.24:
- version "0.4.24"
- resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz"
- integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
- dependencies:
- safer-buffer ">= 2.1.2 < 3"
-
-icss-utils@^4.0.0, icss-utils@^4.1.1:
- version "4.1.1"
- resolved "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz"
- integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==
- dependencies:
- postcss "^7.0.14"
-
-ieee754@^1.1.4:
- version "1.2.1"
- resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz"
- integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
-
-iferr@^0.1.5:
- version "0.1.5"
- resolved "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz"
- integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE=
-
-ignore@^5.1.4:
- version "5.1.9"
- resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.9.tgz#9ec1a5cbe8e1446ec60d4420060d43aa6e7382fb"
- integrity sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==
-
-immutable@^4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz"
- integrity sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==
-
-import-cwd@^2.0.0:
- version "2.1.0"
- resolved "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz"
- integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=
- dependencies:
- import-from "^2.1.0"
-
-import-fresh@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz"
- integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY=
- dependencies:
- caller-path "^2.0.0"
- resolve-from "^3.0.0"
-
-import-fresh@^3.1.0:
- version "3.3.0"
- resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz"
- integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
- dependencies:
- parent-module "^1.0.0"
- resolve-from "^4.0.0"
-
-import-from@^2.1.0:
- version "2.1.0"
- resolved "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz"
- integrity sha1-M1238qev/VOqpHHUuAId7ja387E=
- dependencies:
- resolve-from "^3.0.0"
-
-import-local@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz"
- integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==
- dependencies:
- pkg-dir "^3.0.0"
- resolve-cwd "^2.0.0"
-
-import-local@^3.0.2:
- version "3.0.3"
- resolved "https://registry.npmjs.org/import-local/-/import-local-3.0.3.tgz"
- integrity sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA==
- dependencies:
- pkg-dir "^4.2.0"
- resolve-cwd "^3.0.0"
-
-imurmurhash@^0.1.4:
- version "0.1.4"
- resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz"
- integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
-
-indent-string@^4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz"
- integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==
-
-indexes-of@^1.0.1:
- version "1.0.1"
- resolved "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz"
- integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc=
-
-infer-owner@^1.0.3, infer-owner@^1.0.4:
- version "1.0.4"
- resolved "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz"
- integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==
-
-inflight@^1.0.4:
- version "1.0.6"
- resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz"
- integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
- dependencies:
- once "^1.3.0"
- wrappy "1"
-
-inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3:
- version "2.0.4"
- resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
- integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
-
-inherits@2.0.1:
- version "2.0.1"
- resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
- integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=
-
-inherits@2.0.3:
- version "2.0.3"
- resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
- integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
-
-ini@^1.3.4, ini@^1.3.5:
- version "1.3.8"
- resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz"
- integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
-
-internal-slot@^1.0.3:
- version "1.0.3"
- resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz"
- integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==
- dependencies:
- get-intrinsic "^1.1.0"
- has "^1.0.3"
- side-channel "^1.0.4"
-
-interpret@^1.4.0:
- version "1.4.0"
- resolved "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz"
- integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==
-
-interpret@^2.2.0:
- version "2.2.0"
- resolved "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz"
- integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==
-
-ip@^1.1.0:
- version "1.1.5"
- resolved "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz"
- integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=
-
-ipaddr.js@1.9.1:
- version "1.9.1"
- resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz"
- integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
-
-ipaddr.js@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.0.1.tgz#eca256a7a877e917aeb368b0a7497ddf42ef81c0"
- integrity sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==
-
-is-absolute-url@^2.0.0:
- version "2.1.0"
- resolved "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz"
- integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=
-
-is-accessor-descriptor@^0.1.6:
- version "0.1.6"
- resolved "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz"
- integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=
- dependencies:
- kind-of "^3.0.2"
-
-is-accessor-descriptor@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz"
- integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==
- dependencies:
- kind-of "^6.0.0"
-
-is-arguments@^1.0.4:
- version "1.1.1"
- resolved "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz"
- integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==
- dependencies:
- call-bind "^1.0.2"
- has-tostringtag "^1.0.0"
-
-is-arrayish@^0.2.1:
- version "0.2.1"
- resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz"
- integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
-
-is-arrayish@^0.3.1:
- version "0.3.2"
- resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz"
- integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==
-
-is-bigint@^1.0.1:
- version "1.0.4"
- resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz"
- integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==
- dependencies:
- has-bigints "^1.0.1"
-
-is-binary-path@^1.0.0:
- version "1.0.1"
- resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz"
- integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=
- dependencies:
- binary-extensions "^1.0.0"
-
-is-binary-path@~2.1.0:
- version "2.1.0"
- resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz"
- integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
- dependencies:
- binary-extensions "^2.0.0"
-
-is-boolean-object@^1.1.0:
- version "1.1.2"
- resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz"
- integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==
- dependencies:
- call-bind "^1.0.2"
- has-tostringtag "^1.0.0"
-
-is-buffer@^1.1.5:
- version "1.1.6"
- resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
- integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
-
-is-callable@^1.1.4, is-callable@^1.2.4:
- version "1.2.4"
- resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz"
- integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==
-
-is-color-stop@^1.0.0:
- version "1.1.0"
- resolved "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz"
- integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=
- dependencies:
- css-color-names "^0.0.4"
- hex-color-regex "^1.1.0"
- hsl-regex "^1.0.0"
- hsla-regex "^1.0.0"
- rgb-regex "^1.0.1"
- rgba-regex "^1.0.0"
-
-is-core-module@^2.2.0:
- version "2.8.0"
- resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz"
- integrity sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==
- dependencies:
- has "^1.0.3"
-
-is-data-descriptor@^0.1.4:
- version "0.1.4"
- resolved "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz"
- integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=
- dependencies:
- kind-of "^3.0.2"
-
-is-data-descriptor@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz"
- integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==
- dependencies:
- kind-of "^6.0.0"
-
-is-date-object@^1.0.1:
- version "1.0.5"
- resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz"
- integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==
- dependencies:
- has-tostringtag "^1.0.0"
-
-is-descriptor@^0.1.0:
- version "0.1.6"
- resolved "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz"
- integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==
- dependencies:
- is-accessor-descriptor "^0.1.6"
- is-data-descriptor "^0.1.4"
- kind-of "^5.0.0"
-
-is-descriptor@^1.0.0, is-descriptor@^1.0.2:
- version "1.0.2"
- resolved "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz"
- integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==
- dependencies:
- is-accessor-descriptor "^1.0.0"
- is-data-descriptor "^1.0.0"
- kind-of "^6.0.2"
-
-is-directory@^0.3.1:
- version "0.3.1"
- resolved "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz"
- integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=
-
-is-docker@^2.0.0, is-docker@^2.1.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa"
- integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==
-
-is-extendable@^0.1.0, is-extendable@^0.1.1:
- version "0.1.1"
- resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz"
- integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=
-
-is-extendable@^1.0.1:
- version "1.0.1"
- resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz"
- integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==
- dependencies:
- is-plain-object "^2.0.4"
-
-is-extglob@^2.1.0, is-extglob@^2.1.1:
- version "2.1.1"
- resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz"
- integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
-
-is-fullwidth-code-point@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz"
- integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
-
-is-glob@^3.1.0:
- version "3.1.0"
- resolved "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz"
- integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=
- dependencies:
- is-extglob "^2.1.0"
-
-is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1:
- version "4.0.3"
- resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz"
- integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
- dependencies:
- is-extglob "^2.1.1"
-
-is-negative-zero@^2.0.1:
- version "2.0.1"
- resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz"
- integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==
-
-is-number-object@^1.0.4:
- version "1.0.6"
- resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz"
- integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==
- dependencies:
- has-tostringtag "^1.0.0"
-
-is-number@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz"
- integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=
- dependencies:
- kind-of "^3.0.2"
-
-is-number@^7.0.0:
- version "7.0.0"
- resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz"
- integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
-
-is-obj@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz"
- integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==
-
-is-path-cwd@^2.2.0:
- version "2.2.0"
- resolved "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz"
- integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==
-
-is-path-inside@^3.0.2:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
- integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
-
-is-plain-obj@^1.0.0:
- version "1.1.0"
- resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz"
- integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4=
-
-is-plain-obj@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7"
- integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==
-
-is-plain-object@^2.0.3, is-plain-object@^2.0.4:
- version "2.0.4"
- resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz"
- integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==
- dependencies:
- isobject "^3.0.1"
-
-is-regex@^1.0.4, is-regex@^1.1.4:
- version "1.1.4"
- resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz"
- integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==
- dependencies:
- call-bind "^1.0.2"
- has-tostringtag "^1.0.0"
-
-is-resolvable@^1.0.0:
- version "1.1.0"
- resolved "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz"
- integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==
-
-is-shared-array-buffer@^1.0.1:
- version "1.0.1"
- resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz"
- integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==
-
-is-stream@^2.0.0:
- version "2.0.1"
- resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz"
- integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==
-
-is-string@^1.0.5, is-string@^1.0.7:
- version "1.0.7"
- resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz"
- integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==
- dependencies:
- has-tostringtag "^1.0.0"
-
-is-symbol@^1.0.2, is-symbol@^1.0.3:
- version "1.0.4"
- resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz"
- integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==
- dependencies:
- has-symbols "^1.0.2"
-
-is-weakref@^1.0.1:
- version "1.0.1"
- resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.1.tgz"
- integrity sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ==
- dependencies:
- call-bind "^1.0.0"
-
-is-windows@^1.0.1, is-windows@^1.0.2:
- version "1.0.2"
- resolved "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz"
- integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==
-
-is-wsl@^1.1.0:
- version "1.1.0"
- resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz"
- integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=
-
-is-wsl@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271"
- integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==
- dependencies:
- is-docker "^2.0.0"
-
-isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
- integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
-
-isexe@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz"
- integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
-
-isobject@^2.0.0:
- version "2.1.0"
- resolved "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz"
- integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=
- dependencies:
- isarray "1.0.0"
-
-isobject@^3.0.0, isobject@^3.0.1:
- version "3.0.1"
- resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz"
- integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8=
-
-jest-worker@^26.5.0:
- version "26.6.2"
- resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz"
- integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==
- dependencies:
- "@types/node" "*"
- merge-stream "^2.0.0"
- supports-color "^7.0.0"
-
-jquery@^3.3.1, jquery@^3.6.0:
- version "3.6.0"
- resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.6.0.tgz#c72a09f15c1bdce142f49dbf1170bdf8adac2470"
- integrity sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==
-
-js-tokens@^4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz"
- integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
-
-js-yaml@^3.13.1, js-yaml@^3.14.1:
- version "3.14.1"
- resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz"
- integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
- dependencies:
- argparse "^1.0.7"
- esprima "^4.0.0"
-
-jsesc@^2.5.1:
- version "2.5.2"
- resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz"
- integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
-
-jsesc@~0.5.0:
- version "0.5.0"
- resolved "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz"
- integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=
-
-json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2:
- version "1.0.2"
- resolved "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz"
- integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
-
-json-parse-even-better-errors@^2.3.0:
- version "2.3.1"
- resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz"
- integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
-
-json-schema-traverse@^0.4.1:
- version "0.4.1"
- resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz"
- integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
-
-json-schema-traverse@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2"
- integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==
-
-json5@^1.0.1:
- version "1.0.1"
- resolved "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz"
- integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==
- dependencies:
- minimist "^1.2.0"
-
-json5@^2.1.2:
- version "2.2.0"
- resolved "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz"
- integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==
- dependencies:
- minimist "^1.2.5"
-
-kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
- version "3.2.2"
- resolved "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"
- integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=
- dependencies:
- is-buffer "^1.1.5"
-
-kind-of@^4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz"
- integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc=
- dependencies:
- is-buffer "^1.1.5"
-
-kind-of@^5.0.0:
- version "5.1.0"
- resolved "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz"
- integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==
-
-kind-of@^6.0.0, kind-of@^6.0.2:
- version "6.0.3"
- resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz"
- integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
-
-klona@^2.0.4:
- version "2.0.5"
- resolved "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz"
- integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==
-
-last-call-webpack-plugin@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz"
- integrity sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==
- dependencies:
- lodash "^4.17.5"
- webpack-sources "^1.1.0"
-
-lines-and-columns@^1.1.6:
- version "1.2.4"
- resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz"
- integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==
-
-loader-runner@^2.4.0:
- version "2.4.0"
- resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz"
- integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==
-
-loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0:
- version "1.4.0"
- resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz"
- integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==
- dependencies:
- big.js "^5.2.2"
- emojis-list "^3.0.0"
- json5 "^1.0.1"
-
-loader-utils@^2.0.0:
- version "2.0.2"
- resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz"
- integrity sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==
- dependencies:
- big.js "^5.2.2"
- emojis-list "^3.0.0"
- json5 "^2.1.2"
-
-locate-path@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz"
- integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==
- dependencies:
- p-locate "^3.0.0"
- path-exists "^3.0.0"
-
-locate-path@^5.0.0:
- version "5.0.0"
- resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz"
- integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
- dependencies:
- p-locate "^4.1.0"
-
-lodash.debounce@^4.0.8:
- version "4.0.8"
- resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz"
- integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168=
-
-lodash.get@^4.0:
- version "4.4.2"
- resolved "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz"
- integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=
-
-lodash.has@^4.0:
- version "4.5.2"
- resolved "https://registry.npmjs.org/lodash.has/-/lodash.has-4.5.2.tgz"
- integrity sha1-0Z9NwQlQWMzL4rDN9O4P5Ko3yGI=
-
-lodash.memoize@^4.1.2:
- version "4.1.2"
- resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz"
- integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=
-
-lodash.uniq@^4.5.0:
- version "4.5.0"
- resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz"
- integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
-
-lodash@^4.17.14, lodash@^4.17.5:
- version "4.17.21"
- resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz"
- integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
-
-lru-cache@^5.1.1:
- version "5.1.1"
- resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz"
- integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
- dependencies:
- yallist "^3.0.2"
-
-lru-cache@^6.0.0:
- version "6.0.0"
- resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz"
- integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
- dependencies:
- yallist "^4.0.0"
-
-make-dir@^2.0.0:
- version "2.1.0"
- resolved "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz"
- integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==
- dependencies:
- pify "^4.0.1"
- semver "^5.6.0"
-
-make-dir@^3.0.2, make-dir@^3.1.0:
- version "3.1.0"
- resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz"
- integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==
- dependencies:
- semver "^6.0.0"
-
-map-cache@^0.2.2:
- version "0.2.2"
- resolved "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz"
- integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=
-
-map-visit@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz"
- integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=
- dependencies:
- object-visit "^1.0.0"
-
-md5.js@^1.3.4:
- version "1.3.5"
- resolved "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz"
- integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==
- dependencies:
- hash-base "^3.0.0"
- inherits "^2.0.1"
- safe-buffer "^5.1.2"
-
-mdn-data@2.0.14:
- version "2.0.14"
- resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz"
- integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==
-
-mdn-data@2.0.4:
- version "2.0.4"
- resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz"
- integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==
-
-media-typer@0.3.0:
- version "0.3.0"
- resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz"
- integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=
-
-memfs@^3.2.2:
- version "3.4.0"
- resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.4.0.tgz#8bc12062b973be6b295d4340595736a656f0a257"
- integrity sha512-o/RfP0J1d03YwsAxyHxAYs2kyJp55AFkMazlFAZFR2I2IXkxiUTXRabJ6RmNNCQ83LAD2jy52Khj0m3OffpNdA==
- dependencies:
- fs-monkey "1.0.3"
-
-memory-fs@^0.4.1:
- version "0.4.1"
- resolved "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz"
- integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=
- dependencies:
- errno "^0.1.3"
- readable-stream "^2.0.1"
-
-memory-fs@^0.5.0:
- version "0.5.0"
- resolved "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz"
- integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==
- dependencies:
- errno "^0.1.3"
- readable-stream "^2.0.1"
-
-merge-descriptors@1.0.1:
- version "1.0.1"
- resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz"
- integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=
-
-merge-stream@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz"
- integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
-
-merge2@^1.3.0:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
- integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
-
-methods@~1.1.2:
- version "1.1.2"
- resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz"
- integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=
-
-micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4:
- version "3.1.10"
- resolved "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz"
- integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==
- dependencies:
- arr-diff "^4.0.0"
- array-unique "^0.3.2"
- braces "^2.3.1"
- define-property "^2.0.2"
- extend-shallow "^3.0.2"
- extglob "^2.0.4"
- fragment-cache "^0.2.1"
- kind-of "^6.0.2"
- nanomatch "^1.2.9"
- object.pick "^1.3.0"
- regex-not "^1.0.0"
- snapdragon "^0.8.1"
- to-regex "^3.0.2"
-
-micromatch@^4.0.2, micromatch@^4.0.4:
- version "4.0.4"
- resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9"
- integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==
- dependencies:
- braces "^3.0.1"
- picomatch "^2.2.3"
-
-miller-rabin@^4.0.0:
- version "4.0.1"
- resolved "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz"
- integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==
- dependencies:
- bn.js "^4.0.0"
- brorand "^1.0.1"
-
-mime-db@1.51.0, "mime-db@>= 1.43.0 < 2":
- version "1.51.0"
- resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz"
- integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==
-
-mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24:
- version "2.1.34"
- resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24"
- integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==
- dependencies:
- mime-db "1.51.0"
-
-mime@1.6.0:
- version "1.6.0"
- resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz"
- integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
-
-mimic-fn@^2.1.0:
- version "2.1.0"
- resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz"
- integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
-
-mini-css-extract-plugin@^0.9.0:
- version "0.9.0"
- resolved "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz"
- integrity sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A==
- dependencies:
- loader-utils "^1.1.0"
- normalize-url "1.9.1"
- schema-utils "^1.0.0"
- webpack-sources "^1.1.0"
-
-minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:
- version "1.0.1"
- resolved "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz"
- integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==
-
-minimalistic-crypto-utils@^1.0.1:
- version "1.0.1"
- resolved "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz"
- integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=
-
-minimatch@^3.0.4:
- version "3.0.4"
- resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz"
- integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
- dependencies:
- brace-expansion "^1.1.7"
-
-minimist@^1.2.0, minimist@^1.2.5:
- version "1.2.5"
- resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz"
- integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
-
-minipass-collect@^1.0.2:
- version "1.0.2"
- resolved "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz"
- integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==
- dependencies:
- minipass "^3.0.0"
-
-minipass-flush@^1.0.5:
- version "1.0.5"
- resolved "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz"
- integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==
- dependencies:
- minipass "^3.0.0"
-
-minipass-pipeline@^1.2.2:
- version "1.2.4"
- resolved "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz"
- integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==
- dependencies:
- minipass "^3.0.0"
-
-minipass@^3.0.0, minipass@^3.1.1:
- version "3.1.6"
- resolved "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz"
- integrity sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==
- dependencies:
- yallist "^4.0.0"
-
-minizlib@^2.1.1:
- version "2.1.2"
- resolved "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz"
- integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==
- dependencies:
- minipass "^3.0.0"
- yallist "^4.0.0"
-
-mississippi@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz"
- integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==
- dependencies:
- concat-stream "^1.5.0"
- duplexify "^3.4.2"
- end-of-stream "^1.1.0"
- flush-write-stream "^1.0.0"
- from2 "^2.1.0"
- parallel-transform "^1.1.0"
- pump "^3.0.0"
- pumpify "^1.3.3"
- stream-each "^1.1.0"
- through2 "^2.0.0"
-
-mixin-deep@^1.2.0:
- version "1.3.2"
- resolved "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz"
- integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==
- dependencies:
- for-in "^1.0.2"
- is-extendable "^1.0.1"
-
-mkdirp@^0.5, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5, mkdirp@~0.5.1:
- version "0.5.5"
- resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz"
- integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==
- dependencies:
- minimist "^1.2.5"
-
-mkdirp@^1.0.3, mkdirp@^1.0.4:
- version "1.0.4"
- resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz"
- integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
-
-move-concurrently@^1.0.1:
- version "1.0.1"
- resolved "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz"
- integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=
- dependencies:
- aproba "^1.1.1"
- copy-concurrently "^1.0.0"
- fs-write-stream-atomic "^1.0.8"
- mkdirp "^0.5.1"
- rimraf "^2.5.4"
- run-queue "^1.0.3"
-
-ms@2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
- integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
-
-ms@2.1.1:
- version "2.1.1"
- resolved "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz"
- integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==
-
-ms@2.1.2:
- version "2.1.2"
- resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"
- integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
-
-ms@^2.1.1:
- version "2.1.3"
- resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz"
- integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
-
-multicast-dns-service-types@^1.1.0:
- version "1.1.0"
- resolved "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz"
- integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=
-
-multicast-dns@^6.0.1:
- version "6.2.3"
- resolved "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz"
- integrity sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==
- dependencies:
- dns-packet "^1.3.1"
- thunky "^1.0.2"
-
-nan@^2.12.1:
- version "2.15.0"
- resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee"
- integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==
-
-nanomatch@^1.2.9:
- version "1.2.13"
- resolved "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz"
- integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==
- dependencies:
- arr-diff "^4.0.0"
- array-unique "^0.3.2"
- define-property "^2.0.2"
- extend-shallow "^3.0.2"
- fragment-cache "^0.2.1"
- is-windows "^1.0.2"
- kind-of "^6.0.2"
- object.pick "^1.3.0"
- regex-not "^1.0.0"
- snapdragon "^0.8.1"
- to-regex "^3.0.1"
-
-negotiator@0.6.2:
- version "0.6.2"
- resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz"
- integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==
-
-neo-async@^2.5.0, neo-async@^2.6.1, neo-async@^2.6.2:
- version "2.6.2"
- resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz"
- integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==
-
-nice-try@^1.0.4:
- version "1.0.5"
- resolved "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz"
- integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
-
-node-forge@^0.10.0:
- version "0.10.0"
- resolved "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz"
- integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==
-
-node-libs-browser@^2.2.1:
- version "2.2.1"
- resolved "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz"
- integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==
- dependencies:
- assert "^1.1.1"
- browserify-zlib "^0.2.0"
- buffer "^4.3.0"
- console-browserify "^1.1.0"
- constants-browserify "^1.0.0"
- crypto-browserify "^3.11.0"
- domain-browser "^1.1.1"
- events "^3.0.0"
- https-browserify "^1.0.0"
- os-browserify "^0.3.0"
- path-browserify "0.0.1"
- process "^0.11.10"
- punycode "^1.2.4"
- querystring-es3 "^0.2.0"
- readable-stream "^2.3.3"
- stream-browserify "^2.0.1"
- stream-http "^2.7.2"
- string_decoder "^1.0.0"
- timers-browserify "^2.0.4"
- tty-browserify "0.0.0"
- url "^0.11.0"
- util "^0.11.0"
- vm-browserify "^1.0.1"
-
-node-releases@^2.0.1:
- version "2.0.1"
- resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz"
- integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==
-
-normalize-path@^2.1.1:
- version "2.1.1"
- resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz"
- integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=
- dependencies:
- remove-trailing-separator "^1.0.1"
-
-normalize-path@^3.0.0, normalize-path@~3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz"
- integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
-
-normalize-range@^0.1.2:
- version "0.1.2"
- resolved "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz"
- integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=
-
-normalize-url@1.9.1:
- version "1.9.1"
- resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz"
- integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=
- dependencies:
- object-assign "^4.0.1"
- prepend-http "^1.0.0"
- query-string "^4.1.0"
- sort-keys "^1.0.0"
-
-normalize-url@^3.0.0:
- version "3.3.0"
- resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz"
- integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==
-
-npm-run-path@^4.0.1:
- version "4.0.1"
- resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz"
- integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
- dependencies:
- path-key "^3.0.0"
-
-nth-check@^1.0.2:
- version "1.0.2"
- resolved "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz"
- integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==
- dependencies:
- boolbase "~1.0.0"
-
-num2fraction@^1.2.2:
- version "1.2.2"
- resolved "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz"
- integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=
-
-object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
- version "4.1.1"
- resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
- integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
-
-object-copy@^0.1.0:
- version "0.1.0"
- resolved "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz"
- integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw=
- dependencies:
- copy-descriptor "^0.1.0"
- define-property "^0.2.5"
- kind-of "^3.0.3"
-
-object-inspect@^1.11.0, object-inspect@^1.9.0:
- version "1.11.1"
- resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.1.tgz"
- integrity sha512-If7BjFlpkzzBeV1cqgT3OSWT3azyoxDGajR+iGnFBfVV2EWyDyWaZZW2ERDjUaY2QM8i5jI3Sj7mhsM4DDAqWA==
-
-object-is@^1.0.1:
- version "1.1.5"
- resolved "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz"
- integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.3"
-
-object-keys@^1.0.12, object-keys@^1.1.1:
- version "1.1.1"
- resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz"
- integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
-
-object-visit@^1.0.0:
- version "1.0.1"
- resolved "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz"
- integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=
- dependencies:
- isobject "^3.0.0"
-
-object.assign@^4.1.0, object.assign@^4.1.2:
- version "4.1.2"
- resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz"
- integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==
- dependencies:
- call-bind "^1.0.0"
- define-properties "^1.1.3"
- has-symbols "^1.0.1"
- object-keys "^1.1.1"
-
-object.getownpropertydescriptors@^2.1.0:
- version "2.1.3"
- resolved "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz"
- integrity sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.3"
- es-abstract "^1.19.1"
-
-object.pick@^1.3.0:
- version "1.3.0"
- resolved "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz"
- integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=
- dependencies:
- isobject "^3.0.1"
-
-object.values@^1.1.0:
- version "1.1.5"
- resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz"
- integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.3"
- es-abstract "^1.19.1"
-
-obuf@^1.0.0, obuf@^1.1.2:
- version "1.1.2"
- resolved "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz"
- integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==
-
-on-finished@~2.3.0:
- version "2.3.0"
- resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz"
- integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=
- dependencies:
- ee-first "1.1.1"
-
-on-headers@~1.0.2:
- version "1.0.2"
- resolved "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz"
- integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==
-
-once@^1.3.0, once@^1.3.1, once@^1.4.0:
- version "1.4.0"
- resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
- integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
- dependencies:
- wrappy "1"
-
-onetime@^5.1.2:
- version "5.1.2"
- resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz"
- integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
- dependencies:
- mimic-fn "^2.1.0"
-
-open@^8.0.9:
- version "8.4.0"
- resolved "https://registry.yarnpkg.com/open/-/open-8.4.0.tgz#345321ae18f8138f82565a910fdc6b39e8c244f8"
- integrity sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==
- dependencies:
- define-lazy-prop "^2.0.0"
- is-docker "^2.1.1"
- is-wsl "^2.2.0"
-
-optimize-css-assets-webpack-plugin@^5.0.8:
- version "5.0.8"
- resolved "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.8.tgz"
- integrity sha512-mgFS1JdOtEGzD8l+EuISqL57cKO+We9GcoiQEmdCWRqqck+FGNmYJtx9qfAPzEz+lRrlThWMuGDaRkI/yWNx/Q==
- dependencies:
- cssnano "^4.1.10"
- last-call-webpack-plugin "^3.0.0"
-
-os-browserify@^0.3.0:
- version "0.3.0"
- resolved "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz"
- integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=
-
-p-limit@^2.0.0, p-limit@^2.2.0:
- version "2.3.0"
- resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz"
- integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
- dependencies:
- p-try "^2.0.0"
-
-p-limit@^3.0.2:
- version "3.1.0"
- resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz"
- integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
- dependencies:
- yocto-queue "^0.1.0"
-
-p-locate@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz"
- integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==
- dependencies:
- p-limit "^2.0.0"
-
-p-locate@^4.1.0:
- version "4.1.0"
- resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz"
- integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
- dependencies:
- p-limit "^2.2.0"
-
-p-map@^4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz"
- integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==
- dependencies:
- aggregate-error "^3.0.0"
-
-p-retry@^4.5.0:
- version "4.6.1"
- resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.6.1.tgz#8fcddd5cdf7a67a0911a9cf2ef0e5df7f602316c"
- integrity sha512-e2xXGNhZOZ0lfgR9kL34iGlU8N/KO0xZnQxVEwdeOvpqNDQfdnxIYizvWtK8RglUa3bGqI8g0R/BdfzLMxRkiA==
- dependencies:
- "@types/retry" "^0.12.0"
- retry "^0.13.1"
-
-p-try@^2.0.0:
- version "2.2.0"
- resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz"
- integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
-
-pako@~1.0.5:
- version "1.0.11"
- resolved "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz"
- integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==
-
-parallel-transform@^1.1.0:
- version "1.2.0"
- resolved "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz"
- integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==
- dependencies:
- cyclist "^1.0.1"
- inherits "^2.0.3"
- readable-stream "^2.1.5"
-
-parent-module@^1.0.0:
- version "1.0.1"
- resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz"
- integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
- dependencies:
- callsites "^3.0.0"
-
-parse-asn1@^5.0.0, parse-asn1@^5.1.5:
- version "5.1.6"
- resolved "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz"
- integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==
- dependencies:
- asn1.js "^5.2.0"
- browserify-aes "^1.0.0"
- evp_bytestokey "^1.0.0"
- pbkdf2 "^3.0.3"
- safe-buffer "^5.1.1"
-
-parse-json@^4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz"
- integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=
- dependencies:
- error-ex "^1.3.1"
- json-parse-better-errors "^1.0.1"
-
-parse-json@^5.0.0:
- version "5.2.0"
- resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz"
- integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==
- dependencies:
- "@babel/code-frame" "^7.0.0"
- error-ex "^1.3.1"
- json-parse-even-better-errors "^2.3.0"
- lines-and-columns "^1.1.6"
-
-parse-passwd@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz"
- integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=
-
-parseurl@~1.3.2, parseurl@~1.3.3:
- version "1.3.3"
- resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz"
- integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
-
-pascalcase@^0.1.1:
- version "0.1.1"
- resolved "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz"
- integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=
-
-path-browserify@0.0.1:
- version "0.0.1"
- resolved "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz"
- integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==
-
-path-complete-extname@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/path-complete-extname/-/path-complete-extname-1.0.0.tgz"
- integrity sha512-CVjiWcMRdGU8ubs08YQVzhutOR5DEfO97ipRIlOGMK5Bek5nQySknBpuxVAVJ36hseTNs+vdIcv57ZrWxH7zvg==
-
-path-dirname@^1.0.0:
- version "1.0.2"
- resolved "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz"
- integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=
-
-path-exists@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz"
- integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=
-
-path-exists@^4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz"
- integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
-
-path-is-absolute@^1.0.0:
- version "1.0.1"
- resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
- integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
-
-path-key@^2.0.1:
- version "2.0.1"
- resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz"
- integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=
-
-path-key@^3.0.0, path-key@^3.1.0:
- version "3.1.1"
- resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz"
- integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
-
-path-parse@^1.0.6:
- version "1.0.7"
- resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz"
- integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
-
-path-to-regexp@0.1.7:
- version "0.1.7"
- resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz"
- integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=
-
-path-type@^4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz"
- integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
-
-pbkdf2@^3.0.3:
- version "3.1.2"
- resolved "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz"
- integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==
- dependencies:
- create-hash "^1.1.2"
- create-hmac "^1.1.4"
- ripemd160 "^2.0.1"
- safe-buffer "^5.0.1"
- sha.js "^2.4.8"
-
-picocolors@^0.2.1:
- version "0.2.1"
- resolved "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz"
- integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==
-
-picocolors@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz"
- integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
-
-picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3:
- version "2.3.0"
- resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz"
- integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==
-
-pify@^2.3.0:
- version "2.3.0"
- resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz"
- integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw=
-
-pify@^4.0.1:
- version "4.0.1"
- resolved "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz"
- integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==
-
-pkg-dir@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz"
- integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==
- dependencies:
- find-up "^3.0.0"
-
-pkg-dir@^4.1.0, pkg-dir@^4.2.0:
- version "4.2.0"
- resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz"
- integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==
- dependencies:
- find-up "^4.0.0"
-
-pnp-webpack-plugin@^1.7.0:
- version "1.7.0"
- resolved "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.7.0.tgz"
- integrity sha512-2Rb3vm+EXble/sMXNSu6eoBx8e79gKqhNq9F5ZWW6ERNCTE/Q0wQNne5541tE5vKjfM8hpNCYL+LGc1YTfI0dg==
- dependencies:
- ts-pnp "^1.1.6"
-
-popper.js@^1.16.1:
- version "1.16.1"
- resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.16.1.tgz#2a223cb3dc7b6213d740e40372be40de43e65b1b"
- integrity sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==
-
-portfinder@^1.0.28:
- version "1.0.28"
- resolved "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz"
- integrity sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==
- dependencies:
- async "^2.6.2"
- debug "^3.1.1"
- mkdirp "^0.5.5"
-
-posix-character-classes@^0.1.0:
- version "0.1.1"
- resolved "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz"
- integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=
-
-postcss-attribute-case-insensitive@^4.0.1:
- version "4.0.2"
- resolved "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz"
- integrity sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA==
- dependencies:
- postcss "^7.0.2"
- postcss-selector-parser "^6.0.2"
-
-postcss-calc@^7.0.1:
- version "7.0.5"
- resolved "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz"
- integrity sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==
- dependencies:
- postcss "^7.0.27"
- postcss-selector-parser "^6.0.2"
- postcss-value-parser "^4.0.2"
-
-postcss-color-functional-notation@^2.0.1:
- version "2.0.1"
- resolved "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz"
- integrity sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g==
- dependencies:
- postcss "^7.0.2"
- postcss-values-parser "^2.0.0"
-
-postcss-color-gray@^5.0.0:
- version "5.0.0"
- resolved "https://registry.npmjs.org/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz"
- integrity sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw==
- dependencies:
- "@csstools/convert-colors" "^1.4.0"
- postcss "^7.0.5"
- postcss-values-parser "^2.0.0"
-
-postcss-color-hex-alpha@^5.0.3:
- version "5.0.3"
- resolved "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz"
- integrity sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw==
- dependencies:
- postcss "^7.0.14"
- postcss-values-parser "^2.0.1"
-
-postcss-color-mod-function@^3.0.3:
- version "3.0.3"
- resolved "https://registry.npmjs.org/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz"
- integrity sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ==
- dependencies:
- "@csstools/convert-colors" "^1.4.0"
- postcss "^7.0.2"
- postcss-values-parser "^2.0.0"
-
-postcss-color-rebeccapurple@^4.0.1:
- version "4.0.1"
- resolved "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz"
- integrity sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g==
- dependencies:
- postcss "^7.0.2"
- postcss-values-parser "^2.0.0"
-
-postcss-colormin@^4.0.3:
- version "4.0.3"
- resolved "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz"
- integrity sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==
- dependencies:
- browserslist "^4.0.0"
- color "^3.0.0"
- has "^1.0.0"
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-convert-values@^4.0.1:
- version "4.0.1"
- resolved "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz"
- integrity sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==
- dependencies:
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-custom-media@^7.0.8:
- version "7.0.8"
- resolved "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz"
- integrity sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg==
- dependencies:
- postcss "^7.0.14"
-
-postcss-custom-properties@^8.0.11:
- version "8.0.11"
- resolved "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz"
- integrity sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA==
- dependencies:
- postcss "^7.0.17"
- postcss-values-parser "^2.0.1"
-
-postcss-custom-selectors@^5.1.2:
- version "5.1.2"
- resolved "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz"
- integrity sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w==
- dependencies:
- postcss "^7.0.2"
- postcss-selector-parser "^5.0.0-rc.3"
-
-postcss-dir-pseudo-class@^5.0.0:
- version "5.0.0"
- resolved "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz"
- integrity sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw==
- dependencies:
- postcss "^7.0.2"
- postcss-selector-parser "^5.0.0-rc.3"
-
-postcss-discard-comments@^4.0.2:
- version "4.0.2"
- resolved "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz"
- integrity sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==
- dependencies:
- postcss "^7.0.0"
-
-postcss-discard-duplicates@^4.0.2:
- version "4.0.2"
- resolved "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz"
- integrity sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==
- dependencies:
- postcss "^7.0.0"
-
-postcss-discard-empty@^4.0.1:
- version "4.0.1"
- resolved "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz"
- integrity sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==
- dependencies:
- postcss "^7.0.0"
-
-postcss-discard-overridden@^4.0.1:
- version "4.0.1"
- resolved "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz"
- integrity sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==
- dependencies:
- postcss "^7.0.0"
-
-postcss-double-position-gradients@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz"
- integrity sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA==
- dependencies:
- postcss "^7.0.5"
- postcss-values-parser "^2.0.0"
-
-postcss-env-function@^2.0.2:
- version "2.0.2"
- resolved "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-2.0.2.tgz"
- integrity sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw==
- dependencies:
- postcss "^7.0.2"
- postcss-values-parser "^2.0.0"
-
-postcss-flexbugs-fixes@^4.2.1:
- version "4.2.1"
- resolved "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.2.1.tgz"
- integrity sha512-9SiofaZ9CWpQWxOwRh1b/r85KD5y7GgvsNt1056k6OYLvWUun0czCvogfJgylC22uJTwW1KzY3Gz65NZRlvoiQ==
- dependencies:
- postcss "^7.0.26"
-
-postcss-focus-visible@^4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz"
- integrity sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g==
- dependencies:
- postcss "^7.0.2"
-
-postcss-focus-within@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz"
- integrity sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w==
- dependencies:
- postcss "^7.0.2"
-
-postcss-font-variant@^4.0.0:
- version "4.0.1"
- resolved "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz"
- integrity sha512-I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA==
- dependencies:
- postcss "^7.0.2"
-
-postcss-gap-properties@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz"
- integrity sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg==
- dependencies:
- postcss "^7.0.2"
-
-postcss-image-set-function@^3.0.1:
- version "3.0.1"
- resolved "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz"
- integrity sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw==
- dependencies:
- postcss "^7.0.2"
- postcss-values-parser "^2.0.0"
-
-postcss-import@^12.0.1:
- version "12.0.1"
- resolved "https://registry.npmjs.org/postcss-import/-/postcss-import-12.0.1.tgz"
- integrity sha512-3Gti33dmCjyKBgimqGxL3vcV8w9+bsHwO5UrBawp796+jdardbcFl4RP5w/76BwNL7aGzpKstIfF9I+kdE8pTw==
- dependencies:
- postcss "^7.0.1"
- postcss-value-parser "^3.2.3"
- read-cache "^1.0.0"
- resolve "^1.1.7"
-
-postcss-initial@^3.0.0:
- version "3.0.4"
- resolved "https://registry.npmjs.org/postcss-initial/-/postcss-initial-3.0.4.tgz"
- integrity sha512-3RLn6DIpMsK1l5UUy9jxQvoDeUN4gP939tDcKUHD/kM8SGSKbFAnvkpFpj3Bhtz3HGk1jWY5ZNWX6mPta5M9fg==
- dependencies:
- postcss "^7.0.2"
-
-postcss-lab-function@^2.0.1:
- version "2.0.1"
- resolved "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz"
- integrity sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg==
- dependencies:
- "@csstools/convert-colors" "^1.4.0"
- postcss "^7.0.2"
- postcss-values-parser "^2.0.0"
-
-postcss-load-config@^2.0.0:
- version "2.1.2"
- resolved "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz"
- integrity sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==
- dependencies:
- cosmiconfig "^5.0.0"
- import-cwd "^2.0.0"
-
-postcss-loader@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz"
- integrity sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==
- dependencies:
- loader-utils "^1.1.0"
- postcss "^7.0.0"
- postcss-load-config "^2.0.0"
- schema-utils "^1.0.0"
-
-postcss-logical@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/postcss-logical/-/postcss-logical-3.0.0.tgz"
- integrity sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA==
- dependencies:
- postcss "^7.0.2"
-
-postcss-media-minmax@^4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz"
- integrity sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw==
- dependencies:
- postcss "^7.0.2"
-
-postcss-merge-longhand@^4.0.11:
- version "4.0.11"
- resolved "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz"
- integrity sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==
- dependencies:
- css-color-names "0.0.4"
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
- stylehacks "^4.0.0"
-
-postcss-merge-rules@^4.0.3:
- version "4.0.3"
- resolved "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz"
- integrity sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==
- dependencies:
- browserslist "^4.0.0"
- caniuse-api "^3.0.0"
- cssnano-util-same-parent "^4.0.0"
- postcss "^7.0.0"
- postcss-selector-parser "^3.0.0"
- vendors "^1.0.0"
-
-postcss-minify-font-values@^4.0.2:
- version "4.0.2"
- resolved "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz"
- integrity sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==
- dependencies:
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-minify-gradients@^4.0.2:
- version "4.0.2"
- resolved "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz"
- integrity sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==
- dependencies:
- cssnano-util-get-arguments "^4.0.0"
- is-color-stop "^1.0.0"
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-minify-params@^4.0.2:
- version "4.0.2"
- resolved "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz"
- integrity sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==
- dependencies:
- alphanum-sort "^1.0.0"
- browserslist "^4.0.0"
- cssnano-util-get-arguments "^4.0.0"
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
- uniqs "^2.0.0"
-
-postcss-minify-selectors@^4.0.2:
- version "4.0.2"
- resolved "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz"
- integrity sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==
- dependencies:
- alphanum-sort "^1.0.0"
- has "^1.0.0"
- postcss "^7.0.0"
- postcss-selector-parser "^3.0.0"
-
-postcss-modules-extract-imports@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz"
- integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==
- dependencies:
- postcss "^7.0.5"
-
-postcss-modules-local-by-default@^3.0.2:
- version "3.0.3"
- resolved "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz"
- integrity sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==
- dependencies:
- icss-utils "^4.1.1"
- postcss "^7.0.32"
- postcss-selector-parser "^6.0.2"
- postcss-value-parser "^4.1.0"
-
-postcss-modules-scope@^2.2.0:
- version "2.2.0"
- resolved "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz"
- integrity sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==
- dependencies:
- postcss "^7.0.6"
- postcss-selector-parser "^6.0.0"
-
-postcss-modules-values@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz"
- integrity sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==
- dependencies:
- icss-utils "^4.0.0"
- postcss "^7.0.6"
-
-postcss-nesting@^7.0.0:
- version "7.0.1"
- resolved "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-7.0.1.tgz"
- integrity sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg==
- dependencies:
- postcss "^7.0.2"
-
-postcss-normalize-charset@^4.0.1:
- version "4.0.1"
- resolved "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz"
- integrity sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==
- dependencies:
- postcss "^7.0.0"
-
-postcss-normalize-display-values@^4.0.2:
- version "4.0.2"
- resolved "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz"
- integrity sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==
- dependencies:
- cssnano-util-get-match "^4.0.0"
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-normalize-positions@^4.0.2:
- version "4.0.2"
- resolved "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz"
- integrity sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==
- dependencies:
- cssnano-util-get-arguments "^4.0.0"
- has "^1.0.0"
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-normalize-repeat-style@^4.0.2:
- version "4.0.2"
- resolved "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz"
- integrity sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==
- dependencies:
- cssnano-util-get-arguments "^4.0.0"
- cssnano-util-get-match "^4.0.0"
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-normalize-string@^4.0.2:
- version "4.0.2"
- resolved "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz"
- integrity sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==
- dependencies:
- has "^1.0.0"
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-normalize-timing-functions@^4.0.2:
- version "4.0.2"
- resolved "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz"
- integrity sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==
- dependencies:
- cssnano-util-get-match "^4.0.0"
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-normalize-unicode@^4.0.1:
- version "4.0.1"
- resolved "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz"
- integrity sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==
- dependencies:
- browserslist "^4.0.0"
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-normalize-url@^4.0.1:
- version "4.0.1"
- resolved "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz"
- integrity sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==
- dependencies:
- is-absolute-url "^2.0.0"
- normalize-url "^3.0.0"
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-normalize-whitespace@^4.0.2:
- version "4.0.2"
- resolved "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz"
- integrity sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==
- dependencies:
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-ordered-values@^4.1.2:
- version "4.1.2"
- resolved "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz"
- integrity sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==
- dependencies:
- cssnano-util-get-arguments "^4.0.0"
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-overflow-shorthand@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz"
- integrity sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g==
- dependencies:
- postcss "^7.0.2"
-
-postcss-page-break@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-2.0.0.tgz"
- integrity sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ==
- dependencies:
- postcss "^7.0.2"
-
-postcss-place@^4.0.1:
- version "4.0.1"
- resolved "https://registry.npmjs.org/postcss-place/-/postcss-place-4.0.1.tgz"
- integrity sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg==
- dependencies:
- postcss "^7.0.2"
- postcss-values-parser "^2.0.0"
-
-postcss-preset-env@^6.7.0:
- version "6.7.0"
- resolved "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz"
- integrity sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg==
- dependencies:
- autoprefixer "^9.6.1"
- browserslist "^4.6.4"
- caniuse-lite "^1.0.30000981"
- css-blank-pseudo "^0.1.4"
- css-has-pseudo "^0.10.0"
- css-prefers-color-scheme "^3.1.1"
- cssdb "^4.4.0"
- postcss "^7.0.17"
- postcss-attribute-case-insensitive "^4.0.1"
- postcss-color-functional-notation "^2.0.1"
- postcss-color-gray "^5.0.0"
- postcss-color-hex-alpha "^5.0.3"
- postcss-color-mod-function "^3.0.3"
- postcss-color-rebeccapurple "^4.0.1"
- postcss-custom-media "^7.0.8"
- postcss-custom-properties "^8.0.11"
- postcss-custom-selectors "^5.1.2"
- postcss-dir-pseudo-class "^5.0.0"
- postcss-double-position-gradients "^1.0.0"
- postcss-env-function "^2.0.2"
- postcss-focus-visible "^4.0.0"
- postcss-focus-within "^3.0.0"
- postcss-font-variant "^4.0.0"
- postcss-gap-properties "^2.0.0"
- postcss-image-set-function "^3.0.1"
- postcss-initial "^3.0.0"
- postcss-lab-function "^2.0.1"
- postcss-logical "^3.0.0"
- postcss-media-minmax "^4.0.0"
- postcss-nesting "^7.0.0"
- postcss-overflow-shorthand "^2.0.0"
- postcss-page-break "^2.0.0"
- postcss-place "^4.0.1"
- postcss-pseudo-class-any-link "^6.0.0"
- postcss-replace-overflow-wrap "^3.0.0"
- postcss-selector-matches "^4.0.0"
- postcss-selector-not "^4.0.0"
-
-postcss-pseudo-class-any-link@^6.0.0:
- version "6.0.0"
- resolved "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz"
- integrity sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew==
- dependencies:
- postcss "^7.0.2"
- postcss-selector-parser "^5.0.0-rc.3"
-
-postcss-reduce-initial@^4.0.3:
- version "4.0.3"
- resolved "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz"
- integrity sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==
- dependencies:
- browserslist "^4.0.0"
- caniuse-api "^3.0.0"
- has "^1.0.0"
- postcss "^7.0.0"
-
-postcss-reduce-transforms@^4.0.2:
- version "4.0.2"
- resolved "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz"
- integrity sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==
- dependencies:
- cssnano-util-get-match "^4.0.0"
- has "^1.0.0"
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-replace-overflow-wrap@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz"
- integrity sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw==
- dependencies:
- postcss "^7.0.2"
-
-postcss-safe-parser@^4.0.2:
- version "4.0.2"
- resolved "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.2.tgz"
- integrity sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g==
- dependencies:
- postcss "^7.0.26"
-
-postcss-selector-matches@^4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz"
- integrity sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww==
- dependencies:
- balanced-match "^1.0.0"
- postcss "^7.0.2"
-
-postcss-selector-not@^4.0.0:
- version "4.0.1"
- resolved "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz"
- integrity sha512-YolvBgInEK5/79C+bdFMyzqTg6pkYqDbzZIST/PDMqa/o3qtXenD05apBG2jLgT0/BQ77d4U2UK12jWpilqMAQ==
- dependencies:
- balanced-match "^1.0.0"
- postcss "^7.0.2"
-
-postcss-selector-parser@^3.0.0:
- version "3.1.2"
- resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz"
- integrity sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==
- dependencies:
- dot-prop "^5.2.0"
- indexes-of "^1.0.1"
- uniq "^1.0.1"
-
-postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4:
- version "5.0.0"
- resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz"
- integrity sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==
- dependencies:
- cssesc "^2.0.0"
- indexes-of "^1.0.1"
- uniq "^1.0.1"
-
-postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2:
- version "6.0.7"
- resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.7.tgz"
- integrity sha512-U+b/Deoi4I/UmE6KOVPpnhS7I7AYdKbhGcat+qTQ27gycvaACvNEw11ba6RrkwVmDVRW7sigWgLj4/KbbJjeDA==
- dependencies:
- cssesc "^3.0.0"
- util-deprecate "^1.0.2"
-
-postcss-svgo@^4.0.3:
- version "4.0.3"
- resolved "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.3.tgz"
- integrity sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==
- dependencies:
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
- svgo "^1.0.0"
-
-postcss-unique-selectors@^4.0.1:
- version "4.0.1"
- resolved "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz"
- integrity sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==
- dependencies:
- alphanum-sort "^1.0.0"
- postcss "^7.0.0"
- uniqs "^2.0.0"
-
-postcss-value-parser@^3.0.0, postcss-value-parser@^3.2.3:
- version "3.3.1"
- resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz"
- integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==
-
-postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0:
- version "4.2.0"
- resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz"
- integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
-
-postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1:
- version "2.0.1"
- resolved "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz"
- integrity sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==
- dependencies:
- flatten "^1.0.2"
- indexes-of "^1.0.1"
- uniq "^1.0.1"
-
-postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.26, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6:
- version "7.0.39"
- resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz"
- integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==
- dependencies:
- picocolors "^0.2.1"
- source-map "^0.6.1"
-
-prepend-http@^1.0.0:
- version "1.0.4"
- resolved "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz"
- integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=
-
-process-nextick-args@~2.0.0:
- version "2.0.1"
- resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz"
- integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
-
-process@^0.11.10:
- version "0.11.10"
- resolved "https://registry.npmjs.org/process/-/process-0.11.10.tgz"
- integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI=
-
-promise-inflight@^1.0.1:
- version "1.0.1"
- resolved "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz"
- integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM=
-
-proxy-addr@~2.0.5:
- version "2.0.7"
- resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz"
- integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==
- dependencies:
- forwarded "0.2.0"
- ipaddr.js "1.9.1"
-
-prr@~1.0.1:
- version "1.0.1"
- resolved "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz"
- integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY=
-
-public-encrypt@^4.0.0:
- version "4.0.3"
- resolved "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz"
- integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==
- dependencies:
- bn.js "^4.1.0"
- browserify-rsa "^4.0.0"
- create-hash "^1.1.0"
- parse-asn1 "^5.0.0"
- randombytes "^2.0.1"
- safe-buffer "^5.1.2"
-
-pump@^2.0.0:
- version "2.0.1"
- resolved "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz"
- integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==
- dependencies:
- end-of-stream "^1.1.0"
- once "^1.3.1"
-
-pump@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz"
- integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
- dependencies:
- end-of-stream "^1.1.0"
- once "^1.3.1"
-
-pumpify@^1.3.3:
- version "1.5.1"
- resolved "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz"
- integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==
- dependencies:
- duplexify "^3.6.0"
- inherits "^2.0.3"
- pump "^2.0.0"
-
-punycode@1.3.2:
- version "1.3.2"
- resolved "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz"
- integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=
-
-punycode@^1.2.4:
- version "1.4.1"
- resolved "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz"
- integrity sha1-wNWmOycYgArY4esPpSachN1BhF4=
-
-punycode@^2.1.0:
- version "2.1.1"
- resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz"
- integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
-
-q@^1.1.2:
- version "1.5.1"
- resolved "https://registry.npmjs.org/q/-/q-1.5.1.tgz"
- integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=
-
-qs@6.7.0:
- version "6.7.0"
- resolved "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz"
- integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==
-
-query-string@^4.1.0:
- version "4.3.4"
- resolved "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz"
- integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s=
- dependencies:
- object-assign "^4.1.0"
- strict-uri-encode "^1.0.0"
-
-querystring-es3@^0.2.0:
- version "0.2.1"
- resolved "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz"
- integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=
-
-querystring@0.2.0:
- version "0.2.0"
- resolved "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz"
- integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=
-
-queue-microtask@^1.2.2:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
- integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
-
-randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0:
- version "2.1.0"
- resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz"
- integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
- dependencies:
- safe-buffer "^5.1.0"
-
-randomfill@^1.0.3:
- version "1.0.4"
- resolved "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz"
- integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==
- dependencies:
- randombytes "^2.0.5"
- safe-buffer "^5.1.0"
-
-range-parser@^1.2.1, range-parser@~1.2.1:
- version "1.2.1"
- resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz"
- integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
-
-raw-body@2.4.0:
- version "2.4.0"
- resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz"
- integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==
- dependencies:
- bytes "3.1.0"
- http-errors "1.7.2"
- iconv-lite "0.4.24"
- unpipe "1.0.0"
-
-read-cache@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz"
- integrity sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=
- dependencies:
- pify "^2.3.0"
-
-"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6:
- version "2.3.7"
- resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz"
- integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
- dependencies:
- core-util-is "~1.0.0"
- inherits "~2.0.3"
- isarray "~1.0.0"
- process-nextick-args "~2.0.0"
- safe-buffer "~5.1.1"
- string_decoder "~1.1.1"
- util-deprecate "~1.0.1"
-
-readable-stream@^3.0.6, readable-stream@^3.6.0:
- version "3.6.0"
- resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz"
- integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
- dependencies:
- inherits "^2.0.3"
- string_decoder "^1.1.1"
- util-deprecate "^1.0.1"
-
-readdirp@^2.2.1:
- version "2.2.1"
- resolved "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz"
- integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==
- dependencies:
- graceful-fs "^4.1.11"
- micromatch "^3.1.10"
- readable-stream "^2.0.2"
-
-readdirp@~3.6.0:
- version "3.6.0"
- resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz"
- integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
- dependencies:
- picomatch "^2.2.1"
-
-rechoir@^0.7.0:
- version "0.7.1"
- resolved "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz"
- integrity sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==
- dependencies:
- resolve "^1.9.0"
-
-regenerate-unicode-properties@^9.0.0:
- version "9.0.0"
- resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz"
- integrity sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==
- dependencies:
- regenerate "^1.4.2"
-
-regenerate@^1.4.2:
- version "1.4.2"
- resolved "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz"
- integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==
-
-regenerator-runtime@^0.13.4, regenerator-runtime@^0.13.9:
- version "0.13.9"
- resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz"
- integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==
-
-regenerator-transform@^0.14.2:
- version "0.14.5"
- resolved "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz"
- integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==
- dependencies:
- "@babel/runtime" "^7.8.4"
-
-regex-not@^1.0.0, regex-not@^1.0.2:
- version "1.0.2"
- resolved "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz"
- integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==
- dependencies:
- extend-shallow "^3.0.2"
- safe-regex "^1.1.0"
-
-regexp.prototype.flags@^1.2.0:
- version "1.3.1"
- resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz"
- integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.3"
-
-regexpu-core@^4.7.1:
- version "4.8.0"
- resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz"
- integrity sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==
- dependencies:
- regenerate "^1.4.2"
- regenerate-unicode-properties "^9.0.0"
- regjsgen "^0.5.2"
- regjsparser "^0.7.0"
- unicode-match-property-ecmascript "^2.0.0"
- unicode-match-property-value-ecmascript "^2.0.0"
-
-regjsgen@^0.5.2:
- version "0.5.2"
- resolved "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz"
- integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==
-
-regjsparser@^0.7.0:
- version "0.7.0"
- resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz"
- integrity sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==
- dependencies:
- jsesc "~0.5.0"
-
-remove-trailing-separator@^1.0.1:
- version "1.1.0"
- resolved "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz"
- integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8=
-
-repeat-element@^1.1.2:
- version "1.1.4"
- resolved "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz"
- integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==
-
-repeat-string@^1.6.1:
- version "1.6.1"
- resolved "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz"
- integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc=
-
-require-directory@^2.1.1:
- version "2.1.1"
- resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz"
- integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
-
-require-from-string@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
- integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
-
-require-main-filename@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz"
- integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==
-
-requires-port@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz"
- integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=
-
-resolve-cwd@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz"
- integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=
- dependencies:
- resolve-from "^3.0.0"
-
-resolve-cwd@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz"
- integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==
- dependencies:
- resolve-from "^5.0.0"
-
-resolve-dir@^1.0.0, resolve-dir@^1.0.1:
- version "1.0.1"
- resolved "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz"
- integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=
- dependencies:
- expand-tilde "^2.0.0"
- global-modules "^1.0.0"
-
-resolve-from@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz"
- integrity sha1-six699nWiBvItuZTM17rywoYh0g=
-
-resolve-from@^4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz"
- integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
-
-resolve-from@^5.0.0:
- version "5.0.0"
- resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz"
- integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
-
-resolve-url@^0.2.1:
- version "0.2.1"
- resolved "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz"
- integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
-
-resolve@^1.1.7, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.9.0:
- version "1.20.0"
- resolved "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz"
- integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==
- dependencies:
- is-core-module "^2.2.0"
- path-parse "^1.0.6"
-
-ret@~0.1.10:
- version "0.1.15"
- resolved "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz"
- integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==
-
-retry@^0.13.1:
- version "0.13.1"
- resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658"
- integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==
-
-reusify@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
- integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
-
-rgb-regex@^1.0.1:
- version "1.0.1"
- resolved "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz"
- integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE=
-
-rgba-regex@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz"
- integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=
-
-rimraf@^2.5.4, rimraf@^2.6.3:
- version "2.7.1"
- resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz"
- integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
- dependencies:
- glob "^7.1.3"
-
-rimraf@^3.0.2:
- version "3.0.2"
- resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz"
- integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
- dependencies:
- glob "^7.1.3"
-
-ripemd160@^2.0.0, ripemd160@^2.0.1:
- version "2.0.2"
- resolved "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz"
- integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==
- dependencies:
- hash-base "^3.0.0"
- inherits "^2.0.1"
-
-run-parallel@^1.1.9:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
- integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
- dependencies:
- queue-microtask "^1.2.2"
-
-run-queue@^1.0.0, run-queue@^1.0.3:
- version "1.0.3"
- resolved "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz"
- integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=
- dependencies:
- aproba "^1.1.1"
-
-safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
- version "5.1.2"
- resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
- integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
-
-safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0:
- version "5.2.1"
- resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz"
- integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
-
-safe-regex@^1.1.0:
- version "1.1.0"
- resolved "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz"
- integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4=
- dependencies:
- ret "~0.1.10"
-
-"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.1.0:
- version "2.1.2"
- resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz"
- integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
-
-sass-loader@10.1.1:
- version "10.1.1"
- resolved "https://registry.npmjs.org/sass-loader/-/sass-loader-10.1.1.tgz"
- integrity sha512-W6gVDXAd5hR/WHsPicvZdjAWHBcEJ44UahgxcIE196fW2ong0ZHMPO1kZuI5q0VlvMQZh32gpv69PLWQm70qrw==
- dependencies:
- klona "^2.0.4"
- loader-utils "^2.0.0"
- neo-async "^2.6.2"
- schema-utils "^3.0.0"
- semver "^7.3.2"
-
-sass@^1.38.0:
- version "1.44.0"
- resolved "https://registry.npmjs.org/sass/-/sass-1.44.0.tgz"
- integrity sha512-0hLREbHFXGQqls/K8X+koeP+ogFRPF4ZqetVB19b7Cst9Er8cOR0rc6RU7MaI4W1JmUShd1BPgPoeqmmgMMYFw==
- dependencies:
- chokidar ">=3.0.0 <4.0.0"
- immutable "^4.0.0"
-
-sax@~1.2.4:
- version "1.2.4"
- resolved "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz"
- integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
-
-schema-utils@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz"
- integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==
- dependencies:
- ajv "^6.1.0"
- ajv-errors "^1.0.0"
- ajv-keywords "^3.1.0"
-
-schema-utils@^2.6.5, schema-utils@^2.7.0:
- version "2.7.1"
- resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz"
- integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==
- dependencies:
- "@types/json-schema" "^7.0.5"
- ajv "^6.12.4"
- ajv-keywords "^3.5.2"
-
-schema-utils@^3.0.0:
- version "3.1.1"
- resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz"
- integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==
- dependencies:
- "@types/json-schema" "^7.0.8"
- ajv "^6.12.5"
- ajv-keywords "^3.5.2"
-
-schema-utils@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.0.0.tgz#60331e9e3ae78ec5d16353c467c34b3a0a1d3df7"
- integrity sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==
- dependencies:
- "@types/json-schema" "^7.0.9"
- ajv "^8.8.0"
- ajv-formats "^2.1.1"
- ajv-keywords "^5.0.0"
-
-select-hose@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz"
- integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=
-
-selfsigned@^1.10.11:
- version "1.10.11"
- resolved "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz"
- integrity sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==
- dependencies:
- node-forge "^0.10.0"
-
-semver@7.0.0:
- version "7.0.0"
- resolved "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz"
- integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==
-
-semver@^5.5.0, semver@^5.6.0:
- version "5.7.1"
- resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz"
- integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
-
-semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0:
- version "6.3.0"
- resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz"
- integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
-
-semver@^7.3.2, semver@^7.3.5:
- version "7.3.5"
- resolved "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz"
- integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
- dependencies:
- lru-cache "^6.0.0"
-
-send@0.17.1:
- version "0.17.1"
- resolved "https://registry.npmjs.org/send/-/send-0.17.1.tgz"
- integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==
- dependencies:
- debug "2.6.9"
- depd "~1.1.2"
- destroy "~1.0.4"
- encodeurl "~1.0.2"
- escape-html "~1.0.3"
- etag "~1.8.1"
- fresh "0.5.2"
- http-errors "~1.7.2"
- mime "1.6.0"
- ms "2.1.1"
- on-finished "~2.3.0"
- range-parser "~1.2.1"
- statuses "~1.5.0"
-
-serialize-javascript@^4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz"
- integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==
- dependencies:
- randombytes "^2.1.0"
-
-serialize-javascript@^5.0.1:
- version "5.0.1"
- resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz"
- integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==
- dependencies:
- randombytes "^2.1.0"
-
-serve-index@^1.9.1:
- version "1.9.1"
- resolved "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz"
- integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=
- dependencies:
- accepts "~1.3.4"
- batch "0.6.1"
- debug "2.6.9"
- escape-html "~1.0.3"
- http-errors "~1.6.2"
- mime-types "~2.1.17"
- parseurl "~1.3.2"
-
-serve-static@1.14.1:
- version "1.14.1"
- resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz"
- integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==
- dependencies:
- encodeurl "~1.0.2"
- escape-html "~1.0.3"
- parseurl "~1.3.3"
- send "0.17.1"
-
-set-blocking@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz"
- integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
-
-set-value@^2.0.0, set-value@^2.0.1:
- version "2.0.1"
- resolved "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz"
- integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==
- dependencies:
- extend-shallow "^2.0.1"
- is-extendable "^0.1.1"
- is-plain-object "^2.0.3"
- split-string "^3.0.1"
-
-setimmediate@^1.0.4:
- version "1.0.5"
- resolved "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz"
- integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=
-
-setprototypeof@1.1.0:
- version "1.1.0"
- resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz"
- integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==
-
-setprototypeof@1.1.1:
- version "1.1.1"
- resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz"
- integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==
-
-sha.js@^2.4.0, sha.js@^2.4.8:
- version "2.4.11"
- resolved "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz"
- integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==
- dependencies:
- inherits "^2.0.1"
- safe-buffer "^5.0.1"
-
-shallow-clone@^3.0.0:
- version "3.0.1"
- resolved "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz"
- integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==
- dependencies:
- kind-of "^6.0.2"
-
-shebang-command@^1.2.0:
- version "1.2.0"
- resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz"
- integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=
- dependencies:
- shebang-regex "^1.0.0"
-
-shebang-command@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz"
- integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
- dependencies:
- shebang-regex "^3.0.0"
-
-shebang-regex@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz"
- integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=
-
-shebang-regex@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz"
- integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
-
-side-channel@^1.0.4:
- version "1.0.4"
- resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz"
- integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==
- dependencies:
- call-bind "^1.0.0"
- get-intrinsic "^1.0.2"
- object-inspect "^1.9.0"
-
-signal-exit@^3.0.3:
- version "3.0.6"
- resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz"
- integrity sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==
-
-simple-swizzle@^0.2.2:
- version "0.2.2"
- resolved "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz"
- integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=
- dependencies:
- is-arrayish "^0.3.1"
-
-slash@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
- integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
-
-snapdragon-node@^2.0.1:
- version "2.1.1"
- resolved "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz"
- integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==
- dependencies:
- define-property "^1.0.0"
- isobject "^3.0.0"
- snapdragon-util "^3.0.1"
-
-snapdragon-util@^3.0.1:
- version "3.0.1"
- resolved "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz"
- integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==
- dependencies:
- kind-of "^3.2.0"
-
-snapdragon@^0.8.1:
- version "0.8.2"
- resolved "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz"
- integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==
- dependencies:
- base "^0.11.1"
- debug "^2.2.0"
- define-property "^0.2.5"
- extend-shallow "^2.0.1"
- map-cache "^0.2.2"
- source-map "^0.5.6"
- source-map-resolve "^0.5.0"
- use "^3.1.0"
-
-sockjs@^0.3.21:
- version "0.3.24"
- resolved "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz"
- integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==
- dependencies:
- faye-websocket "^0.11.3"
- uuid "^8.3.2"
- websocket-driver "^0.7.4"
-
-sort-keys@^1.0.0:
- version "1.1.2"
- resolved "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz"
- integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0=
- dependencies:
- is-plain-obj "^1.0.0"
-
-source-list-map@^2.0.0:
- version "2.0.1"
- resolved "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz"
- integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==
-
-source-map-resolve@^0.5.0:
- version "0.5.3"
- resolved "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz"
- integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==
- dependencies:
- atob "^2.1.2"
- decode-uri-component "^0.2.0"
- resolve-url "^0.2.1"
- source-map-url "^0.4.0"
- urix "^0.1.0"
-
-source-map-support@~0.5.12, source-map-support@~0.5.20:
- version "0.5.21"
- resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz"
- integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==
- dependencies:
- buffer-from "^1.0.0"
- source-map "^0.6.0"
-
-source-map-url@^0.4.0:
- version "0.4.1"
- resolved "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz"
- integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==
-
-source-map@^0.5.0, source-map@^0.5.6:
- version "0.5.7"
- resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz"
- integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
-
-source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1:
- version "0.6.1"
- resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"
- integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
-
-source-map@~0.7.2:
- version "0.7.3"
- resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz"
- integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==
-
-spark-md5@^3.0.0:
- version "3.0.2"
- resolved "https://registry.npmjs.org/spark-md5/-/spark-md5-3.0.2.tgz"
- integrity sha512-wcFzz9cDfbuqe0FZzfi2or1sgyIrsDwmPwfZC4hiNidPdPINjeUwNfv5kldczoEAcjl9Y1L3SM7Uz2PUEQzxQw==
-
-spdy-transport@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz"
- integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==
- dependencies:
- debug "^4.1.0"
- detect-node "^2.0.4"
- hpack.js "^2.1.6"
- obuf "^1.1.2"
- readable-stream "^3.0.6"
- wbuf "^1.7.3"
-
-spdy@^4.0.2:
- version "4.0.2"
- resolved "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz"
- integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==
- dependencies:
- debug "^4.1.0"
- handle-thing "^2.0.0"
- http-deceiver "^1.2.7"
- select-hose "^2.0.0"
- spdy-transport "^3.0.0"
-
-split-string@^3.0.1, split-string@^3.0.2:
- version "3.1.0"
- resolved "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz"
- integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==
- dependencies:
- extend-shallow "^3.0.0"
-
-sprintf-js@~1.0.2:
- version "1.0.3"
- resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz"
- integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
-
-ssri@^6.0.1:
- version "6.0.2"
- resolved "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz"
- integrity sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==
- dependencies:
- figgy-pudding "^3.5.1"
-
-ssri@^8.0.1:
- version "8.0.1"
- resolved "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz"
- integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==
- dependencies:
- minipass "^3.1.1"
-
-stable@^0.1.8:
- version "0.1.8"
- resolved "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz"
- integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==
-
-static-extend@^0.1.1:
- version "0.1.2"
- resolved "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz"
- integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=
- dependencies:
- define-property "^0.2.5"
- object-copy "^0.1.0"
-
-"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0:
- version "1.5.0"
- resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz"
- integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=
-
-stream-browserify@^2.0.1:
- version "2.0.2"
- resolved "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz"
- integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==
- dependencies:
- inherits "~2.0.1"
- readable-stream "^2.0.2"
-
-stream-each@^1.1.0:
- version "1.2.3"
- resolved "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz"
- integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==
- dependencies:
- end-of-stream "^1.1.0"
- stream-shift "^1.0.0"
-
-stream-http@^2.7.2:
- version "2.8.3"
- resolved "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz"
- integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==
- dependencies:
- builtin-status-codes "^3.0.0"
- inherits "^2.0.1"
- readable-stream "^2.3.6"
- to-arraybuffer "^1.0.0"
- xtend "^4.0.0"
-
-stream-shift@^1.0.0:
- version "1.0.1"
- resolved "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz"
- integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==
-
-strict-uri-encode@^1.0.0:
- version "1.1.0"
- resolved "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz"
- integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=
-
-string-width@^3.0.0, string-width@^3.1.0:
- version "3.1.0"
- resolved "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz"
- integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==
- dependencies:
- emoji-regex "^7.0.1"
- is-fullwidth-code-point "^2.0.0"
- strip-ansi "^5.1.0"
-
-string.prototype.trimend@^1.0.4:
- version "1.0.4"
- resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz"
- integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.3"
-
-string.prototype.trimstart@^1.0.4:
- version "1.0.4"
- resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz"
- integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.3"
-
-string_decoder@^1.0.0, string_decoder@^1.1.1:
- version "1.3.0"
- resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz"
- integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
- dependencies:
- safe-buffer "~5.2.0"
-
-string_decoder@~1.1.1:
- version "1.1.1"
- resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"
- integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
- dependencies:
- safe-buffer "~5.1.0"
-
-strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0:
- version "5.2.0"
- resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz"
- integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
- dependencies:
- ansi-regex "^4.1.0"
-
-strip-ansi@^7.0.0:
- version "7.0.1"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2"
- integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==
- dependencies:
- ansi-regex "^6.0.1"
-
-strip-final-newline@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz"
- integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
-
-style-loader@^1.3.0:
- version "1.3.0"
- resolved "https://registry.npmjs.org/style-loader/-/style-loader-1.3.0.tgz"
- integrity sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q==
- dependencies:
- loader-utils "^2.0.0"
- schema-utils "^2.7.0"
-
-stylehacks@^4.0.0:
- version "4.0.3"
- resolved "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz"
- integrity sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==
- dependencies:
- browserslist "^4.0.0"
- postcss "^7.0.0"
- postcss-selector-parser "^3.0.0"
-
-supports-color@^5.3.0:
- version "5.5.0"
- resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz"
- integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
- dependencies:
- has-flag "^3.0.0"
-
-supports-color@^6.1.0:
- version "6.1.0"
- resolved "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz"
- integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==
- dependencies:
- has-flag "^3.0.0"
-
-supports-color@^7.0.0:
- version "7.2.0"
- resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz"
- integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
- dependencies:
- has-flag "^4.0.0"
-
-svgo@^1.0.0:
- version "1.3.2"
- resolved "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz"
- integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==
- dependencies:
- chalk "^2.4.1"
- coa "^2.0.2"
- css-select "^2.0.0"
- css-select-base-adapter "^0.1.1"
- css-tree "1.0.0-alpha.37"
- csso "^4.0.2"
- js-yaml "^3.13.1"
- mkdirp "~0.5.1"
- object.values "^1.1.0"
- sax "~1.2.4"
- stable "^0.1.8"
- unquote "~1.1.1"
- util.promisify "~1.0.0"
-
-tapable@^1.0.0, tapable@^1.1.3:
- version "1.1.3"
- resolved "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz"
- integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==
-
-tar@^6.0.2:
- version "6.1.11"
- resolved "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz"
- integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==
- dependencies:
- chownr "^2.0.0"
- fs-minipass "^2.0.0"
- minipass "^3.0.0"
- minizlib "^2.1.1"
- mkdirp "^1.0.3"
- yallist "^4.0.0"
-
-terser-webpack-plugin@^1.4.3:
- version "1.4.5"
- resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz"
- integrity sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==
- dependencies:
- cacache "^12.0.2"
- find-cache-dir "^2.1.0"
- is-wsl "^1.1.0"
- schema-utils "^1.0.0"
- serialize-javascript "^4.0.0"
- source-map "^0.6.1"
- terser "^4.1.2"
- webpack-sources "^1.4.0"
- worker-farm "^1.7.0"
-
-terser-webpack-plugin@^4.2.3:
- version "4.2.3"
- resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-4.2.3.tgz"
- integrity sha512-jTgXh40RnvOrLQNgIkwEKnQ8rmHjHK4u+6UBEi+W+FPmvb+uo+chJXntKe7/3lW5mNysgSWD60KyesnhW8D6MQ==
- dependencies:
- cacache "^15.0.5"
- find-cache-dir "^3.3.1"
- jest-worker "^26.5.0"
- p-limit "^3.0.2"
- schema-utils "^3.0.0"
- serialize-javascript "^5.0.1"
- source-map "^0.6.1"
- terser "^5.3.4"
- webpack-sources "^1.4.3"
-
-terser@^4.1.2:
- version "4.8.0"
- resolved "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz"
- integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==
- dependencies:
- commander "^2.20.0"
- source-map "~0.6.1"
- source-map-support "~0.5.12"
-
-terser@^5.3.4:
- version "5.10.0"
- resolved "https://registry.npmjs.org/terser/-/terser-5.10.0.tgz"
- integrity sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==
- dependencies:
- commander "^2.20.0"
- source-map "~0.7.2"
- source-map-support "~0.5.20"
-
-through2@^2.0.0:
- version "2.0.5"
- resolved "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz"
- integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==
- dependencies:
- readable-stream "~2.3.6"
- xtend "~4.0.1"
-
-thunky@^1.0.2:
- version "1.1.0"
- resolved "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz"
- integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==
-
-timers-browserify@^2.0.4:
- version "2.0.12"
- resolved "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz"
- integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==
- dependencies:
- setimmediate "^1.0.4"
-
-timsort@^0.3.0:
- version "0.3.0"
- resolved "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz"
- integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=
-
-to-arraybuffer@^1.0.0:
- version "1.0.1"
- resolved "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz"
- integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=
-
-to-fast-properties@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz"
- integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
-
-to-object-path@^0.3.0:
- version "0.3.0"
- resolved "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz"
- integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=
- dependencies:
- kind-of "^3.0.2"
-
-to-regex-range@^2.1.0:
- version "2.1.1"
- resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz"
- integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=
- dependencies:
- is-number "^3.0.0"
- repeat-string "^1.6.1"
-
-to-regex-range@^5.0.1:
- version "5.0.1"
- resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz"
- integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
- dependencies:
- is-number "^7.0.0"
-
-to-regex@^3.0.1, to-regex@^3.0.2:
- version "3.0.2"
- resolved "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz"
- integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==
- dependencies:
- define-property "^2.0.2"
- extend-shallow "^3.0.2"
- regex-not "^1.0.2"
- safe-regex "^1.1.0"
-
-toidentifier@1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz"
- integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==
-
-ts-pnp@^1.1.6:
- version "1.2.0"
- resolved "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz"
- integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==
-
-tty-browserify@0.0.0:
- version "0.0.0"
- resolved "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz"
- integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=
-
-turbolinks@^5.2.0:
- version "5.2.0"
- resolved "https://registry.npmjs.org/turbolinks/-/turbolinks-5.2.0.tgz"
- integrity sha512-pMiez3tyBo6uRHFNNZoYMmrES/IaGgMhQQM+VFF36keryjb5ms0XkVpmKHkfW/4Vy96qiGW3K9bz0tF5sK9bBw==
-
-type-is@~1.6.17, type-is@~1.6.18:
- version "1.6.18"
- resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz"
- integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
- dependencies:
- media-typer "0.3.0"
- mime-types "~2.1.24"
-
-typedarray@^0.0.6:
- version "0.0.6"
- resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"
- integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
-
-unbox-primitive@^1.0.1:
- version "1.0.1"
- resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz"
- integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==
- dependencies:
- function-bind "^1.1.1"
- has-bigints "^1.0.1"
- has-symbols "^1.0.2"
- which-boxed-primitive "^1.0.2"
-
-unicode-canonical-property-names-ecmascript@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz"
- integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==
-
-unicode-match-property-ecmascript@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz"
- integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==
- dependencies:
- unicode-canonical-property-names-ecmascript "^2.0.0"
- unicode-property-aliases-ecmascript "^2.0.0"
-
-unicode-match-property-value-ecmascript@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz"
- integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==
-
-unicode-property-aliases-ecmascript@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz"
- integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==
-
-union-value@^1.0.0:
- version "1.0.1"
- resolved "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz"
- integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==
- dependencies:
- arr-union "^3.1.0"
- get-value "^2.0.6"
- is-extendable "^0.1.1"
- set-value "^2.0.1"
-
-uniq@^1.0.1:
- version "1.0.1"
- resolved "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz"
- integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=
-
-uniqs@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz"
- integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI=
-
-unique-filename@^1.1.1:
- version "1.1.1"
- resolved "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz"
- integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==
- dependencies:
- unique-slug "^2.0.0"
-
-unique-slug@^2.0.0:
- version "2.0.2"
- resolved "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz"
- integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==
- dependencies:
- imurmurhash "^0.1.4"
-
-unpipe@1.0.0, unpipe@~1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
- integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=
-
-unquote@~1.1.1:
- version "1.1.1"
- resolved "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz"
- integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=
-
-unset-value@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz"
- integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=
- dependencies:
- has-value "^0.3.1"
- isobject "^3.0.0"
-
-upath@^1.1.1:
- version "1.2.0"
- resolved "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz"
- integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==
-
-uri-js@^4.2.2:
- version "4.4.1"
- resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz"
- integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
- dependencies:
- punycode "^2.1.0"
-
-urix@^0.1.0:
- version "0.1.0"
- resolved "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz"
- integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=
-
-url@^0.11.0:
- version "0.11.0"
- resolved "https://registry.npmjs.org/url/-/url-0.11.0.tgz"
- integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=
- dependencies:
- punycode "1.3.2"
- querystring "0.2.0"
-
-use@^3.1.0:
- version "3.1.1"
- resolved "https://registry.npmjs.org/use/-/use-3.1.1.tgz"
- integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==
-
-util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1:
- version "1.0.2"
- resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
- integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
-
-util.promisify@~1.0.0:
- version "1.0.1"
- resolved "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz"
- integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==
- dependencies:
- define-properties "^1.1.3"
- es-abstract "^1.17.2"
- has-symbols "^1.0.1"
- object.getownpropertydescriptors "^2.1.0"
-
-util@0.10.3:
- version "0.10.3"
- resolved "https://registry.npmjs.org/util/-/util-0.10.3.tgz"
- integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk=
- dependencies:
- inherits "2.0.1"
-
-util@^0.11.0:
- version "0.11.1"
- resolved "https://registry.npmjs.org/util/-/util-0.11.1.tgz"
- integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==
- dependencies:
- inherits "2.0.3"
-
-utils-merge@1.0.1:
- version "1.0.1"
- resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz"
- integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=
-
-uuid@^8.3.2:
- version "8.3.2"
- resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz"
- integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
-
-v8-compile-cache@^2.1.1:
- version "2.3.0"
- resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz"
- integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==
-
-vary@~1.1.2:
- version "1.1.2"
- resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz"
- integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=
-
-vendors@^1.0.0:
- version "1.0.4"
- resolved "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz"
- integrity sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==
-
-vm-browserify@^1.0.1:
- version "1.1.2"
- resolved "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz"
- integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==
-
-watchpack-chokidar2@^2.0.1:
- version "2.0.1"
- resolved "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz"
- integrity sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==
- dependencies:
- chokidar "^2.1.8"
-
-watchpack@^1.7.4:
- version "1.7.5"
- resolved "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz"
- integrity sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==
- dependencies:
- graceful-fs "^4.1.2"
- neo-async "^2.5.0"
- optionalDependencies:
- chokidar "^3.4.1"
- watchpack-chokidar2 "^2.0.1"
-
-wbuf@^1.1.0, wbuf@^1.7.3:
- version "1.7.3"
- resolved "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz"
- integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==
- dependencies:
- minimalistic-assert "^1.0.0"
-
-webpack-assets-manifest@^3.1.1:
- version "3.1.1"
- resolved "https://registry.npmjs.org/webpack-assets-manifest/-/webpack-assets-manifest-3.1.1.tgz"
- integrity sha512-JV9V2QKc5wEWQptdIjvXDUL1ucbPLH2f27toAY3SNdGZp+xSaStAgpoMcvMZmqtFrBc9a5pTS1058vxyMPOzRQ==
- dependencies:
- chalk "^2.0"
- lodash.get "^4.0"
- lodash.has "^4.0"
- mkdirp "^0.5"
- schema-utils "^1.0.0"
- tapable "^1.0.0"
- webpack-sources "^1.0.0"
-
-webpack-cli@^3.3.12:
- version "3.3.12"
- resolved "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.12.tgz"
- integrity sha512-NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag==
- dependencies:
- chalk "^2.4.2"
- cross-spawn "^6.0.5"
- enhanced-resolve "^4.1.1"
- findup-sync "^3.0.0"
- global-modules "^2.0.0"
- import-local "^2.0.0"
- interpret "^1.4.0"
- loader-utils "^1.4.0"
- supports-color "^6.1.0"
- v8-compile-cache "^2.1.1"
- yargs "^13.3.2"
-
-webpack-cli@^4.0:
- version "4.9.1"
- resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.9.1.tgz#b64be825e2d1b130f285c314caa3b1ba9a4632b3"
- integrity sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==
- dependencies:
- "@discoveryjs/json-ext" "^0.5.0"
- "@webpack-cli/configtest" "^1.1.0"
- "@webpack-cli/info" "^1.4.0"
- "@webpack-cli/serve" "^1.6.0"
- colorette "^2.0.14"
- commander "^7.0.0"
- execa "^5.0.0"
- fastest-levenshtein "^1.0.12"
- import-local "^3.0.2"
- interpret "^2.2.0"
- rechoir "^0.7.0"
- webpack-merge "^5.7.3"
-
-webpack-dev-middleware@^5.2.1:
- version "5.2.2"
- resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.2.2.tgz#eb5193faa5479ca1086b9f7bed68b89c731bff62"
- integrity sha512-DjZyYrsHhkikAFNvSNKrpnziXukU1EChFAh9j4LAm6ndPLPW8cN0KhM7T+RAiOqsQ6ABfQ8hoKIs9IWMTjov+w==
- dependencies:
- colorette "^2.0.10"
- memfs "^3.2.2"
- mime-types "^2.1.31"
- range-parser "^1.2.1"
- schema-utils "^4.0.0"
-
-webpack-dev-server@^4:
- version "4.6.0"
- resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.6.0.tgz#e8648601c440172d9b6f248d28db98bed335315a"
- integrity sha512-oojcBIKvx3Ya7qs1/AVWHDgmP1Xml8rGsEBnSobxU/UJSX1xP1GPM3MwsAnDzvqcVmVki8tV7lbcsjEjk0PtYg==
- dependencies:
- ansi-html-community "^0.0.8"
- bonjour "^3.5.0"
- chokidar "^3.5.2"
- colorette "^2.0.10"
- compression "^1.7.4"
- connect-history-api-fallback "^1.6.0"
- default-gateway "^6.0.3"
- del "^6.0.0"
- express "^4.17.1"
- graceful-fs "^4.2.6"
- html-entities "^2.3.2"
- http-proxy-middleware "^2.0.0"
- ipaddr.js "^2.0.1"
- open "^8.0.9"
- p-retry "^4.5.0"
- portfinder "^1.0.28"
- schema-utils "^4.0.0"
- selfsigned "^1.10.11"
- serve-index "^1.9.1"
- sockjs "^0.3.21"
- spdy "^4.0.2"
- strip-ansi "^7.0.0"
- url "^0.11.0"
- webpack-dev-middleware "^5.2.1"
- ws "^8.1.0"
-
-webpack-merge@^5.7.3:
- version "5.8.0"
- resolved "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz"
- integrity sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==
- dependencies:
- clone-deep "^4.0.1"
- wildcard "^2.0.0"
-
-webpack-sources@^1.0.0, webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-sources@^1.4.3:
- version "1.4.3"
- resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz"
- integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==
- dependencies:
- source-list-map "^2.0.0"
- source-map "~0.6.1"
-
-webpack@^4.46.0:
- version "4.46.0"
- resolved "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz"
- integrity sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==
- dependencies:
- "@webassemblyjs/ast" "1.9.0"
- "@webassemblyjs/helper-module-context" "1.9.0"
- "@webassemblyjs/wasm-edit" "1.9.0"
- "@webassemblyjs/wasm-parser" "1.9.0"
- acorn "^6.4.1"
- ajv "^6.10.2"
- ajv-keywords "^3.4.1"
- chrome-trace-event "^1.0.2"
- enhanced-resolve "^4.5.0"
- eslint-scope "^4.0.3"
- json-parse-better-errors "^1.0.2"
- loader-runner "^2.4.0"
- loader-utils "^1.2.3"
- memory-fs "^0.4.1"
- micromatch "^3.1.10"
- mkdirp "^0.5.3"
- neo-async "^2.6.1"
- node-libs-browser "^2.2.1"
- schema-utils "^1.0.0"
- tapable "^1.1.3"
- terser-webpack-plugin "^1.4.3"
- watchpack "^1.7.4"
- webpack-sources "^1.4.1"
-
-websocket-driver@>=0.5.1, websocket-driver@^0.7.4:
- version "0.7.4"
- resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz"
- integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==
- dependencies:
- http-parser-js ">=0.5.1"
- safe-buffer ">=5.1.0"
- websocket-extensions ">=0.1.1"
-
-websocket-extensions@>=0.1.1:
- version "0.1.4"
- resolved "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz"
- integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==
-
-which-boxed-primitive@^1.0.2:
- version "1.0.2"
- resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz"
- integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==
- dependencies:
- is-bigint "^1.0.1"
- is-boolean-object "^1.1.0"
- is-number-object "^1.0.4"
- is-string "^1.0.5"
- is-symbol "^1.0.3"
-
-which-module@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz"
- integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
-
-which@^1.2.14, which@^1.2.9, which@^1.3.1:
- version "1.3.1"
- resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz"
- integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
- dependencies:
- isexe "^2.0.0"
-
-which@^2.0.1:
- version "2.0.2"
- resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz"
- integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
- dependencies:
- isexe "^2.0.0"
-
-wildcard@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz"
- integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==
-
-worker-farm@^1.7.0:
- version "1.7.0"
- resolved "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz"
- integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==
- dependencies:
- errno "~0.1.7"
-
-wrap-ansi@^5.1.0:
- version "5.1.0"
- resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz"
- integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==
- dependencies:
- ansi-styles "^3.2.0"
- string-width "^3.0.0"
- strip-ansi "^5.0.0"
-
-wrappy@1:
- version "1.0.2"
- resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
- integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
-
-ws@^8.1.0:
- version "8.3.0"
- resolved "https://registry.yarnpkg.com/ws/-/ws-8.3.0.tgz#7185e252c8973a60d57170175ff55fdbd116070d"
- integrity sha512-Gs5EZtpqZzLvmIM59w4igITU57lrtYVFneaa434VROv4thzJyV6UjIL3D42lslWlI+D4KzLYnxSwtfuiO79sNw==
-
-xtend@^4.0.0, xtend@~4.0.1:
- version "4.0.2"
- resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz"
- integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
-
-y18n@^4.0.0:
- version "4.0.3"
- resolved "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz"
- integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==
-
-yallist@^3.0.2:
- version "3.1.1"
- resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz"
- integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
-
-yallist@^4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz"
- integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
-
-yaml@^1.7.2:
- version "1.10.2"
- resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz"
- integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
-
-yargs-parser@^13.1.2:
- version "13.1.2"
- resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz"
- integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==
- dependencies:
- camelcase "^5.0.0"
- decamelize "^1.2.0"
-
-yargs@^13.3.2:
- version "13.3.2"
- resolved "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz"
- integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==
- dependencies:
- cliui "^5.0.0"
- find-up "^3.0.0"
- get-caller-file "^2.0.1"
- require-directory "^2.1.1"
- require-main-filename "^2.0.0"
- set-blocking "^2.0.0"
- string-width "^3.0.0"
- which-module "^2.0.0"
- y18n "^4.0.0"
- yargs-parser "^13.1.2"
-
-yarn@^1.22.17:
- version "1.22.17"
- resolved "https://registry.npmjs.org/yarn/-/yarn-1.22.17.tgz"
- integrity sha512-H0p241BXaH0UN9IeH//RT82tl5PfNraVpSpEoW+ET7lmopNC61eZ+A+IDvU8FM6Go5vx162SncDL8J1ZjRBriQ==
-
-yocto-queue@^0.1.0:
- version "0.1.0"
- resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz"
- integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==