diff --git a/.prettierrc b/.prettierrc index fad510f685..00f0dc88ad 100644 --- a/.prettierrc +++ b/.prettierrc @@ -3,5 +3,6 @@ "singleQuote": true, "printWidth": 100, "arrowParens": "avoid", - "trailingComma": "none" + "trailingComma": "none", + "endOfLine": "auto" } diff --git a/eslint.config.mjs b/eslint.config.mjs index d08bbe8adf..ab3cb8ebff 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -1,10 +1,10 @@ // @ts-check // import eslint from '@eslint/js'; -import { config, configs } from 'typescript-eslint'; import reactPlugin from 'eslint-plugin-react'; import reactHooksPlugin from 'eslint-plugin-react-hooks'; import simpleImportSort from 'eslint-plugin-simple-import-sort'; +import { config, configs } from 'typescript-eslint'; // import reactRefresh from 'eslint-plugin-react-refresh'; export default config( diff --git a/package.json b/package.json index bc70762390..3ab5435e50 100644 --- a/package.json +++ b/package.json @@ -31,17 +31,17 @@ "preview": "rsbuild preview" }, "dependencies": { - "@blueprintjs/core": "^5.10.1", - "@blueprintjs/datetime2": "^2.3.3", + "@blueprintjs/core": "^6.0.0", + "@blueprintjs/datetime": "^6.0.0", "@blueprintjs/icons": "^6.0.0", - "@blueprintjs/select": "^5.1.3", + "@blueprintjs/select": "^6.0.0", "@convergencelabs/ace-collab-ext": "^0.6.0", "@mantine/hooks": "^7.11.2", "@octokit/rest": "^22.0.0", "@reduxjs/toolkit": "^1.9.7", "@sentry/browser": "^8.33.0", "@sourceacademy/c-slang": "^1.0.21", - "@sourceacademy/sharedb-ace": "^2.1.1", + "@sourceacademy/sharedb-ace": "2.1.1", "@sourceacademy/sling-client": "^0.1.0", "@szhsin/react-menu": "^4.0.0", "@tanstack/react-table": "^8.9.3", diff --git a/src/commons/__tests__/__snapshots__/ContentDisplay.test.tsx.snap b/src/commons/__tests__/__snapshots__/ContentDisplay.test.tsx.snap index c1ce322ba0..7e524c0b5f 100644 --- a/src/commons/__tests__/__snapshots__/ContentDisplay.test.tsx.snap +++ b/src/commons/__tests__/__snapshots__/ContentDisplay.test.tsx.snap @@ -8,7 +8,7 @@ exports[`ContentDisplay page renders correctly 1`] = ` className="col-md-10 col-xs-11 contentdisplay-content-parent" >
Test Content diff --git a/src/commons/__tests__/__snapshots__/Markdown.test.tsx.snap b/src/commons/__tests__/__snapshots__/Markdown.test.tsx.snap index b7bf41bfed..924eff7c36 100644 --- a/src/commons/__tests__/__snapshots__/Markdown.test.tsx.snap +++ b/src/commons/__tests__/__snapshots__/Markdown.test.tsx.snap @@ -2,7 +2,7 @@ exports[`Markdown page renders correctly 1`] = `
Welcome to the Source Academy playground!

diff --git a/src/commons/achievement/AchievementFilter.tsx b/src/commons/achievement/AchievementFilter.tsx index 47c34718a0..94b498d5a8 100644 --- a/src/commons/achievement/AchievementFilter.tsx +++ b/src/commons/achievement/AchievementFilter.tsx @@ -19,7 +19,7 @@ const AchievementFilter: React.FC = ({ filterState, icon, ownStatus }) => onClick={() => setGlobalStatus(ownStatus)} style={{ color: getFilterColor(globalStatus, ownStatus) }} > - +

{ownStatus}

); diff --git a/src/commons/achievement/AchievementView.tsx b/src/commons/achievement/AchievementView.tsx index 06cd62623b..b997f2e7a0 100644 --- a/src/commons/achievement/AchievementView.tsx +++ b/src/commons/achievement/AchievementView.tsx @@ -59,7 +59,7 @@ const AchievementView: React.FC = ({ focusUuid, userState }) => { if (focusUuid === '') { return (
- +

Select an achievement

); diff --git a/src/commons/achievement/control/achievementEditor/EditableDate.tsx b/src/commons/achievement/control/achievementEditor/EditableDate.tsx index 4ab15e19f6..4cbcf19dda 100644 --- a/src/commons/achievement/control/achievementEditor/EditableDate.tsx +++ b/src/commons/achievement/control/achievementEditor/EditableDate.tsx @@ -33,7 +33,7 @@ const EditableDate: React.FC = ({ type, date, changeDate }) => { title={`${type}`} > changeDate(selectedDate || undefined)} timePickerProps={{ showArrowButtons: true }} value={date} /> diff --git a/src/commons/achievement/control/goalEditor/EditableDate.tsx b/src/commons/achievement/control/goalEditor/EditableDate.tsx index 4ab15e19f6..4cbcf19dda 100644 --- a/src/commons/achievement/control/goalEditor/EditableDate.tsx +++ b/src/commons/achievement/control/goalEditor/EditableDate.tsx @@ -33,7 +33,7 @@ const EditableDate: React.FC = ({ type, date, changeDate }) => { title={`${type}`} > changeDate(selectedDate || undefined)} timePickerProps={{ showArrowButtons: true }} value={date} /> diff --git a/src/commons/assessment/Assessment.tsx b/src/commons/assessment/Assessment.tsx index b6ae64815e..5efbaaf5b9 100644 --- a/src/commons/assessment/Assessment.tsx +++ b/src/commons/assessment/Assessment.tsx @@ -226,14 +226,14 @@ const Assessment: React.FC = () => {
- + {`${beforeNow(overview.openAt) ? 'Opened' : 'Opens'}: ${getPrettyDate( overview.openAt )}`} {beforeNow(overview.openAt) && ( - + {`Due: ${getPrettyDate(overview.closeAt)}`} )} diff --git a/src/commons/assessment/__tests__/__snapshots__/Assessment.test.tsx.snap b/src/commons/assessment/__tests__/__snapshots__/Assessment.test.tsx.snap index 345fece88b..8526e23860 100644 --- a/src/commons/assessment/__tests__/__snapshots__/Assessment.test.tsx.snap +++ b/src/commons/assessment/__tests__/__snapshots__/Assessment.test.tsx.snap @@ -11,13 +11,13 @@ exports[`Assessment page "loading" content renders correctly 1`] = ` className="col-md-10 col-xs-11 contentdisplay-content-parent" >
Fetching assessment... @@ -81,10 +81,10 @@ exports[`Assessment page does not show attempt Button for upcoming assessments f className="col-md-10 col-xs-11 contentdisplay-content-parent" >

An Odessey to Runes (Duplicate)

@@ -166,7 +166,7 @@ exports[`Assessment page does not show attempt Button for upcoming assessments f className="listing-button" >

The Secret to Streams

@@ -362,7 +362,7 @@ exports[`Assessment page does not show attempt Button for upcoming assessments f className="listing-button" >

There are no assessments.

@@ -898,10 +898,10 @@ exports[`Assessment page with multiple loaded missions renders correctly 1`] = ` className="col-md-10 col-xs-11 contentdisplay-content-parent" >

An Odessey to Runes (Duplicate)

@@ -983,7 +983,7 @@ exports[`Assessment page with multiple loaded missions renders correctly 1`] = ` className="listing-button" >

The Secret to Streams

@@ -1226,7 +1226,7 @@ exports[`Assessment page with multiple loaded missions renders correctly 1`] = ` className="listing-button" >
AssessmentWorkspace page "loading" content renders correctly 1`] = `
AssessmentWorkspace page "loading" content render aria-label="loading" aria-valuemax={100} aria-valuemin={0} - className="bp5-spinner" + className="bp6-spinner" role="progressbar" >
AssessmentWorkspace page "loading" content render width={100} > AssessmentWorkspace page "loading" content render
Getting mission ready... @@ -57,7 +57,7 @@ exports[`AssessmentWorkspace > AssessmentWorkspace page "loading" content render exports[`AssessmentWorkspace > AssessmentWorkspace page with ContestVoting question renders correctly 1`] = `
AssessmentWorkspace page with ContestVoting quest class="ControlBar" >
Question 1 of 1
AssessmentWorkspace page with ContestVoting quest class="editor-container" >
AssessmentWorkspace page with ContestVoting quest class="right-parent" >
AssessmentWorkspace page with ContestVoting quest id="item-1" >
                                             1
                                           
@@ -728,10 +728,10 @@ exports[`AssessmentWorkspace > AssessmentWorkspace page with ContestVoting quest id="item-2" >
                                             2
                                           
@@ -765,7 +765,7 @@ exports[`AssessmentWorkspace > AssessmentWorkspace page with ContestVoting quest class="repl-output-parent" >
AssessmentWorkspace page with ContestVoting quest />
Question 3 of 5
AssessmentWorkspace page with MCQ question render data-testid="MCQChooser" >
AssessmentWorkspace page with MCQ question render
AssessmentWorkspace page with MCQ question render class="repl-output-parent" >
AssessmentWorkspace page with MCQ question render />
Question 1 of 5
AssessmentWorkspace page with overdue assessment class="editor-container" >
AssessmentWorkspace page with overdue assessment class="right-parent" >
AssessmentWorkspace page with overdue assessment
AssessmentWorkspace page with overdue assessment class="repl-output-parent" >
AssessmentWorkspace page with overdue assessment />
Question 1 of 5
AssessmentWorkspace page with programming questio class="editor-container" >
AssessmentWorkspace page with programming questio class="right-parent" >
AssessmentWorkspace page with programming questio
AssessmentWorkspace page with programming questio class="repl-output-parent" >
AssessmentWorkspace page with programming questio />
Question 1 of 2
AssessmentWorkspace renders Grading tab correctly class="editor-container" >
AssessmentWorkspace renders Grading tab correctly class="right-parent" >
AssessmentWorkspace renders Grading tab correctly
AssessmentWorkspace renders Grading tab correctly