@@ -89,7 +89,7 @@ This is the project appendix for the **2025 pr05 Grant: Incremental Typescript M
8989### Project Timeline:
9090
9191<details open >
92- <summary >July</summary >
92+ <summary >July: </summary >
9393
9494- Set up TS dependencies & configuration on the ` root `
9595 - ` tsconfig.json `
@@ -106,16 +106,16 @@ This is the project appendix for the **2025 pr05 Grant: Incremental Typescript M
106106
107107</details >
108108
109- <details open >
110- <summary >August</summary >
109+ <details >
110+ <summary >August: </summary >
111111
112112- Migrate ` /client/common ` with co-located types & tests
113113- Migrate ` /client/components ` with co-located types & tests
114114
115115</details >
116116
117- <details open >
118- <summary >September</summary >
117+ <details >
118+ <summary >September: </summary >
119119
120120- Set up TS dependencies & configuration in ` /server `
121121 - ` nodemon.json `
@@ -127,24 +127,86 @@ This is the project appendix for the **2025 pr05 Grant: Incremental Typescript M
127127- Migrate ` /server/routes `
128128- Migrate ` /server/models/User ` with tests
129129- Migrate ` /server/models/ApiKeys ` with tests
130+ - Start migrating ` /server/controllers/User `
130131
131132</details >
132133
133134<details open >
134- <summary >October</summary >
135+ <summary >October: </summary >
135136
136- - Migrate ` /server/controllers/User `
137- - Major refactor. Added tests to all the methods & re-organised by sub-domain (eg. auth management) & added JSDocs for each controller method.
137+ - Complete migration for ` /server/controllers/User `
138+ - Added tests to all the methods & re-organised by sub-domain (eg. auth management) & added JSDocs for each controller method.
138139- Instantiate ` .d.ts ` files for ` express ` and ` jest-express ` to create a custome ` Express ` namespace ` Request.User ` definition
140+ - Set up ` /common/types ` folder to
139141- Migrate root redux files: ` /client/store ` , ` /client/reducers ` & ` /client/persistState `
140142- Migrate user preferences redux: ` /client/IDE/reducers/preferences ` & ` /client/IDE/actions/preferences `
143+ - Migrate ` /client/modules/Legal `
144+ - Migrate ` /client/modules/About `
141145- Migrate most of ` /client/modules/User ` (with exception of files related to ` Collections ` )
146+ - Clean up of previous work & documentation
142147
143148</details >
144149
145150## Outcome:
146151
147- - Root TS config that points to separate TS and
152+ <details >
153+ <summary >All TS-related configuration for dependencies is completed</summary >
154+
155+ - ` tsconfig.json `
156+ - ` tsconfig.base.json `
157+ - ` .babelrc `
158+ - ` .eslintrc `
159+ - ` package.json > jest.config `
160+ - ` webpack/ `
161+ - ` nodemon.json `
162+ - ` /client/tsconfig.json `
163+ - ` /server/tsconfig.json `
164+ </details >
165+
166+ <details >
167+ <summary >Typecheck commands have been set up & enabled on automated checks locally and on CI</summary >
168+
169+ - ` npm run typecheck ` to check both the ` /server ` and ` /client ` folders
170+ - ` npm run typecheck:server ` to check only the ` /server ` folder
171+ - ` npm run typecheck:client ` to check only the ` /client ` folder
172+ - ` package.json > husky ` configured to run ` npm run typecheck ` during ` pre-commit ` check
173+ - ` /github/workflows/test.yml ` configured to run ` npm run typecheck ` during ` test ` on GHA
174+
175+ </details >
176+
177+ <details >
178+ <summary >The following files have been migrated, covering at least once instance of each 'kind' of file encountered on the repo:</summary >
179+
180+ - [x] ` /common/types `
181+ - [ .] ` /client/ ` :
182+ - [x] ` /client/utils/ `
183+ - [x] ` /client/common/ `
184+ - [x] ` /client/components/ `
185+ - [x] ` /client/store `
186+ - [x] ` /client/reducers `
187+ - [x] ` /client/persistState `
188+ - [x] ` /client/IDE/reducers/preferences `
189+ - [ x] ` /client/IDE/actions/preferences `
190+ - [x] ` /client/modules/User/ `
191+ - [x] ` /client/modules/About/ `
192+ - [x] ` /client/modules/Legal/ `
193+ - [x] ` /client/custom.d.ts `
194+ - [ .] ` /server ` :
195+ - [ .] ` /server/controllers `
196+ - [x] ` /server/controllers/user.controller/ `
197+ - [ .] ` /server/models/ `
198+ - [x] ` /server/models/user `
199+ - [x] ` /server/models/apiKey `
200+ - [x] ` /server/routes/ `
201+ - [x] ` /server/middleware/ `
202+ - [x] ` /server/types/ `
203+ - [x] ` /server/views/ `
204+ - [ .] ` /server/utils/ `
205+ - [x] ` /server/utils/generateFileSystemSafeName `
206+ - [x] ` /server/utils/mail `
207+ - [x] ` /server/utils/renderMjml `
208+
209+ </details >
148210
149211## Key Decisions:
150212
0 commit comments