Skip to content

Commit d6580dc

Browse files
committed
update with summary of completed
1 parent 3dcf2de commit d6580dc

File tree

1 file changed

+71
-9
lines changed
  • contributor_docs/pr05_2025_typescript_migration

1 file changed

+71
-9
lines changed

contributor_docs/pr05_2025_typescript_migration/index.md

Lines changed: 71 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)