Модуль 1 — Архитектура Vue1.2
UI → Feature → Domain ← Data. Каждый слой зависит только от нижнего. Domain — чистый TS без Vue.
Модуль 2 — Паттерны проектирования2.1
Container управляет состоянием, Presentation рендерит. Props вниз (данные), emit вверх (события). Имена пропсов = имена emit-событий с on-префиксом.
Модуль 3 — Composables3.1
Композабл = JSDoc + типизированный возврат + readonly на state. Ошибки — через throw, не ref(error).
Модуль 0 — TypeScript для Vue0.2
Ограниченные дженерики через extends. ReturnType<T>, type inference в composables — ключ к типобезопасности.
Модуль 1 — Архитектура Vue1.1
Feature-based — файлы рядом с фичей. Layer-based — файлы по типу (components/, stores/). В малых проектах — feature-based.
Модуль 0 — TypeScript для Vue0.1
interface — для объектов, type — для unions/intersections. Narrowing через type guards и in-оператор.