@hot-updater/console 0.12.6 → 0.13.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.
@@ -3,7 +3,7 @@ import * as ButtonPrimitive from "@kobalte/core/button";
3
3
  import type { PolymorphicProps } from "@kobalte/core/polymorphic";
4
4
  import type { VariantProps } from "class-variance-authority";
5
5
  declare const buttonVariants: (props?: ({
6
- variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
6
+ variant?: "default" | "destructive" | "link" | "outline" | "secondary" | "ghost" | null | undefined;
7
7
  size?: "default" | "sm" | "lg" | "icon" | null | undefined;
8
8
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
9
9
  type ButtonProps<T extends ValidComponent = "button"> = ButtonPrimitive.ButtonRootProps<T> & VariantProps<typeof buttonVariants> & {
@@ -0,0 +1,41 @@
1
+ import type { JSX, ValidComponent } from "solid-js";
2
+ import type { PolymorphicProps } from "@kobalte/core/polymorphic";
3
+ import * as ToastPrimitive from "@kobalte/core/toast";
4
+ import type { VariantProps } from "class-variance-authority";
5
+ declare const toastVariants: (props?: ({
6
+ variant?: "default" | "destructive" | "success" | "warning" | "error" | null | undefined;
7
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
+ type ToastVariant = NonNullable<VariantProps<typeof toastVariants>["variant"]>;
9
+ type ToastListProps<T extends ValidComponent = "ol"> = ToastPrimitive.ToastListProps<T> & {
10
+ class?: string | undefined;
11
+ };
12
+ declare const Toaster: <T extends ValidComponent = "ol">(props: PolymorphicProps<T, ToastListProps<T>>) => JSX.Element;
13
+ type ToastRootProps<T extends ValidComponent = "li"> = ToastPrimitive.ToastRootProps<T> & VariantProps<typeof toastVariants> & {
14
+ class?: string | undefined;
15
+ };
16
+ declare const Toast: <T extends ValidComponent = "li">(props: PolymorphicProps<T, ToastRootProps<T>>) => JSX.Element;
17
+ type ToastCloseButtonProps<T extends ValidComponent = "button"> = ToastPrimitive.ToastCloseButtonProps<T> & {
18
+ class?: string | undefined;
19
+ };
20
+ declare const ToastClose: <T extends ValidComponent = "button">(props: PolymorphicProps<T, ToastCloseButtonProps<T>>) => JSX.Element;
21
+ type ToastTitleProps<T extends ValidComponent = "div"> = ToastPrimitive.ToastTitleProps<T> & {
22
+ class?: string | undefined;
23
+ };
24
+ declare const ToastTitle: <T extends ValidComponent = "div">(props: PolymorphicProps<T, ToastTitleProps<T>>) => JSX.Element;
25
+ type ToastDescriptionProps<T extends ValidComponent = "div"> = ToastPrimitive.ToastDescriptionProps<T> & {
26
+ class?: string | undefined;
27
+ };
28
+ declare const ToastDescription: <T extends ValidComponent = "div">(props: PolymorphicProps<T, ToastDescriptionProps<T>>) => JSX.Element;
29
+ declare function showToast(props: {
30
+ title?: JSX.Element;
31
+ description?: JSX.Element;
32
+ variant?: ToastVariant;
33
+ duration?: number;
34
+ }): void;
35
+ declare function showToastPromise<T, U>(promise: Promise<T> | (() => Promise<T>), options: {
36
+ loading?: JSX.Element;
37
+ success?: (data: T) => JSX.Element;
38
+ error?: (error: U) => JSX.Element;
39
+ duration?: number;
40
+ }): number;
41
+ export { Toaster, Toast, ToastClose, ToastTitle, ToastDescription, showToast, showToastPromise, };
@@ -0,0 +1,9 @@
1
+ import type { Platform } from "@hot-updater/plugin-core";
2
+ export declare const useFilter: () => {
3
+ bundleIdFilter: import("solid-js").Accessor<string | null>;
4
+ channelFilter: import("solid-js").Accessor<string | null>;
5
+ platformFilter: import("solid-js").Accessor<Platform | null>;
6
+ setBundleIdFilter: (bundleId: string | null) => void;
7
+ setChannelFilter: (channel: string | null) => void;
8
+ setPlatformFilter: (platform: Platform | null) => void;
9
+ };
@@ -1,51 +1,46 @@
1
1
  export declare const api: {
2
- getConfig: import("hono/client").ClientRequest<{
2
+ config: import("hono/client").ClientRequest<{
3
3
  $get: {
4
4
  input: {};
5
5
  output: {
6
6
  console: {
7
- gitUrl?: string | undefined;
8
- port?: number | undefined;
9
- } | undefined;
7
+ gitUrl: string;
8
+ port: number;
9
+ };
10
10
  };
11
11
  outputFormat: "json";
12
12
  status: import("hono/utils/http-status").StatusCode;
13
13
  };
14
14
  }>;
15
15
  } & {
16
- isConfigLoaded: import("hono/client").ClientRequest<{
16
+ channels: import("hono/client").ClientRequest<{
17
17
  $get: {
18
18
  input: {};
19
- output: boolean;
19
+ output: string[];
20
20
  outputFormat: "json";
21
21
  status: import("hono/utils/http-status").StatusCode;
22
22
  };
23
23
  }>;
24
24
  } & {
25
- getBundles: import("hono/client").ClientRequest<{
25
+ "config-loaded": import("hono/client").ClientRequest<{
26
26
  $get: {
27
27
  input: {};
28
28
  output: {
29
- id: string;
30
- platform: import("@hot-updater/core").Platform;
31
- targetAppVersion: string;
32
- shouldForceUpdate: boolean;
33
- enabled: boolean;
34
- fileUrl: string;
35
- fileHash: string;
36
- gitCommitHash: string | null;
37
- message: string | null;
38
- }[];
29
+ configLoaded: boolean;
30
+ };
39
31
  outputFormat: "json";
40
32
  status: import("hono/utils/http-status").StatusCode;
41
33
  };
42
34
  }>;
43
35
  } & {
44
- getBundleById: import("hono/client").ClientRequest<{
36
+ bundles: import("hono/client").ClientRequest<{
45
37
  $get: {
46
38
  input: {
47
39
  query: {
48
- bundleId: string | string[];
40
+ channel?: string;
41
+ platform?: "ios" | "android";
42
+ limit?: string;
43
+ offset?: string;
49
44
  };
50
45
  };
51
46
  output: {
@@ -54,64 +49,109 @@ export declare const api: {
54
49
  targetAppVersion: string;
55
50
  shouldForceUpdate: boolean;
56
51
  enabled: boolean;
57
- fileUrl: string;
58
52
  fileHash: string;
59
53
  gitCommitHash: string | null;
60
54
  message: string | null;
61
- } | null;
55
+ channel: string;
56
+ }[];
62
57
  outputFormat: "json";
63
58
  status: import("hono/utils/http-status").StatusCode;
64
59
  };
65
60
  }>;
66
61
  } & {
67
- updateBundle: import("hono/client").ClientRequest<{
68
- $post: {
69
- input: {
70
- json: {
71
- bundle: {
72
- platform?: "ios" | "android" | undefined;
73
- gitCommitHash?: string | null | undefined;
74
- message?: string | null | undefined;
75
- targetAppVersion?: string | undefined;
76
- shouldForceUpdate?: boolean | undefined;
77
- enabled?: boolean | undefined;
78
- fileUrl?: string | undefined;
79
- fileHash?: string | undefined;
62
+ bundles: {
63
+ ":bundleId": import("hono/client").ClientRequest<{
64
+ $get: {
65
+ input: {
66
+ param: {
67
+ bundleId: string;
80
68
  };
81
- targetBundleId: string;
82
69
  };
70
+ output: {
71
+ id: string;
72
+ platform: import("@hot-updater/core").Platform;
73
+ targetAppVersion: string;
74
+ shouldForceUpdate: boolean;
75
+ enabled: boolean;
76
+ fileHash: string;
77
+ gitCommitHash: string | null;
78
+ message: string | null;
79
+ channel: string;
80
+ } | null;
81
+ outputFormat: "json";
82
+ status: import("hono/utils/http-status").StatusCode;
83
83
  };
84
- output: true;
85
- outputFormat: "json";
86
- status: import("hono/utils/http-status").StatusCode;
87
- };
88
- }>;
84
+ } & {
85
+ $patch: {
86
+ input: {
87
+ json: Partial<import("@hot-updater/core").Bundle>;
88
+ } & {
89
+ param: {
90
+ bundleId: string;
91
+ };
92
+ };
93
+ output: {
94
+ error: string;
95
+ };
96
+ outputFormat: "json";
97
+ status: 400;
98
+ } | {
99
+ input: {
100
+ json: Partial<import("@hot-updater/core").Bundle>;
101
+ } & {
102
+ param: {
103
+ bundleId: string;
104
+ };
105
+ };
106
+ output: {
107
+ success: boolean;
108
+ };
109
+ outputFormat: "json";
110
+ status: import("hono/utils/http-status").StatusCode;
111
+ } | {
112
+ input: {
113
+ json: Partial<import("@hot-updater/core").Bundle>;
114
+ } & {
115
+ param: {
116
+ bundleId: string;
117
+ };
118
+ };
119
+ output: {
120
+ error: string;
121
+ };
122
+ outputFormat: "json";
123
+ status: 500;
124
+ };
125
+ }>;
126
+ };
89
127
  };
90
- export declare const createBundlesQuery: () => import("@tanstack/solid-query").CreateQueryResult<{
128
+ import type { Accessor } from "solid-js";
129
+ export declare const createBundlesQuery: (query: Accessor<Parameters<typeof api.bundles.$get>[0]["query"]>) => import("@tanstack/solid-query").CreateQueryResult<{
91
130
  id: string;
92
131
  platform: import("@hot-updater/core").Platform;
93
132
  targetAppVersion: string;
94
133
  shouldForceUpdate: boolean;
95
134
  enabled: boolean;
96
- fileUrl: string;
97
135
  fileHash: string;
98
136
  gitCommitHash: string | null;
99
137
  message: string | null;
138
+ channel: string;
100
139
  }[], Error>;
101
- export declare const createConfigQuery: () => import("@tanstack/solid-query").CreateQueryResult<{
102
- console: {
103
- gitUrl?: string | undefined;
104
- port?: number | undefined;
105
- } | undefined;
106
- }, Error>;
107
140
  export declare const createBundleQuery: (bundleId: string) => import("@tanstack/solid-query").CreateQueryResult<{
108
141
  id: string;
109
142
  platform: import("@hot-updater/core").Platform;
110
143
  targetAppVersion: string;
111
144
  shouldForceUpdate: boolean;
112
145
  enabled: boolean;
113
- fileUrl: string;
114
146
  fileHash: string;
115
147
  gitCommitHash: string | null;
116
148
  message: string | null;
149
+ channel: string;
117
150
  } | null, Error>;
151
+ export declare const createConfigQuery: () => import("@tanstack/solid-query").CreateQueryResult<{
152
+ console: {
153
+ gitUrl: string;
154
+ port: number;
155
+ };
156
+ }, Error>;
157
+ export declare const createChannelsQuery: () => import("@tanstack/solid-query").CreateQueryResult<string[] | null, Error>;
@@ -1,9 +1,8 @@
1
1
  import { type ColumnDef } from "@tanstack/solid-table";
2
- import { type Accessor } from "solid-js";
3
- interface DataTableProps<TData, TValue> {
4
- columns: ColumnDef<TData, TValue>[];
5
- data: Accessor<TData[] | undefined>;
6
- onRowClick: (data: TData) => void;
2
+ import type { Bundle } from "@hot-updater/core";
3
+ interface DataTableProps {
4
+ columns: ColumnDef<Bundle>[];
5
+ onRowClick: (data: Bundle) => void;
7
6
  }
8
- export declare function DataTable<TData, TValue>(props: DataTableProps<TData, TValue>): import("solid-js").JSX.Element;
7
+ export declare function DataTable(props: DataTableProps): import("solid-js").JSX.Element;
9
8
  export {};
@@ -12,9 +12,9 @@ declare const app: Hono<{}, {
12
12
  input: {};
13
13
  output: {
14
14
  console: {
15
- gitUrl?: string | undefined;
16
- port?: number | undefined;
17
- } | undefined;
15
+ gitUrl: string;
16
+ port: number;
17
+ };
18
18
  };
19
19
  outputFormat: "json";
20
20
  status: import("hono/utils/http-status").StatusCode;
@@ -22,23 +22,39 @@ declare const app: Hono<{}, {
22
22
  } | {
23
23
  $get: {
24
24
  input: {};
25
- output: boolean;
25
+ output: string[];
26
26
  outputFormat: "json";
27
27
  status: import("hono/utils/http-status").StatusCode;
28
28
  };
29
29
  } | {
30
30
  $get: {
31
31
  input: {};
32
+ output: {
33
+ configLoaded: boolean;
34
+ };
35
+ outputFormat: "json";
36
+ status: import("hono/utils/http-status").StatusCode;
37
+ };
38
+ } | {
39
+ $get: {
40
+ input: {
41
+ query: {
42
+ channel?: string;
43
+ platform?: "ios" | "android";
44
+ limit?: string;
45
+ offset?: string;
46
+ };
47
+ };
32
48
  output: {
33
49
  id: string;
34
50
  platform: import("@hot-updater/core").Platform;
35
51
  targetAppVersion: string;
36
52
  shouldForceUpdate: boolean;
37
53
  enabled: boolean;
38
- fileUrl: string;
39
54
  fileHash: string;
40
55
  gitCommitHash: string | null;
41
56
  message: string | null;
57
+ channel: string;
42
58
  }[];
43
59
  outputFormat: "json";
44
60
  status: import("hono/utils/http-status").StatusCode;
@@ -46,8 +62,8 @@ declare const app: Hono<{}, {
46
62
  } | {
47
63
  $get: {
48
64
  input: {
49
- query: {
50
- bundleId: string | string[];
65
+ param: {
66
+ bundleId: string;
51
67
  };
52
68
  };
53
69
  output: {
@@ -56,34 +72,53 @@ declare const app: Hono<{}, {
56
72
  targetAppVersion: string;
57
73
  shouldForceUpdate: boolean;
58
74
  enabled: boolean;
59
- fileUrl: string;
60
75
  fileHash: string;
61
76
  gitCommitHash: string | null;
62
77
  message: string | null;
78
+ channel: string;
63
79
  } | null;
64
80
  outputFormat: "json";
65
81
  status: import("hono/utils/http-status").StatusCode;
66
82
  };
67
- } | {
68
- $post: {
83
+ $patch: {
84
+ input: {
85
+ json: Partial<import("@hot-updater/core").Bundle>;
86
+ } & {
87
+ param: {
88
+ bundleId: string;
89
+ };
90
+ };
91
+ output: {
92
+ error: string;
93
+ };
94
+ outputFormat: "json";
95
+ status: 400;
96
+ } | {
69
97
  input: {
70
- json: {
71
- bundle: {
72
- platform?: "ios" | "android" | undefined;
73
- gitCommitHash?: string | null | undefined;
74
- message?: string | null | undefined;
75
- targetAppVersion?: string | undefined;
76
- shouldForceUpdate?: boolean | undefined;
77
- enabled?: boolean | undefined;
78
- fileUrl?: string | undefined;
79
- fileHash?: string | undefined;
80
- };
81
- targetBundleId: string;
98
+ json: Partial<import("@hot-updater/core").Bundle>;
99
+ } & {
100
+ param: {
101
+ bundleId: string;
82
102
  };
83
103
  };
84
- output: true;
104
+ output: {
105
+ success: boolean;
106
+ };
85
107
  outputFormat: "json";
86
108
  status: import("hono/utils/http-status").StatusCode;
109
+ } | {
110
+ input: {
111
+ json: Partial<import("@hot-updater/core").Bundle>;
112
+ } & {
113
+ param: {
114
+ bundleId: string;
115
+ };
116
+ };
117
+ output: {
118
+ error: string;
119
+ };
120
+ outputFormat: "json";
121
+ status: 500;
87
122
  };
88
123
  };
89
124
  } & {
@@ -1,64 +1,71 @@
1
+ import { type Bundle } from "@hot-updater/plugin-core";
1
2
  import { Hono } from "hono";
2
- import * as v from "valibot";
3
- export declare const bundleSchema: v.ObjectSchema<{
4
- readonly platform: v.UnionSchema<[v.LiteralSchema<"ios", undefined>, v.LiteralSchema<"android", undefined>], undefined>;
5
- readonly targetAppVersion: v.StringSchema<undefined>;
6
- readonly id: v.StringSchema<undefined>;
7
- readonly shouldForceUpdate: v.BooleanSchema<undefined>;
8
- readonly enabled: v.BooleanSchema<undefined>;
9
- readonly fileUrl: v.StringSchema<undefined>;
10
- readonly fileHash: v.StringSchema<undefined>;
11
- readonly gitCommitHash: v.NullableSchema<v.StringSchema<undefined>, never>;
12
- readonly message: v.NullableSchema<v.StringSchema<undefined>, never>;
13
- }, undefined>;
14
3
  export declare const rpc: Hono<import("hono/types").BlankEnv, {
15
- "/getConfig": {
4
+ "/config": {
16
5
  $get: {
17
6
  input: {};
18
7
  output: {
19
8
  console: {
20
- gitUrl?: string | undefined;
21
- port?: number | undefined;
22
- } | undefined;
9
+ gitUrl: string;
10
+ port: number;
11
+ };
23
12
  };
24
13
  outputFormat: "json";
25
14
  status: import("hono/utils/http-status").StatusCode;
26
15
  };
27
16
  };
28
17
  } & {
29
- "/isConfigLoaded": {
18
+ "/channels": {
30
19
  $get: {
31
20
  input: {};
32
- output: boolean;
21
+ output: string[];
33
22
  outputFormat: "json";
34
23
  status: import("hono/utils/http-status").StatusCode;
35
24
  };
36
25
  };
37
26
  } & {
38
- "/getBundles": {
27
+ "/config-loaded": {
39
28
  $get: {
40
29
  input: {};
30
+ output: {
31
+ configLoaded: boolean;
32
+ };
33
+ outputFormat: "json";
34
+ status: import("hono/utils/http-status").StatusCode;
35
+ };
36
+ };
37
+ } & {
38
+ "/bundles": {
39
+ $get: {
40
+ input: {
41
+ query: {
42
+ channel?: string;
43
+ platform?: "ios" | "android";
44
+ limit?: string;
45
+ offset?: string;
46
+ };
47
+ };
41
48
  output: {
42
49
  id: string;
43
50
  platform: import("@hot-updater/core").Platform;
44
51
  targetAppVersion: string;
45
52
  shouldForceUpdate: boolean;
46
53
  enabled: boolean;
47
- fileUrl: string;
48
54
  fileHash: string;
49
55
  gitCommitHash: string | null;
50
56
  message: string | null;
57
+ channel: string;
51
58
  }[];
52
59
  outputFormat: "json";
53
60
  status: import("hono/utils/http-status").StatusCode;
54
61
  };
55
62
  };
56
63
  } & {
57
- "/getBundleById": {
64
+ "/bundles/:bundleId": {
58
65
  $get: {
59
66
  input: {
60
- query: {
61
- bundleId: string | string[];
67
+ param: {
68
+ bundleId: string;
62
69
  };
63
70
  };
64
71
  output: {
@@ -67,36 +74,56 @@ export declare const rpc: Hono<import("hono/types").BlankEnv, {
67
74
  targetAppVersion: string;
68
75
  shouldForceUpdate: boolean;
69
76
  enabled: boolean;
70
- fileUrl: string;
71
77
  fileHash: string;
72
78
  gitCommitHash: string | null;
73
79
  message: string | null;
80
+ channel: string;
74
81
  } | null;
75
82
  outputFormat: "json";
76
83
  status: import("hono/utils/http-status").StatusCode;
77
84
  };
78
85
  };
79
86
  } & {
80
- "/updateBundle": {
81
- $post: {
87
+ "/bundles/:bundleId": {
88
+ $patch: {
82
89
  input: {
83
- json: {
84
- bundle: {
85
- platform?: "ios" | "android" | undefined;
86
- gitCommitHash?: string | null | undefined;
87
- message?: string | null | undefined;
88
- targetAppVersion?: string | undefined;
89
- shouldForceUpdate?: boolean | undefined;
90
- enabled?: boolean | undefined;
91
- fileUrl?: string | undefined;
92
- fileHash?: string | undefined;
93
- };
94
- targetBundleId: string;
90
+ json: Partial<Bundle>;
91
+ } & {
92
+ param: {
93
+ bundleId: string;
95
94
  };
96
95
  };
97
- output: true;
96
+ output: {
97
+ error: string;
98
+ };
99
+ outputFormat: "json";
100
+ status: 400;
101
+ } | {
102
+ input: {
103
+ json: Partial<Bundle>;
104
+ } & {
105
+ param: {
106
+ bundleId: string;
107
+ };
108
+ };
109
+ output: {
110
+ success: boolean;
111
+ };
98
112
  outputFormat: "json";
99
113
  status: import("hono/utils/http-status").StatusCode;
114
+ } | {
115
+ input: {
116
+ json: Partial<Bundle>;
117
+ } & {
118
+ param: {
119
+ bundleId: string;
120
+ };
121
+ };
122
+ output: {
123
+ error: string;
124
+ };
125
+ outputFormat: "json";
126
+ status: 500;
100
127
  };
101
128
  };
102
129
  }, "/">;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@hot-updater/console",
3
3
  "type": "module",
4
- "version": "0.12.6",
4
+ "version": "0.13.0",
5
5
  "files": [
6
6
  "dist",
7
7
  "package.json"
@@ -19,19 +19,18 @@
19
19
  "devDependencies": {
20
20
  "@biomejs/biome": "^1.9.4",
21
21
  "@hono/node-server": "^1.13.4",
22
- "@hono/valibot-validator": "^0.4.1",
22
+ "@hono/typia-validator": "^0.1.0",
23
23
  "@hono/vite-dev-server": "^0.18.1",
24
- "@hot-updater/mock": "0.12.6",
24
+ "@hot-updater/mock": "0.13.0",
25
25
  "@kobalte/core": "^0.13.7",
26
+ "@ryoppippi/unplugin-typia": "^2.0.3",
26
27
  "@solidjs/meta": "^0.29.4",
27
28
  "@solidjs/router": "^0.14.10",
28
29
  "@tanstack/solid-form": "^0.34.0",
29
30
  "@tanstack/solid-query": "^5.66.4",
30
31
  "@tanstack/solid-table": "^8.20.5",
31
- "@tanstack/valibot-form-adapter": "^0.34.0",
32
32
  "@types/node": "^22.8.6",
33
33
  "@types/semver": "^7.5.8",
34
- "@typeschema/valibot": "^0.14.0",
35
34
  "autoprefixer": "^10.4.19",
36
35
  "class-variance-authority": "^0.7.0",
37
36
  "clsx": "^2.1.1",
@@ -46,14 +45,14 @@
46
45
  "tailwindcss": "^3.4.14",
47
46
  "tailwindcss-animate": "^1.0.7",
48
47
  "typescript": "^5.6.3",
49
- "valibot": "^0.42.1",
48
+ "typia": "^8.0.3",
50
49
  "vite": "^6.1.0",
51
50
  "vite-plugin-solid": "^2.11.1",
52
51
  "vite-tsconfig-paths": "^5.1.4"
53
52
  },
54
53
  "dependencies": {
55
- "@hot-updater/core": "0.12.6",
56
- "@hot-updater/plugin-core": "0.12.6"
54
+ "@hot-updater/core": "0.13.0",
55
+ "@hot-updater/plugin-core": "0.13.0"
57
56
  },
58
57
  "scripts": {
59
58
  "build": "vite build --mode client && rslib build",