Skip to content

Migrate to TypeScript and Redux Toolkit#70

Draft
Copilot wants to merge 6 commits intomainfrom
copilot/work-on-issue-67
Draft

Migrate to TypeScript and Redux Toolkit#70
Copilot wants to merge 6 commits intomainfrom
copilot/work-on-issue-67

Conversation

Copy link
Contributor

Copilot AI commented Feb 13, 2026

Complete migration from JavaScript to TypeScript with strict mode enabled and Redux to Redux Toolkit across all domains.

Changes

TypeScript Migration

  • Converted all 59 source files from .js/.jsx to .ts/.tsx
  • Enforced strict TypeScript compilation (noImplicitAny, strictNullChecks, etc.)
  • Added comprehensive type definitions for API responses, Redux state, and utilities
  • Created typed Redux hooks (useAppSelector, useAppDispatch)

Redux Toolkit Refactor

  • Migrated 6 domains to RTK slices with createSlice and createAsyncThunk:
    • app - search query, filters, terms
    • courses - course data and paginated search
    • instructors - instructor data and search
    • subjects - subject data and search
    • grades - course/instructor grade aggregations
    • explore - explore views
  • Replaced createStore with configureStore
  • Removed legacy action type enums and split action/reducer files (~1000 LOC)
  • Co-located domain logic in slices

Type Safety

// Before: Untyped Redux usage
const data = useSelector(state => state.courses.data);
dispatch(fetchCourse(uuid));

// After: Fully typed with autocomplete
const data = useAppSelector(state => state.courses.data); // typed as Record<string, CourseData>
dispatch(fetchCourse(uuid)); // TypeScript validates uuid is string

Build Configuration

  • Updated Vite config for TypeScript compilation
  • Added type-check and lint npm scripts for CI integration
  • Configured ESLint with TypeScript-specific rules

💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 5 commits February 13, 2026 00:28
Co-authored-by: thekeenant <1189775+thekeenant@users.noreply.github.com>
Co-authored-by: thekeenant <1189775+thekeenant@users.noreply.github.com>
….tsx

Co-authored-by: thekeenant <1189775+thekeenant@users.noreply.github.com>
Co-authored-by: thekeenant <1189775+thekeenant@users.noreply.github.com>
Co-authored-by: thekeenant <1189775+thekeenant@users.noreply.github.com>
Copilot AI changed the title [WIP] Address issue #67 in codebase Migrate to TypeScript and Redux Toolkit Feb 13, 2026
Copilot AI requested a review from thekeenant February 13, 2026 00:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants