Merge pull request 'clan-app: Add webview hot-reloading' (#1724) from Qubasa/clan-core:Qubasa-main into main
All checks were successful
checks / checks-impure (push) Successful in 4m12s
deploy / deploy-docs (push) Successful in 19s
buildbot/nix-build .#checks.aarch64-linux.nixos-test_install_machine Build done.
buildbot/nix-build .#checks.x86_64-linux.package-gui-installer-archlinux Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-e2fsprogs Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-openssh Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-nix Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-rsync Build done.
buildbot/nix-build .#checks.x86_64-linux."clan-dep-python3.12-mypy" Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-pytest-with-core Build done.
buildbot/nix-build .#checks.aarch64-darwin.nixos-test_install_machine Build done.
buildbot/nix-build .#checks.aarch64-darwin.nixos-test-backup Build done.
buildbot/nix-build .#checks.aarch64-darwin.nixos-minimal-inventory-machine Build done.
buildbot/nix-build .#checks.aarch64-darwin.nixos-flash-installer Build done.
buildbot/nix-build .#checks.aarch64-linux.nixos-minimal-inventory-machine Build done.
buildbot/nix-build .#checks.aarch64-linux.nixos-test-backup Build done.
buildbot/nix-build .#checks.aarch64-linux.nixos-flash-installer Build done.
buildbot/nix-build .#checks.x86_64-linux.check-for-breakpoints Build done.
buildbot/nix-build .#checks.x86_64-linux.package-gui-installer-apk Build done.
buildbot/nix-build .#checks.x86_64-linux.package-gui-installer-deb Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-app-no-breakpoints Build done.
buildbot/nix-build .#checks.x86_64-linux.package-gui-installer-rpm Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-bash Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-age Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-git Build done.
buildbot/nix-build .#checks.x86_64-linux."clan-dep-python3.12-qemu" Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-sops Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-sshpass Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-app-pytest Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-pytest-without-core Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-tor Build done.
buildbot/nix-build .#checks.x86_64-linux.devShell-inventory-schema Build done.
buildbot/nix-build .#checks.x86_64-linux.package-webview-ui Build done.
buildbot/nix-build .#checks.x86_64-linux.package-zerotier-members Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-zbar Build done.
buildbot/nix-build .#checks.x86_64-linux.devShell-default Build done.
buildbot/nix-build .#checks.x86_64-linux.devShell-webview-ui Build done.
buildbot/nix-build .#checks.x86_64-linux.devShell-clan-app Build done.
buildbot/nix-build .#checks.x86_64-linux.lib-inventory-eval Build done.
buildbot/nix-build .#checks.x86_64-linux.lib-inventory-schema Build done.
buildbot/nix-build .#checks.x86_64-linux.lib-jsonschema-example-valid Build done.
buildbot/nix-build .#checks.x86_64-linux.container Build done.
buildbot/nix-build .#checks.x86_64-linux.devShell-clan-cli Build done.
buildbot/nix-build .#checks.x86_64-linux.module-clan-vars-eval Build done.
buildbot/nix-build .#checks.x86_64-linux.borgbackup Build done.
buildbot/nix-build .#checks.x86_64-linux.deltachat Build done.
buildbot/nix-build .#checks.x86_64-linux.matrix-synapse Build done.
buildbot/nix-build .#checks.x86_64-linux.package-clan-cli Build done.
buildbot/nix-build .#checks.x86_64-linux.package-clan-cli-docs Build done.
buildbot/nix-build .#checks.x86_64-linux.package-clan-ts-api Build done.
buildbot/nix-build .#checks.x86_64-linux.package-default Build done.
buildbot/nix-build .#checks.x86_64-linux.package-clan-app Build done.
buildbot/nix-build .#checks.x86_64-linux.nixos-test_install_machine Build done.
buildbot/nix-build .#checks.x86_64-linux.package-editor Build done.
buildbot/nix-build .#checks.x86_64-linux.devShell-docs Build done.
buildbot/nix-build .#checks.x86_64-linux.flash Build done.
buildbot/nix-build .#checks.x86_64-linux.package-impure-checks Build done.
buildbot/nix-build .#checks.x86_64-linux.package-merge-after-ci Build done.
buildbot/nix-build .#checks.x86_64-linux.package-module-docs Build done.
buildbot/nix-build .#checks.x86_64-linux.package-moonlight-sunshine-accept Build done.
buildbot/nix-build .#checks.x86_64-linux.package-pending-reviews Build done.
buildbot/nix-build .#checks.x86_64-linux.package-tea-create-pr Build done.
buildbot/nix-build .#checks.x86_64-linux.lib-jsonschema-nix-unit-tests Build done.
buildbot/nix-build .#checks.x86_64-linux.package-zt-tcp-relay Build done.
buildbot/nix-build .#checks.x86_64-linux.package-zerotierone Build done.
buildbot/nix-build .#checks.x86_64-linux.module-schema Build done.
buildbot/nix-build .#checks.x86_64-linux.nixos-test-backup Build done.
buildbot/nix-build .#checks.x86_64-linux.renderClanOptions Build done.
buildbot/nix-build .#checks.x86_64-linux.package-docs Build done.
buildbot/nix-build .#checks.x86_64-linux.package-deploy-docs Build done.
buildbot/nix-build .#checks.x86_64-linux.postgresql Build done.
buildbot/nix-build .#checks.x86_64-linux.package-function-schema Build done.
buildbot/nix-build .#checks.x86_64-linux.template-minimal Build done.
buildbot/nix-build .#checks.x86_64-linux.nixos-flash-installer Build done.
buildbot/nix-build .#checks.x86_64-linux.nixos-minimal-inventory-machine Build done.
buildbot/nix-build .#checks.x86_64-linux.package-module-schema Build done.
buildbot/nix-build .#checks.x86_64-linux.test-backups Build done.
buildbot/nix-build .#checks.x86_64-linux.treefmt Build done.
buildbot/nix-build .#checks.x86_64-linux.wayland-proxy-virtwl Build done.
buildbot/nix-build .#checks.x86_64-linux.secrets Build done.
buildbot/nix-build .#checks.x86_64-linux.syncthing Build done.
buildbot/nix-build .#checks.x86_64-linux.zt-tcp-relay Build done.
buildbot/nix-build .#checks.x86_64-linux.test-installation Build done.
buildbot/nix-build .#checks.x86_64-linux.package-gui-install-test-ubuntu-22-04 Build done.
buildbot/nix-eval Build done.
All checks were successful
checks / checks-impure (push) Successful in 4m12s
deploy / deploy-docs (push) Successful in 19s
buildbot/nix-build .#checks.aarch64-linux.nixos-test_install_machine Build done.
buildbot/nix-build .#checks.x86_64-linux.package-gui-installer-archlinux Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-e2fsprogs Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-openssh Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-nix Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-rsync Build done.
buildbot/nix-build .#checks.x86_64-linux."clan-dep-python3.12-mypy" Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-pytest-with-core Build done.
buildbot/nix-build .#checks.aarch64-darwin.nixos-test_install_machine Build done.
buildbot/nix-build .#checks.aarch64-darwin.nixos-test-backup Build done.
buildbot/nix-build .#checks.aarch64-darwin.nixos-minimal-inventory-machine Build done.
buildbot/nix-build .#checks.aarch64-darwin.nixos-flash-installer Build done.
buildbot/nix-build .#checks.aarch64-linux.nixos-minimal-inventory-machine Build done.
buildbot/nix-build .#checks.aarch64-linux.nixos-test-backup Build done.
buildbot/nix-build .#checks.aarch64-linux.nixos-flash-installer Build done.
buildbot/nix-build .#checks.x86_64-linux.check-for-breakpoints Build done.
buildbot/nix-build .#checks.x86_64-linux.package-gui-installer-apk Build done.
buildbot/nix-build .#checks.x86_64-linux.package-gui-installer-deb Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-app-no-breakpoints Build done.
buildbot/nix-build .#checks.x86_64-linux.package-gui-installer-rpm Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-bash Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-age Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-git Build done.
buildbot/nix-build .#checks.x86_64-linux."clan-dep-python3.12-qemu" Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-sops Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-sshpass Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-app-pytest Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-pytest-without-core Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-tor Build done.
buildbot/nix-build .#checks.x86_64-linux.devShell-inventory-schema Build done.
buildbot/nix-build .#checks.x86_64-linux.package-webview-ui Build done.
buildbot/nix-build .#checks.x86_64-linux.package-zerotier-members Build done.
buildbot/nix-build .#checks.x86_64-linux.clan-dep-zbar Build done.
buildbot/nix-build .#checks.x86_64-linux.devShell-default Build done.
buildbot/nix-build .#checks.x86_64-linux.devShell-webview-ui Build done.
buildbot/nix-build .#checks.x86_64-linux.devShell-clan-app Build done.
buildbot/nix-build .#checks.x86_64-linux.lib-inventory-eval Build done.
buildbot/nix-build .#checks.x86_64-linux.lib-inventory-schema Build done.
buildbot/nix-build .#checks.x86_64-linux.lib-jsonschema-example-valid Build done.
buildbot/nix-build .#checks.x86_64-linux.container Build done.
buildbot/nix-build .#checks.x86_64-linux.devShell-clan-cli Build done.
buildbot/nix-build .#checks.x86_64-linux.module-clan-vars-eval Build done.
buildbot/nix-build .#checks.x86_64-linux.borgbackup Build done.
buildbot/nix-build .#checks.x86_64-linux.deltachat Build done.
buildbot/nix-build .#checks.x86_64-linux.matrix-synapse Build done.
buildbot/nix-build .#checks.x86_64-linux.package-clan-cli Build done.
buildbot/nix-build .#checks.x86_64-linux.package-clan-cli-docs Build done.
buildbot/nix-build .#checks.x86_64-linux.package-clan-ts-api Build done.
buildbot/nix-build .#checks.x86_64-linux.package-default Build done.
buildbot/nix-build .#checks.x86_64-linux.package-clan-app Build done.
buildbot/nix-build .#checks.x86_64-linux.nixos-test_install_machine Build done.
buildbot/nix-build .#checks.x86_64-linux.package-editor Build done.
buildbot/nix-build .#checks.x86_64-linux.devShell-docs Build done.
buildbot/nix-build .#checks.x86_64-linux.flash Build done.
buildbot/nix-build .#checks.x86_64-linux.package-impure-checks Build done.
buildbot/nix-build .#checks.x86_64-linux.package-merge-after-ci Build done.
buildbot/nix-build .#checks.x86_64-linux.package-module-docs Build done.
buildbot/nix-build .#checks.x86_64-linux.package-moonlight-sunshine-accept Build done.
buildbot/nix-build .#checks.x86_64-linux.package-pending-reviews Build done.
buildbot/nix-build .#checks.x86_64-linux.package-tea-create-pr Build done.
buildbot/nix-build .#checks.x86_64-linux.lib-jsonschema-nix-unit-tests Build done.
buildbot/nix-build .#checks.x86_64-linux.package-zt-tcp-relay Build done.
buildbot/nix-build .#checks.x86_64-linux.package-zerotierone Build done.
buildbot/nix-build .#checks.x86_64-linux.module-schema Build done.
buildbot/nix-build .#checks.x86_64-linux.nixos-test-backup Build done.
buildbot/nix-build .#checks.x86_64-linux.renderClanOptions Build done.
buildbot/nix-build .#checks.x86_64-linux.package-docs Build done.
buildbot/nix-build .#checks.x86_64-linux.package-deploy-docs Build done.
buildbot/nix-build .#checks.x86_64-linux.postgresql Build done.
buildbot/nix-build .#checks.x86_64-linux.package-function-schema Build done.
buildbot/nix-build .#checks.x86_64-linux.template-minimal Build done.
buildbot/nix-build .#checks.x86_64-linux.nixos-flash-installer Build done.
buildbot/nix-build .#checks.x86_64-linux.nixos-minimal-inventory-machine Build done.
buildbot/nix-build .#checks.x86_64-linux.package-module-schema Build done.
buildbot/nix-build .#checks.x86_64-linux.test-backups Build done.
buildbot/nix-build .#checks.x86_64-linux.treefmt Build done.
buildbot/nix-build .#checks.x86_64-linux.wayland-proxy-virtwl Build done.
buildbot/nix-build .#checks.x86_64-linux.secrets Build done.
buildbot/nix-build .#checks.x86_64-linux.syncthing Build done.
buildbot/nix-build .#checks.x86_64-linux.zt-tcp-relay Build done.
buildbot/nix-build .#checks.x86_64-linux.test-installation Build done.
buildbot/nix-build .#checks.x86_64-linux.package-gui-install-test-ubuntu-22-04 Build done.
buildbot/nix-eval Build done.
This commit is contained in:
commit
0a98bd6cc7
@ -1,4 +1,35 @@
|
|||||||
# clan app
|
Sure, here's an improved version of your README:
|
||||||
|
|
||||||
|
# Clan App
|
||||||
|
|
||||||
|
A powerful application that allows users to create and manage their own clans.
|
||||||
|
|
||||||
|
## Getting Started
|
||||||
|
|
||||||
|
Follow the instructions below to set up your development environment and start the application.
|
||||||
|
|
||||||
|
|
||||||
|
1. **Navigate to the Webview UI Directory:**
|
||||||
|
|
||||||
|
Go to the `clan-core/pkgs/webview-ui/app` directory and start the web server by executing:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
vite
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **Start the Clan App:**
|
||||||
|
|
||||||
|
In the `clan-app` directory, execute the following command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
clan-app --debug --content-uri http://localhost:3000
|
||||||
|
```
|
||||||
|
|
||||||
|
This will start the application in debug mode and link it to the web server running at `http://localhost:3000`.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# clan app (old)
|
||||||
|
|
||||||
Provides users with the simple functionality to manage their locally registered clans.
|
Provides users with the simple functionality to manage their locally registered clans.
|
||||||
|
|
||||||
|
@ -10,6 +10,8 @@ from clan_app.singletons.toast import InfoToast, ToastOverlay
|
|||||||
gi.require_version("Gtk", "4.0")
|
gi.require_version("Gtk", "4.0")
|
||||||
gi.require_version("Adw", "1")
|
gi.require_version("Adw", "1")
|
||||||
|
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
from clan_cli.custom_logger import setup_logging
|
from clan_cli.custom_logger import setup_logging
|
||||||
from gi.repository import Adw, Gdk, Gio, Gtk
|
from gi.repository import Adw, Gdk, Gio, Gtk
|
||||||
|
|
||||||
@ -47,6 +49,19 @@ class MainApplication(Adw.Application):
|
|||||||
None,
|
None,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
self.add_main_option(
|
||||||
|
"content-uri",
|
||||||
|
GLib.OptionFlags.NONE,
|
||||||
|
GLib.OptionFlags.NONE,
|
||||||
|
GLib.OptionArg.STRING,
|
||||||
|
"set the webview content uri",
|
||||||
|
None,
|
||||||
|
)
|
||||||
|
|
||||||
|
site_index: Path = (
|
||||||
|
Path(__file__).parent.parent / Path("clan_app/.webui/index.html")
|
||||||
|
).resolve()
|
||||||
|
self.content_uri = f"file://{site_index}"
|
||||||
self.window: MainWindow | None = None
|
self.window: MainWindow | None = None
|
||||||
self.connect("activate", self.on_activate)
|
self.connect("activate", self.on_activate)
|
||||||
self.connect("shutdown", self.on_shutdown)
|
self.connect("shutdown", self.on_shutdown)
|
||||||
@ -82,13 +97,21 @@ class MainApplication(Adw.Application):
|
|||||||
InfoToast("Debug logging enabled").toast, "info.debugging.enabled"
|
InfoToast("Debug logging enabled").toast, "info.debugging.enabled"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if "content-uri" in options:
|
||||||
|
self.content_uri = options["content-uri"]
|
||||||
|
log.debug(f"Setting content uri to {self.content_uri}")
|
||||||
|
|
||||||
args = command_line.get_arguments()
|
args = command_line.get_arguments()
|
||||||
|
|
||||||
self.activate()
|
self.activate()
|
||||||
|
|
||||||
|
# Check if there are arguments that are not inside the options
|
||||||
if len(args) > 1:
|
if len(args) > 1:
|
||||||
uri = args[1]
|
non_option_args = [arg for arg in args[1:] if arg not in options.values()]
|
||||||
self.emit("join_request", uri)
|
if non_option_args:
|
||||||
|
uri = non_option_args[0]
|
||||||
|
self.emit("join_request", uri)
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
def on_window_hide_unhide(self, *_args: Any) -> None:
|
def on_window_hide_unhide(self, *_args: Any) -> None:
|
||||||
@ -106,7 +129,9 @@ class MainApplication(Adw.Application):
|
|||||||
def on_activate(self, source: "MainApplication") -> None:
|
def on_activate(self, source: "MainApplication") -> None:
|
||||||
if not self.window:
|
if not self.window:
|
||||||
self.init_style()
|
self.init_style()
|
||||||
self.window = MainWindow(config=ClanConfig(initial_view="webview"))
|
self.window = MainWindow(
|
||||||
|
config=ClanConfig(initial_view="webview", content_uri=self.content_uri)
|
||||||
|
)
|
||||||
self.window.set_application(self)
|
self.window.set_application(self)
|
||||||
|
|
||||||
self.window.show()
|
self.window.show()
|
||||||
|
@ -8,3 +8,4 @@ gi.require_version("Gtk", "4.0")
|
|||||||
@dataclass
|
@dataclass
|
||||||
class ClanConfig:
|
class ClanConfig:
|
||||||
initial_view: str
|
initial_view: str
|
||||||
|
content_uri: str
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
import dataclasses
|
import dataclasses
|
||||||
import json
|
import json
|
||||||
import logging
|
import logging
|
||||||
import sys
|
|
||||||
import threading
|
import threading
|
||||||
from collections.abc import Callable
|
from collections.abc import Callable
|
||||||
from dataclasses import fields, is_dataclass
|
from dataclasses import fields, is_dataclass
|
||||||
@ -18,10 +17,6 @@ gi.require_version("WebKit", "6.0")
|
|||||||
|
|
||||||
from gi.repository import Gio, GLib, Gtk, WebKit
|
from gi.repository import Gio, GLib, Gtk, WebKit
|
||||||
|
|
||||||
site_index: Path = (
|
|
||||||
Path(sys.argv[0]).absolute() / Path("../..") / Path("clan_app/.webui/index.html")
|
|
||||||
).resolve()
|
|
||||||
|
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
@ -201,7 +196,7 @@ def from_dict(t: type, data: dict[str, Any] | None) -> Any:
|
|||||||
|
|
||||||
|
|
||||||
class WebView:
|
class WebView:
|
||||||
def __init__(self, methods: dict[str, Callable]) -> None:
|
def __init__(self, content_uri: str, methods: dict[str, Callable]) -> None:
|
||||||
self.method_registry: dict[str, Callable] = methods
|
self.method_registry: dict[str, Callable] = methods
|
||||||
|
|
||||||
self.webview = WebKit.WebView()
|
self.webview = WebKit.WebView()
|
||||||
@ -217,7 +212,7 @@ class WebView:
|
|||||||
self.manager.register_script_message_handler("gtk")
|
self.manager.register_script_message_handler("gtk")
|
||||||
self.manager.connect("script-message-received", self.on_message_received)
|
self.manager.connect("script-message-received", self.on_message_received)
|
||||||
|
|
||||||
self.webview.load_uri(f"file://{site_index}")
|
self.webview.load_uri(content_uri)
|
||||||
|
|
||||||
# global mutex lock to ensure functions run sequentially
|
# global mutex lock to ensure functions run sequentially
|
||||||
self.mutex_lock = Lock()
|
self.mutex_lock = Lock()
|
||||||
|
@ -54,7 +54,7 @@ class MainWindow(Adw.ApplicationWindow):
|
|||||||
# Override platform specific functions
|
# Override platform specific functions
|
||||||
API.register(open_file)
|
API.register(open_file)
|
||||||
|
|
||||||
webview = WebView(methods=API._registry)
|
webview = WebView(methods=API._registry, content_uri=config.content_uri)
|
||||||
|
|
||||||
stack_view.add_named(webview.get_webview(), "webview")
|
stack_view.add_named(webview.get_webview(), "webview")
|
||||||
stack_view.set_visible_child_name(config.initial_view)
|
stack_view.set_visible_child_name(config.initial_view)
|
||||||
|
@ -61,9 +61,7 @@ mkShell {
|
|||||||
export PYTHONPATH="$GIT_ROOT/pkgs/clan-cli":"$PYTHONPATH"
|
export PYTHONPATH="$GIT_ROOT/pkgs/clan-cli":"$PYTHONPATH"
|
||||||
|
|
||||||
# Add the webview-ui to the .webui directory
|
# Add the webview-ui to the .webui directory
|
||||||
rm -rf ./clan_app/.webui/*
|
ln -nsf ${webview-ui}/lib/node_modules/@clan/webview-ui/dist/ ./clan_app/.webui
|
||||||
mkdir -p ./clan_app/.webui
|
|
||||||
cp -a ${webview-ui}/lib/node_modules/@clan/webview-ui/dist/* ./clan_app/.webui
|
|
||||||
chmod -R +w ./clan_app/.webui
|
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
@ -32,6 +32,27 @@
|
|||||||
self'.devShells.default
|
self'.devShells.default
|
||||||
];
|
];
|
||||||
shellHook = ''
|
shellHook = ''
|
||||||
|
export GIT_ROOT="$(git rev-parse --show-toplevel)"
|
||||||
|
export PKG_ROOT="$GIT_ROOT/pkgs/webview-ui"
|
||||||
|
export NODE_PATH="$PKG_ROOT/app/node_modules"
|
||||||
|
export PATH="$NODE_PATH/.bin:$PATH"
|
||||||
|
|
||||||
|
# Define the yellow color code
|
||||||
|
YELLOW='\033[1;33m'
|
||||||
|
# Define the reset color code
|
||||||
|
NC='\033[0m'
|
||||||
|
|
||||||
|
# Check if the directory does not exist
|
||||||
|
if [ ! -d "$PKG_ROOT/app/node_modules" ]; then
|
||||||
|
echo -e "$YELLOW The directory $PKG_ROOT/app/node_modules does not exist.$NC"
|
||||||
|
echo -e "$YELLOW Please run 'npm install' in the app directory.$NC"
|
||||||
|
echo -e "$YELLOW This will install the necessary dependencies.$NC"
|
||||||
|
echo -e "$YELLOW To serve the webview run 'vite'.$NC"
|
||||||
|
else
|
||||||
|
echo "The directory $PKG_ROOT/app/node_modules exists."
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
mkdir -p ./app/api
|
mkdir -p ./app/api
|
||||||
cat ${config.packages.clan-ts-api} > ./app/api/index.ts
|
cat ${config.packages.clan-ts-api} > ./app/api/index.ts
|
||||||
'';
|
'';
|
||||||
|
Loading…
Reference in New Issue
Block a user