docs/
βββ tutorials/
βββ typescript/
βββ index.mdx
βββ 01-introduction/
β βββ what-is-typescript.mdx
β βββ why-learn-typescript.mdx
β βββ typescript-vs-javascript.mdx
β βββ typescript-features.mdx
β βββ typescript-use-cases.mdx
β βββ how-typescript-works.mdx
βββ 02-environment-setup/
β βββ install-nodejs.mdx
β βββ install-typescript.mdx
β βββ install-code-editor.mdx
β βββ typescript-playground.mdx
β βββ ts-node-and-tsx.mdx
β βββ verify-installation.mdx
βββ 03-first-typescript-program/
β βββ hello-typescript.mdx
β βββ create-ts-file.mdx
β βββ compile-typescript.mdx
β βββ run-compiled-javascript.mdx
β βββ compiler-errors.mdx
β βββ typescript-project-structure.mdx
βββ 04-type-system-fundamentals/
β βββ type-annotations.mdx
β βββ type-inference.mdx
β βββ primitive-types.mdx
β βββ string-number-and-boolean.mdx
β βββ null-and-undefined.mdx
β βββ any-type.mdx
β βββ unknown-type.mdx
β βββ never-type.mdx
β βββ void-type.mdx
β βββ literal-types.mdx
βββ 05-arrays-and-tuples/
β βββ array-types.mdx
β βββ readonly-arrays.mdx
β βββ tuple-types.mdx
β βββ named-tuples.mdx
β βββ multidimensional-arrays.mdx
β βββ array-methods-and-types.mdx
βββ 06-objects-and-interfaces/
β βββ object-types.mdx
β βββ type-aliases.mdx
β βββ interfaces.mdx
β βββ optional-properties.mdx
β βββ readonly-properties.mdx
β βββ index-signatures.mdx
β βββ excess-property-checks.mdx
β βββ interface-extension.mdx
β βββ type-vs-interface.mdx
βββ 07-functions/
β βββ function-types.mdx
β βββ parameter-types.mdx
β βββ return-types.mdx
β βββ optional-and-default-parameters.mdx
β βββ rest-parameters.mdx
β βββ function-overloads.mdx
β βββ callback-types.mdx
β βββ this-parameter.mdx
β βββ arrow-functions.mdx
βββ 08-unions-and-narrowing/
β βββ union-types.mdx
β βββ intersection-types.mdx
β βββ type-narrowing.mdx
β βββ typeof-narrowing.mdx
β βββ equality-narrowing.mdx
β βββ in-operator-narrowing.mdx
β βββ discriminated-unions.mdx
β βββ custom-type-guards.mdx
β βββ exhaustiveness-checking.mdx
βββ 09-classes-and-oop/
β βββ class-fundamentals.mdx
β βββ constructors-and-properties.mdx
β βββ public-private-and-protected.mdx
β βββ readonly-and-static-members.mdx
β βββ inheritance.mdx
β βββ abstract-classes.mdx
β βββ implements-and-interfaces.mdx
β βββ getters-and-setters.mdx
β βββ parameter-properties.mdx
βββ 10-generics/
β βββ generic-fundamentals.mdx
β βββ generic-functions.mdx
β βββ generic-interfaces.mdx
β βββ generic-classes.mdx
β βββ generic-constraints.mdx
β βββ keyof-and-type-parameters.mdx
β βββ generic-defaults.mdx
β βββ generic-inference.mdx
β βββ reusable-generic-utilities.mdx
βββ 11-advanced-types/
β βββ conditional-types.mdx
β βββ mapped-types.mdx
β βββ template-literal-types.mdx
β βββ indexed-access-types.mdx
β βββ typeof-and-keyof-operators.mdx
β βββ infer-keyword.mdx
β βββ recursive-types.mdx
β βββ distributive-conditional-types.mdx
β βββ branded-types.mdx
βββ 12-utility-types/
β βββ partial-and-required.mdx
β βββ pick-and-omit.mdx
β βββ record-type.mdx
β βββ exclude-and-extract.mdx
β βββ nonnullable.mdx
β βββ parameters-and-returntype.mdx
β βββ readonly-and-awaited.mdx
β βββ custom-utility-types.mdx
βββ 13-modules-and-project-organization/
β βββ modules-overview.mdx
β βββ named-exports-and-imports.mdx
β βββ default-exports-and-imports.mdx
β βββ type-only-imports.mdx
β βββ module-resolution.mdx
β βββ path-aliases.mdx
β βββ declaration-files.mdx
β βββ ambient-types.mdx
β βββ project-architecture.mdx
βββ 14-compiler-and-configuration/
β βββ tsconfig-introduction.mdx
β βββ strict-mode.mdx
β βββ target-and-module-options.mdx
β βββ module-resolution-options.mdx
β βββ source-map-and-output.mdx
β βββ declaration-generation.mdx
β βββ noemit-and-build-checks.mdx
β βββ project-references.mdx
β βββ incremental-compilation.mdx
βββ 15-asynchronous-typescript/
β βββ promises.mdx
β βββ async-and-await.mdx
β βββ typing-promises.mdx
β βββ error-handling.mdx
β βββ promise-all-and-concurrency.mdx
β βββ fetch-and-http-requests.mdx
β βββ api-response-types.mdx
β βββ runtime-validation.mdx
βββ 16-dom-and-browser-types/
β βββ dom-type-definitions.mdx
β βββ query-selectors-and-nullability.mdx
β βββ events-and-event-types.mdx
β βββ forms-and-inputs.mdx
β βββ browser-storage.mdx
β βββ browser-apis.mdx
β βββ dom-manipulation.mdx
β βββ typescript-and-accessibility.mdx
βββ 17-nodejs-and-backend/
β βββ typescript-with-nodejs.mdx
β βββ node-types-and-packages.mdx
β βββ environment-variables.mdx
β βββ filesystem-and-path.mdx
β βββ express-with-typescript.mdx
β βββ request-and-response-types.mdx
β βββ middleware-types.mdx
β βββ database-and-repository-types.mdx
β βββ backend-validation.mdx
βββ 18-frameworks-and-integrations/
β βββ typescript-with-react.mdx
β βββ react-props-and-state.mdx
β βββ react-events-and-forms.mdx
β βββ typescript-with-nextjs.mdx
β βββ typescript-with-vite.mdx
β βββ typescript-with-nestjs.mdx
β βββ third-party-library-types.mdx
βββ 19-testing-and-code-quality/
β βββ testing-typescript-projects.mdx
β βββ unit-testing-with-vitest.mdx
β βββ unit-testing-with-jest.mdx
β βββ mocking-and-test-doubles.mdx
β βββ integration-testing.mdx
β βββ eslint-and-typescript.mdx
β βββ prettier-and-formatting.mdx
β βββ type-tests.mdx
β βββ continuous-integration.mdx
βββ 20-performance-and-best-practices/
β βββ type-safety-best-practices.mdx
β βββ avoid-any.mdx
β βββ runtime-vs-compile-time.mdx
β βββ large-project-organization.mdx
β βββ compiler-performance.mdx
β βββ dependency-and-version-management.mdx
β βββ security-and-input-validation.mdx
β βββ migration-from-javascript.mdx
βββ 21-projects/
β βββ typed-calculator.mdx
β βββ expense-tracker.mdx
β βββ weather-dashboard.mdx
β βββ task-management-app.mdx
β βββ typed-rest-api.mdx
β βββ npm-package-project.mdx
β βββ react-dashboard.mdx
β βββ full-stack-capstone.mdx
βββ reference/
β βββ typescript-types-cheatsheet.mdx
β βββ utility-types-reference.mdx
β βββ compiler-options-reference.mdx
β βββ common-errors-and-solutions.mdx
β βββ javascript-to-typescript-guide.mdx
β βββ glossary.mdx
β βββ official-resources.mdx
βββ assets/
βββ images/
βββ diagrams/
βββ examples/