mirror of
https://github.com/Quad4-Software/MeshChatX.git
synced 2026-08-18 09:49:09 -04:00
chore(locales): update dependency management references from Poetry to UV across multiple language README files
This commit is contained in:
parent
c96220e653
commit
2385cbfa93
5 changed files with 70 additions and 70 deletions
|
|
@ -31,7 +31,7 @@ MeshChatX NomadNet Node: `c10d80b1a42fa958c37a6cc30dc04f53:/page/index.mu`
|
|||
- Electron 41.x (mit Node-24-Laufzeit)
|
||||
- `.whl`-Pakete mit Webserver und eingebauten Frontend-Assets fuer mehr Deploy-Optionen
|
||||
- i18n
|
||||
- PNPM und Poetry fuer Abhaengigkeiten
|
||||
- PNPM und UV fuer Abhaengigkeiten
|
||||
|
||||
> [!WARNING]
|
||||
> MeshChatX garantiert keine Datenkompatibilitaet mit aelteren Reticulum-MeshChat-Versionen. Erstellen Sie vor Migration oder Tests eine Datensicherung.
|
||||
|
|
@ -44,7 +44,7 @@ MeshChatX NomadNet Node: `c10d80b1a42fa958c37a6cc30dc04f53:/page/index.mu`
|
|||
- Python `>=3.11` (aus `pyproject.toml`)
|
||||
- Node.js `>=24` (aus `package.json`, Feld `engines`)
|
||||
- pnpm `11.1.2` (aus `package.json`, Feld `packageManager`)
|
||||
- Poetry (verwendet in `Taskfile.yml` und CI-Workflows)
|
||||
- UV (verwendet in `Taskfile.yml` und CI-Workflows)
|
||||
|
||||
**Browser Versions Required:**
|
||||
|
||||
|
|
@ -180,13 +180,13 @@ Hinweise zu den Installationsbefehlen:
|
|||
- `verify-store-integrity=true` ist auch in der projektweiten `pnpm-workspace.yaml` gesetzt; die explizite `pnpm config set`-Zeile haertet zusaetzlich die Benutzerkonfiguration.
|
||||
- Lifecycle-Skripte (`preinstall`/`postinstall`) sind in pnpm v11+ standardmaessig blockiert. Nur die unter `allowBuilds` in `pnpm-workspace.yaml` aufgefuehrten Pakete duerfen Installationsskripte ausfuehren (aktuell `electron`, `electron-winstaller`, `esbuild`).
|
||||
- `uv lock --check` schlaegt frueh fehl, wenn `uv.lock` nicht mit `pyproject.toml` synchron ist; `uv sync --group dev` aufloest danach nur aus der Lockdatei.
|
||||
- Fuer eine strikte Lockfile-Installation (ohne implizite Lock-Aktualisierung) Poetry mit `pip install "uv==0.11.15"` pinnen, passend zur CI-Version.
|
||||
- Fuer eine strikte Lockfile-Installation (ohne implizite Lock-Aktualisierung) UV mit `pip install "uv==0.11.15"` pinnen, passend zur CI-Version.
|
||||
|
||||
Wenn Sie absichtlich Abhaengigkeiten aktualisieren wollen, fuehren Sie `pnpm update` / `uv lock` in einem dedizierten Commit aus und pruefen Sie das resultierende Lockdatei-Diff vor dem Push.
|
||||
|
||||
## Sandboxing (Linux)
|
||||
|
||||
Um das native `meshchatx`-Programm (Alias: `meshchat`) mit zusaetzlicher Dateisystem-Isolation auszufuehren, koennen Sie **Firejail** oder **Bubblewrap** (`bwrap`) nutzen, bei weiterhin normalem Netzwerkzugriff fuer Reticulum und die Web-Oberflaeche. Vollstaendige Beispiele (pip/pipx, Poetry, Hinweise zu USB-Seriell) finden Sie in:
|
||||
Um das native `meshchatx`-Programm (Alias: `meshchat`) mit zusaetzlicher Dateisystem-Isolation auszufuehren, koennen Sie **Firejail** oder **Bubblewrap** (`bwrap`) nutzen, bei weiterhin normalem Netzwerkzugriff fuer Reticulum und die Web-Oberflaeche. Vollstaendige Beispiele (pip/pipx, UV, Hinweise zu USB-Seriell) finden Sie in:
|
||||
|
||||
- [`docs/meshchatx_linux_sandbox.md`](../docs/meshchatx_linux_sandbox.md)
|
||||
|
||||
|
|
@ -234,7 +234,7 @@ task dist:fe:rpm
|
|||
|
||||
## Container-Build (Wheel, AppImage, deb, rpm)
|
||||
|
||||
`Dockerfile.build` fuehrt die gleichen Schritte wie die CI aus (Poetry, pnpm, `task`, APT-Paketabhaengigkeiten). Ausgelegt auf **linux/amd64** (NodeSource amd64, Task amd64). Standardziel ist alles; per Build-Arg ueberschreibbar.
|
||||
`Dockerfile.build` fuehrt die gleichen Schritte wie die CI aus (uv, pnpm, `task`, APT-Paketabhaengigkeiten). Ausgelegt auf **linux/amd64** (NodeSource amd64, Task amd64). Standardziel ist alles; per Build-Arg ueberschreibbar.
|
||||
|
||||
Werte fuer `MESHCHATX_BUILD_TARGETS`: `all` (Standard), `wheel` oder `electron` (AppImage + deb fuer x64 und arm64, RPM best-effort, kein wheel).
|
||||
|
||||
|
|
@ -333,16 +333,16 @@ task test:all
|
|||
task build:all
|
||||
```
|
||||
|
||||
`Makefile`-Kurzformen:
|
||||
`Makefile`-Ziele sind duenne Wrapper, die an `task` delegieren (gleiche Befehle wie oben):
|
||||
|
||||
| Befehl | Beschreibung |
|
||||
| -------------- | --------------------------------------------- |
|
||||
| `make install` | pnpm- und Poetry-Abhaengigkeiten installieren |
|
||||
| `make run` | MeshChatX ueber Poetry starten |
|
||||
| `make build` | Frontend bauen |
|
||||
| `make lint` | eslint und ruff ausfuehren |
|
||||
| `make test` | Frontend- und Backend-Tests |
|
||||
| `make clean` | Build-Artefakte und node_modules entfernen |
|
||||
| Befehl | Delegiert an | Beschreibung |
|
||||
| -------------- | --------------- | --------------------------------------------------------- |
|
||||
| `make install` | `task install` | pnpm- und UV-Abhaengigkeiten installieren |
|
||||
| `make run` | `task run` | MeshChatX ueber UV starten |
|
||||
| `make build` | `task build` | Frontend- und Backend-Artefakte bauen |
|
||||
| `make lint` | `task lint:all` | ESLint, vue-tsc, knip, Ruff und basedpyright |
|
||||
| `make test` | `task test:all` | Frontend- und Backend-Tests |
|
||||
| `make clean` | `task clean` | Build-Artefakte und node_modules entfernen |
|
||||
|
||||
## Versionierung
|
||||
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ MeshChatX NomadNet Node: `c10d80b1a42fa958c37a6cc30dc04f53:/page/index.mu`
|
|||
- Electron 41.x (runtime Node 24 incluso)
|
||||
- Wheel `.whl` con web server e asset frontend integrati per piu opzioni di deploy
|
||||
- i18n
|
||||
- PNPM e Poetry per le dipendenze
|
||||
- PNPM e UV per le dipendenze
|
||||
|
||||
> [!WARNING]
|
||||
> MeshChatX non garantisce la compatibilita dei dati con le versioni precedenti di Reticulum MeshChat. Eseguire un backup prima della migrazione o dei test.
|
||||
|
|
@ -44,7 +44,7 @@ MeshChatX NomadNet Node: `c10d80b1a42fa958c37a6cc30dc04f53:/page/index.mu`
|
|||
- Python `>=3.11` (da `pyproject.toml`)
|
||||
- Node.js `>=24` (da `package.json`, campo `engines`)
|
||||
- pnpm `11.1.2` (da `package.json`, campo `packageManager`)
|
||||
- Poetry (utilizzato in `Taskfile.yml` e nei workflow CI)
|
||||
- UV (utilizzato in `Taskfile.yml` e nei workflow CI)
|
||||
|
||||
**Browser Versions Required:**
|
||||
|
||||
|
|
@ -180,13 +180,13 @@ Note sui comandi di installazione:
|
|||
- `verify-store-integrity=true` e' impostato anche nel `pnpm-workspace.yaml` del progetto; la riga esplicita `pnpm config set` rafforza inoltre la configurazione utente.
|
||||
- Gli script di lifecycle (`preinstall`/`postinstall`) sono bloccati di default in pnpm v11+. Solo i pacchetti elencati in `allowBuilds` di `pnpm-workspace.yaml` possono eseguire script di installazione (attualmente `electron`, `electron-winstaller`, `esbuild`).
|
||||
- `uv lock --check` fallisce subito se `uv.lock` non e' allineato con `pyproject.toml`; `uv sync --group dev` risolve poi solo dal lockfile.
|
||||
- Per un'installazione Poetry strettamente basata sul lockfile (senza refresh implicito), fissa Poetry con `pip install "uv==0.11.15"`, in linea con la CI.
|
||||
- Per un'installazione UV strettamente basata sul lockfile (senza refresh implicito), fissa UV con `pip install "uv==0.11.15"`, in linea con la CI.
|
||||
|
||||
Se vuoi aggiornare intenzionalmente le dipendenze, esegui `pnpm update` / `uv lock` in un commit dedicato e rivedi il diff del lockfile prima del push.
|
||||
|
||||
## Esecuzione in sandbox (Linux)
|
||||
|
||||
Per eseguire il binario nativo `meshchatx` (alias: `meshchat`) con isolamento aggiuntivo del filesystem, puoi usare **Firejail** o **Bubblewrap** (`bwrap`) mantenendo l'accesso di rete normale per Reticulum e l'interfaccia web. Esempi completi (pip/pipx, Poetry, note sulla seriale USB) sono in:
|
||||
Per eseguire il binario nativo `meshchatx` (alias: `meshchat`) con isolamento aggiuntivo del filesystem, puoi usare **Firejail** o **Bubblewrap** (`bwrap`) mantenendo l'accesso di rete normale per Reticulum e l'interfaccia web. Esempi completi (pip/pipx, UV, note sulla seriale USB) sono in:
|
||||
|
||||
- [`docs/meshchatx_linux_sandbox.md`](../docs/meshchatx_linux_sandbox.md)
|
||||
|
||||
|
|
@ -234,7 +234,7 @@ task dist:fe:rpm
|
|||
|
||||
## Build container (wheel, AppImage, deb, rpm)
|
||||
|
||||
`Dockerfile.build` esegue le stesse fasi usate in CI (Poetry, pnpm, `task`, dipendenze APT). Orientato a **linux/amd64** (tarball NodeSource amd64, Task amd64). Il target predefinito e completo; si puo sovrascrivere con un build-arg.
|
||||
`Dockerfile.build` esegue le stesse fasi usate in CI (uv, pnpm, `task`, dipendenze APT). Orientato a **linux/amd64** (tarball NodeSource amd64, Task amd64). Il target predefinito e completo; si puo sovrascrivere con un build-arg.
|
||||
|
||||
Valori per `MESHCHATX_BUILD_TARGETS`: `all` (default), `wheel` o `electron` (AppImage + deb per x64 e arm64, RPM se possibile, senza wheel).
|
||||
|
||||
|
|
@ -333,16 +333,16 @@ task test:all
|
|||
task build:all
|
||||
```
|
||||
|
||||
Scorciatoie `Makefile`:
|
||||
I target `Makefile` sono wrapper sottili che delegano a `task` (stessi comandi di sopra):
|
||||
|
||||
| Comando | Descrizione |
|
||||
| -------------- | ----------------------------------------- |
|
||||
| `make install` | Installa dipendenze pnpm e UV |
|
||||
| `make run` | Esegue MeshChatX tramite UV |
|
||||
| `make build` | Compila il frontend |
|
||||
| `make lint` | Esegue eslint e ruff |
|
||||
| `make test` | Test frontend e backend |
|
||||
| `make clean` | Rimuove artefatti di build e node_modules |
|
||||
| Comando | Delega a | Descrizione |
|
||||
| -------------- | --------------- | ----------------------------------------------------- |
|
||||
| `make install` | `task install` | Installa dipendenze pnpm e UV |
|
||||
| `make run` | `task run` | Esegue MeshChatX tramite UV |
|
||||
| `make build` | `task build` | Compila artefatti frontend e backend |
|
||||
| `make lint` | `task lint:all` | ESLint, vue-tsc, knip, Ruff e basedpyright |
|
||||
| `make test` | `task test:all` | Test frontend e backend |
|
||||
| `make clean` | `task clean` | Rimuove artefatti di build e node_modules |
|
||||
|
||||
## Versionamento
|
||||
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ MeshChatX NomadNet Node: `c10d80b1a42fa958c37a6cc30dc04f53:/page/index.mu`
|
|||
- Electron 41.x(同梱 Node 24 ランタイム)
|
||||
- Web サーバーと同梱フロントエンドを含む `.whl` によりデプロイの選択肢を拡張
|
||||
- i18n
|
||||
- 依存関係管理に PNPM と Poetry
|
||||
- 依存関係管理に PNPM と UV
|
||||
|
||||
> [!WARNING]
|
||||
> MeshChatX は旧バージョンの Reticulum MeshChat とのデータ互換性を保証しません。マイグレーションやテスト前にデータをバックアップしてください。
|
||||
|
|
@ -44,7 +44,7 @@ MeshChatX NomadNet Node: `c10d80b1a42fa958c37a6cc30dc04f53:/page/index.mu`
|
|||
- Python `>=3.11`(`pyproject.toml` より)
|
||||
- Node.js `>=24`(`package.json` の `engines`)
|
||||
- pnpm `11.1.2`(`package.json` の `packageManager`)
|
||||
- Poetry(`Taskfile.yml` および CI ワークフローで使用)
|
||||
- UV(`Taskfile.yml` および CI ワークフローで使用)
|
||||
|
||||
**Browser Versions Required:**
|
||||
|
||||
|
|
@ -180,13 +180,13 @@ uv run python -m meshchatx.meshchat --headless --host 127.0.0.1
|
|||
- `verify-store-integrity=true` はプロジェクトの `pnpm-workspace.yaml` にも設定されています。上記の `pnpm config set` の行はユーザー設定側も明示的に固めるためのものです。
|
||||
- pnpm v11 以降、ライフサイクルスクリプト (`preinstall`/`postinstall`) はデフォルトでブロックされます。インストールスクリプトを実行できるのは `pnpm-workspace.yaml` の `allowBuilds` に列挙されたパッケージ(現在 `electron`、`electron-winstaller`、`esbuild`)だけです。
|
||||
- `uv lock --check` は `uv.lock` と `pyproject.toml` が同期していない場合に即時失敗します。その後の `uv sync --group dev` はロックファイルからのみ解決します。
|
||||
- 厳密にロックファイルだけで Poetry をインストールしたい場合は、CI と揃えるために `pip install "uv==0.11.15"` で Poetry バージョンを固定してください。
|
||||
- 厳密にロックファイルだけで UV をインストールしたい場合は、CI と揃えるために `pip install "uv==0.11.15"` で UV バージョンを固定してください。
|
||||
|
||||
意図的に依存を更新する場合は、`pnpm update` / `uv lock` を専用コミットで実行し、push 前にロックファイルの diff を必ず確認してください。
|
||||
|
||||
## サンドボックスで実行(Linux)
|
||||
|
||||
ネイティブの `meshchatx`(エイリアス: `meshchat`)をファイルシステムをより隔離した状態で動かすには、Reticulum と Web UI 向けの通常のネットワークアクセスを保ちつつ **Firejail** または **Bubblewrap**(`bwrap`)を使えます。詳しい例(pip/pipx、Poetry、USB シリアルの注意)は次を参照:
|
||||
ネイティブの `meshchatx`(エイリアス: `meshchat`)をファイルシステムをより隔離した状態で動かすには、Reticulum と Web UI 向けの通常のネットワークアクセスを保ちつつ **Firejail** または **Bubblewrap**(`bwrap`)を使えます。詳しい例(pip/pipx、UV、USB シリアルの注意)は次を参照:
|
||||
|
||||
- [`docs/meshchatx_linux_sandbox.md`](../docs/meshchatx_linux_sandbox.md)
|
||||
|
||||
|
|
@ -234,7 +234,7 @@ task dist:fe:rpm
|
|||
|
||||
## コンテナビルド(wheel、AppImage、deb、rpm)
|
||||
|
||||
`Dockerfile.build` は CI と同じ手順(Poetry、pnpm、`task`、APT 依存)を実行します。**linux/amd64** 向け(NodeSource の amd64 tarball、Task の amd64 バイナリ)。デフォルトは全ターゲット。build-arg で上書き可能。
|
||||
`Dockerfile.build` は CI と同じ手順(uv、pnpm、`task`、APT 依存)を実行します。**linux/amd64** 向け(NodeSource の amd64 tarball、Task の amd64 バイナリ)。デフォルトは全ターゲット。build-arg で上書き可能。
|
||||
|
||||
`MESHCHATX_BUILD_TARGETS` の値: `all`(既定)、`wheel`、または `electron`(x64 / arm64 の AppImage + deb、RPM はベストエフォート、wheel なし)。
|
||||
|
||||
|
|
@ -333,16 +333,16 @@ task test:all
|
|||
task build:all
|
||||
```
|
||||
|
||||
`Makefile` のショートカット:
|
||||
`Makefile` のターゲットは `task` に委譲する薄いラッパーです(上記と同じコマンド):
|
||||
|
||||
| コマンド | 説明 |
|
||||
| -------------- | ------------------------------------ |
|
||||
| `make install` | pnpm と UV の依存関係をインストール |
|
||||
| `make run` | UV 経由で MeshChatX を実行 |
|
||||
| `make build` | フロントエンドをビルド |
|
||||
| `make lint` | eslint と ruff を実行 |
|
||||
| `make test` | フロントエンドとバックエンドのテスト |
|
||||
| `make clean` | ビルド成果物と node_modules を削除 |
|
||||
| コマンド | 委譲先 | 説明 |
|
||||
| -------------- | --------------- | ------------------------------------------------------ |
|
||||
| `make install` | `task install` | pnpm と UV の依存関係をインストール |
|
||||
| `make run` | `task run` | UV 経由で MeshChatX を実行 |
|
||||
| `make build` | `task build` | フロントエンドとバックエンドの成果物をビルド |
|
||||
| `make lint` | `task lint:all` | ESLint、vue-tsc、knip、Ruff、basedpyright |
|
||||
| `make test` | `task test:all` | フロントエンドとバックエンドのテスト |
|
||||
| `make clean` | `task clean` | ビルド成果物と node_modules を削除 |
|
||||
|
||||
## バージョン管理
|
||||
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ MeshChatX NomadNet Node: `c10d80b1a42fa958c37a6cc30dc04f53:/page/index.mu`
|
|||
- Electron 41.x (встроенная среда Node 24)
|
||||
- Колёса `.whl` с веб-сервером и встроенным фронтендом для разных сценариев развёртывания
|
||||
- i18n
|
||||
- PNPM и Poetry для зависимостей
|
||||
- PNPM и UV для зависимостей
|
||||
|
||||
> [!WARNING]
|
||||
> MeshChatX не гарантирует совместимость данных со старыми версиями Reticulum MeshChat. Сделайте резервную копию перед миграцией или тестированием.
|
||||
|
|
@ -44,7 +44,7 @@ MeshChatX NomadNet Node: `c10d80b1a42fa958c37a6cc30dc04f53:/page/index.mu`
|
|||
- Python `>=3.11` (из `pyproject.toml`)
|
||||
- Node.js `>=24` (из `package.json`, поле `engines`)
|
||||
- pnpm `11.1.2` (из `package.json`, поле `packageManager`)
|
||||
- Poetry (используется в `Taskfile.yml` и CI)
|
||||
- UV (используется в `Taskfile.yml` и CI)
|
||||
|
||||
**Browser Versions Required:**
|
||||
|
||||
|
|
@ -180,13 +180,13 @@ uv run python -m meshchatx.meshchat --headless --host 127.0.0.1
|
|||
- `verify-store-integrity=true` уже задан в `pnpm-workspace.yaml` проекта; явный `pnpm config set` дополнительно ужесточает пользовательскую конфигурацию.
|
||||
- Lifecycle-скрипты (`preinstall`/`postinstall`) по умолчанию заблокированы в pnpm v11+. Скрипты установки могут запускать только пакеты из `allowBuilds` в `pnpm-workspace.yaml` (сейчас `electron`, `electron-winstaller`, `esbuild`).
|
||||
- `uv lock --check` сразу падает, если `uv.lock` не синхронизирован с `pyproject.toml`; затем `uv sync --group dev` ставит зависимости только из lock-файла.
|
||||
- Для строгой установки Poetry только из lock-файла зафиксируйте версию Poetry через `pip install "uv==0.11.15"`, как это делает CI.
|
||||
- Для строгой установки только из lock-файла зафиксируйте UV через `pip install "uv==0.11.15"`, как это делает CI.
|
||||
|
||||
Если вы намеренно хотите обновить зависимости, выполните `pnpm update` / `uv lock` отдельным коммитом и проверьте diff lock-файлов до пуша.
|
||||
|
||||
## Запуск в песочнице (Linux)
|
||||
|
||||
Чтобы запускать нативный `meshchatx` (псевдоним: `meshchat`) с дополнительной изоляцией файловой системы, можно использовать **Firejail** или **Bubblewrap** (`bwrap`), сохраняя обычный сетевой доступ для Reticulum и веб-интерфейса. Полные примеры (pip/pipx, Poetry, USB-serial) в:
|
||||
Чтобы запускать нативный `meshchatx` (псевдоним: `meshchat`) с дополнительной изоляцией файловой системы, можно использовать **Firejail** или **Bubblewrap** (`bwrap`), сохраняя обычный сетевой доступ для Reticulum и веб-интерфейса. Полные примеры (pip/pipx, UV, USB-serial) в:
|
||||
|
||||
- [`docs/meshchatx_linux_sandbox.md`](../docs/meshchatx_linux_sandbox.md)
|
||||
|
||||
|
|
@ -234,7 +234,7 @@ task dist:fe:rpm
|
|||
|
||||
## Сборка в контейнере (wheel, AppImage, deb, rpm)
|
||||
|
||||
`Dockerfile.build` выполняет те же шаги, что и CI (Poetry, pnpm, `task`, пакетные зависимости APT). Ориентирован на **linux/amd64** (NodeSource amd64, Task amd64). Цель по умолчанию: всё; её можно переопределить build-arg.
|
||||
`Dockerfile.build` выполняет те же шаги, что и CI (uv, pnpm, `task`, пакетные зависимости APT). Ориентирован на **linux/amd64** (NodeSource amd64, Task amd64). Цель по умолчанию: всё; её можно переопределить build-arg.
|
||||
|
||||
Для `MESHCHATX_BUILD_TARGETS` доступны: `all` (по умолчанию), `wheel` или `electron` (AppImage + deb для x64 и arm64, RPM по возможности, без wheel).
|
||||
|
||||
|
|
@ -333,16 +333,16 @@ task test:all
|
|||
task build:all
|
||||
```
|
||||
|
||||
Сокращения `Makefile`:
|
||||
Цели `Makefile` — тонкие обёртки, делегирующие в `task` (те же команды, что выше):
|
||||
|
||||
| Команда | Описание |
|
||||
| -------------- | --------------------------------------- |
|
||||
| `make install` | Установить зависимости pnpm и UV |
|
||||
| `make run` | Запуск MeshChatX через UV |
|
||||
| `make build` | Сборка фронтенда |
|
||||
| `make lint` | eslint и ruff |
|
||||
| `make test` | Тесты фронтенда и бэкенда |
|
||||
| `make clean` | Удалить артефакты сборки и node_modules |
|
||||
| Команда | Делегирует в | Описание |
|
||||
| -------------- | --------------- | ----------------------------------------------------- |
|
||||
| `make install` | `task install` | Установить зависимости pnpm и UV |
|
||||
| `make run` | `task run` | Запуск MeshChatX через UV |
|
||||
| `make build` | `task build` | Сборка артефактов фронтенда и бэкенда |
|
||||
| `make lint` | `task lint:all` | ESLint, vue-tsc, knip, Ruff и basedpyright |
|
||||
| `make test` | `task test:all` | Тесты фронтенда и бэкенда |
|
||||
| `make clean` | `task clean` | Удалить артефакты сборки и node_modules |
|
||||
|
||||
## Версионирование
|
||||
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ MeshChatX NomadNet Node: `c10d80b1a42fa958c37a6cc30dc04f53:/page/index.mu`
|
|||
- 使用 Electron 41.x(内置 Node 24 运行时)
|
||||
- `.whl` 内置 Web 服务器与前端资源,便于多种部署方式
|
||||
- i18n
|
||||
- 使用 PNPM 与 Poetry 管理依赖
|
||||
- 使用 PNPM 与 UV 管理依赖
|
||||
|
||||
> [!WARNING]
|
||||
> MeshChatX 不保证与旧版 Reticulum MeshChat 的数据兼容。迁移或测试前请备份数据。
|
||||
|
|
@ -44,7 +44,7 @@ MeshChatX NomadNet Node: `c10d80b1a42fa958c37a6cc30dc04f53:/page/index.mu`
|
|||
- Python `>=3.11`(来自 `pyproject.toml`)
|
||||
- Node.js `>=24`(来自 `package.json` 的 `engines`)
|
||||
- pnpm `11.1.2`(来自 `package.json` 的 `packageManager`)
|
||||
- Poetry(用于 `Taskfile.yml` 与 CI 工作流)
|
||||
- UV(用于 `Taskfile.yml` 与 CI 工作流)
|
||||
|
||||
**Browser Versions Required:**
|
||||
|
||||
|
|
@ -180,13 +180,13 @@ uv run python -m meshchatx.meshchat --headless --host 127.0.0.1
|
|||
- `verify-store-integrity=true` 已在项目的 `pnpm-workspace.yaml` 中设置;显式的 `pnpm config set` 行同时加固用户级配置。
|
||||
- pnpm v11+ 默认禁用所有生命周期脚本(`preinstall`/`postinstall`)。仅 `pnpm-workspace.yaml` 中 `allowBuilds` 列出的包允许执行安装脚本(当前为 `electron`、`electron-winstaller`、`esbuild`)。
|
||||
- `uv lock --check` 会在 `uv.lock` 与 `pyproject.toml` 不同步时立即失败;随后的 `uv sync --group dev` 只会从 lock 文件解析依赖。
|
||||
- 若需严格按 lock 文件安装 Poetry 依赖(不进行隐式刷新),用 `pip install "uv==0.11.15"` 固定 Poetry 版本,与 CI 保持一致。
|
||||
- 若需严格按 lock 文件安装 UV(不进行隐式刷新),用 `pip install "uv==0.11.15"` 固定 UV 版本,与 CI 保持一致。
|
||||
|
||||
如果确有意愿更新依赖,请在独立提交中运行 `pnpm update` / `uv lock`,并在推送前审查生成的 lock 文件 diff。
|
||||
|
||||
## 在沙盒中运行(Linux)
|
||||
|
||||
若要在额外隔离文件系统的情况下运行原生 `meshchatx`(别名:`meshchat`),可使用 **Firejail** 或 **Bubblewrap**(`bwrap`),同时保留 Reticulum 与 Web 界面所需的网络访问。完整示例(pip/pipx、Poetry、USB 串口说明)见:
|
||||
若要在额外隔离文件系统的情况下运行原生 `meshchatx`(别名:`meshchat`),可使用 **Firejail** 或 **Bubblewrap**(`bwrap`),同时保留 Reticulum 与 Web 界面所需的网络访问。完整示例(pip/pipx、UV、USB 串口说明)见:
|
||||
|
||||
- [`docs/meshchatx_linux_sandbox.md`](../docs/meshchatx_linux_sandbox.md)
|
||||
|
||||
|
|
@ -234,7 +234,7 @@ task dist:fe:rpm
|
|||
|
||||
## 容器构建(wheel、AppImage、deb、rpm)
|
||||
|
||||
`Dockerfile.build` 执行与 CI 相同的步骤(Poetry、pnpm、`task`、APT 等)。面向 **linux/amd64**(NodeSource amd64 压缩包、Task amd64 二进制)。默认目标为全部;可用 build 参数覆盖。
|
||||
`Dockerfile.build` 执行与 CI 相同的步骤(uv、pnpm、`task`、APT 等)。面向 **linux/amd64**(NodeSource amd64 压缩包、Task amd64 二进制)。默认目标为全部;可用 build 参数覆盖。
|
||||
|
||||
`MESHCHATX_BUILD_TARGETS` 可选:`all`(默认)、`wheel` 或 `electron`(x64 与 arm64 的 AppImage + deb、尽力构建 RPM、不含 wheel)。
|
||||
|
||||
|
|
@ -333,16 +333,16 @@ task test:all
|
|||
task build:all
|
||||
```
|
||||
|
||||
`Makefile` 快捷方式:
|
||||
`Makefile` 目标为委托给 `task` 的薄封装(与上文命令相同):
|
||||
|
||||
| 命令 | 说明 |
|
||||
| -------------- | --------------------------- |
|
||||
| `make install` | 安装 pnpm 与 UV 依赖 |
|
||||
| `make run` | 通过 UV 运行 MeshChatX |
|
||||
| `make build` | 构建前端 |
|
||||
| `make lint` | 运行 eslint 与 ruff |
|
||||
| `make test` | 运行前端与后端测试 |
|
||||
| `make clean` | 移除构建产物与 node_modules |
|
||||
| 命令 | 委托至 | 说明 |
|
||||
| -------------- | --------------- | ----------------------------------------- |
|
||||
| `make install` | `task install` | 安装 pnpm 与 UV 依赖 |
|
||||
| `make run` | `task run` | 通过 UV 运行 MeshChatX |
|
||||
| `make build` | `task build` | 构建前端与后端产物 |
|
||||
| `make lint` | `task lint:all` | ESLint、vue-tsc、knip、Ruff 与 basedpyright |
|
||||
| `make test` | `task test:all` | 运行前端与后端测试 |
|
||||
| `make clean` | `task clean` | 移除构建产物与 node_modules |
|
||||
|
||||
## 版本管理
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue