diff --git a/app/views/series/_series.html.erb b/app/views/series/_series.html.erb
index d56c01f92b..e135512bc4 100644
--- a/app/views/series/_series.html.erb
+++ b/app/views/series/_series.html.erb
@@ -139,19 +139,19 @@
<% if current_user&.course_admin?(series.course) && series.hidden? %>
<%= t "series.show.series_not_visible" %>
- <%= t('series.show.make_visible_html', series_url: series_path(series, series: {visibility: :open}), method: :patch) %>
+ <%= link_to t("series.show.make_visible_text"), series_path(series, series: {visibility: :open}), method: :patch, data: {confirm: t('general.are_you_sure')} %>
<% end %>
<% if current_user&.course_admin?(series.course) && series.closed? %>
<%= t "series.show.series_not_accessible" %>
- <%= t('series.show.make_visible_html', series_url: series_path(series, series: {visibility: :open}), method: :patch) %>
+ <%= link_to t("series.show.make_visible_text"), series_path(series, series: {visibility: :open}), method: :patch, data: {confirm: t('general.are_you_sure')} %>
<% end %>
<% if current_user&.course_admin?(series.course) && !series.activities_visible %>
<%= t "series.show.activities_not_visible" %>
- <%= t('series.show.make_visible_html', series_url: series_path(series, series: {activities_visible: true}), method: :patch) %>
+ <%= link_to t("series.show.make_visible_text"), series_path(series, series: {activities_visible: true}), method: :patch, data: {confirm: t('general.are_you_sure')} %>
diff --git a/config/initializers/00_version.rb b/config/initializers/00_version.rb
index e40d89773e..dbb0012c2a 100644
--- a/config/initializers/00_version.rb
+++ b/config/initializers/00_version.rb
@@ -3,7 +3,7 @@ class Application
module Version
MAJOR = 6
MINOR = 6
- PATCH = 2
+ PATCH = 3
STRING = [MAJOR, MINOR, PATCH].compact.join('.')
end
diff --git a/config/locales/views/series/en.yml b/config/locales/views/series/en.yml
index b48510648c..1db66dcf29 100644
--- a/config/locales/views/series/en.yml
+++ b/config/locales/views/series/en.yml
@@ -24,7 +24,7 @@ en:
activities: Learning activities
download_submissions: Export my submissions
download_all_solutions: Export student submissions
- make_visible_html: "
Make visible for students."
+ make_visible_text: Make visible for students.
series_not_visible: This series is only visible for students using the secret link!
series_not_accessible: This series is not accessible to students!
activities_not_visible: The learning activities in this series are not visible to students!
diff --git a/config/locales/views/series/nl.yml b/config/locales/views/series/nl.yml
index cfede3cf20..7ccf49f229 100644
--- a/config/locales/views/series/nl.yml
+++ b/config/locales/views/series/nl.yml
@@ -24,7 +24,7 @@ nl:
activities: Leeractiviteiten
download_submissions: Mijn oplossingen exporteren
download_all_solutions: Oplossingen van studenten exporteren
- make_visible_html: "
Maak zichtbaar voor studenten."
+ make_visible_text: "Maak zichtbaar voor studenten."
series_not_visible: Deze reeks is enkel zichtbaar voor studenten via de geheime link!
series_not_accessible: Deze reeks is niet toegankelijk voor studenten!
activities_not_visible: De leeractiviteiten in deze reeks zijn niet zichtbaar voor studenten!
diff --git a/package.json b/package.json
index 29679bedfb..17a778b2d1 100644
--- a/package.json
+++ b/package.json
@@ -11,11 +11,11 @@
"typeCheck": "yarn tsc --skipLibCheck --noEmit"
},
"dependencies": {
- "@babel/core": "^7.20.12",
- "@babel/plugin-proposal-decorators": "^7.20.13",
- "@babel/plugin-transform-runtime": "^7.19.6",
+ "@babel/core": "^7.21.0",
+ "@babel/plugin-proposal-decorators": "^7.21.0",
+ "@babel/plugin-transform-runtime": "^7.21.0",
"@babel/preset-env": "^7.20.2",
- "@babel/preset-typescript": "^7.18.6",
+ "@babel/preset-typescript": "^7.21.0",
"@dodona/papyros": "^1.0.1",
"@popperjs/core": "^2.11.6",
"@rails/activestorage": "^7.0.4",
@@ -26,7 +26,7 @@
"babel-plugin-macros": "^3.1.0",
"bootstrap": "5.2.0",
"clipboard": "^2.0.11",
- "core-js": "^3.28.0",
+ "core-js": "^3.29.0",
"d3": "^7.8.2",
"dayjs": "^1.11.7",
"dragula": "^3.7.3",
@@ -50,9 +50,9 @@
"@types/iframe-resizer": "^3.5.9",
"@types/jest": "^27.5.0",
"@types/serviceworker": "^0.0.62",
- "@typescript-eslint/eslint-plugin": "^5.52.0",
- "@typescript-eslint/parser": "^5.52.0",
- "eslint": "^8.34.0",
+ "@typescript-eslint/eslint-plugin": "^5.54.0",
+ "@typescript-eslint/parser": "^5.54.0",
+ "eslint": "^8.35.0",
"eslint-config-google": "^0.14.0",
"eslint-plugin-jest": "^27.2.1",
"eslint-plugin-lit": "^1.8.2",
diff --git a/test/controllers/activities_controller_test.rb b/test/controllers/activities_controller_test.rb
index 6d5d987e15..0a33c7b5a7 100644
--- a/test/controllers/activities_controller_test.rb
+++ b/test/controllers/activities_controller_test.rb
@@ -163,25 +163,25 @@ def setup
start_exercises = Activity.exercises.count
start_content = Activity.content_pages.count
get activities_url(format: :json, type: ContentPage.name)
- assert_equal start_content, JSON.parse(response.body).count
+ assert_equal start_content, response.parsed_body.count
get activities_url(format: :json, type: Exercise.name)
- assert_equal start_exercises, JSON.parse(response.body).count
+ assert_equal start_exercises, response.parsed_body.count
end
test 'should get activities with certain description languages available' do
@instance = create(:exercise, :description_html)
# @instance has a Dutch and Englisch description
get activities_url(format: :json, description_languages: ['en'])
- assert_equal 1, JSON.parse(response.body).count
- assert_equal @instance.id, JSON.parse(response.body)[0]['id']
+ assert_equal 1, response.parsed_body.count
+ assert_equal @instance.id, response.parsed_body[0]['id']
get activities_url(format: :json, description_languages: ['nl'])
- assert_equal 1, JSON.parse(response.body).count
- assert_equal @instance.id, JSON.parse(response.body)[0]['id']
+ assert_equal 1, response.parsed_body.count
+ assert_equal @instance.id, response.parsed_body[0]['id']
get activities_url(format: :json, description_languages: %w[en nl])
- assert_equal 1, JSON.parse(response.body).count
- assert_equal @instance.id, JSON.parse(response.body)[0]['id']
+ assert_equal 1, response.parsed_body.count
+ assert_equal @instance.id, response.parsed_body[0]['id']
# create exercises to obtain all possible condition combinations
create :exercise, description_en_present: true
@@ -189,21 +189,21 @@ def setup
create :exercise, description_nl_present: true, description_en_present: true
get activities_url(format: :json, description_languages: ['nl'])
- assert_equal 3, JSON.parse(response.body).count
+ assert_equal 3, response.parsed_body.count
get activities_url(format: :json, description_languages: ['en'])
- assert_equal 3, JSON.parse(response.body).count
+ assert_equal 3, response.parsed_body.count
get activities_url(format: :json, description_languages: [])
- assert_equal Exercise.count, JSON.parse(response.body).count # should yield all exercises
+ assert_equal Exercise.count, response.parsed_body.count # should yield all exercises
end
test 'should get activities filtered by judge' do
judge = @instance.judge
get activities_url(format: :json, judge_id: judge.id)
- assert_equal Activity.where(judge: judge).count, JSON.parse(response.body).count
- assert_equal @instance.id, JSON.parse(response.body)[0]['id']
+ assert_equal Activity.where(judge: judge).count, response.parsed_body.count
+ assert_equal @instance.id, response.parsed_body[0]['id']
get activities_url(format: :json, judge_id: Judge.all.last.id + 1)
- assert_equal 0, JSON.parse(response.body).count
+ assert_equal 0, response.parsed_body.count
end
test 'should get available activities for series' do
@@ -221,7 +221,7 @@ def setup
get available_activities_series_url(series, format: :json)
assert_response :success
- result_exercises = JSON.parse response.body
+ result_exercises = response.parsed_body
assert result_exercises.any? { |ex| ex['id'] == @instance.id }, 'should contain exercise usable by course'
assert result_exercises.any? { |ex| ex['id'] == other_exercise.id }, 'should contain exercise usable by repo admin'
@@ -245,7 +245,7 @@ def setup
get available_activities_series_url(series, labels: [label.name], format: :json)
assert_response :success
- result_exercises = JSON.parse response.body
+ result_exercises = response.parsed_body
assert_equal 0, result_exercises.count, 'should not contain exercises'
label.activities << @instance
@@ -253,7 +253,7 @@ def setup
get available_activities_series_url(series, labels: [label.name], format: :json)
assert_response :success
- result_exercises = JSON.parse response.body
+ result_exercises = response.parsed_body
assert result_exercises.any? { |ex| ex['id'] == @instance.id }, 'should contain exercise with label'
assert result_exercises.all? { |ex| ex['id'] != other_exercise.id }, 'should not contain exercise without label'
@@ -275,7 +275,7 @@ def setup
get available_activities_series_url(series, programming_language: programming_language.name, format: :json)
assert_response :success
- result_exercises = JSON.parse response.body
+ result_exercises = response.parsed_body
assert_equal 0, result_exercises.count, 'should not contain exercises'
@instance.update(programming_language: programming_language)
@@ -283,7 +283,7 @@ def setup
get available_activities_series_url(series, programming_language: programming_language.name, format: :json)
assert_response :success
- result_exercises = JSON.parse response.body
+ result_exercises = response.parsed_body
assert result_exercises.any? { |ex| ex['id'] == @instance.id }, 'should contain exercise with programming language'
assert result_exercises.all? { |ex| ex['id'] != other_exercise.id }, 'should not contain exercise with other programming language'
@@ -305,7 +305,7 @@ def setup
def assert_response_contains_activity(activity, msg = nil)
assert_response :success
- result_activities = JSON.parse response.body
+ result_activities = response.parsed_body
assert result_activities.any? { |ex| ex['id'] == activity.id }, msg
end
@@ -349,7 +349,7 @@ def assert_response_contains_activity(activity, msg = nil)
get series_activities_url(series, format: :json)
assert_response :success
- exercises_response = JSON.parse response.body
+ exercises_response = response.parsed_body
assert_equal 2, exercises_response.count
exercise_response_ids = exercises_response.pluck('id')
@@ -583,7 +583,7 @@ def create_exercises_return_valid
get activities_url, params: { format: :json }
- exercises = JSON.parse response.body
+ exercises = response.parsed_body
assert_equal start_activities + 1, exercises.length
assert_includes exercises.pluck('id'), visible.id
end
@@ -596,7 +596,7 @@ def create_exercises_return_valid
get activities_url, params: { format: :json }
- exercises = JSON.parse response.body
+ exercises = response.parsed_body
assert_equal 3, exercises.length - start
end
@@ -610,17 +610,17 @@ def create_exercises_return_valid
s2.course.enrolled_members << @user
create :correct_submission, user: @user, course: s1.course, exercise: ex
get activity_url(ex, format: :json)
- resp = JSON.parse response.body
+ resp = response.parsed_body
assert resp['last_solution_is_best']
assert resp['has_solution']
assert resp['has_correct_solution']
get course_series_activity_url(s1.course, s1, ex, format: :json)
- resp = JSON.parse response.body
+ resp = response.parsed_body
assert resp['last_solution_is_best']
assert resp['has_solution']
assert resp['has_correct_solution']
get course_series_activity_url(s2.course, s2, ex, format: :json)
- resp = JSON.parse response.body
+ resp = response.parsed_body
assert resp['last_solution_is_best']
assert_not resp['has_solution']
assert_not resp['has_correct_solution']
@@ -636,13 +636,13 @@ def create_exercises_return_valid
s2.course.enrolled_members << @user
create :activity_read_state, activity: ra, user: @user, course: s1.course
get activity_url(ra, format: :json)
- resp = JSON.parse response.body
+ resp = response.parsed_body
assert resp['has_read']
get course_series_activity_url(s1.course, s1, ra, format: :json)
- resp = JSON.parse response.body
+ resp = response.parsed_body
assert resp['has_read']
get course_series_activity_url(s2.course, s2, ra, format: :json)
- resp = JSON.parse response.body
+ resp = response.parsed_body
assert_not resp['has_read']
end
@@ -746,7 +746,7 @@ class ExerciseDescriptionTest < ActionDispatch::IntegrationTest
assert_response :success
- exercise_json = JSON.parse response.body
+ exercise_json = response.parsed_body
description_url = exercise_json['description_url']
assert description_url.include?(Rails.configuration.sandbox_host)
@@ -771,7 +771,7 @@ class ExerciseDescriptionTest < ActionDispatch::IntegrationTest
get series_activities_url(series, format: :json)
assert_response :success
- activities_json = JSON.parse response.body
+ activities_json = response.parsed_body
assert_equal [exercise.id, other_exercise.id], activities_json.pluck('id')
SeriesMembership.find_by(series: series, activity: exercise).update(order: 2)
@@ -780,7 +780,7 @@ class ExerciseDescriptionTest < ActionDispatch::IntegrationTest
get series_activities_url(series, format: :json)
assert_response :success
- activities_json = JSON.parse response.body
+ activities_json = response.parsed_body
assert_equal [other_exercise.id, exercise.id], activities_json.pluck('id')
end
@@ -793,7 +793,7 @@ class ExerciseDescriptionTest < ActionDispatch::IntegrationTest
get activities_url(format: :json)
assert_response :success
- activities_json = JSON.parse response.body
+ activities_json = response.parsed_body
assert_equal [exercise.id, other_exercise.id], activities_json.pluck('id')
create :series, exercises: [other_exercise]
@@ -802,7 +802,7 @@ class ExerciseDescriptionTest < ActionDispatch::IntegrationTest
get activities_url(format: :json)
assert_response :success
- activities_json = JSON.parse response.body
+ activities_json = response.parsed_body
assert_equal [other_exercise.id, exercise.id], activities_json.pluck('id')
end
end
diff --git a/test/controllers/activity_read_states_controller_test.rb b/test/controllers/activity_read_states_controller_test.rb
index 62d8e23a0f..0c02277626 100644
--- a/test/controllers/activity_read_states_controller_test.rb
+++ b/test/controllers/activity_read_states_controller_test.rb
@@ -42,7 +42,7 @@ def setup
get activity_read_states_url, params: { filter: 'abcd', format: :json }
- assert_equal 1, JSON.parse(response.body).count
+ assert_equal 1, response.parsed_body.count
end
test 'should be able to search by user name' do
@@ -54,7 +54,7 @@ def setup
get activity_read_states_url, params: { filter: 'abcd', format: :json }
- assert_equal 1, JSON.parse(response.body).count
+ assert_equal 1, response.parsed_body.count
end
test 'should be able to search by course label' do
@@ -71,7 +71,7 @@ def setup
create :activity_read_state, user: u2, activity: a1, course: course
get course_activity_read_states_url course, params: { course_labels: ['test'], format: :json }
- assert_equal 1, JSON.parse(response.body).count
+ assert_equal 1, response.parsed_body.count
end
test 'normal user should not be able to search by course label' do
@@ -89,7 +89,7 @@ def setup
create :activity_read_state, user: u2, activity: a1, course: course
get course_activity_read_states_url course, params: { course_labels: ['test'], format: :json }
- assert_equal 1, JSON.parse(response.body).count
+ assert_equal 1, response.parsed_body.count
end
test 'should not mark content_page as read twice' do
diff --git a/test/controllers/annotations_controller_test.rb b/test/controllers/annotations_controller_test.rb
index 555185b099..a1eff8ef07 100644
--- a/test/controllers/annotations_controller_test.rb
+++ b/test/controllers/annotations_controller_test.rb
@@ -65,7 +65,7 @@ def setup
sign_in admin
get questions_url(format: :json)
- assert_equal 1, JSON.parse(response.body).count
+ assert_equal 1, response.parsed_body.count
end
test 'should be able to search by exercise name' do
@@ -80,7 +80,7 @@ def setup
get questions_url, params: { filter: 'abcd', format: :json }
- assert_equal 1, JSON.parse(response.body).count
+ assert_equal 1, response.parsed_body.count
end
test 'should be able to search by user name' do
@@ -93,7 +93,7 @@ def setup
get questions_url, params: { filter: 'abcd', everything: true, format: :json }
- assert_equal 1, JSON.parse(response.body).count
+ assert_equal 1, response.parsed_body.count
end
test 'should be able to filter by status' do
@@ -106,7 +106,7 @@ def setup
get questions_url, params: { question_state: 'answered', format: :json }
- assert_equal 1, JSON.parse(response.body).count
+ assert_equal 1, response.parsed_body.count
end
test 'should be able to filter by course' do
@@ -120,7 +120,7 @@ def setup
# Filter mode
get questions_url, params: { course_id: s1.course.id, format: :json }
- assert_equal 1, JSON.parse(response.body).count
+ assert_equal 1, response.parsed_body.count
end
test 'should be able to filter by user' do
@@ -132,7 +132,7 @@ def setup
# Filter mode
get questions_url, params: { user_id: s1.user_id, format: :json }
- assert_equal 1, JSON.parse(response.body).count
+ assert_equal 1, response.parsed_body.count
end
test 'annotation index should contain all annotations user can see' do
@@ -149,15 +149,15 @@ def setup
create :annotation, user: other_user, submission: (create :submission, user: other_user, course: create(:course))
get annotations_url(format: :json)
- assert_equal 5, JSON.parse(response.body).count
+ assert_equal 5, response.parsed_body.count
sign_in course_admin
get annotations_url(format: :json)
- assert_equal 3, JSON.parse(response.body).count
+ assert_equal 3, response.parsed_body.count
sign_in user
get annotations_url(format: :json)
- assert_equal 3, JSON.parse(response.body).count
+ assert_equal 3, response.parsed_body.count
end
test 'annotation index should be filterable by user' do
@@ -171,10 +171,10 @@ def setup
create :annotation, user: other_user, submission: (create :submission, user: other_user, course: create(:course))
get annotations_url(format: :json, user_id: user.id)
- assert_equal 3, JSON.parse(response.body).count
+ assert_equal 3, response.parsed_body.count
get annotations_url(format: :json, user_id: other_user.id)
- assert_equal 2, JSON.parse(response.body).count
+ assert_equal 2, response.parsed_body.count
end
test 'user who created submission should be able to see the annotation' do
diff --git a/test/controllers/api_tokens_controller_test.rb b/test/controllers/api_tokens_controller_test.rb
index 422bd4aed8..917dbcab76 100644
--- a/test/controllers/api_tokens_controller_test.rb
+++ b/test/controllers/api_tokens_controller_test.rb
@@ -56,7 +56,7 @@ def fetch_root_with_token(token)
test 'should login with token' do
fetch_root_with_token(@token)
assert_response :success
- result = JSON.parse response.body
+ result = response.parsed_body
assert_not_nil result['user']
assert_equal result['user']['email'], @user.email
end
diff --git a/test/controllers/courses_controller_test.rb b/test/controllers/courses_controller_test.rb
index d4d51aefbb..a9ea37dcd0 100644
--- a/test/controllers/courses_controller_test.rb
+++ b/test/controllers/courses_controller_test.rb
@@ -527,7 +527,7 @@ def with_users_signed_in(users)
@course.update(visibility: 'hidden')
with_users_signed_in @admins do |who|
get courses_url, params: { format: :json }
- courses = JSON.parse response.body
+ courses = response.parsed_body
assert courses.any? { |c| c['id'] == @course.id }, "#{who} should be able to see a hidden course of which he is course administrator"
end
end
@@ -538,7 +538,7 @@ def with_users_signed_in(users)
with_users_signed_in @not_subscribed do |who|
get courses_url, params: { format: :json }
if response.successful?
- courses = JSON.parse response.body
+ courses = response.parsed_body
assert_not courses.any? { |c| c['id'] == @course.id }, "#{who} should not be able to see a hidden course"
else
assert response.forbidden? || response.unauthorized?
@@ -571,53 +571,53 @@ def with_users_signed_in(users)
# all courses
get courses_url, params: { format: :json }
assert_response :success
- courses = JSON.parse response.body
+ courses = response.parsed_body
assert_equal 3, courses.length
# my courses
get courses_url, params: { format: :json, tab: 'my' }
assert_response :success
- courses = JSON.parse response.body
+ courses = response.parsed_body
assert_equal 1, courses.length
# institution courses
get courses_url, params: { format: :json, tab: 'institution' }
assert_response :success
- courses = JSON.parse response.body
+ courses = response.parsed_body
assert_equal 2, courses.length
# copy courses
get courses_url, params: { format: :json, copy_courses: true }
assert_response :success
- courses = JSON.parse response.body
+ courses = response.parsed_body
assert_equal 3, courses.length
# copy courses filtered
get courses_url, params: { format: :json, copy_courses: true, filter: 'course' }
assert_response :success
- courses = JSON.parse response.body
+ courses = response.parsed_body
assert_equal 2, courses.length
# All courses filtered
get courses_url, params: { format: :json, filter: 'greatest' }
assert_response :success
- courses = JSON.parse response.body
+ courses = response.parsed_body
assert_equal 1, courses.length
# Institution courses filtered
get courses_url, params: { format: :json, filter: 'worst' }
assert_response :success
- courses = JSON.parse response.body
+ courses = response.parsed_body
assert_equal 1, courses.length
end
test 'featured courses should only show featured courses' do
get courses_url, params: { format: :json }
assert_response :success
- courses = JSON.parse response.body
+ courses = response.parsed_body
assert_equal Course.count, courses.length
get courses_url, params: { format: :json, tab: 'featured' }
assert_response :success
- courses = JSON.parse response.body
+ courses = response.parsed_body
assert_equal 0, courses.length
@course.update(featured: true)
get courses_url, params: { format: :json, tab: 'featured' }
assert_response :success
- courses = JSON.parse response.body
+ courses = response.parsed_body
assert_equal 1, courses.length
end
@@ -682,7 +682,7 @@ def with_users_signed_in(users)
sign_in user
new_course = build :course
post courses_url, params: { course: { name: new_course.name, description: new_course.description, visibility: new_course.visibility, registration: new_course.registration, teacher: new_course.teacher }, copy_options: { base_id: course.id }, format: :json }
- assert_equal 0, Course.find(JSON.parse(response.body)['id']).series.count
+ assert_equal 0, Course.find(response.parsed_body['id']).series.count
end
test 'hidden course page shown to unsubscribed student should include registration url with secret' do
diff --git a/test/controllers/series_controller_test.rb b/test/controllers/series_controller_test.rb
index aabc967f4b..8588e51d2e 100644
--- a/test/controllers/series_controller_test.rb
+++ b/test/controllers/series_controller_test.rb
@@ -223,7 +223,7 @@ def assert_show_and_overview(authorized, token: nil)
assert_response :success
- result_series = JSON.parse response.body
+ result_series = response.parsed_body
assert_equal 1, result_series.count, 'expected only one (visible) series'
@@ -239,7 +239,7 @@ def assert_show_and_overview(authorized, token: nil)
assert_response :success
- result_series = JSON.parse response.body
+ result_series = response.parsed_body
assert_equal 3, result_series.count, 'expected all series (open, visible and closed)'
end
diff --git a/test/controllers/statistics_controller_test.rb b/test/controllers/statistics_controller_test.rb
index 5316b546a5..7e797a5788 100644
--- a/test/controllers/statistics_controller_test.rb
+++ b/test/controllers/statistics_controller_test.rb
@@ -16,22 +16,22 @@ def setup
# violin
get violin_path format: :json, params: { series_id: series.id }
- results = JSON.parse response.body
+ results = response.parsed_body
assert_equal 2, results['data'].count
# stacked
get stacked_status_path format: :json, params: { series_id: series.id }
- results = JSON.parse response.body
+ results = response.parsed_body
assert_equal 2, results['data'].count
# time series
get timeseries_path format: :json, params: { series_id: series.id }
- results = JSON.parse response.body
+ results = response.parsed_body
assert_equal 2, results['data'].count
# ctimeseries
get cumulative_timeseries_path format: :json, params: { series_id: series.id }
- results = JSON.parse response.body
+ results = response.parsed_body
assert_equal 2, results['data'].count
end
end
diff --git a/test/controllers/submissions_controller_test.rb b/test/controllers/submissions_controller_test.rb
index 15291e12d0..70b5c8a86b 100644
--- a/test/controllers/submissions_controller_test.rb
+++ b/test/controllers/submissions_controller_test.rb
@@ -29,7 +29,7 @@ class SubmissionsControllerTest < ActionDispatch::IntegrationTest
get course_activity_submissions_url c, e, most_recent_correct_per_user: true, format: :json
- results = JSON.parse response.body
+ results = response.parsed_body
result_ids = results.pluck('id')
assert_equal submissions.count, result_ids.count
@@ -48,7 +48,7 @@ class SubmissionsControllerTest < ActionDispatch::IntegrationTest
get submissions_url, params: { filter: 'abcd', format: :json }
- assert_equal 1, JSON.parse(response.body).count
+ assert_equal 1, response.parsed_body.count
end
test 'should be able to search by user name' do
@@ -59,7 +59,7 @@ class SubmissionsControllerTest < ActionDispatch::IntegrationTest
get submissions_url, params: { filter: 'abcd', format: :json }
- assert_equal 1, JSON.parse(response.body).count
+ assert_equal 1, response.parsed_body.count
end
test 'should be able to search by status' do
@@ -70,7 +70,7 @@ class SubmissionsControllerTest < ActionDispatch::IntegrationTest
get submissions_url, params: { status: 'correct', format: :json }
- assert_equal 1, JSON.parse(response.body).count
+ assert_equal 1, response.parsed_body.count
end
test 'should be able to search by course label' do
@@ -84,7 +84,7 @@ class SubmissionsControllerTest < ActionDispatch::IntegrationTest
create :submission, status: :wrong, user: u2, course: course
get course_submissions_url course, params: { course_labels: ['test'], format: :json }
- assert_equal 1, JSON.parse(response.body).count
+ assert_equal 1, response.parsed_body.count
end
test 'normal user should not be able to search by course label' do
@@ -100,7 +100,7 @@ class SubmissionsControllerTest < ActionDispatch::IntegrationTest
get course_submissions_url course, params: { course_labels: ['test'], format: :json }
- assert_equal 1, JSON.parse(response.body).count
+ assert_equal 1, response.parsed_body.count
end
test 'submission http caching works' do
diff --git a/test/controllers/users_controller_test.rb b/test/controllers/users_controller_test.rb
index a11c3439ff..75dea1ed7f 100644
--- a/test/controllers/users_controller_test.rb
+++ b/test/controllers/users_controller_test.rb
@@ -34,7 +34,7 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
get user_url(@instance, format: :json)
assert_response :success
- user_json = JSON.parse(response.body)
+ user_json = response.parsed_body
assert user_json.key?('subscribed_courses')
course_ids = user_json['subscribed_courses'].pluck('id')
diff --git a/yarn.lock b/yarn.lock
index f423432a1e..4a18d153b6 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,12 +2,13 @@
# yarn lockfile v1
-"@ampproject/remapping@^2.1.0":
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.2.tgz#4edca94973ded9630d20101cd8559cedb8d8bd34"
- integrity sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==
+"@ampproject/remapping@^2.2.0":
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d"
+ integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==
dependencies:
- "@jridgewell/trace-mapping" "^0.3.0"
+ "@jridgewell/gen-mapping" "^0.1.0"
+ "@jridgewell/trace-mapping" "^0.3.9"
"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.18.6":
version "7.18.6"
@@ -26,34 +27,35 @@
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.10.tgz#9d92fa81b87542fff50e848ed585b4212c1d34ec"
integrity sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==
-"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.20.12", "@babel/core@^7.7.5":
- version "7.20.12"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.12.tgz#7930db57443c6714ad216953d1356dac0eb8496d"
- integrity sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==
+"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.21.0", "@babel/core@^7.7.5":
+ version "7.21.0"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.21.0.tgz#1341aefdcc14ccc7553fcc688dd8986a2daffc13"
+ integrity sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA==
dependencies:
- "@ampproject/remapping" "^2.1.0"
+ "@ampproject/remapping" "^2.2.0"
"@babel/code-frame" "^7.18.6"
- "@babel/generator" "^7.20.7"
+ "@babel/generator" "^7.21.0"
"@babel/helper-compilation-targets" "^7.20.7"
- "@babel/helper-module-transforms" "^7.20.11"
- "@babel/helpers" "^7.20.7"
- "@babel/parser" "^7.20.7"
+ "@babel/helper-module-transforms" "^7.21.0"
+ "@babel/helpers" "^7.21.0"
+ "@babel/parser" "^7.21.0"
"@babel/template" "^7.20.7"
- "@babel/traverse" "^7.20.12"
- "@babel/types" "^7.20.7"
+ "@babel/traverse" "^7.21.0"
+ "@babel/types" "^7.21.0"
convert-source-map "^1.7.0"
debug "^4.1.0"
gensync "^1.0.0-beta.2"
json5 "^2.2.2"
semver "^6.3.0"
-"@babel/generator@^7.20.7":
- version "7.20.7"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.7.tgz#f8ef57c8242665c5929fe2e8d82ba75460187b4a"
- integrity sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==
+"@babel/generator@^7.21.0", "@babel/generator@^7.21.1":
+ version "7.21.1"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.21.1.tgz#951cc626057bc0af2c35cd23e9c64d384dea83dd"
+ integrity sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA==
dependencies:
- "@babel/types" "^7.20.7"
+ "@babel/types" "^7.21.0"
"@jridgewell/gen-mapping" "^0.3.2"
+ "@jridgewell/trace-mapping" "^0.3.17"
jsesc "^2.5.1"
"@babel/helper-annotate-as-pure@^7.18.6":
@@ -82,15 +84,15 @@
lru-cache "^5.1.1"
semver "^6.3.0"
-"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.20.12":
- version "7.20.12"
- resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.12.tgz#4349b928e79be05ed2d1643b20b99bb87c503819"
- integrity sha512-9OunRkbT0JQcednL0UFvbfXpAsUXiGjUk0a7sN8fUXX7Mue79cUSMjHGDRRi/Vz9vYlpIhLV5fMD5dKoMhhsNQ==
+"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.21.0":
+ version "7.21.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.0.tgz#64f49ecb0020532f19b1d014b03bccaa1ab85fb9"
+ integrity sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ==
dependencies:
"@babel/helper-annotate-as-pure" "^7.18.6"
"@babel/helper-environment-visitor" "^7.18.9"
- "@babel/helper-function-name" "^7.19.0"
- "@babel/helper-member-expression-to-functions" "^7.20.7"
+ "@babel/helper-function-name" "^7.21.0"
+ "@babel/helper-member-expression-to-functions" "^7.21.0"
"@babel/helper-optimise-call-expression" "^7.18.6"
"@babel/helper-replace-supers" "^7.20.7"
"@babel/helper-skip-transparent-expression-wrappers" "^7.20.0"
@@ -165,6 +167,14 @@
"@babel/template" "^7.18.10"
"@babel/types" "^7.19.0"
+"@babel/helper-function-name@^7.21.0":
+ version "7.21.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz#d552829b10ea9f120969304023cd0645fa00b1b4"
+ integrity sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==
+ dependencies:
+ "@babel/template" "^7.20.7"
+ "@babel/types" "^7.21.0"
+
"@babel/helper-hoist-variables@^7.18.6":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678"
@@ -179,6 +189,13 @@
dependencies:
"@babel/types" "^7.20.7"
+"@babel/helper-member-expression-to-functions@^7.21.0":
+ version "7.21.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz#319c6a940431a133897148515877d2f3269c3ba5"
+ integrity sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==
+ dependencies:
+ "@babel/types" "^7.21.0"
+
"@babel/helper-module-imports@^7.18.6":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e"
@@ -186,10 +203,10 @@
dependencies:
"@babel/types" "^7.18.6"
-"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.19.6", "@babel/helper-module-transforms@^7.20.11":
- version "7.20.11"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz#df4c7af713c557938c50ea3ad0117a7944b2f1b0"
- integrity sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==
+"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.19.6", "@babel/helper-module-transforms@^7.21.0":
+ version "7.21.2"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz#160caafa4978ac8c00ac66636cb0fa37b024e2d2"
+ integrity sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==
dependencies:
"@babel/helper-environment-visitor" "^7.18.9"
"@babel/helper-module-imports" "^7.18.6"
@@ -197,8 +214,8 @@
"@babel/helper-split-export-declaration" "^7.18.6"
"@babel/helper-validator-identifier" "^7.19.1"
"@babel/template" "^7.20.7"
- "@babel/traverse" "^7.20.10"
- "@babel/types" "^7.20.7"
+ "@babel/traverse" "^7.21.2"
+ "@babel/types" "^7.21.2"
"@babel/helper-optimise-call-expression@^7.18.6":
version "7.18.6"
@@ -287,10 +304,10 @@
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2"
integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==
-"@babel/helper-validator-option@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8"
- integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==
+"@babel/helper-validator-option@^7.18.6", "@babel/helper-validator-option@^7.21.0":
+ version "7.21.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz#8224c7e13ace4bafdc4004da2cf064ef42673180"
+ integrity sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==
"@babel/helper-wrap-function@^7.18.6":
version "7.18.6"
@@ -312,14 +329,14 @@
"@babel/traverse" "^7.18.11"
"@babel/types" "^7.18.10"
-"@babel/helpers@^7.20.7":
- version "7.20.7"
- resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.7.tgz#04502ff0feecc9f20ecfaad120a18f011a8e6dce"
- integrity sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==
+"@babel/helpers@^7.21.0":
+ version "7.21.0"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.21.0.tgz#9dd184fb5599862037917cdc9eecb84577dc4e7e"
+ integrity sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==
dependencies:
"@babel/template" "^7.20.7"
- "@babel/traverse" "^7.20.7"
- "@babel/types" "^7.20.7"
+ "@babel/traverse" "^7.21.0"
+ "@babel/types" "^7.21.0"
"@babel/highlight@^7.18.6":
version "7.18.6"
@@ -330,10 +347,10 @@
chalk "^2.0.0"
js-tokens "^4.0.0"
-"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7":
- version "7.20.7"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.7.tgz#66fe23b3c8569220817d5feb8b9dcdc95bb4f71b"
- integrity sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==
+"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.21.0", "@babel/parser@^7.21.2":
+ version "7.21.2"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.2.tgz#dacafadfc6d7654c3051a66d6fe55b6cb2f2a0b3"
+ integrity sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ==
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6":
version "7.18.6"
@@ -378,16 +395,16 @@
"@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-syntax-class-static-block" "^7.14.5"
-"@babel/plugin-proposal-decorators@^7.20.13":
- version "7.20.13"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.20.13.tgz#b6bea3b18e88443688fa7ed2cc06d2c60da9f4a7"
- integrity sha512-7T6BKHa9Cpd7lCueHBBzP0nkXNina+h5giOZw+a8ZpMfPFY19VjJAjIxyFHuWkhCWgL6QMqRiY/wB1fLXzm6Mw==
+"@babel/plugin-proposal-decorators@^7.21.0":
+ version "7.21.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.21.0.tgz#70e0c89fdcd7465c97593edb8f628ba6e4199d63"
+ integrity sha512-MfgX49uRrFUTL/HvWtmx3zmpyzMMr4MTj3d527MLlr/4RTT9G/ytFFP7qet2uM2Ve03b+BkpWUpK+lRXnQ+v9w==
dependencies:
- "@babel/helper-create-class-features-plugin" "^7.20.12"
+ "@babel/helper-create-class-features-plugin" "^7.21.0"
"@babel/helper-plugin-utils" "^7.20.2"
"@babel/helper-replace-supers" "^7.20.7"
"@babel/helper-split-export-declaration" "^7.18.6"
- "@babel/plugin-syntax-decorators" "^7.19.0"
+ "@babel/plugin-syntax-decorators" "^7.21.0"
"@babel/plugin-proposal-dynamic-import@^7.18.6":
version "7.18.6"
@@ -519,12 +536,12 @@
dependencies:
"@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-syntax-decorators@^7.19.0":
- version "7.19.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.19.0.tgz#5f13d1d8fce96951bea01a10424463c9a5b3a599"
- integrity sha512-xaBZUEDntt4faL1yN8oIFlhfXeQAWJW7CLKYsHTUqriCUbj8xOra8bfxxKGi/UwExPFBuPdH4XfHc9rGQhrVkQ==
+"@babel/plugin-syntax-decorators@^7.21.0":
+ version "7.21.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.21.0.tgz#d2b3f31c3e86fa86e16bb540b7660c55bd7d0e78"
+ integrity sha512-tIoPpGBR8UuM4++ccWN3gifhVvQu7ZizuR1fklhRJrd5ewgbkUS+0KVFeWWxELtn18NTLoW32XV7zyOgIAiz+w==
dependencies:
- "@babel/helper-plugin-utils" "^7.19.0"
+ "@babel/helper-plugin-utils" "^7.20.2"
"@babel/plugin-syntax-dynamic-import@^7.8.3":
version "7.8.3"
@@ -617,12 +634,12 @@
dependencies:
"@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-syntax-typescript@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz#1c09cd25795c7c2b8a4ba9ae49394576d4133285"
- integrity sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==
+"@babel/plugin-syntax-typescript@^7.20.0":
+ version "7.20.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz#4e9a0cfc769c85689b77a2e642d24e9f697fc8c7"
+ integrity sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.18.6"
+ "@babel/helper-plugin-utils" "^7.19.0"
"@babel/plugin-transform-arrow-functions@^7.18.6":
version "7.18.6"
@@ -823,13 +840,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.18.6"
-"@babel/plugin-transform-runtime@^7.19.6":
- version "7.19.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz#9d2a9dbf4e12644d6f46e5e75bfbf02b5d6e9194"
- integrity sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==
+"@babel/plugin-transform-runtime@^7.21.0":
+ version "7.21.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.21.0.tgz#2a884f29556d0a68cd3d152dcc9e6c71dfb6eee8"
+ integrity sha512-ReY6pxwSzEU0b3r2/T/VhqMKg/AkceBT19X0UptA3/tYi5Pe2eXgEUH+NNMC5nok6c6XQz5tyVTUpuezRfSMSg==
dependencies:
"@babel/helper-module-imports" "^7.18.6"
- "@babel/helper-plugin-utils" "^7.19.0"
+ "@babel/helper-plugin-utils" "^7.20.2"
babel-plugin-polyfill-corejs2 "^0.3.3"
babel-plugin-polyfill-corejs3 "^0.6.0"
babel-plugin-polyfill-regenerator "^0.4.1"
@@ -871,14 +888,14 @@
dependencies:
"@babel/helper-plugin-utils" "^7.18.9"
-"@babel/plugin-transform-typescript@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.18.6.tgz#8f4ade1a9cf253e5cf7c7c20173082c2c08a50a7"
- integrity sha512-ijHNhzIrLj5lQCnI6aaNVRtGVuUZhOXFLRVFs7lLrkXTHip4FKty5oAuQdk4tywG0/WjXmjTfQCWmuzrvFer1w==
+"@babel/plugin-transform-typescript@^7.21.0":
+ version "7.21.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.21.0.tgz#f0956a153679e3b377ae5b7f0143427151e4c848"
+ integrity sha512-xo///XTPp3mDzTtrqXoBlK9eiAYW3wv9JXglcn/u1bi60RW11dEUxIgA8cbnDhutS1zacjMRmAwxE0gMklLnZg==
dependencies:
- "@babel/helper-create-class-features-plugin" "^7.18.6"
- "@babel/helper-plugin-utils" "^7.18.6"
- "@babel/plugin-syntax-typescript" "^7.18.6"
+ "@babel/helper-create-class-features-plugin" "^7.21.0"
+ "@babel/helper-plugin-utils" "^7.20.2"
+ "@babel/plugin-syntax-typescript" "^7.20.0"
"@babel/plugin-transform-unicode-escapes@^7.18.10":
version "7.18.10"
@@ -987,14 +1004,14 @@
"@babel/types" "^7.4.4"
esutils "^2.0.2"
-"@babel/preset-typescript@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz#ce64be3e63eddc44240c6358daefac17b3186399"
- integrity sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==
+"@babel/preset-typescript@^7.21.0":
+ version "7.21.0"
+ resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.21.0.tgz#bcbbca513e8213691fe5d4b23d9251e01f00ebff"
+ integrity sha512-myc9mpoVA5m1rF8K8DgLEatOYFDpwC+RkMkjZ0Du6uI62YvDe8uxIEYVs/VCdSJ097nlALiU/yBC7//3nI+hNg==
dependencies:
- "@babel/helper-plugin-utils" "^7.18.6"
- "@babel/helper-validator-option" "^7.18.6"
- "@babel/plugin-transform-typescript" "^7.18.6"
+ "@babel/helper-plugin-utils" "^7.20.2"
+ "@babel/helper-validator-option" "^7.21.0"
+ "@babel/plugin-transform-typescript" "^7.21.0"
"@babel/runtime@^7.12.5", "@babel/runtime@^7.8.4":
version "7.17.9"
@@ -1012,26 +1029,26 @@
"@babel/parser" "^7.20.7"
"@babel/types" "^7.20.7"
-"@babel/traverse@^7.1.0", "@babel/traverse@^7.18.11", "@babel/traverse@^7.18.6", "@babel/traverse@^7.20.10", "@babel/traverse@^7.20.12", "@babel/traverse@^7.20.7":
- version "7.20.12"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.12.tgz#7f0f787b3a67ca4475adef1f56cb94f6abd4a4b5"
- integrity sha512-MsIbFN0u+raeja38qboyF8TIT7K0BFzz/Yd/77ta4MsUsmP2RAnidIlwq7d5HFQrH/OZJecGV6B71C4zAgpoSQ==
+"@babel/traverse@^7.1.0", "@babel/traverse@^7.18.11", "@babel/traverse@^7.18.6", "@babel/traverse@^7.20.7", "@babel/traverse@^7.21.0", "@babel/traverse@^7.21.2":
+ version "7.21.2"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.21.2.tgz#ac7e1f27658750892e815e60ae90f382a46d8e75"
+ integrity sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw==
dependencies:
"@babel/code-frame" "^7.18.6"
- "@babel/generator" "^7.20.7"
+ "@babel/generator" "^7.21.1"
"@babel/helper-environment-visitor" "^7.18.9"
- "@babel/helper-function-name" "^7.19.0"
+ "@babel/helper-function-name" "^7.21.0"
"@babel/helper-hoist-variables" "^7.18.6"
"@babel/helper-split-export-declaration" "^7.18.6"
- "@babel/parser" "^7.20.7"
- "@babel/types" "^7.20.7"
+ "@babel/parser" "^7.21.2"
+ "@babel/types" "^7.21.2"
debug "^4.1.0"
globals "^11.1.0"
-"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.7", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4":
- version "7.20.7"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.7.tgz#54ec75e252318423fc07fb644dc6a58a64c09b7f"
- integrity sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==
+"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.2", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4":
+ version "7.21.2"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.21.2.tgz#92246f6e00f91755893c2876ad653db70c8310d1"
+ integrity sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw==
dependencies:
"@babel/helper-string-parser" "^7.19.4"
"@babel/helper-validator-identifier" "^7.19.1"
@@ -1178,10 +1195,10 @@
pyodide-worker-runner "^0.0.10"
sync-message "^0.0.10"
-"@eslint/eslintrc@^1.4.1":
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.4.1.tgz#af58772019a2d271b7e2d4c23ff4ddcba3ccfb3e"
- integrity sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==
+"@eslint/eslintrc@^2.0.0":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.0.tgz#943309d8697c52fc82c076e90c1c74fbbe69dbff"
+ integrity sha512-fluIaaV+GyV24CCu/ggiHdV+j4RNh85yQnAYS/G2mZODZgGmmlrgCydjUcV3YvxCm9x8nMAfThsqTni4KiXT4A==
dependencies:
ajv "^6.12.4"
debug "^4.3.2"
@@ -1193,6 +1210,11 @@
minimatch "^3.1.2"
strip-json-comments "^3.1.1"
+"@eslint/js@8.35.0":
+ version "8.35.0"
+ resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.35.0.tgz#b7569632b0b788a0ca0e438235154e45d42813a7"
+ integrity sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==
+
"@humanwhocodes/config-array@^0.11.8":
version "0.11.8"
resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9"
@@ -1399,6 +1421,14 @@
"@types/yargs" "^15.0.0"
chalk "^4.0.0"
+"@jridgewell/gen-mapping@^0.1.0":
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996"
+ integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==
+ dependencies:
+ "@jridgewell/set-array" "^1.0.0"
+ "@jridgewell/sourcemap-codec" "^1.4.10"
+
"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2":
version "0.3.2"
resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9"
@@ -1408,12 +1438,12 @@
"@jridgewell/sourcemap-codec" "^1.4.10"
"@jridgewell/trace-mapping" "^0.3.9"
-"@jridgewell/resolve-uri@^3.0.3":
+"@jridgewell/resolve-uri@3.1.0", "@jridgewell/resolve-uri@^3.0.3":
version "3.1.0"
resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78"
integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==
-"@jridgewell/set-array@^1.0.1":
+"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1":
version "1.1.2"
resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72"
integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==
@@ -1426,18 +1456,18 @@
"@jridgewell/gen-mapping" "^0.3.0"
"@jridgewell/trace-mapping" "^0.3.9"
-"@jridgewell/sourcemap-codec@^1.4.10":
+"@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10":
version "1.4.14"
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24"
integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
-"@jridgewell/trace-mapping@^0.3.0":
- version "0.3.4"
- resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz#f6a0832dffd5b8a6aaa633b7d9f8e8e94c83a0c3"
- integrity sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==
+"@jridgewell/trace-mapping@^0.3.17":
+ version "0.3.17"
+ resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985"
+ integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==
dependencies:
- "@jridgewell/resolve-uri" "^3.0.3"
- "@jridgewell/sourcemap-codec" "^1.4.10"
+ "@jridgewell/resolve-uri" "3.1.0"
+ "@jridgewell/sourcemap-codec" "1.4.14"
"@jridgewell/trace-mapping@^0.3.9":
version "0.3.14"
@@ -1960,14 +1990,14 @@
dependencies:
"@types/yargs-parser" "*"
-"@typescript-eslint/eslint-plugin@^5.52.0":
- version "5.52.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.52.0.tgz#5fb0d43574c2411f16ea80f5fc335b8eaa7b28a8"
- integrity sha512-lHazYdvYVsBokwCdKOppvYJKaJ4S41CgKBcPvyd0xjZNbvQdhn/pnJlGtQksQ/NhInzdaeaSarlBjDXHuclEbg==
+"@typescript-eslint/eslint-plugin@^5.54.0":
+ version "5.54.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.54.0.tgz#2c821ad81b2c786d142279a8292090f77d1881f4"
+ integrity sha512-+hSN9BdSr629RF02d7mMtXhAJvDTyCbprNYJKrXETlul/Aml6YZwd90XioVbjejQeHbb3R8Dg0CkRgoJDxo8aw==
dependencies:
- "@typescript-eslint/scope-manager" "5.52.0"
- "@typescript-eslint/type-utils" "5.52.0"
- "@typescript-eslint/utils" "5.52.0"
+ "@typescript-eslint/scope-manager" "5.54.0"
+ "@typescript-eslint/type-utils" "5.54.0"
+ "@typescript-eslint/utils" "5.54.0"
debug "^4.3.4"
grapheme-splitter "^1.0.4"
ignore "^5.2.0"
@@ -1976,72 +2006,72 @@
semver "^7.3.7"
tsutils "^3.21.0"
-"@typescript-eslint/parser@^5.52.0":
- version "5.52.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.52.0.tgz#73c136df6c0133f1d7870de7131ccf356f5be5a4"
- integrity sha512-e2KiLQOZRo4Y0D/b+3y08i3jsekoSkOYStROYmPUnGMEoA0h+k2qOH5H6tcjIc68WDvGwH+PaOrP1XRzLJ6QlA==
+"@typescript-eslint/parser@^5.54.0":
+ version "5.54.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.54.0.tgz#def186eb1b1dbd0439df0dacc44fb6d8d5c417fe"
+ integrity sha512-aAVL3Mu2qTi+h/r04WI/5PfNWvO6pdhpeMRWk9R7rEV4mwJNzoWf5CCU5vDKBsPIFQFjEq1xg7XBI2rjiMXQbQ==
dependencies:
- "@typescript-eslint/scope-manager" "5.52.0"
- "@typescript-eslint/types" "5.52.0"
- "@typescript-eslint/typescript-estree" "5.52.0"
+ "@typescript-eslint/scope-manager" "5.54.0"
+ "@typescript-eslint/types" "5.54.0"
+ "@typescript-eslint/typescript-estree" "5.54.0"
debug "^4.3.4"
-"@typescript-eslint/scope-manager@5.52.0":
- version "5.52.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.52.0.tgz#a993d89a0556ea16811db48eabd7c5b72dcb83d1"
- integrity sha512-AR7sxxfBKiNV0FWBSARxM8DmNxrwgnYMPwmpkC1Pl1n+eT8/I2NAUPuwDy/FmDcC6F8pBfmOcaxcxRHspgOBMw==
+"@typescript-eslint/scope-manager@5.54.0":
+ version "5.54.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.54.0.tgz#74b28ac9a3fc8166f04e806c957adb8c1fd00536"
+ integrity sha512-VTPYNZ7vaWtYna9M4oD42zENOBrb+ZYyCNdFs949GcN8Miwn37b8b7eMj+EZaq7VK9fx0Jd+JhmkhjFhvnovhg==
dependencies:
- "@typescript-eslint/types" "5.52.0"
- "@typescript-eslint/visitor-keys" "5.52.0"
+ "@typescript-eslint/types" "5.54.0"
+ "@typescript-eslint/visitor-keys" "5.54.0"
-"@typescript-eslint/type-utils@5.52.0":
- version "5.52.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.52.0.tgz#9fd28cd02e6f21f5109e35496df41893f33167aa"
- integrity sha512-tEKuUHfDOv852QGlpPtB3lHOoig5pyFQN/cUiZtpw99D93nEBjexRLre5sQZlkMoHry/lZr8qDAt2oAHLKA6Jw==
+"@typescript-eslint/type-utils@5.54.0":
+ version "5.54.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.54.0.tgz#390717216eb61393a0cad2995da154b613ba7b26"
+ integrity sha512-WI+WMJ8+oS+LyflqsD4nlXMsVdzTMYTxl16myXPaCXnSgc7LWwMsjxQFZCK/rVmTZ3FN71Ct78ehO9bRC7erYQ==
dependencies:
- "@typescript-eslint/typescript-estree" "5.52.0"
- "@typescript-eslint/utils" "5.52.0"
+ "@typescript-eslint/typescript-estree" "5.54.0"
+ "@typescript-eslint/utils" "5.54.0"
debug "^4.3.4"
tsutils "^3.21.0"
-"@typescript-eslint/types@5.52.0":
- version "5.52.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.52.0.tgz#19e9abc6afb5bd37a1a9bea877a1a836c0b3241b"
- integrity sha512-oV7XU4CHYfBhk78fS7tkum+/Dpgsfi91IIDy7fjCyq2k6KB63M6gMC0YIvy+iABzmXThCRI6xpCEyVObBdWSDQ==
+"@typescript-eslint/types@5.54.0":
+ version "5.54.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.54.0.tgz#7d519df01f50739254d89378e0dcac504cab2740"
+ integrity sha512-nExy+fDCBEgqblasfeE3aQ3NuafBUxZxgxXcYfzYRZFHdVvk5q60KhCSkG0noHgHRo/xQ/BOzURLZAafFpTkmQ==
-"@typescript-eslint/typescript-estree@5.52.0":
- version "5.52.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.52.0.tgz#6408cb3c2ccc01c03c278cb201cf07e73347dfca"
- integrity sha512-WeWnjanyEwt6+fVrSR0MYgEpUAuROxuAH516WPjUblIrClzYJj0kBbjdnbQXLpgAN8qbEuGywiQsXUVDiAoEuQ==
+"@typescript-eslint/typescript-estree@5.54.0":
+ version "5.54.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.54.0.tgz#f6f3440cabee8a43a0b25fa498213ebb61fdfe99"
+ integrity sha512-X2rJG97Wj/VRo5YxJ8Qx26Zqf0RRKsVHd4sav8NElhbZzhpBI8jU54i6hfo9eheumj4oO4dcRN1B/zIVEqR/MQ==
dependencies:
- "@typescript-eslint/types" "5.52.0"
- "@typescript-eslint/visitor-keys" "5.52.0"
+ "@typescript-eslint/types" "5.54.0"
+ "@typescript-eslint/visitor-keys" "5.54.0"
debug "^4.3.4"
globby "^11.1.0"
is-glob "^4.0.3"
semver "^7.3.7"
tsutils "^3.21.0"
-"@typescript-eslint/utils@5.52.0", "@typescript-eslint/utils@^5.10.0":
- version "5.52.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.52.0.tgz#b260bb5a8f6b00a0ed51db66bdba4ed5e4845a72"
- integrity sha512-As3lChhrbwWQLNk2HC8Ree96hldKIqk98EYvypd3It8Q1f8d5zWyIoaZEp2va5667M4ZyE7X8UUR+azXrFl+NA==
+"@typescript-eslint/utils@5.54.0", "@typescript-eslint/utils@^5.10.0":
+ version "5.54.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.54.0.tgz#3db758aae078be7b54b8ea8ea4537ff6cd3fbc21"
+ integrity sha512-cuwm8D/Z/7AuyAeJ+T0r4WZmlnlxQ8wt7C7fLpFlKMR+dY6QO79Cq1WpJhvZbMA4ZeZGHiRWnht7ZJ8qkdAunw==
dependencies:
"@types/json-schema" "^7.0.9"
"@types/semver" "^7.3.12"
- "@typescript-eslint/scope-manager" "5.52.0"
- "@typescript-eslint/types" "5.52.0"
- "@typescript-eslint/typescript-estree" "5.52.0"
+ "@typescript-eslint/scope-manager" "5.54.0"
+ "@typescript-eslint/types" "5.54.0"
+ "@typescript-eslint/typescript-estree" "5.54.0"
eslint-scope "^5.1.1"
eslint-utils "^3.0.0"
semver "^7.3.7"
-"@typescript-eslint/visitor-keys@5.52.0":
- version "5.52.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.52.0.tgz#e38c971259f44f80cfe49d97dbffa38e3e75030f"
- integrity sha512-qMwpw6SU5VHCPr99y274xhbm+PRViK/NATY6qzt+Et7+mThGuFSl/ompj2/hrBlRP/kq+BFdgagnOSgw9TB0eA==
+"@typescript-eslint/visitor-keys@5.54.0":
+ version "5.54.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.54.0.tgz#846878afbf0cd67c19cfa8d75947383d4490db8f"
+ integrity sha512-xu4wT7aRCakGINTLGeyGqDn+78BwFlggwBjnHa1ar/KaGagnmwLYmlrXIrgAaQ3AE1Vd6nLfKASm7LrFHNbKGA==
dependencies:
- "@typescript-eslint/types" "5.52.0"
+ "@typescript-eslint/types" "5.54.0"
eslint-visitor-keys "^3.3.0"
"@webassemblyjs/ast@1.11.1":
@@ -2888,10 +2918,10 @@ core-js-compat@^3.25.1:
dependencies:
browserslist "^4.21.4"
-core-js@^3.28.0:
- version "3.28.0"
- resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.28.0.tgz#ed8b9e99c273879fdfff0edfc77ee709a5800e4a"
- integrity sha512-GiZn9D4Z/rSYvTeg1ljAIsEqFm0LaN9gVtwDCrKL80zHtS31p9BAjmTxVqTQDMpwlMolJZOFntUG2uwyj7DAqw==
+core-js@^3.29.0:
+ version "3.29.0"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.29.0.tgz#0273e142b67761058bcde5615c503c7406b572d6"
+ integrity sha512-VG23vuEisJNkGl6XQmFJd3rEG/so/CNatqeE+7uZAwTSwFeB/qaO0be8xZYUNWprJ/GIwL8aMt9cj1kvbpTZhg==
cosmiconfig@^7.0.0, cosmiconfig@^7.1.0:
version "7.1.0"
@@ -3618,12 +3648,13 @@ eslint-visitor-keys@^3.3.0:
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826"
integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==
-eslint@^8.34.0:
- version "8.34.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.34.0.tgz#fe0ab0ef478104c1f9ebc5537e303d25a8fb22d6"
- integrity sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg==
+eslint@^8.35.0:
+ version "8.35.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.35.0.tgz#fffad7c7e326bae606f0e8f436a6158566d42323"
+ integrity sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==
dependencies:
- "@eslint/eslintrc" "^1.4.1"
+ "@eslint/eslintrc" "^2.0.0"
+ "@eslint/js" "8.35.0"
"@humanwhocodes/config-array" "^0.11.8"
"@humanwhocodes/module-importer" "^1.0.1"
"@nodelib/fs.walk" "^1.2.8"
@@ -3637,7 +3668,7 @@ eslint@^8.34.0:
eslint-utils "^3.0.0"
eslint-visitor-keys "^3.3.0"
espree "^9.4.0"
- esquery "^1.4.0"
+ esquery "^1.4.2"
esutils "^2.0.2"
fast-deep-equal "^3.1.3"
file-entry-cache "^6.0.1"
@@ -3677,10 +3708,10 @@ esprima@^4.0.0, esprima@^4.0.1:
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
-esquery@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5"
- integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==
+esquery@^1.4.2:
+ version "1.4.2"
+ resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.2.tgz#c6d3fee05dd665808e2ad870631f221f5617b1d1"
+ integrity sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng==
dependencies:
estraverse "^5.1.0"