@coopenomics/docs-factory 1.1.0 → 1.2.0
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 +14 -7
- package/dist/index.cjs +472 -470
- package/dist/index.d.cts +187 -186
- package/dist/index.d.mts +187 -186
- package/dist/index.d.ts +187 -186
- package/dist/index.mjs +473 -471
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -18,8 +18,11 @@
|
|
|
18
18
|
вида документа — в одном файле: `Factory` (1.0) и дописанные в конец
|
|
19
19
|
`Factory_1_1`, `Factory_2_0`. Выпущенная версия заморожена: исправление —
|
|
20
20
|
новый `minor` в конце файла.
|
|
21
|
-
- **Шаблоны
|
|
22
|
-
`
|
|
21
|
+
- **Шаблоны документов** — второй пакет репозитория `@coopenomics/docs-templates`
|
|
22
|
+
(`packages/docs-templates`): тексты, схемы, переводы, типы `Action` и `Model`
|
|
23
|
+
каждого вида документа. Выходит одной версией с фабрикой. Фабрика собирает из
|
|
24
|
+
них реестр шаблонов (`src/Templates`) с номерами редакций; ключ `x-builder` в
|
|
25
|
+
схеме редакции объявляет, под какой `major` сборщика она написана.
|
|
23
26
|
- **Порт хранилища** `IFactoryStorage` и реализации: PostgreSQL
|
|
24
27
|
(`PostgresFactoryStorage`, Kysely) и память (`MemoryFactoryStorage`).
|
|
25
28
|
- **Порт данных цепи** `IChainDataSource`: шаблоны, таблицы и действия на блок.
|
|
@@ -27,9 +30,11 @@
|
|
|
27
30
|
## Установка
|
|
28
31
|
|
|
29
32
|
```bash
|
|
30
|
-
pnpm add @coopenomics/docs-factory cooptypes
|
|
33
|
+
pnpm add @coopenomics/docs-factory @coopenomics/docs-templates cooptypes
|
|
31
34
|
```
|
|
32
35
|
|
|
36
|
+
Версии `docs-factory` и `docs-templates` в приложении ставятся одинаковыми.
|
|
37
|
+
|
|
33
38
|
`cooptypes` — зависимость приложения (`peerDependencies`): фабрика берёт тот
|
|
34
39
|
выпуск, что стоит у приложения.
|
|
35
40
|
|
|
@@ -76,11 +81,13 @@ const same = await generator.generate({ ...document.meta }, { skip_save: true })
|
|
|
76
81
|
|
|
77
82
|
## Выпуск
|
|
78
83
|
|
|
79
|
-
1. Поднять `version` в `package.json`
|
|
84
|
+
1. Поднять `version` в `package.json` и в `packages/docs-templates/package.json`
|
|
85
|
+
(одна семантическая версия), коммит в `main`.
|
|
80
86
|
2. Тег `vX.Y.Z` (предварительный — `vX.Y.Z-dev.N`) в `C9S/docs-factory`.
|
|
81
|
-
3. Workflow `Release`: проверки Factory → сверка тега с
|
|
82
|
-
(предварительная — с меткой `next`) →
|
|
83
|
-
с новой точной версией
|
|
87
|
+
3. Workflow `Release`: проверки Factory → сверка тега с версиями обоих пакетов →
|
|
88
|
+
публикация в npm шаблонов, затем фабрики (предварительная — с меткой `next`) →
|
|
89
|
+
робот открывает PR в `C9S/mono` → `dev` с новой точной версией обоих пакетов во
|
|
90
|
+
всех `package.json` и `pnpm-lock.yaml`.
|
|
84
91
|
|
|
85
92
|
Монорепозиторий поднимает версию только этим PR: гейт `pnpm check` держит
|
|
86
93
|
точную и одну версию, контроллер при старте сверяет установленную фабрику с
|