@alfacapital-tech/c4builder 0.3.0-rc.1 → 0.3.0-rc.3
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 +11 -18
- package/dist/cli/commands/help.js +0 -2
- package/dist/cli/commands/jre.js +10 -3
- package/dist/cli/commands/list.js +9 -1
- package/dist/cli/commands/new.js +10 -29
- package/dist/cli/dispatch.js +135 -37
- package/dist/cli/wizard/collect.js +51 -91
- package/dist/config/defaults.js +4 -2
- package/dist/config/options.js +29 -1
- package/dist/config/schema.js +53 -32
- package/dist/core/build.js +74 -48
- package/dist/core/compose/docsify.template.js +2 -2
- package/dist/core/compose/markdown.js +146 -135
- package/dist/core/render/d2renderer.js +67 -11
- package/dist/core/render/diagrams.js +256 -100
- package/dist/core/render/fonts.js +8 -0
- package/dist/core/render/jre.js +155 -51
- package/dist/core/render/pngraster.js +18 -24
- package/dist/core/scan/tree.js +64 -16
- package/dist/util/http.js +55 -0
- package/dist/util/lock.js +58 -0
- package/dist/util/utils.js +10 -25
- package/package.json +5 -1
- package/vendor/fonts/NimbusSans-Bold.otf +0 -0
- package/vendor/fonts/NimbusSans-BoldItalic.otf +0 -0
- package/vendor/fonts/NimbusSans-Italic.otf +0 -0
- package/vendor/fonts/NimbusSans-Regular.otf +0 -0
- package/vendor/fonts/README.md +13 -10
- package/vendor/fonts/LiberationSans-Bold.ttf +0 -0
- package/vendor/fonts/LiberationSans-BoldItalic.ttf +0 -0
- package/vendor/fonts/LiberationSans-Italic.ttf +0 -0
- package/vendor/fonts/LiberationSans-Regular.ttf +0 -0
package/dist/util/utils.js
CHANGED
|
@@ -1,30 +1,15 @@
|
|
|
1
1
|
import fs from 'node:fs';
|
|
2
2
|
import zlib from 'node:zlib';
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
});
|
|
8
|
-
}
|
|
9
|
-
//
|
|
10
|
-
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
if (err)
|
|
14
|
-
return reject(err);
|
|
15
|
-
return resolve(data);
|
|
16
|
-
});
|
|
17
|
-
});
|
|
18
|
-
const writeFile = (path, data) => new Promise((resolve, reject) => {
|
|
19
|
-
// res опционален: fs.writeFile отдаёт NoParamCallback, второй аргумент — всегда undefined.
|
|
20
|
-
fs.writeFile(path, data, (err, res) => {
|
|
21
|
-
if (err)
|
|
22
|
-
return reject(err);
|
|
23
|
-
return resolve(res);
|
|
24
|
-
});
|
|
25
|
-
});
|
|
26
|
-
// _fn игнорируется (легаси-заглушка — не чинить).
|
|
27
|
-
const writeOnSameLine = async (message, _fn) => {
|
|
3
|
+
// mkdir -p: недостающие родители создаются, существующий каталог — не ошибка.
|
|
4
|
+
// Реальные сбои (EACCES/EROFS) пробрасываются — раньше глотались молча, и сборка
|
|
5
|
+
// падала позже невнятной ошибкой записи в несуществующий каталог.
|
|
6
|
+
const makeDirectory = async (path) => {
|
|
7
|
+
await fs.promises.mkdir(path, { recursive: true });
|
|
8
|
+
};
|
|
9
|
+
// Кодировка не передаётся ни одним вызовом → всегда Buffer (потребители зовут .toString()).
|
|
10
|
+
const readFile = (path) => fs.promises.readFile(path);
|
|
11
|
+
const writeFile = (path, data) => fs.promises.writeFile(path, data);
|
|
12
|
+
const writeOnSameLine = async (message) => {
|
|
28
13
|
process.stdout.write(`${message}\r`);
|
|
29
14
|
};
|
|
30
15
|
const encodeURIPath = (path) => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alfacapital-tech/c4builder",
|
|
3
|
-
"version": "0.3.0-rc.
|
|
3
|
+
"version": "0.3.0-rc.3",
|
|
4
4
|
"description": "A CLI tool designed to compile a folder structure of markdowns and plant uml files into a site, single file markdown or a collection of markdowns with links",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
"files": [
|
|
11
11
|
"dist/",
|
|
12
12
|
"template/",
|
|
13
|
+
"!template/docs",
|
|
14
|
+
"!template/.c4builder",
|
|
13
15
|
"vendor/",
|
|
14
16
|
"README.MD",
|
|
15
17
|
"license"
|
|
@@ -34,6 +36,8 @@
|
|
|
34
36
|
"check": "biome ci .",
|
|
35
37
|
"pretest": "npm run build",
|
|
36
38
|
"test": "vitest run",
|
|
39
|
+
"pretest:unit": "npm run build",
|
|
40
|
+
"test:unit": "vitest run --exclude \"**/golden.test.mjs\"",
|
|
37
41
|
"test:golden": "npm run build && vitest run test/golden.test.mjs",
|
|
38
42
|
"test:golden:update": "npm run build && UPDATE_GOLDEN=1 vitest run test/golden.test.mjs"
|
|
39
43
|
},
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/vendor/fonts/README.md
CHANGED
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
# Вендорные шрифты
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## Nimbus Sans
|
|
4
4
|
|
|
5
|
-
`
|
|
5
|
+
`NimbusSans-{Regular,Bold,Italic,BoldItalic}.otf`
|
|
6
6
|
|
|
7
7
|
- **Назначение:** детерминизм метрик текста в SVG. Ширина текста (`textLength`)
|
|
8
8
|
считается PlantUML из AWT-метрик шрифта; системный `sans-serif` резолвится
|
|
9
9
|
по-разному на разных машинах. Шрифт отдаётся JVM через
|
|
10
|
-
`-Dsun.java2d.fontpath=prepend:` + `-SdefaultFontName=
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
<https://github.com/
|
|
10
|
+
`-Dsun.java2d.fontpath=prepend:` + `-SdefaultFontName=Nimbus Sans` и resvg через
|
|
11
|
+
`fontDirs` (см. `src/core/render/fonts.ts`). Пин снимается ключом `useSystemFonts`
|
|
12
|
+
в `.c4builder` / флагом `--system-fonts` — тогда рендер идёт системным шрифтом и
|
|
13
|
+
перестаёт быть машинонезависимым.
|
|
14
|
+
- **Происхождение:** URW base35 (Artifex), релиз 20200910 — файлы побайтно совпадают
|
|
15
|
+
с пакетом `gsfonts` этой версии. Метрически совместим с Helvetica, содержит
|
|
16
|
+
кириллицу и греческий. Апстрим:
|
|
17
|
+
<https://github.com/ArtifexSoftware/urw-base35-fonts>.
|
|
18
|
+
- **Лицензия:** AGPL-3.0-only с шрифтовым исключением
|
|
19
|
+
(`PS-or-PDF-font-exception-20170817`): встраивание шрифта в документы не делает их
|
|
20
|
+
производными работами. Полный текст — в апстрим-репозитории (`LICENSE`).
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|