MCPcopy
hub / github.com/total-typescript/beginners-typescript-tutorial

github.com/total-typescript/beginners-typescript-tutorial @main sqlite

repository ↗ · DeepWiki ↗
79 symbols 138 edges 48 files 2 documented · 3%
README

beginner typescript tutorial

Quickstart

Take the course on Total TypeScript. There, you'll find:

  • Video explanations for each problem and solution
  • Transcripts
  • Text explanations
  • A built-in Stackblitz editor
# Installs all dependencies
npm install

# Asks you which exercise you'd like to run, and runs it
npm run exercise

How to take the course

You'll notice that the course is split into exercises. Each exercise is split into a *.problem and a *.solution.

To take an exercise:

  1. Run npm run exercise
  2. Choose which exercise you'd like to run.

This course encourages active, exploratory learning. In the video, I'll explain a problem, and you'll be asked to try to find a solution. To attempt a solution, you'll need to:

  1. Check out TypeScript's docs.
  2. Try to find something that looks relevant.
  3. Give it a go to see if it solves the problem.

You'll know if you've succeeded because the tests will pass.

If you succeed, or if you get stuck, unpause the video and check out the *.solution. You can see if your solution is better or worse than mine!

Acknowledgements

Say thanks to Matt on Twitter or by joining his Discord. Consider signing up to his Total TypeScript course.

Reference

npm run exercise

Alias: npm run e

Open a prompt for choosing which exercise you'd like to run.

Extension points exported contracts — how you extend this code

Base (Interface)
* Here, the id property is shared between all three * interfaces. Can you find a way to refactor this to * make it mor
src/14-extends.solution.ts
User (Interface)
* Here, the id property is shared between all three * interfaces. Can you find a way to refactor this to * make it mor
src/14-extends.problem.ts
AddTwoNumbersArgs (Interface)
(no doc)
src/02-object-param.solution.3.ts
LukeSkywalker (Interface)
(no doc)
src/09-promises.solution.2.ts
User (Interface)
(no doc)
src/07-arrays.solution.1.ts
User (Interface)
(no doc)
src/16-omit-and-pick.solution.2.ts
User (Interface)
(no doc)
src/15-intersection.solution.ts
Cache (Interface)
(no doc)
src/11-record.solution.3.ts

Core symbols most depended-on inside this repo

addTwoNumbers
called by 2
src/02-object-param.solution.3.ts
addTwoNumbers
called by 2
src/02-object-param.problem.ts
addTwoNumbers
called by 2
src/01-number.problem.ts
createCache
called by 2
src/11-record.problem.ts
getName
called by 2
src/03-optional-properties.solution.ts
addTwoNumbers
called by 2
src/02-object-param.solution.1.ts
coerceAmount
called by 2
src/12-typeof-narrowing.solution.ts
createCache
called by 2
src/11-record.solution.2.ts

Shape

Function 43
Interface 36

Languages

TypeScript100%

Modules by API surface

src/14-extends.solution.ts4 symbols
src/11-record.solution.3.ts4 symbols
src/15-intersection.solution.ts3 symbols
src/15-intersection.problem.ts3 symbols
src/14-extends.problem.ts3 symbols
src/11-record.solution.2.ts3 symbols
src/11-record.solution.1.ts3 symbols
src/11-record.problem.ts3 symbols
src/08-function-return-type-annotations.solution.ts3 symbols
src/08-function-return-type-annotations.problem.ts3 symbols
src/18-function-types-with-promises.solution.ts2 symbols
src/18-function-types-with-promises.problem.ts2 symbols

Dependencies from manifests, versioned

@total-typescript/exercise-cli0.11.0 · 1×
@total-typescript/tsconfig1.0.3 · 1×
@types/express4.17.13 · 1×
@types/node18.6.5 · 1×
cross-fetch3.1.5 · 1×
express4.18.1 · 1×
jsdom25.0.0 · 1×
typescript5.4.5 · 1×
vite-tsconfig-paths5.0.0 · 1×
vitest2.0.0 · 1×
zod3.17.10 · 1×

For agents

$ claude mcp add beginners-typescript-tutorial \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact