Skip to content

Commit

Permalink
Merge pull request #34 from funbox/improvement-cli-flags
Browse files Browse the repository at this point in the history
Use full-length definitions for some CLI flags
  • Loading branch information
Ge11ert authored Jun 6, 2023
2 parents 025d2a3 + 7d40939 commit 654fa04
Show file tree
Hide file tree
Showing 9 changed files with 98 additions and 28 deletions.
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
9 changes: 9 additions & 0 deletions CHANGELOG.ru.md
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
15 changes: 12 additions & 3 deletions MIGRATION.md
Original file line number Diff line number Diff line change
@@ -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`.
Expand All @@ -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
Expand Down
44 changes: 44 additions & 0 deletions MIGRATION.ru.md
Original file line number Diff line number Diff line change
@@ -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.
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,14 +66,14 @@ Add the next commands in `package.json`:

- `-i, --input <file>` — sets the source APIB file to render.
- `-o, --output <file>` — 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 <host>` — sets live server host. Default value is `127.0.0.1`.
- `-p, --port <port>` — sets live server port. Default value is `3000`.
- `-c, --css <file>` — 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 <file>` — 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 <locale>` — sets a locale to be used as UI language. Default value is `en`. Available locales are `en`, `ru`.
- `-f, --favicon <file>` — allows to specify path to a custom favicon. Applicable only in build mode, not in dev mode. Accepts only PNG files.
- `--locale <locale>` — sets a locale to be used as UI language. Default value is `en`. Available locales are `en`, `ru`.
- `--favicon <file>` — allows to specify path to a custom favicon. Applicable only in build mode, not in dev mode. Accepts only PNG files.

## Run in Docker

Expand Down
8 changes: 4 additions & 4 deletions README.ru.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,14 +65,14 @@ npm install --save @funboxteam/blueprinter

- `-i, --input <file>` — задаёт исходный APIB-файл, который нужно отрендерить.
- `-o, --output <file>` — задаёт название конечного HTML-файла.
- `-S, --strict` — включает «строгий» режим парсинга, в котором любое предупреждение приведёт к ошибке сборки.
- `-s, --server` — активирует режим live-сервера.
- `-h, --host <host>` — задаёт адрес локального live-сервера. По умолчанию `127.0.0.1`.
- `-p, --port <port>` — задаёт порт локального live-сервера. По умолчанию `3000`.
- `-c, --css <file>` — позволяет указать путь к кастомному CSS-файлу, стили из которого будут подключены на странице.
- `--strict` — включает «строгий» режим парсинга, в котором любое предупреждение приведёт к ошибке сборки.
- `--css <file>` — позволяет указать путь к кастомному CSS-файлу, стили из которого будут подключены на странице.
Любые проблемы совместимости актуальной версии Blueprinter и кастомного CSS-файла остаются на совести разработчика файла.
- `-l, --locale <locale>` — задаёт язык интерфейса конечного HTML. По умолчанию `en`. Возможные варианты: `en`, `ru`.
- `-f, --favicon <file>` — позволяет указать путь к кастомной фавиконке. Фавиконка применяется только в режиме сборки и
- `--locale <locale>` — задаёт язык интерфейса конечного HTML. По умолчанию `en`. Возможные варианты: `en`, `ru`.
- `--favicon <file>` — позволяет указать путь к кастомной фавиконке. Фавиконка применяется только в режиме сборки и
не учитывается при запуске dev-сервера. Разрешены только файлы в формате PNG.

## Использование через Docker
Expand Down
18 changes: 9 additions & 9 deletions bin/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand All @@ -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));
}
12 changes: 6 additions & 6 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -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",
Expand Down Expand Up @@ -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",
Expand Down

0 comments on commit 654fa04

Please sign in to comment.