Merge branch 'sentry'
This commit is contained in:
3
Gemfile
3
Gemfile
@ -45,7 +45,8 @@ gem 'whenever', require: false
|
||||
gem 'concurrent-ruby'
|
||||
gem 'mnemosyne-ruby'
|
||||
gem 'newrelic_rpm'
|
||||
gem 'sentry-raven'
|
||||
gem 'sentry-rails'
|
||||
gem 'sentry-ruby'
|
||||
|
||||
group :development, :staging do
|
||||
gem 'better_errors'
|
||||
|
25
Gemfile.lock
25
Gemfile.lock
@ -146,7 +146,7 @@ GEM
|
||||
faye-websocket (0.11.0)
|
||||
eventmachine (>= 0.12.0)
|
||||
websocket-driver (>= 0.5.1)
|
||||
ffi (1.14.2)
|
||||
ffi (1.15.0)
|
||||
forgery (0.8.1)
|
||||
globalid (0.4.2)
|
||||
activesupport (>= 4.2.0)
|
||||
@ -228,7 +228,7 @@ GEM
|
||||
nested_form (0.3.2)
|
||||
netrc (0.11.0)
|
||||
newrelic_rpm (6.15.0)
|
||||
nio4r (2.5.5)
|
||||
nio4r (2.5.7)
|
||||
nokogiri (1.10.10)
|
||||
mini_portile2 (~> 2.4.0)
|
||||
nyan-cat-formatter (0.12.0)
|
||||
@ -377,8 +377,8 @@ GEM
|
||||
rubocop (~> 1.0)
|
||||
rubocop-ast (>= 1.1.0)
|
||||
ruby-progressbar (1.11.0)
|
||||
ruby-vips (2.0.17)
|
||||
ffi (~> 1.9)
|
||||
ruby-vips (2.1.0)
|
||||
ffi (~> 1.12)
|
||||
ruby2_keywords (0.0.4)
|
||||
rubytree (1.0.0)
|
||||
json (~> 2.1)
|
||||
@ -397,9 +397,17 @@ GEM
|
||||
selenium-webdriver (3.142.7)
|
||||
childprocess (>= 0.5, < 4.0)
|
||||
rubyzip (>= 1.2.2)
|
||||
semantic_range (2.3.1)
|
||||
sentry-raven (3.1.1)
|
||||
semantic_range (3.0.0)
|
||||
sentry-rails (4.2.2)
|
||||
rails (>= 5.0)
|
||||
sentry-ruby-core (~> 4.2.0)
|
||||
sentry-ruby (4.2.2)
|
||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||
faraday (>= 1.0)
|
||||
sentry-ruby-core (= 4.2.2)
|
||||
sentry-ruby-core (4.2.2)
|
||||
concurrent-ruby
|
||||
faraday
|
||||
shoulda-matchers (4.5.1)
|
||||
activesupport (>= 4.2.0)
|
||||
simplecov (0.21.2)
|
||||
@ -527,7 +535,8 @@ DEPENDENCIES
|
||||
rubyzip
|
||||
sass-rails
|
||||
selenium-webdriver
|
||||
sentry-raven
|
||||
sentry-rails
|
||||
sentry-ruby
|
||||
shoulda-matchers
|
||||
simplecov
|
||||
slim-rails
|
||||
@ -543,4 +552,4 @@ DEPENDENCIES
|
||||
whenever
|
||||
|
||||
BUNDLED WITH
|
||||
2.1.4
|
||||
2.2.13
|
||||
|
@ -7,7 +7,7 @@ class ApplicationController < ActionController::Base
|
||||
MEMBER_ACTIONS = %i[destroy edit show update].freeze
|
||||
|
||||
after_action :verify_authorized, except: %i[help welcome]
|
||||
before_action :set_raven_context, :set_locale, :allow_iframe_requests, :load_embed_options
|
||||
before_action :set_sentry_context, :set_locale, :allow_iframe_requests, :load_embed_options
|
||||
protect_from_forgery(with: :exception, prepend: true)
|
||||
rescue_from Pundit::NotAuthorizedError, with: :render_not_authorized
|
||||
|
||||
@ -20,17 +20,17 @@ class ApplicationController < ActionController::Base
|
||||
raise Pundit::NotAuthorizedError unless current_user
|
||||
end
|
||||
|
||||
def set_raven_context
|
||||
def set_sentry_context
|
||||
return if current_user.blank?
|
||||
|
||||
Raven.user_context(
|
||||
Sentry.set_user(
|
||||
id: current_user.id,
|
||||
type: current_user.class.name,
|
||||
username: current_user.displayname,
|
||||
consumer: current_user.consumer.name
|
||||
)
|
||||
end
|
||||
private :set_raven_context
|
||||
private :set_sentry_context
|
||||
|
||||
def render_not_authorized
|
||||
respond_to do |format|
|
||||
@ -50,7 +50,7 @@ class ApplicationController < ActionController::Base
|
||||
def set_locale
|
||||
session[:locale] = params[:custom_locale] || params[:locale] || session[:locale]
|
||||
I18n.locale = session[:locale] || I18n.default_locale
|
||||
Raven.extra_context(locale: I18n.locale)
|
||||
Sentry.set_extras(locale: I18n.locale)
|
||||
end
|
||||
private :set_locale
|
||||
|
||||
@ -68,7 +68,7 @@ class ApplicationController < ActionController::Base
|
||||
else
|
||||
{}
|
||||
end
|
||||
Raven.extra_context(@embed_options)
|
||||
Sentry.set_extras(@embed_options)
|
||||
@embed_options
|
||||
end
|
||||
private :load_embed_options
|
||||
|
@ -154,7 +154,7 @@ module Lti
|
||||
if provider.nil?
|
||||
{status: 'error'}
|
||||
elsif provider.outcome_service?
|
||||
Raven.extra_context({
|
||||
Sentry.set_extras({
|
||||
provider: provider.inspect,
|
||||
score: submission.normalized_score,
|
||||
lti_parameter: lti_parameter.inspect,
|
||||
|
@ -121,7 +121,7 @@ class ExecutionEnvironmentsController < ApplicationController
|
||||
rescue DockerClient::Error => error
|
||||
@docker_images = []
|
||||
flash[:warning] = error.message
|
||||
Raven.capture_exception(error)
|
||||
Sentry.capture_exception(error)
|
||||
end
|
||||
private :set_docker_images
|
||||
|
||||
|
@ -188,7 +188,7 @@ class ExercisesController < ApplicationController
|
||||
rescue Proforma::ProformaError
|
||||
render json: t('exercises.import_codeharbor.import_errors.invalid'), status: 400
|
||||
rescue StandardError => e
|
||||
Raven.capture_exception(e)
|
||||
Sentry.capture_exception(e)
|
||||
render json: t('exercises.import_codeharbor.import_errors.internal_error'), status: 500
|
||||
end
|
||||
|
||||
@ -392,7 +392,7 @@ class ExercisesController < ApplicationController
|
||||
end
|
||||
|
||||
def redirect_to_lti_return_path
|
||||
Raven.extra_context(
|
||||
Sentry.set_extras(
|
||||
consumers_id: @submission.user&.consumer,
|
||||
external_users_id: @submission.user_id,
|
||||
exercises_id: @submission.exercise_id,
|
||||
|
@ -196,7 +196,7 @@ class SubmissionsController < ApplicationController
|
||||
rescue JSON::ParserError => error
|
||||
socket.send data
|
||||
Rails.logger.debug('Rescued parsing error, sent the received client data to docker:' + data)
|
||||
Raven.extra_context(data: data)
|
||||
Sentry.set_extras(data: data)
|
||||
end
|
||||
end
|
||||
|
||||
@ -417,7 +417,7 @@ class SubmissionsController < ApplicationController
|
||||
container = Docker::Container.get(params[:container_id])
|
||||
DockerClient.destroy_container(container)
|
||||
rescue Docker::Error::NotFoundError => error
|
||||
Raven.capture_exception(error)
|
||||
Sentry.capture_exception(error)
|
||||
ensure
|
||||
head :ok
|
||||
end
|
||||
@ -447,7 +447,7 @@ class SubmissionsController < ApplicationController
|
||||
yield(server_sent_event) if block_given?
|
||||
server_sent_event.write({code: 200}, event: 'close')
|
||||
rescue => exception
|
||||
Raven.capture_exception(exception)
|
||||
Sentry.capture_exception(exception)
|
||||
logger.error(exception.message)
|
||||
logger.error(exception.backtrace.join("\n"))
|
||||
server_sent_event.write({code: 500}, event: 'close')
|
||||
|
@ -23,7 +23,7 @@ class UserExerciseFeedbacksController < ApplicationController
|
||||
end
|
||||
|
||||
def create
|
||||
Raven.extra_context(params: uef_params)
|
||||
Sentry.set_extras(params: uef_params)
|
||||
|
||||
@exercise = Exercise.find(uef_params[:exercise_id])
|
||||
rfc = RequestForComment.unsolved.where(exercise_id: @exercise.id, user_id: current_user.id).first
|
||||
|
@ -24,7 +24,7 @@ class LinterCheckRun < ApplicationRecord
|
||||
)
|
||||
rescue ActiveRecord::RecordInvalid
|
||||
# Something bad happened. Probably, the RegEx in lib/py_lint_adapter.rb didn't work.
|
||||
Raven.extra_context(testrun: testrun, linter_result: linter_result)
|
||||
Sentry.set_extras(testrun: testrun, linter_result: linter_result)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -11,7 +11,7 @@ h2 Version
|
||||
|
||||
div.mb-4
|
||||
= "Release:"
|
||||
pre = Raven.configuration.release
|
||||
pre = Sentry.configuration.release
|
||||
|
||||
h2 Docker
|
||||
|
||||
|
@ -20,12 +20,12 @@ html lang="#{I18n.locale || I18n.default_locale}"
|
||||
script type="text/javascript"
|
||||
| I18n.defaultLocale = "#{I18n.default_locale}";
|
||||
| I18n.locale = "#{I18n.locale}";
|
||||
- unless Raven.configuration.current_environment == "development"
|
||||
- unless Sentry.configuration.environment == "development"
|
||||
| Sentry.init({
|
||||
| dsn: 'https://637ca99538224b4bb28cd9e670e1b372@sentry.xikolo.de/33',
|
||||
| dsn: 'https://2616b10855e04ce1b748775203ff0f7c@o257002.ingest.sentry.io/5667283',
|
||||
| attachStacktrace: true,
|
||||
| release: "#{Raven.configuration.release}",
|
||||
| environment: "#{Raven.configuration.current_environment}",
|
||||
| release: "#{Sentry.configuration.release}",
|
||||
| environment: "#{Sentry.configuration.environment}",
|
||||
| });
|
||||
- if @current_user
|
||||
| Sentry.configureScope(function(scope) {
|
||||
|
@ -40,7 +40,7 @@
|
||||
- output_runs.each do |testrun|
|
||||
- output = testrun.try(:output)
|
||||
- if output
|
||||
- Raven.extra_context(output: output)
|
||||
- Sentry.set_extras(output: output)
|
||||
- begin
|
||||
- Timeout::timeout(2) do
|
||||
// (?:\\"|.) is required to correctly identify " within the output.
|
||||
|
@ -1,21 +0,0 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require 'concurrent'
|
||||
|
||||
Rails.application.tap do |app|
|
||||
pool = ::Concurrent::ThreadPoolExecutor.new(max_queue: 10)
|
||||
|
||||
Raven.configure do |config|
|
||||
config.sanitize_fields = app.config.filter_parameters.map(&:to_s)
|
||||
|
||||
config.processors -= [Raven::Processor::PostData] # Do this to send POST data
|
||||
# config.excluded_exceptions -= ['ActionController::InvalidAuthenticityToken']
|
||||
|
||||
config.async = lambda do |event|
|
||||
pool.post { ::Raven.send_event(event) }
|
||||
end
|
||||
|
||||
# Do not sent full list of gems with each event
|
||||
config.send_modules = false
|
||||
end
|
||||
end
|
6
config/initializers/sentry.rb
Normal file
6
config/initializers/sentry.rb
Normal file
@ -0,0 +1,6 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
Sentry.init do |config|
|
||||
# Do not send full list of gems with each event
|
||||
config.send_modules = false
|
||||
end
|
@ -38,7 +38,7 @@ class DockerClient
|
||||
Pathname.new(local_workspace_path).children.each do |p|
|
||||
p.rmtree
|
||||
rescue Errno::ENOENT, Errno::EACCES => error
|
||||
Raven.capture_exception(error)
|
||||
Sentry.capture_exception(error)
|
||||
Rails.logger.error("clean_container_workspace: Got #{error.class.to_s}: #{error.to_s}")
|
||||
end
|
||||
# FileUtils.rmdir(Pathname.new(local_workspace_path))
|
||||
@ -237,7 +237,7 @@ class DockerClient
|
||||
clean_container_workspace(container)
|
||||
FileUtils.rmtree(local_workspace_path(container))
|
||||
rescue Errno::ENOENT, Errno::EACCES => error
|
||||
Raven.capture_exception(error)
|
||||
Sentry.capture_exception(error)
|
||||
Rails.logger.error("clean_container_workspace: Got #{error.class.to_s}: #{error.to_s}")
|
||||
end
|
||||
|
||||
|
@ -16,16 +16,16 @@ class DockerContainerPool
|
||||
#Rails.logger.debug('created container ' + container.to_s + ' for execution environment ' + execution_environment.to_s)
|
||||
container
|
||||
rescue StandardError => e
|
||||
Raven.extra_context({container: container.inspect, execution_environment: execution_environment.inspect, config: config.inspect})
|
||||
Raven.capture_exception(e)
|
||||
Sentry.set_extras({container: container.inspect, execution_environment: execution_environment.inspect, config: config.inspect})
|
||||
Sentry.capture_exception(e)
|
||||
nil
|
||||
end
|
||||
|
||||
def self.return_container(container, execution_environment)
|
||||
Faraday.get(config[:location] + "/docker_container_pool/return_container/" + container.id)
|
||||
rescue StandardError => e
|
||||
Raven.extra_context({container: container.inspect, execution_environment: execution_environment.inspect, config: config.inspect})
|
||||
Raven.capture_exception(e)
|
||||
Sentry.set_extras({container: container.inspect, execution_environment: execution_environment.inspect, config: config.inspect})
|
||||
Sentry.capture_exception(e)
|
||||
nil
|
||||
end
|
||||
|
||||
@ -36,8 +36,8 @@ class DockerContainerPool
|
||||
container_id = JSON.parse(Faraday.get(config[:location] + "/docker_container_pool/get_container/" + execution_environment.id.to_s).body)['id']
|
||||
Docker::Container.get(container_id) unless container_id.blank?
|
||||
rescue StandardError => e
|
||||
Raven.extra_context({container_id: container_id.inspect, execution_environment: execution_environment.inspect, config: config.inspect})
|
||||
Raven.capture_exception(e)
|
||||
Sentry.set_extras({container_id: container_id.inspect, execution_environment: execution_environment.inspect, config: config.inspect})
|
||||
Sentry.capture_exception(e)
|
||||
nil
|
||||
end
|
||||
else
|
||||
@ -53,15 +53,15 @@ class DockerContainerPool
|
||||
response = JSON.parse(Faraday.get(config[:location] + "/docker_container_pool/quantities").body)
|
||||
response.transform_keys(&:to_i)
|
||||
rescue StandardError => e
|
||||
Raven.extra_context({response: response.inspect})
|
||||
Raven.capture_exception(e)
|
||||
Sentry.set_extras({response: response.inspect})
|
||||
Sentry.capture_exception(e)
|
||||
[]
|
||||
end
|
||||
|
||||
def self.dump_info
|
||||
JSON.parse(Faraday.get(config[:location] + "/docker_container_pool/dump_info").body)
|
||||
rescue StandardError => e
|
||||
Raven.capture_exception(e)
|
||||
Sentry.capture_exception(e)
|
||||
nil
|
||||
end
|
||||
end
|
||||
|
@ -34,7 +34,7 @@ class PyLintAdapter < TestingFrameworkAdapter
|
||||
end || []
|
||||
end
|
||||
rescue Timeout::Error
|
||||
Raven.capture_message({stdout: output[:stdout], regex: ASSERTION_ERROR_REGEXP}.to_json)
|
||||
Sentry.capture_message({stdout: output[:stdout], regex: ASSERTION_ERROR_REGEXP}.to_json)
|
||||
assertion_error_matches = []
|
||||
end
|
||||
concatenated_errors = assertion_error_matches.map { |result| "#{result[:name]}: #{result[:result]}" }.flatten
|
||||
@ -62,7 +62,7 @@ class PyLintAdapter < TestingFrameworkAdapter
|
||||
captures = message[:result].match(Regexp.new(regex))&.named_captures&.symbolize_keys
|
||||
|
||||
if captures.nil?
|
||||
Raven.capture_message({regex: regex, message: message[:result]}.to_json)
|
||||
Sentry.capture_message({regex: regex, message: message[:result]}.to_json)
|
||||
replacement = {}
|
||||
else
|
||||
replacement = captures.each do |key, value|
|
||||
@ -85,8 +85,8 @@ class PyLintAdapter < TestingFrameworkAdapter
|
||||
assessment
|
||||
rescue StandardError => e
|
||||
# A key was not defined or something really bad happened
|
||||
Raven.extra_context(assessment)
|
||||
Raven.capture_exception(e)
|
||||
Sentry.set_extras(assessment)
|
||||
Sentry.capture_exception(e)
|
||||
assessment
|
||||
end
|
||||
|
||||
@ -104,7 +104,7 @@ class PyLintAdapter < TestingFrameworkAdapter
|
||||
# Read config key
|
||||
I18n.t(keys.append('log_missing').join('.'), default: false)
|
||||
end
|
||||
Raven.capture_message({key: key, default: default}.to_json) if translation == default && log_missing
|
||||
Sentry.capture_message({key: key, default: default}.to_json) if translation == default && log_missing
|
||||
translation
|
||||
end
|
||||
end
|
||||
|
@ -28,7 +28,7 @@ class PyUnitAdapter < TestingFrameworkAdapter
|
||||
}.flatten || []
|
||||
end
|
||||
rescue Timeout::Error
|
||||
Raven.capture_message({stderr: output[:stderr], regex: ASSERTION_ERROR_REGEXP}.to_json)
|
||||
Sentry.capture_message({stderr: output[:stderr], regex: ASSERTION_ERROR_REGEXP}.to_json)
|
||||
assertion_error_matches = []
|
||||
end
|
||||
{count: count, failed: failed + errors, error_messages: assertion_error_matches}
|
||||
|
@ -2,7 +2,7 @@
|
||||
"dependencies": {
|
||||
"@fortawesome/fontawesome-free": "^5.15.2",
|
||||
"@rails/webpacker": "^5.2.1",
|
||||
"@sentry/browser": "^5.30.0",
|
||||
"@sentry/browser": "^6.2.1",
|
||||
"bootstrap": "^4.6.0",
|
||||
"bootswatch": "^4.6.0",
|
||||
"chosen-js": "^1.8.7",
|
||||
|
@ -166,7 +166,7 @@ describe InternalUsersController do
|
||||
describe 'GET #forgot_password' do
|
||||
context 'when no user is logged in' do
|
||||
before(:each) do
|
||||
allow(controller).to receive(:set_raven_context).and_return(nil)
|
||||
allow(controller).to receive(:set_sentry_context).and_return(nil)
|
||||
|
||||
expect(controller).to receive(:current_user).and_return(nil)
|
||||
get :forgot_password
|
||||
@ -178,7 +178,7 @@ describe InternalUsersController do
|
||||
|
||||
context 'when a user is already logged in' do
|
||||
before(:each) do
|
||||
allow(controller).to receive(:set_raven_context).and_return(nil)
|
||||
allow(controller).to receive(:set_sentry_context).and_return(nil)
|
||||
|
||||
expect(controller).to receive(:current_user).and_return(user)
|
||||
get :forgot_password
|
||||
|
@ -155,7 +155,7 @@ describe SessionsController do
|
||||
describe 'DELETE #destroy' do
|
||||
let(:user) { double }
|
||||
before(:each) {
|
||||
allow(controller).to receive(:set_raven_context).and_return(nil)
|
||||
allow(controller).to receive(:set_sentry_context).and_return(nil)
|
||||
expect(controller).to receive(:current_user).at_least(:once).and_return(user)
|
||||
}
|
||||
|
||||
@ -219,7 +219,7 @@ describe SessionsController do
|
||||
describe 'GET #new' do
|
||||
context 'when no user is logged in' do
|
||||
before(:each) do
|
||||
allow(controller).to receive(:set_raven_context).and_return(nil)
|
||||
allow(controller).to receive(:set_sentry_context).and_return(nil)
|
||||
|
||||
expect(controller).to receive(:current_user).and_return(nil)
|
||||
get :new
|
||||
@ -231,7 +231,7 @@ describe SessionsController do
|
||||
|
||||
context 'when a user is already logged in' do
|
||||
before(:each) do
|
||||
allow(controller).to receive(:set_raven_context).and_return(nil)
|
||||
allow(controller).to receive(:set_sentry_context).and_return(nil)
|
||||
|
||||
expect(controller).to receive(:current_user).and_return(FactoryBot.build(:teacher))
|
||||
get :new
|
||||
|
145
yarn.lock
145
yarn.lock
@ -898,56 +898,56 @@
|
||||
webpack-cli "^3.3.12"
|
||||
webpack-sources "^1.4.3"
|
||||
|
||||
"@sentry/browser@^5.30.0":
|
||||
version "5.30.0"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-5.30.0.tgz#c28f49d551db3172080caef9f18791a7fd39e3b3"
|
||||
integrity sha512-rOb58ZNVJWh1VuMuBG1mL9r54nZqKeaIlwSlvzJfc89vyfd7n6tQ1UXMN383QBz/MS5H5z44Hy5eE+7pCrYAfw==
|
||||
"@sentry/browser@^6.2.1":
|
||||
version "6.2.1"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-6.2.1.tgz#f9f277e6f8cad0c7efd1a01726095d63a47a1c16"
|
||||
integrity sha512-OAikFZ9EimD3noxMp8tA6Cf6qJcQ2U8k5QSgTPwdx+09nZOGJzbRFteK7WWmrS93ZJdzN61lpSQbg5v+bmmfbQ==
|
||||
dependencies:
|
||||
"@sentry/core" "5.30.0"
|
||||
"@sentry/types" "5.30.0"
|
||||
"@sentry/utils" "5.30.0"
|
||||
"@sentry/core" "6.2.1"
|
||||
"@sentry/types" "6.2.1"
|
||||
"@sentry/utils" "6.2.1"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@sentry/core@5.30.0":
|
||||
version "5.30.0"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/core/-/core-5.30.0.tgz#6b203664f69e75106ee8b5a2fe1d717379b331f3"
|
||||
integrity sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==
|
||||
"@sentry/core@6.2.1":
|
||||
version "6.2.1"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/core/-/core-6.2.1.tgz#8b177e9bf591e2e7ddcb04f0b1403de3f5aa8755"
|
||||
integrity sha512-jPqQEtafxxDtLONhCbTHh/Uq8mZRhsfbwJTSVYfPVEe/ELfFZLQK7tP6rOh7zEWKbTkE0mE6XcaoH3ZRAhgrqg==
|
||||
dependencies:
|
||||
"@sentry/hub" "5.30.0"
|
||||
"@sentry/minimal" "5.30.0"
|
||||
"@sentry/types" "5.30.0"
|
||||
"@sentry/utils" "5.30.0"
|
||||
"@sentry/hub" "6.2.1"
|
||||
"@sentry/minimal" "6.2.1"
|
||||
"@sentry/types" "6.2.1"
|
||||
"@sentry/utils" "6.2.1"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@sentry/hub@5.30.0":
|
||||
version "5.30.0"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-5.30.0.tgz#2453be9b9cb903404366e198bd30c7ca74cdc100"
|
||||
integrity sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==
|
||||
"@sentry/hub@6.2.1":
|
||||
version "6.2.1"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-6.2.1.tgz#35bc6bf841a93f4354b3a17592c938b3dba20b73"
|
||||
integrity sha512-pG7wCQeRpzeP6t0bT4T0X029R19dbDS3/qswF8BL6bg0AI3afjfjBAZm/fqn1Uwe/uBoMHVVdbxgJDZeQ5d4rQ==
|
||||
dependencies:
|
||||
"@sentry/types" "5.30.0"
|
||||
"@sentry/utils" "5.30.0"
|
||||
"@sentry/types" "6.2.1"
|
||||
"@sentry/utils" "6.2.1"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@sentry/minimal@5.30.0":
|
||||
version "5.30.0"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-5.30.0.tgz#ce3d3a6a273428e0084adcb800bc12e72d34637b"
|
||||
integrity sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==
|
||||
"@sentry/minimal@6.2.1":
|
||||
version "6.2.1"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-6.2.1.tgz#8f01480e1b56bc7dd54adf925e5317f233e19384"
|
||||
integrity sha512-wuSXB4Ayxv9rBEQ4pm7fnG4UU2ZPtPnnChoEfd4/mw1UthXSvmPFEn6O4pdo2G8fTkl8eqm6wT/Q7uIXMEmw+A==
|
||||
dependencies:
|
||||
"@sentry/hub" "5.30.0"
|
||||
"@sentry/types" "5.30.0"
|
||||
"@sentry/hub" "6.2.1"
|
||||
"@sentry/types" "6.2.1"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@sentry/types@5.30.0":
|
||||
version "5.30.0"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/types/-/types-5.30.0.tgz#19709bbe12a1a0115bc790b8942917da5636f402"
|
||||
integrity sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==
|
||||
"@sentry/types@6.2.1":
|
||||
version "6.2.1"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/types/-/types-6.2.1.tgz#28c946230b2023f72307b65606d32052ad9e5353"
|
||||
integrity sha512-h0OV1QT+fv5ojfK5/+iEXClu33HirmvbjcQC2jf05IHj9yXIOWy6EB10S8nBjuLiiFqQiAQYj3FN9Ip4eN8NJA==
|
||||
|
||||
"@sentry/utils@5.30.0":
|
||||
version "5.30.0"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-5.30.0.tgz#9a5bd7ccff85ccfe7856d493bffa64cabc41e980"
|
||||
integrity sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==
|
||||
"@sentry/utils@6.2.1":
|
||||
version "6.2.1"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-6.2.1.tgz#bfcb12c20d44bf2aeb0073b1264703c11c179ebd"
|
||||
integrity sha512-6kQgM/yBPdXu+3qbJnI6HBcWztN9QfiMkH++ZiKk4ERhg9d2LYWlze478uTU5Fyo/JQYcp+McpjtjpR9QIrr0g==
|
||||
dependencies:
|
||||
"@sentry/types" "5.30.0"
|
||||
"@sentry/types" "6.2.1"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@types/glob@^7.1.1":
|
||||
@ -969,9 +969,9 @@
|
||||
integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==
|
||||
|
||||
"@types/node@*":
|
||||
version "14.14.31"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.31.tgz#72286bd33d137aa0d152d47ec7c1762563d34055"
|
||||
integrity sha512-vFHy/ezP5qI0rFgJ7aQnjDXwAMrG0KqqIH7tQG5PPv3BWBayOPIQNBjVc/P6hhdZfMx51REc6tfDNXHUio893g==
|
||||
version "14.14.32"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.32.tgz#90c5c4a8d72bbbfe53033f122341343249183448"
|
||||
integrity sha512-/Ctrftx/zp4m8JOujM5ZhwzlWLx22nbQJiVqz8/zE15gOeEW+uly3FSX4fGFpcfEvFzXcMCJwq9lGVWgyARXhg==
|
||||
|
||||
"@types/parse-json@^4.0.0":
|
||||
version "4.0.0"
|
||||
@ -1843,9 +1843,9 @@ caniuse-api@^3.0.0:
|
||||
lodash.uniq "^4.5.0"
|
||||
|
||||
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001181:
|
||||
version "1.0.30001194"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001194.tgz#3d16ff3d734a5a7d9818402c28b1f636c5be5bed"
|
||||
integrity sha512-iDUOH+oFeBYk5XawYsPtsx/8fFpndAPUQJC7gBTfxHM8xw5nOZv7ceAD4frS1MKCLUac7QL5wdAJiFQlDRjXlA==
|
||||
version "1.0.30001197"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001197.tgz#47ad15b977d2f32b3ec2fe2b087e0c50443771db"
|
||||
integrity sha512-8aE+sqBqtXz4G8g35Eg/XEaFr2N7rd/VQ6eABGBmNtcB8cN6qNJhMi6oSFy4UWWZgqgL3filHT8Nha4meu3tsw==
|
||||
|
||||
case-sensitive-paths-webpack-plugin@^2.3.0:
|
||||
version "2.4.0"
|
||||
@ -2014,9 +2014,9 @@ color-name@^1.0.0:
|
||||
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
|
||||
|
||||
color-string@^1.5.4:
|
||||
version "1.5.4"
|
||||
resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.4.tgz#dd51cd25cfee953d138fe4002372cc3d0e504cb6"
|
||||
integrity sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==
|
||||
version "1.5.5"
|
||||
resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.5.tgz#65474a8f0e7439625f3d27a6a19d89fc45223014"
|
||||
integrity sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg==
|
||||
dependencies:
|
||||
color-name "^1.0.0"
|
||||
simple-swizzle "^0.2.2"
|
||||
@ -2960,9 +2960,9 @@ ee-first@1.1.1:
|
||||
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
|
||||
|
||||
electron-to-chromium@^1.3.649:
|
||||
version "1.3.678"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.678.tgz#c7c6960463167126b7ed076fade14cac6223bfff"
|
||||
integrity sha512-E5ha1pE9+aWWrT2fUD5wdPBWUnYtKnEnloewbtVyrkAs79HvodOiNO4rMR94+hKbxgMFQG4fnPQACOc1cfMfBg==
|
||||
version "1.3.683"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.683.tgz#2c9ab53ff5275cf3dd49278af714d0f8975204f7"
|
||||
integrity sha512-8mFfiAesXdEdE0DhkMKO7W9U6VU/9T3VTWwZ+4g84/YMP4kgwgFtQgUxuu7FUMcvSeKSNhFQNU+WZ68BQTLT5A==
|
||||
|
||||
elliptic@^6.5.3:
|
||||
version "6.5.4"
|
||||
@ -3032,27 +3032,10 @@ error-ex@^1.2.0, error-ex@^1.3.1:
|
||||
dependencies:
|
||||
is-arrayish "^0.2.1"
|
||||
|
||||
es-abstract@^1.17.2:
|
||||
version "1.17.7"
|
||||
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.7.tgz#a4de61b2f66989fc7421676c1cb9787573ace54c"
|
||||
integrity sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==
|
||||
dependencies:
|
||||
es-to-primitive "^1.2.1"
|
||||
function-bind "^1.1.1"
|
||||
has "^1.0.3"
|
||||
has-symbols "^1.0.1"
|
||||
is-callable "^1.2.2"
|
||||
is-regex "^1.1.1"
|
||||
object-inspect "^1.8.0"
|
||||
object-keys "^1.1.1"
|
||||
object.assign "^4.1.1"
|
||||
string.prototype.trimend "^1.0.1"
|
||||
string.prototype.trimstart "^1.0.1"
|
||||
|
||||
es-abstract@^1.18.0-next.2:
|
||||
version "1.18.0-next.3"
|
||||
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.3.tgz#56bc8b5cc36b2cca25a13be07f3c02c2343db6b7"
|
||||
integrity sha512-VMzHx/Bczjg59E6jZOQjHeN3DEoptdhejpARgflAViidlqSpjdq9zA6lKwlhRRs/lOw1gHJv2xkkSFRgvEwbQg==
|
||||
es-abstract@^1.17.2, es-abstract@^1.18.0-next.2:
|
||||
version "1.18.0"
|
||||
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0.tgz#ab80b359eecb7ede4c298000390bc5ac3ec7b5a4"
|
||||
integrity sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==
|
||||
dependencies:
|
||||
call-bind "^1.0.2"
|
||||
es-to-primitive "^1.2.1"
|
||||
@ -3579,9 +3562,9 @@ glob-parent@^3.1.0:
|
||||
path-dirname "^1.0.0"
|
||||
|
||||
glob-parent@~5.1.0:
|
||||
version "5.1.1"
|
||||
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229"
|
||||
integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==
|
||||
version "5.1.2"
|
||||
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
|
||||
integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
|
||||
dependencies:
|
||||
is-glob "^4.0.1"
|
||||
|
||||
@ -4136,7 +4119,7 @@ is-buffer@^1.1.5:
|
||||
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
|
||||
integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
|
||||
|
||||
is-callable@^1.1.4, is-callable@^1.2.2, is-callable@^1.2.3:
|
||||
is-callable@^1.1.4, is-callable@^1.2.3:
|
||||
version "1.2.3"
|
||||
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e"
|
||||
integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==
|
||||
@ -4308,7 +4291,7 @@ is-plain-object@^2.0.3, is-plain-object@^2.0.4:
|
||||
dependencies:
|
||||
isobject "^3.0.1"
|
||||
|
||||
is-regex@^1.0.4, is-regex@^1.1.1, is-regex@^1.1.2:
|
||||
is-regex@^1.0.4, is-regex@^1.1.2:
|
||||
version "1.1.2"
|
||||
resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.2.tgz#81c8ebde4db142f2cf1c53fc86d6a45788266251"
|
||||
integrity sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==
|
||||
@ -5218,7 +5201,7 @@ object-copy@^0.1.0:
|
||||
define-property "^0.2.5"
|
||||
kind-of "^3.0.3"
|
||||
|
||||
object-inspect@^1.8.0, object-inspect@^1.9.0:
|
||||
object-inspect@^1.9.0:
|
||||
version "1.9.0"
|
||||
resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a"
|
||||
integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==
|
||||
@ -5243,7 +5226,7 @@ object-visit@^1.0.0:
|
||||
dependencies:
|
||||
isobject "^3.0.0"
|
||||
|
||||
object.assign@^4.1.0, object.assign@^4.1.1, object.assign@^4.1.2:
|
||||
object.assign@^4.1.0, object.assign@^4.1.2:
|
||||
version "4.1.2"
|
||||
resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940"
|
||||
integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==
|
||||
@ -7272,7 +7255,7 @@ string-width@^3.0.0, string-width@^3.1.0:
|
||||
is-fullwidth-code-point "^2.0.0"
|
||||
strip-ansi "^5.1.0"
|
||||
|
||||
string.prototype.trimend@^1.0.1, string.prototype.trimend@^1.0.4:
|
||||
string.prototype.trimend@^1.0.4:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80"
|
||||
integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==
|
||||
@ -7280,7 +7263,7 @@ string.prototype.trimend@^1.0.1, string.prototype.trimend@^1.0.4:
|
||||
call-bind "^1.0.2"
|
||||
define-properties "^1.1.3"
|
||||
|
||||
string.prototype.trimstart@^1.0.1, string.prototype.trimstart@^1.0.4:
|
||||
string.prototype.trimstart@^1.0.4:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed"
|
||||
integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==
|
||||
@ -7778,9 +7761,9 @@ uuid@^3.3.2, uuid@^3.4.0:
|
||||
integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
|
||||
|
||||
v8-compile-cache@^2.1.1:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz#9471efa3ef9128d2f7c6a7ca39c4dd6b5055b132"
|
||||
integrity sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==
|
||||
version "2.3.0"
|
||||
resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee"
|
||||
integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==
|
||||
|
||||
validate-npm-package-license@^3.0.1:
|
||||
version "3.0.4"
|
||||
|
Reference in New Issue
Block a user