Skip to content

Commit

Permalink
Merge pull request #49 from max36895/1.5
Browse files Browse the repository at this point in the history
1.5
  • Loading branch information
max36895 committed Jul 9, 2023
2 parents aedc47d + 2b1da01 commit 4486488
Show file tree
Hide file tree
Showing 27 changed files with 1,793 additions and 60 deletions.
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,15 @@

Все заметные изменения в umbot задокументированы в этом файле с использованием принципов [Keep a CHANGELOG](http://keepachangelog.com/).

## [1.5.0] - 2023-01-07
### Добавлено
* В Bot добавлены метод startOld для поддержки старого запуска приложения через micro
* В Bot добавлен метод close, для закрытия сервера
### Обновлено
* Изменилась логика запуска приложения. См пример examples/skills/game и examples/skilld/gameOld
* В Bot в методе start поменялись получаемые аргументы
* Добавлены новые принимаемые значения в build.mode, позволяющие запустить приложение в старом формате(через micro)

## [1.1.8] - 2022-10-06
### Добавлено
* Unit тесты на jest
Expand Down Expand Up @@ -152,3 +161,4 @@

[master]: https://github.com/max36895/universal_bot-ts/compare/1.1.1...master
[dev]: https://github.com/max36895/universal_bot-ts/compare/master...dev
[1.5]: https://github.com/max36895/universal_bot-ts/compare/1.1.8...1.5
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2022 Maxim M <[email protected]>
Copyright (c) 2023 Maxim M <[email protected]>

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
9 changes: 3 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,19 +43,16 @@ npm run build
"description": "Описание",
"main": "index.js (Путь к индексному файлу)",
"scripts": {
"start": "micro",
"start": "node ./dist/index.js",
"build": "rm -rf dist/ && tsc"
},
"dependencies": {
"micro": "^9.3.4"
}
}
```
После, запустите сервер командой:
```bash
npm start
```
На данный момент поддерживается запуск через `micro`, но можно использовать любое удобное решение.
На данный момент поддерживается запуск через стандартную библиотеку `http`, но можно использовать любое удобное решение.

Старт
------------
Expand Down Expand Up @@ -109,7 +106,7 @@ ngrok http --host-header=rewrite <domain>:port

## Тестирование в консоли
Для тестирования используется тот же код, что и для запуска.
С той лишь разницей, что нужно использовать класс `BotTest` вызывать метод `test` вместо `run`, также нет необходимости запускать micro.
С той лишь разницей, что нужно использовать класс `BotTest` вызывать метод `test` вместо `run`, также нет необходимости запускать сервер.
После запустить приложение.
```bash
node index.js
Expand Down
4 changes: 3 additions & 1 deletion console/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,9 @@ npm umbot
"mode": "Режим работы приложения. prod, dev, dev-online, build",
"config": ["Конфигурация для подключения к бд. Структуру смотри в mmApp.config"],
"params": ["Параметры приложения. Структуру смотри в mmApp.params"],
"path": "Директория, в которой будет создан проект. По умолчанию, проект создается в папке с именем проекта, в директории запуска скрипта."
"path": "Директория, в которой будет создан проект. По умолчанию, проект создается в папке с именем проекта, в директории запуска скрипта.",
"hostname": "Имя хоста на котором будет запущено приложение. По умолчанию localhost",
"port": "Порт на котором будет запущено приложение. По умолчанию 3000"
}
```
'*' - обозначены обязательные поля.
Expand Down
4 changes: 2 additions & 2 deletions console/controllers/ConsoleController.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
"use strict";
const CreateController = require('./CreateController').create;

const VERSION = '1.0.1';
const VERSION = '1.5.0';

/**
* Консольный скрипт, позволяющий создать пустой проект.
* @param param
*/
function main(param = {appName: null, command: null, mode: 'prod'}) {
function main(param = {appName: null, command: null, mode: 'prod', hostname: 'localhost', port: 3000}) {
const infoText = "Доступные параметры:\n\ncreate (project name) - Создать новый навык/бот. В качестве параметра передается название проекта(На Английском языке) или json файл с параметрами.";
if (param && param.command) {
switch (param.command) {
Expand Down
8 changes: 7 additions & 1 deletion console/controllers/CreateController.js
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,8 @@ class CreateController {
'{{className}}',
'__className__',
'{{}}',
'{{hostname}}',
'{{port}}'
];
const name = this.#name.substr(0, 1).toUpperCase() + this.#name.substr(1);
const date = `${(new Date()).getDay()}.${(new Date()).getMonth()}.${(new Date()).getFullYear()}`;
Expand All @@ -111,7 +113,11 @@ class CreateController {
date,
time,
this.#name,
name
name,
name,
'',
'"' + (this.params?.hostname || 'localhost') + '"',
this.params?.port || 3000
];
fileName = this._replace(find, replace, fileName);
const content = this._replace(find, replace, templateContent);
Expand Down
4 changes: 3 additions & 1 deletion console/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,9 @@
* "mode": "Режим работы приложения. prod, dev, dev-online, build",
* "config": ["Конфигурация для подключения к бд. Структуру смотри в mmApp.config"],
* "params": ["Параметры приложения. Структуру смотри в mmApp.params"],
* "path": "Директория, в которой будет создан проект. По умолчанию, проект создается в папке с именем проекта, в директории запуска скрипта."
* "path": "Директория, в которой будет создан проект. По умолчанию, проект создается в папке с именем проекта, в директории запуска скрипта.",
* "hostname": "Имя хоста на котором будет запущено приложение. По умолчанию localhost",
* "port": "Порт на котором будет запущено приложение. По умолчанию 3000"
* }
* ```
* '*' - обозначены обязательные поля.
Expand Down
5 changes: 1 addition & 4 deletions console/template/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,10 @@ import {Bot} from 'umbot';
import {{name}}Config from './config/{{name}}Config';
import {{name}}Params from './config/{{name}}Params';
import {__className__Controller} from './controller/__className__Controller';
import {IncomingMessage, ServerResponse} from 'http';

const bot = new Bot();
bot.initTypeInGet();
bot.initConfig({{name}}Config);
bot.initParams({{name}}Params);
bot.initBotController((new __className__Controller()));
module.exports = async (req: IncomingMessage, res: ServerResponse) => {
bot.start(req, res)
};
bot.start({{hostname}}, {{port}});
5 changes: 1 addition & 4 deletions console/template/indexDevOnline.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,11 @@ import {Bot, mmApp} from 'umbot';
import {{name}}Config from './config/{{name}}Config';
import {{name}}Params from './config/{{name}}Params';
import {__className__Controller} from './controller/__className__Controller';
import {IncomingMessage, ServerResponse} from 'http';

const bot = new Bot();
bot.initTypeInGet();
bot.initConfig({{name}}Config);
bot.initParams({{name}}Params);
bot.initBotController((new __className__Controller()));
mmApp.setDevMode(true);
module.exports = async (req: IncomingMessage, res: ServerResponse) => {
bot.start(req, res)
};
bot.start({{hostname}}, {{port}});
11 changes: 9 additions & 2 deletions console/umbot.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
/**
* Универсальное приложение по созданию навыков и ботов.
* Скрипт позволяет создавать шаблон для приложения.
* @version 1.0.1
* @version 1.5.0
* @author Maxim-M [email protected]
* @module
*/
Expand All @@ -16,18 +16,25 @@ const argv = process.argv;
const param = {};
if (argv[2]) {
param.command = argv[2].toLowerCase();
param.hostname = 'localhost';
param.port = 3000;
if (argv[3]) {
if (argv[3].indexOf('.json') !== -1) {
if (utils.isFile(argv[3])) {
const jsonParam = JSON.parse(utils.fread(argv[3]));
param.appName = jsonParam.name;
param.params = jsonParam;
if (jsonParam.hostname) {
param.hostname = jsonParam.hostname;
}
if (jsonParam.port) {
param.port = jsonParam.port;
}
}
} else {
param.appName = argv[3];
}
}
}
console.log(param);
consoleController.main(param);
process.exitCode = 1;
8 changes: 6 additions & 2 deletions examples/skills/game/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,12 @@
```bash
npm i
```
2 Запустить приложение:
2 Соберите проект
```bash
npm run build
```
3 Запустить приложение:
```bash
npm start
```
3 Запустить nginx и полученную ссылку вставить в консоли разработчика навыка.
4 Запустить nginx и полученную ссылку вставить в консоли разработчика навыка.
Loading

0 comments on commit 4486488

Please sign in to comment.