|
55 | 55 | "prerequisites": ["variables", "data-types"], |
56 | 56 | "description": "Structured data with named properties", |
57 | 57 | "triggers": ["{}", "key:", "value", "property"] |
| 58 | + }, |
| 59 | + "python": { |
| 60 | + "name": "Python", |
| 61 | + "xp_to_master": 100, |
| 62 | + "prerequisites": ["variables", "functions"], |
| 63 | + "description": "Python language syntax and conventions", |
| 64 | + "triggers": [".py", "def ", "print(", "import ", "pip ", "__name__"] |
58 | 65 | } |
59 | 66 | } |
60 | 67 | }, |
|
125 | 132 | "prerequisites": ["html", "js-basics"], |
126 | 133 | "description": "Changing the page with JavaScript", |
127 | 134 | "triggers": ["document.", "getElementById", "querySelector", "addEventListener"] |
| 135 | + }, |
| 136 | + "typescript": { |
| 137 | + "name": "TypeScript", |
| 138 | + "xp_to_master": 150, |
| 139 | + "prerequisites": ["js-basics"], |
| 140 | + "description": "JavaScript with static types for catching bugs early", |
| 141 | + "triggers": [".ts", ".tsx", "interface", "type ", ": string", ": number", ": boolean"] |
128 | 142 | } |
129 | 143 | } |
130 | 144 | }, |
|
244 | 258 | "prerequisites": ["routes", "json"], |
245 | 259 | "description": "Designing and consuming APIs", |
246 | 260 | "triggers": ["GET", "POST", "PUT", "DELETE", "fetch(", "axios"] |
| 261 | + }, |
| 262 | + "testing": { |
| 263 | + "name": "Testing", |
| 264 | + "xp_to_master": 150, |
| 265 | + "prerequisites": ["functions", "js-basics"], |
| 266 | + "description": "Automated tests that verify code works correctly", |
| 267 | + "triggers": ["jest", "vitest", "describe(", "it(", "test(", "expect(", ".test.", ".spec."] |
247 | 268 | } |
248 | 269 | } |
249 | 270 | }, |
|
0 commit comments