fixing lint config

This commit is contained in:
2025-07-23 09:29:19 -06:00
parent c95c40f9e7
commit d5a40e52d9
19 changed files with 32 additions and 48 deletions

View File

@@ -10,13 +10,11 @@ const compat = new FlatCompat({
});
const eslintConfig = [
{
ignores: ["**/node_modules/**", "**/.next/**", "storage/**"],
},
...compat.config({
extends: ["next/core-web-vitals", "next/typescript", "prettier"],
ignores: [
"**/node_modules/**",
"**/.next/**",
"storage/**"
],
rules: {
"react-refresh/only-export-components": "off", // Disabled the rule
"@typescript-eslint/no-unused-vars": [

View File

@@ -8,18 +8,10 @@ import { Spinner } from "@/components/Spinner";
import { SuspenseAndErrorHandling } from "@/components/SuspenseAndErrorHandling";
import { useCourseListInTermQuery } from "@/hooks/canvas/canvasCourseHooks";
import { useCanvasTermsQuery } from "@/hooks/canvas/canvasHooks";
import {
useGlobalSettingsQuery,
useUpdateGlobalSettingsMutation,
} from "@/hooks/localCourse/globalSettingsHooks";
import {
useCreateLocalCourseMutation,
useLocalCoursesSettingsQuery,
} from "@/hooks/localCourse/localCoursesHooks";
import {
useDirectoryIsCourseQuery,
useEmptyDirectoriesQuery,
} from "@/hooks/localCourse/storageDirectoryHooks";
import { CanvasCourseModel } from "@/models/canvas/courses/canvasCourseModel";
import { CanvasEnrollmentTermModel } from "@/models/canvas/enrollmentTerms/canvasEnrollmentTermModel";
import { AssignmentSubmissionType } from "@/features/local/assignments/models/assignmentSubmissionType";
@@ -165,7 +157,7 @@ function OtherSettings({
selectedTerm,
selectedCanvasCourse,
setSelectedCanvasCourse,
selectedDirectory,
selectedDirectory: _,
setSelectedDirectory,
selectedDaysOfWeek,
setSelectedDaysOfWeek,

View File

@@ -31,7 +31,7 @@ export const AddExistingCourseToGlobalSettings = () => {
);
};
const ExistingCourseForm: FC<{}> = () => {
const ExistingCourseForm: FC<object> = () => {
const [path, setPath] = useState("./");
const [name, setName] = useState("");
const nameInputRef = useRef<HTMLInputElement>(null);

View File

@@ -1,7 +1,6 @@
import { assignmentMarkdownSerializer } from "@/features/local/assignments/models/utils/assignmentMarkdownSerializer";
import { groupByStartDate } from "@/models/local/utils/timeUtils";
import { fileStorageService } from "@/services/fileStorage/fileStorageService";
import { ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
import { createMcpHandler } from "mcp-handler";
import { z } from "zod";
import { githubClassroomUrlPrompt } from "./github-classroom-prompt";

View File

@@ -6,7 +6,6 @@ import {
useMutation,
useQueryClient,
} from "@tanstack/react-query";
import { useGlobalSettingsQuery } from "./globalSettingsHooks";
export const useLocalCoursesSettingsQuery = () => {
const trpc = useTRPC();

View File

@@ -1,5 +1,5 @@
import { LocalCoursePage, localPageMarkdownUtils } from "@/features/local/pages/localCoursePageModels";
import { describe, it, expect } from "vitest";
import { LocalCoursePage, localPageMarkdownUtils } from "../page/localCoursePage";
describe("PageMarkdownTests", () => {
it("can parse page", () => {

View File

@@ -1,5 +1,5 @@
import { quizMarkdownUtils } from "@/features/local/quizzes/models/utils/quizMarkdownUtils";
import { describe, it, expect } from "vitest";
import { quizMarkdownUtils } from "@/models/local/models/utils/quizMarkdownUtils";
describe("Matching Answer Error Messages", () => {
it("can parse matching question", () => {

View File

@@ -1,7 +1,7 @@
import { QuestionType } from "@/features/local/quizzes/models/localQuizQuestion";
import { quizMarkdownUtils } from "@/features/local/quizzes/models/utils/quizMarkdownUtils";
import { quizQuestionMarkdownUtils } from "@/features/local/quizzes/models/utils/quizQuestionMarkdownUtils";
import { describe, it, expect } from "vitest";
import { QuestionType } from "../../models/localQuizQuestion";
import { quizMarkdownUtils } from "@/models/local/models/utils/quizMarkdownUtils";
import { quizQuestionMarkdownUtils } from "@/models/local/models/utils/quizQuestionMarkdownUtils";
describe("MatchingTests", () => {
it("can parse matching question", () => {

View File

@@ -1,8 +1,8 @@
import { LocalQuiz } from "@/features/local/quizzes/models/localQuiz";
import { QuestionType } from "@/features/local/quizzes/models/localQuizQuestion";
import { quizMarkdownUtils } from "@/features/local/quizzes/models/utils/quizMarkdownUtils";
import { quizQuestionMarkdownUtils } from "@/features/local/quizzes/models/utils/quizQuestionMarkdownUtils";
import { describe, it, expect } from "vitest";
import { LocalQuiz } from "../../models/localQuiz";
import { QuestionType } from "../../models/localQuizQuestion";
import { quizMarkdownUtils } from "@/models/local/models/utils/quizMarkdownUtils";
import { quizQuestionMarkdownUtils } from "@/models/local/models/utils/quizQuestionMarkdownUtils";
describe("MultipleAnswersTests", () => {
it("quiz markdown includes multiple answer question", () => {

View File

@@ -1,8 +1,8 @@
import { LocalQuiz } from "@/features/local/quizzes/models/localQuiz";
import { QuestionType } from "@/features/local/quizzes/models/localQuizQuestion";
import { quizMarkdownUtils } from "@/features/local/quizzes/models/utils/quizMarkdownUtils";
import { quizQuestionMarkdownUtils } from "@/features/local/quizzes/models/utils/quizQuestionMarkdownUtils";
import { describe, it, expect } from "vitest";
import { LocalQuiz } from "../../models/localQuiz";
import { QuestionType } from "../../models/localQuizQuestion";
import { quizMarkdownUtils } from "@/models/local/models/utils/quizMarkdownUtils";
import { quizQuestionMarkdownUtils } from "@/models/local/models/utils/quizQuestionMarkdownUtils";
describe("MultipleChoiceTests", () => {
it("quiz markdown includes multiple choice question", () => {

View File

@@ -1,7 +1,7 @@
import { LocalQuiz } from "@/features/local/quizzes/models/localQuiz";
import { QuestionType } from "@/features/local/quizzes/models/localQuizQuestion";
import { quizMarkdownUtils } from "@/features/local/quizzes/models/utils/quizMarkdownUtils";
import { describe, it, expect } from "vitest";
import { LocalQuiz } from "../../models/localQuiz";
import { quizMarkdownUtils } from "../../models/utils/quizMarkdownUtils";
import { QuestionType } from "@/models/local/models/localQuizQuestion";
// Test suite for deterministic checks on LocalQuiz
describe("QuizDeterministicChecks", () => {

View File

@@ -1,9 +1,9 @@
import { describe, it, expect } from "vitest";
import { LocalQuiz } from "../../models/localQuiz";
import { quizMarkdownUtils } from "../../models/utils/quizMarkdownUtils";
import { QuestionType } from "@/models/local/models/localQuizQuestion";
import { quizQuestionMarkdownUtils } from "@/models/local/models/utils/quizQuestionMarkdownUtils";
import { markdownToHtmlNoImages } from "@/services/htmlMarkdownUtils";
import { LocalQuiz } from "@/features/local/quizzes/models/localQuiz";
import { QuestionType } from "@/features/local/quizzes/models/localQuizQuestion";
import { quizMarkdownUtils } from "@/features/local/quizzes/models/utils/quizMarkdownUtils";
import { quizQuestionMarkdownUtils } from "@/features/local/quizzes/models/utils/quizQuestionMarkdownUtils";
// Test suite for QuizMarkdown
describe("QuizMarkdownTests", () => {

View File

@@ -1,10 +1,10 @@
import { QuestionType, zodQuestionType } from "@/features/local/quizzes/models/localQuizQuestion";
import { quizMarkdownUtils } from "@/features/local/quizzes/models/utils/quizMarkdownUtils";
import { quizQuestionMarkdownUtils } from "@/features/local/quizzes/models/utils/quizQuestionMarkdownUtils";
import {
getAnswers,
getQuestionType,
} from "@/services/canvas/canvasQuizService";
import { QuestionType, zodQuestionType } from "../../models/localQuizQuestion";
import { quizMarkdownUtils } from "../../models/utils/quizMarkdownUtils";
import { quizQuestionMarkdownUtils } from "../../models/utils/quizQuestionMarkdownUtils";
import { describe, it, expect } from "vitest";
describe("TextAnswerTests", () => {

View File

@@ -6,9 +6,9 @@ import {
prepPageForNewSemester,
prepQuizForNewSemester,
} from "../utils/semesterTransferUtils";
import { LocalQuiz } from "../models/localQuiz";
import { LocalCoursePage } from "../page/localCoursePage";
import { Lecture } from "../lecture";
import { LocalCoursePage } from "@/features/local/pages/localCoursePageModels";
import { LocalQuiz } from "@/features/local/quizzes/models/localQuiz";
describe("can take an assignment and template it for a new semester", () => {
it("can sanitize assignment github classroom repo url", () => {

View File

@@ -17,6 +17,7 @@ export const getGlobalSettings = async (): Promise<GlobalSettings> => {
try {
await fs.access(SETTINGS_FILE_PATH);
} catch (err) {
console.log(err);
throw new Error(
`Global Settings file does not exist at path: ${SETTINGS_FILE_PATH}`
);

View File

@@ -1,5 +1,4 @@
import { promises as fs } from "fs";
import path from "path";
import { lectureFolderName } from "./utils/lectureUtils";
import { getCoursePathByName } from "./globalSettingsFileStorageService";

View File

@@ -1,5 +1,4 @@
import { promises as fs } from "fs";
import path from "path";
import { getGlobalSettings } from "../globalSettingsFileStorageService";
export const directoryOrFileExists = async (

View File

@@ -1,5 +1,5 @@
"use client";
import { marked, MarkedExtension } from "marked";
import { marked } from "marked";
import DOMPurify from "isomorphic-dompurify";
import { LocalCourseSettings } from "@/models/local/localCourseSettings";
import markedKatex from "marked-katex-extension";

View File

@@ -17,9 +17,6 @@ import {
getGlobalSettings,
updateGlobalSettings,
} from "@/services/fileStorage/globalSettingsFileStorageService";
import { promises as fs } from "fs";
import { basePath } from "@/services/fileStorage/utils/fileSystemUtils";
import path from "path";
export const settingsRouter = router({
allCoursesSettings: publicProcedure.query(async () => {