Skip to content

Commit 3dcf2de

Browse files
committed
projet timeline details
1 parent dda9ebf commit 3dcf2de

File tree

3 files changed

+82
-10
lines changed

3 files changed

+82
-10
lines changed
Binary file not shown.

contributor_docs/pr05_2025_typescript_migration/index.md

Lines changed: 82 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,32 @@
22

33
This is the project appendix for the **2025 pr05 Grant: Incremental Typescript Migration of the p5.js Web Editor**.
44

5+
## Additional Reading:
6+
7+
- [pr05 grant](https://github.com/processing/pr05-grant/wiki/2025-pr05-Program-Page)
8+
- [pr05 grant: Typescript Migration Project](https://github.com/processing/pr05-grant/wiki/2025-pr05-Project-List#incremental-typescript-migration-for-the-p5js-editor)
9+
- [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+
511
## Table of Contents
612

13+
<details open>
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+
726
## Project Outline:
827

9-
### Project Background:
28+
### Project Context:
1029

11-
<details>
30+
<details open>
1231
<summary>View details</summary>
1332

1433
- 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
6988

7089
### Project Timeline:
7190

72-
<img src='Project_Timeline.png'/>
91+
<details open>
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+
<details open>
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+
<details open>
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+
<details open>
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
139+
- Migrate root redux files: `/client/store`, `/client/reducers` & `/client/persistState`
140+
- 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>
73144

74145
## Outcome:
75146

@@ -101,10 +172,18 @@ This is the project appendix for the **2025 pr05 Grant: Incremental Typescript M
101172

102173
- 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.
103174

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+
104179
## Configuration Summary:
105180

106181
## Migration Tutorial:
107182

183+
[Video Guide - Migrating the `client/modules/User/pages/AccountView`](youtube.com/watch?v=y84SVy7lAgg&feature=youtu.be)
184+
185+
Text Steps:
186+
108187
## Examples Index:
109188

110189
## Next Step Issues:
@@ -118,9 +197,3 @@ This is the project appendix for the **2025 pr05 Grant: Incremental Typescript M
118197

119198
- E2e test to cover core user flows
120199
- Open API
121-
122-
## Additional Reading:
123-
124-
- [pr05 grant](https://github.com/processing/pr05-grant/wiki/2025-pr05-Program-Page)
125-
- [pr05 grant: Typescript Migration Project](https://github.com/processing/pr05-grant/wiki/2025-pr05-Project-List#incremental-typescript-migration-for-the-p5js-editor)
126-
- [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)

package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,6 @@
144144
"@types/nodemailer": "^7.0.1",
145145
"@types/nodemailer-mailgun-transport": "^1.4.6",
146146
"@types/passport": "^1.0.17",
147-
"@types/passport": "^1.0.17",
148147
"@types/react": "^16.14.0",
149148
"@types/react-dom": "^16.9.25",
150149
"@types/react-router-dom": "^5.3.3",

0 commit comments

Comments
 (0)