@archznn/xavva 3.1.0 → 3.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  > Ultra-fast development toolkit for Java Enterprise (Tomcat) on Windows, Linux & macOS
4
4
 
5
- [![Version](https://img.shields.io/badge/version-3.1.0-blue.svg)](https://github.com/leorsousa05/Xavva)
5
+ [![Version](https://img.shields.io/badge/version-3.1.1-blue.svg)](https://github.com/leorsousa05/Xavva)
6
6
  [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
7
7
 
8
8
  Xavva is a high-performance CLI built with **Bun** that transforms the Java/Tomcat development experience. It brings modern development workflows (like Node.js/Vite) to the Java Enterprise ecosystem with hot-reload, smart logging, and automated deployment.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@archznn/xavva",
3
- "version": "3.1.0",
3
+ "version": "3.1.1",
4
4
  "description": "Ultra-fast CLI tool for Java/Tomcat development with Hot-Reload and Zero Config. Supports Windows, Linux and macOS.",
5
5
  "module": "src/index.ts",
6
6
  "type": "module",
@@ -19,12 +19,23 @@ export class DockerCommand implements Command {
19
19
  // Verifica se Docker está disponível
20
20
  const isAvailable = await service.isDockerAvailable();
21
21
  if (!isAvailable) {
22
- Logger.error("Docker is not available");
22
+ Logger.error("Docker CLI not found");
23
23
  Logger.info("Install", "https://docs.docker.com/get-docker/");
24
24
  await processManager.shutdown(1);
25
25
  return;
26
26
  }
27
27
 
28
+ // Verifica se o daemon está rodando
29
+ const isRunning = await service.isDaemonRunning();
30
+ if (!isRunning) {
31
+ Logger.error("Docker daemon is not running");
32
+ Logger.info("Windows", "Start Docker Desktop from the system tray");
33
+ Logger.info("Linux", "Run: sudo systemctl start docker");
34
+ Logger.info("macOS", "Start Docker Desktop from Applications");
35
+ await processManager.shutdown(1);
36
+ return;
37
+ }
38
+
28
39
  const dockerConfig: DockerConfig = {
29
40
  imageName: (args?.name as string) || config.project.appName,
30
41
  tag: (args?.tag as string) || "latest",
@@ -45,6 +45,17 @@ export class DockerService {
45
45
  });
46
46
  }
47
47
 
48
+ /**
49
+ * Verifica se o Docker daemon está rodando
50
+ */
51
+ async isDaemonRunning(): Promise<boolean> {
52
+ return new Promise((resolve) => {
53
+ const child = spawn("docker", ["info"], { shell: true });
54
+ child.on("close", (code) => resolve(code === 0));
55
+ child.on("error", () => resolve(false));
56
+ });
57
+ }
58
+
48
59
  /**
49
60
  * Gera Dockerfile para o projeto
50
61
  */