From e69d1aef40754cd777dbe8301cfeb9e12ff43652 Mon Sep 17 00:00:00 2001 From: Kolade Chris <65571316+Ksound22@users.noreply.github.com> Date: Fri, 8 May 2026 14:54:06 +0100 Subject: [PATCH] feat(curriculum): release Typescript module (#67261) --- client/i18n/locales/english/intro.json | 1 - curriculum/structure/blocks/lab-digital-pet-game.json | 2 +- curriculum/structure/blocks/lab-flashcard-quiz-app.json | 2 +- curriculum/structure/blocks/lab-motorcycle-shop.json | 2 +- curriculum/structure/blocks/lab-product-showcase.json | 2 +- .../structure/blocks/lecture-introduction-to-typescript.json | 2 +- .../blocks/lecture-understanding-type-composition.json | 2 +- .../lecture-working-with-generics-and-type-narrowing.json | 2 +- .../lecture-working-with-typescript-configuration-files.json | 2 +- curriculum/structure/blocks/quiz-typescript.json | 2 +- curriculum/structure/blocks/review-typescript.json | 2 +- curriculum/structure/blocks/workshop-bug-emoji-picker.json | 2 +- .../blocks/workshop-build-a-football-player-card-builder.json | 2 +- curriculum/structure/blocks/workshop-fortune-teller-app.json | 2 +- curriculum/structure/blocks/workshop-shape-manager.json | 2 +- .../structure/blocks/workshop-type-safe-math-toolkit.json | 2 +- .../structure/blocks/workshop-type-safe-user-profile.json | 2 +- .../superblocks/front-end-development-libraries-v9.json | 1 - 18 files changed, 16 insertions(+), 18 deletions(-) diff --git a/client/i18n/locales/english/intro.json b/client/i18n/locales/english/intro.json index 9c5995c35cc..ef8dc8b3ec6 100644 --- a/client/i18n/locales/english/intro.json +++ b/client/i18n/locales/english/intro.json @@ -5912,7 +5912,6 @@ }, "module-intros": { "typescript-fundamentals": { - "note": "Coming 2026", "intro": [ "In this module, you will be introduced to TypeScript, which is a superset of JavaScript that allows you to add static typing to your JavaScript code. You will build several workshops and labs that will give you practice in working with generics, type narrowing, TSX, and more. Then you will test your knowledge of TypeScript fundamentals with a short quiz." ] diff --git a/curriculum/structure/blocks/lab-digital-pet-game.json b/curriculum/structure/blocks/lab-digital-pet-game.json index 4570f35e12f..1d716c67b48 100644 --- a/curriculum/structure/blocks/lab-digital-pet-game.json +++ b/curriculum/structure/blocks/lab-digital-pet-game.json @@ -1,5 +1,5 @@ { - "isUpcomingChange": true, + "isUpcomingChange": false, "dashedName": "lab-digital-pet-game", "helpCategory": "JavaScript", "blockLayout": "link", diff --git a/curriculum/structure/blocks/lab-flashcard-quiz-app.json b/curriculum/structure/blocks/lab-flashcard-quiz-app.json index 042d49db24f..2e17404ed45 100644 --- a/curriculum/structure/blocks/lab-flashcard-quiz-app.json +++ b/curriculum/structure/blocks/lab-flashcard-quiz-app.json @@ -1,5 +1,5 @@ { - "isUpcomingChange": true, + "isUpcomingChange": false, "dashedName": "lab-flashcard-quiz-app", "helpCategory": "JavaScript", "blockLayout": "link", diff --git a/curriculum/structure/blocks/lab-motorcycle-shop.json b/curriculum/structure/blocks/lab-motorcycle-shop.json index 6761e0b1128..23655f90d9f 100644 --- a/curriculum/structure/blocks/lab-motorcycle-shop.json +++ b/curriculum/structure/blocks/lab-motorcycle-shop.json @@ -1,5 +1,5 @@ { - "isUpcomingChange": true, + "isUpcomingChange": false, "dashedName": "lab-motorcycle-shop", "helpCategory": "JavaScript", "blockLayout": "link", diff --git a/curriculum/structure/blocks/lab-product-showcase.json b/curriculum/structure/blocks/lab-product-showcase.json index a269cde668b..1b8af7ce126 100644 --- a/curriculum/structure/blocks/lab-product-showcase.json +++ b/curriculum/structure/blocks/lab-product-showcase.json @@ -1,5 +1,5 @@ { - "isUpcomingChange": true, + "isUpcomingChange": false, "dashedName": "lab-product-showcase", "helpCategory": "JavaScript", "blockLayout": "link", diff --git a/curriculum/structure/blocks/lecture-introduction-to-typescript.json b/curriculum/structure/blocks/lecture-introduction-to-typescript.json index 70199c6ff0e..ffb18228b1d 100644 --- a/curriculum/structure/blocks/lecture-introduction-to-typescript.json +++ b/curriculum/structure/blocks/lecture-introduction-to-typescript.json @@ -1,7 +1,7 @@ { "blockLabel": "lecture", "blockLayout": "challenge-list", - "isUpcomingChange": true, + "isUpcomingChange": false, "dashedName": "lecture-introduction-to-typescript", "challengeOrder": [ { diff --git a/curriculum/structure/blocks/lecture-understanding-type-composition.json b/curriculum/structure/blocks/lecture-understanding-type-composition.json index 2c73968a4b8..5f5d0aa7fbc 100644 --- a/curriculum/structure/blocks/lecture-understanding-type-composition.json +++ b/curriculum/structure/blocks/lecture-understanding-type-composition.json @@ -1,6 +1,6 @@ { "blockLabel": "lecture", - "isUpcomingChange": true, + "isUpcomingChange": false, "dashedName": "lecture-understanding-type-composition", "helpCategory": "JavaScript", "blockLayout": "challenge-list", diff --git a/curriculum/structure/blocks/lecture-working-with-generics-and-type-narrowing.json b/curriculum/structure/blocks/lecture-working-with-generics-and-type-narrowing.json index 660cc20f02f..be6ebbfa6f5 100644 --- a/curriculum/structure/blocks/lecture-working-with-generics-and-type-narrowing.json +++ b/curriculum/structure/blocks/lecture-working-with-generics-and-type-narrowing.json @@ -1,7 +1,7 @@ { "blockLabel": "lecture", "blockLayout": "challenge-list", - "isUpcomingChange": true, + "isUpcomingChange": false, "dashedName": "lecture-working-with-generics-and-type-narrowing", "challengeOrder": [ { diff --git a/curriculum/structure/blocks/lecture-working-with-typescript-configuration-files.json b/curriculum/structure/blocks/lecture-working-with-typescript-configuration-files.json index 72239470fa5..48db12ee851 100644 --- a/curriculum/structure/blocks/lecture-working-with-typescript-configuration-files.json +++ b/curriculum/structure/blocks/lecture-working-with-typescript-configuration-files.json @@ -1,7 +1,7 @@ { "blockLabel": "lecture", "blockLayout": "challenge-list", - "isUpcomingChange": true, + "isUpcomingChange": false, "dashedName": "lecture-working-with-typescript-configuration-files", "challengeOrder": [ { diff --git a/curriculum/structure/blocks/quiz-typescript.json b/curriculum/structure/blocks/quiz-typescript.json index 1dc2c613b7f..1c781d56f77 100644 --- a/curriculum/structure/blocks/quiz-typescript.json +++ b/curriculum/structure/blocks/quiz-typescript.json @@ -1,7 +1,7 @@ { "blockLabel": "quiz", "blockLayout": "link", - "isUpcomingChange": true, + "isUpcomingChange": false, "dashedName": "quiz-typescript", "challengeOrder": [ { "id": "66f1ae758b77cfc3e4da6151", "title": "TypeScript Quiz" } diff --git a/curriculum/structure/blocks/review-typescript.json b/curriculum/structure/blocks/review-typescript.json index 34a9f6d8a53..9d46011224f 100644 --- a/curriculum/structure/blocks/review-typescript.json +++ b/curriculum/structure/blocks/review-typescript.json @@ -1,7 +1,7 @@ { "blockLabel": "review", "blockLayout": "link", - "isUpcomingChange": true, + "isUpcomingChange": false, "dashedName": "review-typescript", "challengeOrder": [ { "id": "6724e296dceca21b82426229", "title": "TypeScript Review" } diff --git a/curriculum/structure/blocks/workshop-bug-emoji-picker.json b/curriculum/structure/blocks/workshop-bug-emoji-picker.json index 0508fe3d806..b2f913e7cb2 100644 --- a/curriculum/structure/blocks/workshop-bug-emoji-picker.json +++ b/curriculum/structure/blocks/workshop-bug-emoji-picker.json @@ -1,5 +1,5 @@ { - "isUpcomingChange": true, + "isUpcomingChange": false, "dashedName": "workshop-bug-emoji-picker", "helpCategory": "JavaScript", "blockLayout": "challenge-grid", diff --git a/curriculum/structure/blocks/workshop-build-a-football-player-card-builder.json b/curriculum/structure/blocks/workshop-build-a-football-player-card-builder.json index 12c535b46d3..636bd2ad496 100644 --- a/curriculum/structure/blocks/workshop-build-a-football-player-card-builder.json +++ b/curriculum/structure/blocks/workshop-build-a-football-player-card-builder.json @@ -1,5 +1,5 @@ { - "isUpcomingChange": true, + "isUpcomingChange": false, "dashedName": "workshop-build-a-football-player-card-builder", "helpCategory": "JavaScript", "blockLayout": "challenge-grid", diff --git a/curriculum/structure/blocks/workshop-fortune-teller-app.json b/curriculum/structure/blocks/workshop-fortune-teller-app.json index 6728aed7cc5..152e4664f10 100644 --- a/curriculum/structure/blocks/workshop-fortune-teller-app.json +++ b/curriculum/structure/blocks/workshop-fortune-teller-app.json @@ -1,5 +1,5 @@ { - "isUpcomingChange": true, + "isUpcomingChange": false, "hasEditableBoundaries": true, "dashedName": "workshop-fortune-teller-app", "helpCategory": "JavaScript", diff --git a/curriculum/structure/blocks/workshop-shape-manager.json b/curriculum/structure/blocks/workshop-shape-manager.json index 75f0d04decd..0a37f3adfb7 100644 --- a/curriculum/structure/blocks/workshop-shape-manager.json +++ b/curriculum/structure/blocks/workshop-shape-manager.json @@ -1,5 +1,5 @@ { - "isUpcomingChange": true, + "isUpcomingChange": false, "dashedName": "workshop-shape-manager", "helpCategory": "JavaScript", "blockLayout": "challenge-grid", diff --git a/curriculum/structure/blocks/workshop-type-safe-math-toolkit.json b/curriculum/structure/blocks/workshop-type-safe-math-toolkit.json index c8389ab7bf7..daee31a8403 100644 --- a/curriculum/structure/blocks/workshop-type-safe-math-toolkit.json +++ b/curriculum/structure/blocks/workshop-type-safe-math-toolkit.json @@ -1,5 +1,5 @@ { - "isUpcomingChange": true, + "isUpcomingChange": false, "dashedName": "workshop-type-safe-math-toolkit", "helpCategory": "JavaScript", "blockLayout": "challenge-grid", diff --git a/curriculum/structure/blocks/workshop-type-safe-user-profile.json b/curriculum/structure/blocks/workshop-type-safe-user-profile.json index ce781fb536e..c67a569f39e 100644 --- a/curriculum/structure/blocks/workshop-type-safe-user-profile.json +++ b/curriculum/structure/blocks/workshop-type-safe-user-profile.json @@ -1,5 +1,5 @@ { - "isUpcomingChange": true, + "isUpcomingChange": false, "dashedName": "workshop-type-safe-user-profile", "helpCategory": "JavaScript", "blockLayout": "challenge-grid", diff --git a/curriculum/structure/superblocks/front-end-development-libraries-v9.json b/curriculum/structure/superblocks/front-end-development-libraries-v9.json index c65b1325d2b..2e0591643c9 100644 --- a/curriculum/structure/superblocks/front-end-development-libraries-v9.json +++ b/curriculum/structure/superblocks/front-end-development-libraries-v9.json @@ -79,7 +79,6 @@ }, { "dashedName": "typescript-fundamentals", - "comingSoon": true, "blocks": [ "lecture-introduction-to-typescript", "workshop-type-safe-user-profile",