You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-[Intro to the Incremental Typescript Migration for the p5.js Web Editor](https://medium.com/@clairepeng94/intro-to-the-incremental-typescript-migration-for-the-p5-js-web-editor-2ffbc305c6a9)
10
+
5
11
## Table of Contents
6
12
13
+
<detailsopen>
14
+
15
+
-[Project Outline](#project-outline)
16
+
-[Context](#project-context)
17
+
-[Proposed Approach](#proposed-approach)
18
+
-[Project Timeline](#project-timeline)
19
+
-[Summary of TS Configurations](#configuration-summary)
20
+
-[Migration Tutorial](#migration-tutorial)
21
+
-[Index of Migration Examples](#examples-index)
22
+
-[Next Step Issues](#next-step-issues)
23
+
-[Additional Reading](#additional-reading)
24
+
</details>
25
+
7
26
## Project Outline:
8
27
9
-
### Project Background:
28
+
### Project Context:
10
29
11
-
<details>
30
+
<detailsopen>
12
31
<summary>View details</summary>
13
32
14
33
- Grant period of 200h over July 1st - October 31, 2025
@@ -69,7 +88,59 @@ This is the project appendix for the **2025 pr05 Grant: Incremental Typescript M
69
88
70
89
### Project Timeline:
71
90
72
-
<imgsrc='Project_Timeline.png'/>
91
+
<detailsopen>
92
+
<summary>July</summary>
93
+
94
+
- Set up TS dependencies & configuration on the `root`
95
+
-`tsconfig.json`
96
+
-`tsconfig.base.json`
97
+
-`.babelrc`
98
+
-`.eslintrc`
99
+
-`package.json > jest.config`
100
+
-`webpack/`
101
+
- Set up TS dependencies & configuration in `/client`
102
+
-`/client/tsconfig.json`
103
+
-`@types/...` for `/client` dependencies (eg. React 16)
104
+
- Set up `typecheck` and `typecheck:client` commands in `package.json`
105
+
- Migrate `/client/utils`
106
+
107
+
</details>
108
+
109
+
<detailsopen>
110
+
<summary>August</summary>
111
+
112
+
- Migrate `/client/common` with co-located types & tests
113
+
- Migrate `/client/components` with co-located types & tests
114
+
115
+
</details>
116
+
117
+
<detailsopen>
118
+
<summary>September</summary>
119
+
120
+
- Set up TS dependencies & configuration in `/server`
121
+
-`nodemon.json`
122
+
-`webpack/`
123
+
-`/server/tsconfig.json`
124
+
-`@types/...` for `/server` dependencies
125
+
- Set up `/server/types` to store all `/server` types (eg Mongoose v8)
126
+
- Migrate `/server` components related to emailing and `nodemailer`
127
+
- Migrate `/server/routes`
128
+
- Migrate `/server/models/User` with tests
129
+
- Migrate `/server/models/ApiKeys` with tests
130
+
131
+
</details>
132
+
133
+
<detailsopen>
134
+
<summary>October</summary>
135
+
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.
138
+
- Instantiate `.d.ts` files for `express` and `jest-express` to create a custome `Express` namespace `Request.User` definition
- Migrate user preferences redux: `/client/IDE/reducers/preferences` & `/client/IDE/actions/preferences`
141
+
- Migrate most of `/client/modules/User` (with exception of files related to `Collections`)
142
+
143
+
</details>
73
144
74
145
## Outcome:
75
146
@@ -101,10 +172,18 @@ This is the project appendix for the **2025 pr05 Grant: Incremental Typescript M
101
172
102
173
- Make a best effort at being as precise as possible with context clues, but when in doubt, selecting a broader type (eg. `string` instead of an `enum`) is valid and we can update to be stricter as the migration continues.
103
174
175
+
- Keep refactoring/logic updates outside of migration PRs, unless the relevant file has been secured with a test prior to migration work.
176
+
- This helps keep reviews easy for maintainers
177
+
- Branch off the migration PR and make a subsequent PR with your proposed refactor.
178
+
104
179
## Configuration Summary:
105
180
106
181
## Migration Tutorial:
107
182
183
+
[Video Guide - Migrating the `client/modules/User/pages/AccountView`](youtube.com/watch?v=y84SVy7lAgg&feature=youtu.be)
184
+
185
+
Text Steps:
186
+
108
187
## Examples Index:
109
188
110
189
## Next Step Issues:
@@ -118,9 +197,3 @@ This is the project appendix for the **2025 pr05 Grant: Incremental Typescript M
-[Intro to the Incremental Typescript Migration for the p5.js Web Editor](https://medium.com/@clairepeng94/intro-to-the-incremental-typescript-migration-for-the-p5-js-web-editor-2ffbc305c6a9)
0 commit comments