itube-specs 0.0.783 → 0.0.784

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -37,11 +37,20 @@ runtime-хелперы, типы и lib-данные. Приложения ра
37
37
 
38
38
  Правим слой прямо здесь (по `LAYER_PATH`), затем `npm run patch` + `npm run spec` в приложении.
39
39
 
40
- Чтобы видеть изменения без публикации **локальный оверрайд** в приложении: копируем компонент/composable
41
- в проект по **тому же относительному пути** (`components/<...>.vue` / `composables/<...>.ts`), `npx nuxi prepare`
42
- копия перекрывает слой на рантайме (приложение выше слоя по приоритету; при `pathPrefix` имя совпадает
43
- со слоевым). Правим копию, после — переносим в слой, `npm run patch` + `npm run spec`, копию удаляем.
44
- Импорты в копии чиним на пакетные (`itube-specs/runtime|types|lib|services|utils`).
40
+ Приоритет авто-импорта в приложении: `*-debug` > проектные `components/`/`composables/` > слой.
41
+
42
+ **Постоянная кастомизация:** приложение может завести файл с **тем же именем**, что сущность слоя
43
+ (напр. `<UiBtn>`), в своих `components/`/`composables/` победит проектный (он выше слоя). Так форк
44
+ меняет вёрстку/логику под себя **без переименования**. Осмысленно: если разницу решает пропс — делать
45
+ пропсом, а не форкать весь компонент.
46
+
47
+ **Отладка слоя:** копируем сущность слоя в `components-debug/` / `composables-debug/` приложения
48
+ (без сегмента `components/`/`composables/` слоевого пути), `npx nuxi prepare` — копия перекрывает слой
49
+ (отдельные авто-корни, наивысший приоритет). При необходимости оверрайд можно закоммитить и выкатить
50
+ в бой для отладки (папки не в git-ignore). Правим, переносим в слой (или скилл `debug-clean`),
51
+ `npm run patch` + `npm run spec`, копию удаляем. Импорты в копии — пакетные
52
+ (`itube-specs/runtime|types|lib|services|utils`). **Дисциплина: держать пусто, когда нет активной задачи** —
53
+ копия перекрывает слой только для одного проекта, правки должны уходить в слой и расходиться на все форки.
45
54
 
46
55
  Для мелких утилит/runtime можно и грубее — временный disk-импорт с диска
47
56
  (`import { test } from '../../../../specs/runtime/utils'`), только для локальной отладки, в коммит не идёт.
@@ -1,6 +1,9 @@
1
- /** Возвращает код текущей локали с учётом алиасов (zh → ch). */
1
+ /** Возвращает код текущей локали с учётом алиасов (zh → ch).
2
+ * Локаль берётся из глобального инстанса i18n (`useNuxtApp().$i18n`), а не из `useI18n()`,
3
+ * чтобы функцию можно было безопасно вызывать вне setup-контекста (watch/async-колбэки):
4
+ * `useI18n()` вне setup кидает MUST_BE_CALL_SETUP_TOP. */
2
5
  export const useLang = () => {
3
- const lang = useI18n().locale.value;
6
+ const lang = useNuxtApp().$i18n.locale.value;
4
7
  const anotherCode: Record<string, string> = {
5
8
  zh: 'ch',
6
9
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "itube-specs",
3
3
  "type": "module",
4
- "version": "0.0.783",
4
+ "version": "0.0.784",
5
5
  "main": "./nuxt.config.ts",
6
6
  "types": "./types/index.d.ts",
7
7
  "scripts": {