@vira-ui/cli 1.1.2 → 1.2.0
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 +454 -1029
- package/dist/go/appYaml.js +30 -30
- package/dist/go/backendEnvExample.js +17 -17
- package/dist/go/backendReadme.js +14 -14
- package/dist/go/channelHelpers.js +25 -25
- package/dist/go/configGo.js +258 -258
- package/dist/go/dbGo.js +43 -43
- package/dist/go/dbYaml.js +7 -7
- package/dist/go/dockerCompose.js +48 -48
- package/dist/go/dockerComposeProd.js +78 -78
- package/dist/go/dockerfile.js +15 -15
- package/dist/go/eventHandlerTemplate.js +22 -22
- package/dist/go/eventsAPI.js +411 -411
- package/dist/go/goMod.js +16 -16
- package/dist/go/kafkaGo.js +67 -67
- package/dist/go/kafkaYaml.js +6 -6
- package/dist/go/kanbanHandlers.js +216 -216
- package/dist/go/mainGo.js +558 -558
- package/dist/go/readme.js +27 -27
- package/dist/go/redisGo.js +31 -31
- package/dist/go/redisYaml.js +4 -4
- package/dist/go/registryGo.js +38 -38
- package/dist/go/sqlcYaml.js +13 -13
- package/dist/go/stateStore.js +115 -115
- package/dist/go/typesGo.js +11 -11
- package/dist/index.js +472 -24
- package/dist/react/envExample.js +3 -3
- package/dist/react/envLocal.js +1 -1
- package/dist/react/indexCss.js +17 -17
- package/dist/react/indexHtml.js +12 -12
- package/dist/react/kanbanAppTsx.js +29 -29
- package/dist/react/kanbanBoard.js +58 -58
- package/dist/react/kanbanCard.js +60 -60
- package/dist/react/kanbanColumn.js +62 -62
- package/dist/react/kanbanModels.js +32 -32
- package/dist/react/mainTsx.js +12 -12
- package/dist/react/viteConfig.js +27 -27
- package/package.json +47 -45
- package/dist/go/useViraState.js +0 -160
- package/dist/go/useViraStream.js +0 -167
package/dist/go/dockerCompose.js
CHANGED
|
@@ -1,52 +1,52 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.dockerCompose = void 0;
|
|
4
|
-
exports.dockerCompose = `
|
|
5
|
-
services:
|
|
6
|
-
postgres:
|
|
7
|
-
image: postgres:15
|
|
8
|
-
environment:
|
|
9
|
-
POSTGRES_USER: vira
|
|
10
|
-
POSTGRES_PASSWORD: vira
|
|
11
|
-
POSTGRES_DB: vira
|
|
12
|
-
ports:
|
|
13
|
-
- "5432:5432"
|
|
14
|
-
|
|
15
|
-
redis:
|
|
16
|
-
image: redis:7
|
|
17
|
-
ports:
|
|
18
|
-
- "6379:6379"
|
|
19
|
-
|
|
20
|
-
zookeeper:
|
|
21
|
-
image: confluentinc/cp-zookeeper:7.5.0
|
|
22
|
-
environment:
|
|
23
|
-
ZOOKEEPER_CLIENT_PORT: 2181
|
|
24
|
-
ZOOKEEPER_TICK_TIME: 2000
|
|
25
|
-
ports:
|
|
26
|
-
- "2181:2181"
|
|
27
|
-
healthcheck:
|
|
28
|
-
test: ["CMD-SHELL", "nc -z localhost 2181 || exit 1"]
|
|
29
|
-
interval: 10s
|
|
30
|
-
timeout: 5s
|
|
31
|
-
retries: 5
|
|
32
|
-
|
|
33
|
-
kafka:
|
|
34
|
-
image: confluentinc/cp-kafka:7.5.0
|
|
35
|
-
environment:
|
|
36
|
-
KAFKA_BROKER_ID: 1
|
|
37
|
-
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
|
|
38
|
-
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092
|
|
39
|
-
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
|
|
40
|
-
KAFKA_AUTO_CREATE_TOPICS_ENABLE: "true"
|
|
41
|
-
depends_on:
|
|
42
|
-
zookeeper:
|
|
43
|
-
condition: service_healthy
|
|
44
|
-
ports:
|
|
45
|
-
- "9092:9092"
|
|
46
|
-
healthcheck:
|
|
47
|
-
test: ["CMD-SHELL", "kafka-broker-api-versions --bootstrap-server localhost:9092 || exit 1"]
|
|
48
|
-
interval: 30s
|
|
49
|
-
timeout: 10s
|
|
50
|
-
retries: 5
|
|
51
|
-
start_period: 60s
|
|
4
|
+
exports.dockerCompose = `
|
|
5
|
+
services:
|
|
6
|
+
postgres:
|
|
7
|
+
image: postgres:15
|
|
8
|
+
environment:
|
|
9
|
+
POSTGRES_USER: vira
|
|
10
|
+
POSTGRES_PASSWORD: vira
|
|
11
|
+
POSTGRES_DB: vira
|
|
12
|
+
ports:
|
|
13
|
+
- "5432:5432"
|
|
14
|
+
|
|
15
|
+
redis:
|
|
16
|
+
image: redis:7
|
|
17
|
+
ports:
|
|
18
|
+
- "6379:6379"
|
|
19
|
+
|
|
20
|
+
zookeeper:
|
|
21
|
+
image: confluentinc/cp-zookeeper:7.5.0
|
|
22
|
+
environment:
|
|
23
|
+
ZOOKEEPER_CLIENT_PORT: 2181
|
|
24
|
+
ZOOKEEPER_TICK_TIME: 2000
|
|
25
|
+
ports:
|
|
26
|
+
- "2181:2181"
|
|
27
|
+
healthcheck:
|
|
28
|
+
test: ["CMD-SHELL", "nc -z localhost 2181 || exit 1"]
|
|
29
|
+
interval: 10s
|
|
30
|
+
timeout: 5s
|
|
31
|
+
retries: 5
|
|
32
|
+
|
|
33
|
+
kafka:
|
|
34
|
+
image: confluentinc/cp-kafka:7.5.0
|
|
35
|
+
environment:
|
|
36
|
+
KAFKA_BROKER_ID: 1
|
|
37
|
+
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
|
|
38
|
+
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092
|
|
39
|
+
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
|
|
40
|
+
KAFKA_AUTO_CREATE_TOPICS_ENABLE: "true"
|
|
41
|
+
depends_on:
|
|
42
|
+
zookeeper:
|
|
43
|
+
condition: service_healthy
|
|
44
|
+
ports:
|
|
45
|
+
- "9092:9092"
|
|
46
|
+
healthcheck:
|
|
47
|
+
test: ["CMD-SHELL", "kafka-broker-api-versions --bootstrap-server localhost:9092 || exit 1"]
|
|
48
|
+
interval: 30s
|
|
49
|
+
timeout: 10s
|
|
50
|
+
retries: 5
|
|
51
|
+
start_period: 60s
|
|
52
52
|
`;
|
|
@@ -1,82 +1,82 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.dockerComposeProd = void 0;
|
|
4
|
-
exports.dockerComposeProd = `
|
|
5
|
-
services:
|
|
6
|
-
postgres:
|
|
7
|
-
image: postgres:15
|
|
8
|
-
environment:
|
|
9
|
-
POSTGRES_USER: vira
|
|
10
|
-
POSTGRES_PASSWORD: vira
|
|
11
|
-
POSTGRES_DB: vira
|
|
12
|
-
volumes:
|
|
13
|
-
- pgdata:/var/lib/postgresql/data
|
|
14
|
-
|
|
15
|
-
redis:
|
|
16
|
-
image: redis:7
|
|
17
|
-
command: ["redis-server", "--appendonly", "yes"]
|
|
18
|
-
volumes:
|
|
19
|
-
- redisdata:/data
|
|
20
|
-
|
|
21
|
-
zookeeper:
|
|
22
|
-
image: confluentinc/cp-zookeeper:7.5.0
|
|
23
|
-
environment:
|
|
24
|
-
ZOOKEEPER_CLIENT_PORT: 2181
|
|
25
|
-
ZOOKEEPER_TICK_TIME: 2000
|
|
26
|
-
volumes:
|
|
27
|
-
- zookeeper-data:/var/lib/zookeeper/data
|
|
28
|
-
healthcheck:
|
|
29
|
-
test: ["CMD-SHELL", "nc -z localhost 2181 || exit 1"]
|
|
30
|
-
interval: 10s
|
|
31
|
-
timeout: 5s
|
|
32
|
-
retries: 5
|
|
33
|
-
|
|
34
|
-
kafka:
|
|
35
|
-
image: confluentinc/cp-kafka:7.5.0
|
|
36
|
-
environment:
|
|
37
|
-
KAFKA_BROKER_ID: 1
|
|
38
|
-
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
|
|
39
|
-
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092
|
|
40
|
-
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
|
|
41
|
-
KAFKA_AUTO_CREATE_TOPICS_ENABLE: "true"
|
|
42
|
-
depends_on:
|
|
43
|
-
zookeeper:
|
|
44
|
-
condition: service_healthy
|
|
45
|
-
ports:
|
|
46
|
-
- "9092:9092"
|
|
47
|
-
volumes:
|
|
48
|
-
- kafka-data:/var/lib/kafka/data
|
|
49
|
-
healthcheck:
|
|
50
|
-
test: ["CMD-SHELL", "kafka-broker-api-versions --bootstrap-server localhost:9092 || exit 1"]
|
|
51
|
-
interval: 30s
|
|
52
|
-
timeout: 10s
|
|
53
|
-
retries: 5
|
|
54
|
-
start_period: 60s
|
|
55
|
-
|
|
56
|
-
api:
|
|
57
|
-
build:
|
|
58
|
-
context: ../backend
|
|
59
|
-
depends_on:
|
|
60
|
-
- postgres
|
|
61
|
-
- redis
|
|
62
|
-
- kafka
|
|
63
|
-
environment:
|
|
64
|
-
PORT: 8080
|
|
65
|
-
DB_HOST: postgres
|
|
66
|
-
DB_PORT: 5432
|
|
67
|
-
DB_USER: vira
|
|
68
|
-
DB_PASSWORD: vira
|
|
69
|
-
DB_NAME: vira
|
|
70
|
-
DB_SSLMODE: disable
|
|
71
|
-
REDIS_HOST: redis
|
|
72
|
-
REDIS_PORT: 6379
|
|
73
|
-
KAFKA_BROKERS: kafka:9092
|
|
74
|
-
ports:
|
|
75
|
-
- "8080:8080"
|
|
76
|
-
|
|
77
|
-
volumes:
|
|
78
|
-
pgdata:
|
|
79
|
-
redisdata:
|
|
80
|
-
zookeeper-data:
|
|
81
|
-
kafka-data:
|
|
4
|
+
exports.dockerComposeProd = `
|
|
5
|
+
services:
|
|
6
|
+
postgres:
|
|
7
|
+
image: postgres:15
|
|
8
|
+
environment:
|
|
9
|
+
POSTGRES_USER: vira
|
|
10
|
+
POSTGRES_PASSWORD: vira
|
|
11
|
+
POSTGRES_DB: vira
|
|
12
|
+
volumes:
|
|
13
|
+
- pgdata:/var/lib/postgresql/data
|
|
14
|
+
|
|
15
|
+
redis:
|
|
16
|
+
image: redis:7
|
|
17
|
+
command: ["redis-server", "--appendonly", "yes"]
|
|
18
|
+
volumes:
|
|
19
|
+
- redisdata:/data
|
|
20
|
+
|
|
21
|
+
zookeeper:
|
|
22
|
+
image: confluentinc/cp-zookeeper:7.5.0
|
|
23
|
+
environment:
|
|
24
|
+
ZOOKEEPER_CLIENT_PORT: 2181
|
|
25
|
+
ZOOKEEPER_TICK_TIME: 2000
|
|
26
|
+
volumes:
|
|
27
|
+
- zookeeper-data:/var/lib/zookeeper/data
|
|
28
|
+
healthcheck:
|
|
29
|
+
test: ["CMD-SHELL", "nc -z localhost 2181 || exit 1"]
|
|
30
|
+
interval: 10s
|
|
31
|
+
timeout: 5s
|
|
32
|
+
retries: 5
|
|
33
|
+
|
|
34
|
+
kafka:
|
|
35
|
+
image: confluentinc/cp-kafka:7.5.0
|
|
36
|
+
environment:
|
|
37
|
+
KAFKA_BROKER_ID: 1
|
|
38
|
+
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
|
|
39
|
+
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092
|
|
40
|
+
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
|
|
41
|
+
KAFKA_AUTO_CREATE_TOPICS_ENABLE: "true"
|
|
42
|
+
depends_on:
|
|
43
|
+
zookeeper:
|
|
44
|
+
condition: service_healthy
|
|
45
|
+
ports:
|
|
46
|
+
- "9092:9092"
|
|
47
|
+
volumes:
|
|
48
|
+
- kafka-data:/var/lib/kafka/data
|
|
49
|
+
healthcheck:
|
|
50
|
+
test: ["CMD-SHELL", "kafka-broker-api-versions --bootstrap-server localhost:9092 || exit 1"]
|
|
51
|
+
interval: 30s
|
|
52
|
+
timeout: 10s
|
|
53
|
+
retries: 5
|
|
54
|
+
start_period: 60s
|
|
55
|
+
|
|
56
|
+
api:
|
|
57
|
+
build:
|
|
58
|
+
context: ../backend
|
|
59
|
+
depends_on:
|
|
60
|
+
- postgres
|
|
61
|
+
- redis
|
|
62
|
+
- kafka
|
|
63
|
+
environment:
|
|
64
|
+
PORT: 8080
|
|
65
|
+
DB_HOST: postgres
|
|
66
|
+
DB_PORT: 5432
|
|
67
|
+
DB_USER: vira
|
|
68
|
+
DB_PASSWORD: vira
|
|
69
|
+
DB_NAME: vira
|
|
70
|
+
DB_SSLMODE: disable
|
|
71
|
+
REDIS_HOST: redis
|
|
72
|
+
REDIS_PORT: 6379
|
|
73
|
+
KAFKA_BROKERS: kafka:9092
|
|
74
|
+
ports:
|
|
75
|
+
- "8080:8080"
|
|
76
|
+
|
|
77
|
+
volumes:
|
|
78
|
+
pgdata:
|
|
79
|
+
redisdata:
|
|
80
|
+
zookeeper-data:
|
|
81
|
+
kafka-data:
|
|
82
82
|
`;
|
package/dist/go/dockerfile.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.dockerfile = void 0;
|
|
4
|
-
exports.dockerfile = `# ---- build stage ----
|
|
5
|
-
FROM golang:1.21-alpine AS builder
|
|
6
|
-
WORKDIR /app
|
|
7
|
-
COPY go.mod go.sum ./
|
|
8
|
-
RUN go mod download
|
|
9
|
-
COPY . .
|
|
10
|
-
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o /app/bin/vira-api ./cmd/api
|
|
11
|
-
|
|
12
|
-
# ---- runtime stage ----
|
|
13
|
-
FROM gcr.io/distroless/base-debian12:nonroot
|
|
14
|
-
WORKDIR /app
|
|
15
|
-
COPY --from=builder /app/bin/vira-api /app/vira-api
|
|
16
|
-
COPY config ./config
|
|
17
|
-
EXPOSE 8080
|
|
18
|
-
ENTRYPOINT ["/app/vira-api"]
|
|
4
|
+
exports.dockerfile = `# ---- build stage ----
|
|
5
|
+
FROM golang:1.21-alpine AS builder
|
|
6
|
+
WORKDIR /app
|
|
7
|
+
COPY go.mod go.sum ./
|
|
8
|
+
RUN go mod download
|
|
9
|
+
COPY . .
|
|
10
|
+
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o /app/bin/vira-api ./cmd/api
|
|
11
|
+
|
|
12
|
+
# ---- runtime stage ----
|
|
13
|
+
FROM gcr.io/distroless/base-debian12:nonroot
|
|
14
|
+
WORKDIR /app
|
|
15
|
+
COPY --from=builder /app/bin/vira-api /app/vira-api
|
|
16
|
+
COPY config ./config
|
|
17
|
+
EXPOSE 8080
|
|
18
|
+
ENTRYPOINT ["/app/vira-api"]
|
|
19
19
|
`;
|
|
@@ -7,28 +7,28 @@ const eventHandlerTemplate = (name) => {
|
|
|
7
7
|
.filter(Boolean)
|
|
8
8
|
.map((s) => s[0].toUpperCase() + s.slice(1))
|
|
9
9
|
.join("");
|
|
10
|
-
return `package events
|
|
11
|
-
|
|
12
|
-
import (
|
|
13
|
-
"context"
|
|
14
|
-
"encoding/json"
|
|
15
|
-
"github.com/gorilla/websocket"
|
|
16
|
-
)
|
|
17
|
-
|
|
18
|
-
// ${pascal} handles event: ${name}
|
|
19
|
-
func ${pascal}(ctx context.Context, hub EventEmitter, conn *websocket.Conn, msg WSMessage) {
|
|
20
|
-
var payload map[string]any
|
|
21
|
-
if len(msg.Data) > 0 {
|
|
22
|
-
_ = json.Unmarshal(msg.Data, &payload)
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
// TODO: implement domain logic here
|
|
26
|
-
// Example: hub.Emit(ChannelCustom("demo", "echo"), payload)
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
func init() {
|
|
30
|
-
Register("${name}", ${pascal})
|
|
31
|
-
}
|
|
10
|
+
return `package events
|
|
11
|
+
|
|
12
|
+
import (
|
|
13
|
+
"context"
|
|
14
|
+
"encoding/json"
|
|
15
|
+
"github.com/gorilla/websocket"
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
// ${pascal} handles event: ${name}
|
|
19
|
+
func ${pascal}(ctx context.Context, hub EventEmitter, conn *websocket.Conn, msg WSMessage) {
|
|
20
|
+
var payload map[string]any
|
|
21
|
+
if len(msg.Data) > 0 {
|
|
22
|
+
_ = json.Unmarshal(msg.Data, &payload)
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// TODO: implement domain logic here
|
|
26
|
+
// Example: hub.Emit(ChannelCustom("demo", "echo"), payload)
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
func init() {
|
|
30
|
+
Register("${name}", ${pascal})
|
|
31
|
+
}
|
|
32
32
|
`;
|
|
33
33
|
};
|
|
34
34
|
exports.eventHandlerTemplate = eventHandlerTemplate;
|