@wshcmx/cli
v2.1.0
Published
Набор CLI-инструментов предназначен для автоматизации сборки и отслеживания изменений в исходном коде с последующей транспиляцией в синтаксис WebSoftHCM.
Downloads
32
Maintainers
Readme
@wshcmx/cli
wshcmx - набор CLI-инструментов предназначенный для автоматизации сборки и отслеживания изменений в кодовой базе с последующей транспиляцией в синтаксис WebSoftHCM.
Инструменты полезны для разработчиков, которые работают с WebSoftHCM и хотят упростить процесс разработки, обеспечивая быструю и корректную работу с исходным кодом.
Основные возможности
- Сборка проекта: Выполняет полную сборку, преобразуя исходный код в совместимый с WebSoftHCM формат.
- Отслеживание изменений: Запускает процесс транспиляции автоматически при изменении исходных файлов, что помогает мгновенно видеть результаты в реальном времени.
- Транспиляция в WebSoftHCM синтаксис: Преобразует современный JavaScript или TypeScript в код, поддерживаемый WebSoftHCM, с учетом всех его особенностей.
Как использовать
- Установите CLI-инструмент локально в проект при необходимости:
# установка локально в проект
npm install wshcmx -D
# или глобально
npm install wshcmx -g- Запустите сборку:
Выполнение одноразовой сборки проекта
npx wshcmx build- Запустите режим отслеживания:
Запускает CLI-инструмент в режиме отслеживания, при котором изменения в исходном коде будут автоматически транспилироваться.
npx wshcmx watchФлаги
CLI поддерживает флаги:
| Флаг | Описание | | - | - | | --include-non-ts-files | Добавляет копирование файлов с любым расширением не js/ts.\ Файлы обрабатываются по логике include, files и exclude в tsconfig.json | | --retain-non-ascii-characters | Декодирует не ASCII символы после транспиляции | | --retain-imports-as-comments | Оставляет импорты в комментариях |
Основные особенности
Особенности из коробки
TypeScript позволяет из коробки пользоваться некоторыми дополнительными конструкциями:
- Параметры по умолчанию
function method(argument: string = "default string") {
// ...
}- Интерполяция шаблонных строк
var stringState = "interpolated";
alert(`I insisted that substring be ${stringState}`);Особенности данного CLI
Этот CLI также добавляет некоторые возможности при транспиляции кода:
Конвертация enum в объекты
enum Locales {
ru = 'ru'
en = 'en'
}
// -->
var Locales = {
en: "en",
ru: "ru"
};Удаление import и export конструкций
[!NOTE] import конструкции заменяются на
;, что позволяет сохранить строковую нумерацию в транспилируемом коде
import { wshcmx } from "@wshcmx/lib";
export function method() {
// ...
}
// -->
;
function method() {
// ...
}Транспиляция шаблонных строк после TypeScript 4.4.4
Шаблонные строки после TypeScript 4.4.4 начали собираться с помощью метода concat:
var stringState = "interpolated";
alert(`I insisted that substring be ${stringState}`);
// -->
var stringState = "interpolated";
alert("I insisted that substring be ".concat(stringState));CLI конвертирует это в формат, похожий на TypeScript до 4.4.4.
var stringState = "interpolated";
alert(`I insisted that substring be ${stringState}`);
// -->
var stringState = "interpolated";
alert("I insisted that substring be " + stringState + "");Конвертация namespace
export namespace Module {
export const VARIABLE = "VARIABLE_VALUES";
export function method() {
// ...
}
}
// -->
"META:NAMESPACE:Module";
var VARIABLE = "VARIABLE_VALUES";
function method() {
// ...
}Контрибуция
Контрибуции приветствуются! Пожалуйста, создайте Pull Request или свяжитесь с нами через Issues, если у вас есть предложения или обнаружены ошибки.
