mowascript
Version:
MowaScript language implementation
111 lines (78 loc) • 3.21 kB
Markdown
[[🌀Interslavic](../../05_cli.md) · [🇺🇸 English](../en/05_cli.md)]
# Командний інтерфейс MowaJS (CLI)
MowaJS постачається з вбудованим CLI, який дозволяє швидко запускати, компілювати, слідкувати за файлами та ініціалізувати проєкти з `.mowa` файлами.
## 📦 Установка (глобально або через npx)
```bash
# глобальна установка
npm install -g mowascript
mowa init
npm install
npm run watch
# або запуск без установки
npx mowascript <команда>
```
## 🔧 Команди CLI
### `mowa init <назва_проєкту>`
Ініціалізує новий проєкт зі стартовою структурою та шаблонами:
```
my-project/
├── docs/
│ └── doc.md
├── src/
│ └── index.mowa
├── dist/
├── package.json
├── README.md
```
🧩 Створюється `package.json`, копіюються шаблонні файли, додаються залежності.
### `mowa build`
Компілірує всі `.mowa` файли з `src/` у `.js` файли в `dist/`.
- Читає всі `.mowa` файли в `src/`
- Транспайлить їх у JavaScript
- Зберігає результат у `dist/` з тією ж структурою
### `mowa run <файл.mowa>`
Запускає `.mowa` файл напряму:
- Транспайлить у JavaScript
- Виводить код у консоль
- Виконує його через `eval`
### `mowa watch`
Режим слідкування:
- Слідкує за всіма `.mowa` файлами у `src/`
- Автоматично компілює при зміні
- Видаляє `.js` при видаленні `.mowa`
Корисно під час розробки — не потрібно вручну запускати `build` кожного разу.
## 📄 Під капотом
CLI реалізований у файлі `mowa.js`. Основні частини:
- `initProject()` — створює структуру та package.json
- `buildProject()` — компілює `.mowa` → `.js`
- `runFile()` — запускає один файл через `eval`
- `watchProject()` — автоматичний `watch` і трансляція
## 🧠 Поради
- Використовуй `mowa watch` під час розробки
- Пиши код у `src/`, результат буде в `dist/`
- Додай `npm run build` у `scripts` для зручності
## ⛓ Приклад package.json після `init`
```json
{
"name": "my-project",
"version": "1.0.0",
"type": "module",
"scripts": {
"build": "mowa build",
"start": "node dist/index.js"
},
"dependencies": {
"mowascript": "^1.0.0"
}
}
```
Цей CLI — серце MowaJS. Він робить запуск, збірку та ініціалізацію максимально зручними, а твій досвід — максимально слов’янським ❤️