diff --git a/CHANGELOG.md b/CHANGELOG.md index d2af2e57..a8770a72 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 6.0.0 (06.06.2023) + +Dropped support for Node.js 12. + +Also removed one-letter definitions of some CLI flags. + +Check the [migration guide](./MIGRATION.md) for details. + ## 5.4.2 (27.05.2023) Restored lost `trim` in stringify function. diff --git a/CHANGELOG.ru.md b/CHANGELOG.ru.md index 177b07d0..89e8ce76 100644 --- a/CHANGELOG.ru.md +++ b/CHANGELOG.ru.md @@ -1,5 +1,14 @@ # История изменений проекта +## 6.0.0 (06.06.2023) + +Node.js 12 больше не поддерживается. + +Также убраны однобуквенные сокращения для некоторых CLI-флагов. + +См. [гайд по миграции](./MIGRATION.ru.md). + + ## 5.4.2 (27.05.2023) Вернули обратно применение `trim` в функции stringify. diff --git a/MIGRATION.md b/MIGRATION.md index 98acf564..05b65755 100644 --- a/MIGRATION.md +++ b/MIGRATION.md @@ -1,5 +1,14 @@ # Migration +## 5.4.2 → 6.0.0 + +We've dropped support for Node.js 12. +The project probably still works on it, because we have not changed anything in the code. But be careful. + +We removed one-letter definitions for the next CLI flags: `-S (--strict)`, `-c (--css)`, `-f (--favicon)`, `-l (--locale)`. +If you've been using any of the above-mentioned options, you should replace `-S` with `--strict`, `-c` with `--css` and so on. + + ## 4.17.1 → 5.0.0 Nothing changed. We just moved the package to the new scope — `@funboxteam`. @@ -9,12 +18,12 @@ Nothing changed. We just moved the package to the new scope — `@funboxteam`. Complete refactoring of imports. If some data structure to be used in a file, you now need to import it explicitly in that file. -Changes in attributes example description. If an example should contain multiple values, don't add backticks (`): +Changes in attributes example description. If an example should contain multiple values, don't add backticks: ``` + Attributes - + foo: 1,2,3 (array[number]) - + bar: `single value` (string) + + foo: 1,2,3 (array[number]) - no bacticks around multiple values + + bar: `single value` (string) - backticks around single example value ``` ## 3.38.0 → 3.39.0 diff --git a/MIGRATION.ru.md b/MIGRATION.ru.md new file mode 100644 index 00000000..166d52ad --- /dev/null +++ b/MIGRATION.ru.md @@ -0,0 +1,44 @@ +# Гайд по миграции + +## 5.4.2 → 6.0.0 + +Node.js 12 более не поддерживается. + +Тем не менее проект, скорее всего, до сих пор работает на этой версии, +поскольку никаких ломающих поддержку изменений в код не было внесено. + +Убраны однобуквенные обозначения для следующих CLI-флагов: `-S (--strict)`, `-c (--css)`, `-f (--favicon)`, `-l (--locale)`. +Если вы используете для запуска один из этих флагов, то нужно заменить `-S` на `--strict`, `-c` на `--css` и так далее. + + +## 4.17.1 → 5.0.0 + +Ничего не поменялось, мы просто переехали на новый npm-скоуп — `@funboxteam`. + + +## 3.53.0 → 4.0.0 + +Complete refactoring of imports. If some data structure to be used in a file, you now need to import it explicitly in that file. +Полностью переработана система импортов. Если какая-либо структура данных используется в файле, её нужно явно импортировать +в этот файл. + +Изменения в описании примеров значения атрибута. Если пример должен содержать несколько значений, не нужно добавлять +бэктики: + +``` ++ Attributes + + foo: 1,2,3 (array[number]) - для нескольких значений бэктики не используются + + bar: `single value` (string) - пример с одним значением, заключенным в бэктики +``` + +## 3.38.0 → 3.39.0 + +Секция `+ Parameters` должна быть определена на одном уровне с секцией `+ Request`. + +Для секции `+ Attributes` теперь не нужно указывать атрибут `required`. + +## 3.34.0 → 3.35.0 + +Если в документации содержится секция со словом _Default_ в названии (например, default Resource Prototype), её нужно +переименовать, поскольку Crafter теперь использует ключевое слово _Default_ для задания дефолтных значений именованных +типов, начиная с версии 1.65.0. diff --git a/README.md b/README.md index bc170dd0..c3644831 100644 --- a/README.md +++ b/README.md @@ -66,14 +66,14 @@ Add the next commands in `package.json`: - `-i, --input ` — sets the source APIB file to render. - `-o, --output ` — sets the name of the output HTML file. -- `-S, --strict` — enables parsing "strict" mode in which any warning will cause build error. - `-s, --server` — activates live server mode. - `-h, --host ` — sets live server host. Default value is `127.0.0.1`. - `-p, --port ` — sets live server port. Default value is `3000`. -- `-c, --css ` — allows to specify path to a custom CSS file. Styles from this files will be attached to page. +- `--strict` — enables parsing "strict" mode in which any warning will cause build error. +- `--css ` — allows to specify path to a custom CSS file. Styles from this files will be attached to page. Any possible compatibility issues between relevant Blueprinter version and a custom CSS file remain on the conscience of the file developer. -- `-l, --locale ` — sets a locale to be used as UI language. Default value is `en`. Available locales are `en`, `ru`. -- `-f, --favicon ` — allows to specify path to a custom favicon. Applicable only in build mode, not in dev mode. Accepts only PNG files. +- `--locale ` — sets a locale to be used as UI language. Default value is `en`. Available locales are `en`, `ru`. +- `--favicon ` — allows to specify path to a custom favicon. Applicable only in build mode, not in dev mode. Accepts only PNG files. ## Run in Docker diff --git a/README.ru.md b/README.ru.md index 364ad414..ecd4badd 100644 --- a/README.ru.md +++ b/README.ru.md @@ -65,14 +65,14 @@ npm install --save @funboxteam/blueprinter - `-i, --input ` — задаёт исходный APIB-файл, который нужно отрендерить. - `-o, --output ` — задаёт название конечного HTML-файла. -- `-S, --strict` — включает «строгий» режим парсинга, в котором любое предупреждение приведёт к ошибке сборки. - `-s, --server` — активирует режим live-сервера. - `-h, --host ` — задаёт адрес локального live-сервера. По умолчанию `127.0.0.1`. - `-p, --port ` — задаёт порт локального live-сервера. По умолчанию `3000`. -- `-c, --css ` — позволяет указать путь к кастомному CSS-файлу, стили из которого будут подключены на странице. +- `--strict` — включает «строгий» режим парсинга, в котором любое предупреждение приведёт к ошибке сборки. +- `--css ` — позволяет указать путь к кастомному CSS-файлу, стили из которого будут подключены на странице. Любые проблемы совместимости актуальной версии Blueprinter и кастомного CSS-файла остаются на совести разработчика файла. -- `-l, --locale ` — задаёт язык интерфейса конечного HTML. По умолчанию `en`. Возможные варианты: `en`, `ru`. -- `-f, --favicon ` — позволяет указать путь к кастомной фавиконке. Фавиконка применяется только в режиме сборки и +- `--locale ` — задаёт язык интерфейса конечного HTML. По умолчанию `en`. Возможные варианты: `en`, `ru`. +- `--favicon ` — позволяет указать путь к кастомной фавиконке. Фавиконка применяется только в режиме сборки и не учитывается при запуске dev-сервера. Разрешены только файлы в формате PNG. ## Использование через Docker diff --git a/bin/index.js b/bin/index.js index a2106426..ede707bc 100644 --- a/bin/index.js +++ b/bin/index.js @@ -10,13 +10,13 @@ argsParser .example('$0 -i example.apib -s', 'Start live server') .options('i', { alias: 'input', describe: 'Input file' }) .options('o', { alias: 'output', describe: 'Output file' }) - .options('S', { alias: 'strict', describe: 'Strict mode' }) .options('s', { alias: 'server', describe: 'Start a local live preview server' }) .options('h', { alias: 'host', describe: 'Address to bind local preview server to', default: '127.0.0.1' }) .options('p', { alias: 'port', describe: 'Port for local preview server', default: 3001 }) - .options('c', { alias: 'css', describe: 'Custom CSS file' }) - .options('f', { alias: 'favicon', describe: 'Custom favicon' }) - .options('l', { alias: 'locale', describe: 'Set locale', default: 'en', choices: ['ru', 'en'] }); + .options('strict', { describe: 'Strict mode' }) + .options('css', { describe: 'Custom CSS file' }) + .options('favicon', { describe: 'Custom favicon' }) + .options('locale', { describe: 'Set locale', default: 'en', choices: ['ru', 'en'] }); const argv = argsParser.argv; @@ -34,15 +34,15 @@ const argvError = () => { process.exit(1); }; -if (argv.s) { - if (!argv.i) argvError(); +if (argv.server) { + if (!argv.input) argvError(); - renderAndServe(argv.i, argv.c, argv.p, argv.h, argv.l) + renderAndServe(argv.input, argv.css, argv.port, argv.host, argv.locale) .catch(error => exit(error)); } else { - if (!argv.i || !argv.o) argvError(); + if (!argv.input || !argv.output) argvError(); - renderAndBuild(argv.i, argv.c, argv.f, argv.o, argv.l, argv.S) + renderAndBuild(argv.input, argv.css, argv.favicon, argv.output, argv.locale, argv.strict) .then(() => exit()) .catch(error => exit(error)); } diff --git a/package-lock.json b/package-lock.json index 1972fe5e..b818e3dd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,15 +1,15 @@ { "name": "@funboxteam/blueprinter", - "version": "5.4.2", + "version": "6.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@funboxteam/blueprinter", - "version": "5.4.2", + "version": "6.0.0", "license": "Apache-2.0", "dependencies": { - "@funboxteam/crafter": "5.0.1", + "@funboxteam/crafter": "6.0.0", "@funboxteam/free-port-finder": "3.1.1", "browser-sync": "2.28.1", "commonmark": "0.30.0", @@ -2292,9 +2292,9 @@ } }, "node_modules/@funboxteam/crafter": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@funboxteam/crafter/-/crafter-5.0.1.tgz", - "integrity": "sha512-knYS543HGlEvk9abg5FSz4E/2M3QfeQ3tArPM46MKu7vpqbI6tUQnZ+8Ulgq3BW4aQgmv9vcBdgny3h+tvsuzw==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@funboxteam/crafter/-/crafter-6.0.0.tgz", + "integrity": "sha512-Sedk32o6hYqJhFu77NLs7eqccaJqDSM9fYWbjrnmfHm3F1HtgAjBTrgkXOEOdsR23LUeN6ArRi140K07wx6wDA==", "dependencies": { "commander": "2.15.1", "commonmark": "0.30.0", diff --git a/package.json b/package.json index 42f086d5..3fc638bd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@funboxteam/blueprinter", - "version": "5.4.2", + "version": "6.0.0", "description": "Replacement of Aglio library for rendering generated AST as HTML page.", "repository": { "type": "git", @@ -36,7 +36,7 @@ "compile": "lingui compile" }, "dependencies": { - "@funboxteam/crafter": "5.0.1", + "@funboxteam/crafter": "6.0.0", "@funboxteam/free-port-finder": "3.1.1", "browser-sync": "2.28.1", "commonmark": "0.30.0",