@zhin.js/console 1.0.6 → 1.0.7

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.
@@ -0,0 +1,92 @@
1
+ // Theme configuration
2
+ export const themes = {
3
+ light: {
4
+ background: '0 0% 100%',
5
+ foreground: '222.2 84% 4.9%',
6
+ card: '0 0% 100%',
7
+ 'card-foreground': '222.2 84% 4.9%',
8
+ popover: '0 0% 100%',
9
+ 'popover-foreground': '222.2 84% 4.9%',
10
+ primary: '221.2 83.2% 53.3%',
11
+ 'primary-foreground': '210 40% 98%',
12
+ secondary: '210 40% 96.1%',
13
+ 'secondary-foreground': '222.2 47.4% 11.2%',
14
+ muted: '210 40% 96.1%',
15
+ 'muted-foreground': '215.4 16.3% 46.9%',
16
+ accent: '210 40% 96.1%',
17
+ 'accent-foreground': '222.2 47.4% 11.2%',
18
+ destructive: '0 84.2% 60.2%',
19
+ 'destructive-foreground': '210 40% 98%',
20
+ border: '214.3 31.8% 91.4%',
21
+ input: '214.3 31.8% 91.4%',
22
+ ring: '221.2 83.2% 53.3%',
23
+ radius: '0.5rem',
24
+ },
25
+ dark: {
26
+ background: '222.2 84% 4.9%',
27
+ foreground: '210 40% 98%',
28
+ card: '222.2 84% 4.9%',
29
+ 'card-foreground': '210 40% 98%',
30
+ popover: '222.2 84% 4.9%',
31
+ 'popover-foreground': '210 40% 98%',
32
+ primary: '217.2 91.2% 59.8%',
33
+ 'primary-foreground': '222.2 47.4% 11.2%',
34
+ secondary: '217.2 32.6% 17.5%',
35
+ 'secondary-foreground': '210 40% 98%',
36
+ muted: '217.2 32.6% 17.5%',
37
+ 'muted-foreground': '215 20.2% 65.1%',
38
+ accent: '217.2 32.6% 17.5%',
39
+ 'accent-foreground': '210 40% 98%',
40
+ destructive: '0 62.8% 30.6%',
41
+ 'destructive-foreground': '210 40% 98%',
42
+ border: '217.2 32.6% 17.5%',
43
+ input: '217.2 32.6% 17.5%',
44
+ ring: '224.3 76.3% 48%',
45
+ radius: '0.5rem',
46
+ },
47
+ } as const
48
+
49
+ export type Theme = keyof typeof themes
50
+ export type ThemeColors = typeof themes.light
51
+
52
+ // Apply theme to document
53
+ export function applyTheme(theme: Theme) {
54
+ const root = document.documentElement
55
+ const colors = themes[theme]
56
+
57
+ // Remove old theme class
58
+ root.classList.remove('light', 'dark')
59
+ // Add new theme class
60
+ root.classList.add(theme)
61
+
62
+ // Apply CSS variables
63
+ Object.entries(colors).forEach(([key, value]) => {
64
+ root.style.setProperty(`--${key}`, value)
65
+ })
66
+
67
+ // Save to localStorage
68
+ localStorage.setItem('theme', theme)
69
+ }
70
+
71
+ // Get current theme from localStorage or system preference
72
+ export function getInitialTheme(): Theme {
73
+ const stored = localStorage.getItem('theme') as Theme | null
74
+ if (stored && (stored === 'light' || stored === 'dark')) {
75
+ return stored
76
+ }
77
+
78
+ // Check system preference
79
+ if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {
80
+ return 'dark'
81
+ }
82
+
83
+ return 'light'
84
+ }
85
+
86
+ // Initialize theme on app load
87
+ export function initializeTheme() {
88
+ const theme = getInitialTheme()
89
+ applyTheme(theme)
90
+ return theme
91
+ }
92
+
@@ -0,0 +1,70 @@
1
+ /** @type {import('tailwindcss').Config} */
2
+ const cwd = process.cwd();
3
+ export default {
4
+ content: [
5
+ "./index.html",
6
+ './src/**/*.{js,ts,jsx,tsx,mdx}',
7
+ `${cwd}/**/radix-ui/**/*.{js,ts,jsx,tsx}`,
8
+ `${cwd}/**/@radix-ui/themes/**/*.{js,ts,jsx,tsx}`,
9
+ ],
10
+ theme: {
11
+ extend: {
12
+ colors: {
13
+ border: 'hsl(var(--border))',
14
+ input: 'hsl(var(--input))',
15
+ ring: 'hsl(var(--ring))',
16
+ background: 'hsl(var(--background))',
17
+ foreground: 'hsl(var(--foreground))',
18
+ primary: {
19
+ DEFAULT: 'hsl(var(--primary))',
20
+ foreground: 'hsl(var(--primary-foreground))',
21
+ },
22
+ secondary: {
23
+ DEFAULT: 'hsl(var(--secondary))',
24
+ foreground: 'hsl(var(--secondary-foreground))',
25
+ },
26
+ destructive: {
27
+ DEFAULT: 'hsl(var(--destructive))',
28
+ foreground: 'hsl(var(--destructive-foreground))',
29
+ },
30
+ muted: {
31
+ DEFAULT: 'hsl(var(--muted))',
32
+ foreground: 'hsl(var(--muted-foreground))',
33
+ },
34
+ accent: {
35
+ DEFAULT: 'hsl(var(--accent))',
36
+ foreground: 'hsl(var(--accent-foreground))',
37
+ },
38
+ popover: {
39
+ DEFAULT: 'hsl(var(--popover))',
40
+ foreground: 'hsl(var(--popover-foreground))',
41
+ },
42
+ card: {
43
+ DEFAULT: 'hsl(var(--card))',
44
+ foreground: 'hsl(var(--card-foreground))',
45
+ },
46
+ },
47
+ borderRadius: {
48
+ lg: 'var(--radius)',
49
+ md: 'calc(var(--radius) - 2px)',
50
+ sm: 'calc(var(--radius) - 4px)',
51
+ },
52
+ keyframes: {
53
+ "accordion-down": {
54
+ from: { height: "0" },
55
+ to: { height: "var(--radix-accordion-content-height)" },
56
+ },
57
+ "accordion-up": {
58
+ from: { height: "var(--radix-accordion-content-height)" },
59
+ to: { height: "0" },
60
+ },
61
+ },
62
+ animation: {
63
+ "accordion-down": "accordion-down 0.2s ease-out",
64
+ "accordion-up": "accordion-up 0.2s ease-out",
65
+ },
66
+ },
67
+ },
68
+ darkMode: "class",
69
+ plugins: [],
70
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "compilerOptions": {
3
+ "baseUrl": ".",
4
+ "target": "ES2020",
5
+ "lib": ["ES2020", "DOM", "DOM.Iterable"],
6
+ "moduleResolution": "bundler",
7
+ "module": "ESNext",
8
+ "jsx": "react-jsx",
9
+ "paths": {
10
+ "@/*": ["src/*"],
11
+ "lucide-react": ["../node_modules/lucide-react"],
12
+ "react": ["../node_modules/@types/react"],
13
+ "react-dom": ["../node_modules/@types/react-dom"]
14
+ }
15
+ }
16
+ }
17
+
package/lib/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { WebSocketServer } from 'ws';
2
- import { ViteDevServer } from 'vite';
3
- declare module '@zhin.js/types' {
1
+ import { WebSocketServer } from "ws";
2
+ import { ViteDevServer } from "vite";
3
+ declare module "@zhin.js/types" {
4
4
  interface GlobalContext {
5
5
  web: WebServer;
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAiB,EAAC,eAAe,EAAC,MAAM,IAAI,CAAC;AAC7C,OAAO,EAAc,aAAa,EAAwB,MAAM,MAAM,CAAC;AAOvE,OAAO,QAAQ,gBAAgB,CAAC;IAC5B,UAAU,aAAa;QACnB,GAAG,EAAE,SAAS,CAAC;KAClB;CACJ;AACD,MAAM,MAAM,QAAQ,GAAC,MAAM,GAAC;IACxB,UAAU,EAAC,MAAM,CAAA;IACjB,WAAW,EAAC,MAAM,CAAA;CACrB,CAAA;AACD,MAAM,MAAM,SAAS,GAAG;IACpB,IAAI,EAAC,aAAa,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,IAAI,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,EAAE,EAAC,eAAe,CAAA;CACrB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../app/index.ts"],"names":[],"mappings":"AAEA,OAAkB,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AAChD,OAAO,EAAgB,aAAa,EAA0B,MAAM,MAAM,CAAC;AAO3E,OAAO,QAAQ,gBAAgB,CAAC;IAC9B,UAAU,aAAa;QACrB,GAAG,EAAE,SAAS,CAAC;KAChB;CACF;AACD,MAAM,MAAM,QAAQ,GAChB,MAAM,GACN;IACE,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AACN,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,IAAI,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,EAAE,EAAE,eAAe,CAAC;CACrB,CAAC"}
package/lib/index.js CHANGED
@@ -1,14 +1,14 @@
1
- import { register, useContext, useApp } from '@zhin.js/core';
2
- import react from '@vitejs/plugin-react';
3
- import WebSocket from 'ws';
4
- import { createServer } from 'vite';
5
- import connect from 'koa-connect';
6
- import * as fs from 'fs';
7
- import * as path from 'path';
8
- import tailwindcss from '@tailwindcss/vite';
1
+ import { register, useContext, useApp } from "@zhin.js/core";
2
+ import react from "@vitejs/plugin-react";
3
+ import WebSocket from "ws";
4
+ import { createServer } from "vite";
5
+ import connect from "koa-connect";
6
+ import * as fs from "fs";
7
+ import * as path from "path";
8
+ import tailwindcss from "@tailwindcss/vite";
9
9
  const createSyncMsg = (key, value) => {
10
10
  return {
11
- type: 'sync',
11
+ type: "sync",
12
12
  data: {
13
13
  key,
14
14
  value,
@@ -17,7 +17,7 @@ const createSyncMsg = (key, value) => {
17
17
  };
18
18
  const createAddMsg = (key, value) => {
19
19
  return {
20
- type: 'add',
20
+ type: "add",
21
21
  data: {
22
22
  key,
23
23
  value,
@@ -26,59 +26,65 @@ const createAddMsg = (key, value) => {
26
26
  };
27
27
  const createDeleteMsg = (key, value) => {
28
28
  return {
29
- type: 'delete',
29
+ type: "delete",
30
30
  data: {
31
31
  key,
32
32
  value,
33
33
  },
34
34
  };
35
35
  };
36
- useContext('router', async (router) => {
37
- const root = path.join(process.cwd(), 'node_modules', '@zhin.js', 'client', 'app');
38
- const base = '/vite/';
36
+ useContext("router", async (router) => {
37
+ const root = path.join(import.meta.dirname, "../client");
38
+ const base = "/vite/";
39
39
  const vite = await createServer({
40
40
  root,
41
41
  base,
42
- plugins: [
43
- react(),
44
- tailwindcss(),
45
- ],
42
+ plugins: [react(), tailwindcss()],
46
43
  server: {
47
44
  middlewareMode: true,
48
45
  fs: {
49
- strict: false
46
+ strict: false,
50
47
  },
51
48
  },
52
49
  resolve: {
53
- dedupe: ['react', 'react-dom'],
50
+ dedupe: [
51
+ "react",
52
+ "react-dom",
53
+ "clsx",
54
+ "tailwind-merge",
55
+ "@reduxjs/toolkit",
56
+ "react-router",
57
+ "react-redux",
58
+ "redux-persist",
59
+ ],
54
60
  alias: {
55
- '@zhin.js/client': path.resolve(root, '../src'),
56
- '@': path.resolve(root, 'src'),
61
+ "@zhin.js/client": path.resolve(root, "../../client/client"),
62
+ "@": path.resolve(root, "../client/src"),
57
63
  },
58
64
  },
59
65
  optimizeDeps: {
60
- include: ['react', 'react-dom'],
66
+ include: ["react", "react-dom"],
61
67
  },
62
68
  build: {
63
69
  rollupOptions: {
64
- input: root + '/index.html',
70
+ input: root + "/index.html",
65
71
  },
66
72
  },
67
73
  });
68
74
  // Vite 中间件 - 必须在其他路由之前
69
75
  router.use((ctx, next) => {
70
- if (ctx.request.originalUrl.startsWith('/api'))
76
+ if (ctx.request.originalUrl.startsWith("/api"))
71
77
  return next();
72
78
  return connect(vite.middlewares)(ctx, next);
73
79
  });
74
80
  // SPA 回退路由 - 处理所有未匹配的路由
75
- router.all('*all', async (ctx, next) => {
76
- const url = ctx.request.originalUrl.replace(base, '');
81
+ router.all("*all", async (ctx, next) => {
82
+ const url = ctx.request.originalUrl.replace(base, "");
77
83
  const name = ctx.path.slice(1);
78
84
  const sendFile = (filename) => {
79
85
  ctx.type = path.extname(filename);
80
- if (filename.endsWith('.ts'))
81
- ctx.type = 'text/javascript';
86
+ if (filename.endsWith(".ts"))
87
+ ctx.type = "text/javascript";
82
88
  return (ctx.body = fs.createReadStream(filename));
83
89
  };
84
90
  // 1. 检查是否是动态入口
@@ -87,7 +93,7 @@ useContext('router', async (router) => {
87
93
  }
88
94
  // 2. 检查是否是静态文件
89
95
  const filename = path.resolve(root, name);
90
- if (filename.startsWith(root) || filename.includes('node_modules')) {
96
+ if (filename.startsWith(root) || filename.includes("node_modules")) {
91
97
  if (fs.existsSync(filename)) {
92
98
  const fileState = fs.statSync(filename);
93
99
  if (fileState.isFile()) {
@@ -101,8 +107,8 @@ useContext('router', async (router) => {
101
107
  }
102
108
  // 3. 所有其他路径(包括 SPA 路由)都返回 index.html
103
109
  // 这样前端路由可以正确处理
104
- const template = fs.readFileSync(path.resolve(root, 'index.html'), 'utf8');
105
- ctx.type = 'html';
110
+ const template = fs.readFileSync(path.resolve(root, "index.html"), "utf8");
111
+ ctx.type = "html";
106
112
  ctx.body = await vite.transformIndexHtml(url, template);
107
113
  });
108
114
  const webServer = {
@@ -110,19 +116,22 @@ useContext('router', async (router) => {
110
116
  entries: {},
111
117
  addEntry(entry) {
112
118
  const hash = Date.now().toString(16) + Math.random().toString(16).slice(2, 8);
113
- const entryFile = typeof entry === "string" ? entry : entry[process.env.NODE_ENV || 'development'];
119
+ const entryFile = typeof entry === "string"
120
+ ? entry
121
+ : entry[process.env.NODE_ENV ||
122
+ "development"];
114
123
  this.entries[hash] = `/vite/@fs/${entryFile}`;
115
124
  for (const ws of this.ws.clients || []) {
116
- ws.send(JSON.stringify(createAddMsg('entries', this.entries[hash])));
125
+ ws.send(JSON.stringify(createAddMsg("entries", this.entries[hash])));
117
126
  }
118
127
  return () => {
119
128
  for (const ws of this.ws.clients || []) {
120
- ws.send(JSON.stringify(createDeleteMsg('entries', this.entries[hash])));
129
+ ws.send(JSON.stringify(createDeleteMsg("entries", this.entries[hash])));
121
130
  }
122
131
  delete this.entries[hash];
123
132
  };
124
133
  },
125
- ws: router.ws('/server')
134
+ ws: router.ws("/server"),
126
135
  };
127
136
  // 数据推送函数
128
137
  const broadcastToAll = (message) => {
@@ -135,31 +144,31 @@ useContext('router', async (router) => {
135
144
  // 推送数据更新通知
136
145
  const notifyDataUpdate = () => {
137
146
  broadcastToAll({
138
- type: 'data-update',
139
- timestamp: Date.now()
147
+ type: "data-update",
148
+ timestamp: Date.now(),
140
149
  });
141
150
  };
142
151
  // WebSocket 连接处理
143
- webServer.ws.on('connection', (ws) => {
152
+ webServer.ws.on("connection", (ws) => {
144
153
  // 发送初始数据
145
- ws.send(JSON.stringify(createSyncMsg('entries', Array.from(new Set(Object.values(webServer.entries))))));
154
+ ws.send(JSON.stringify(createSyncMsg("entries", Array.from(new Set(Object.values(webServer.entries))))));
146
155
  // 通知客户端进行数据初始化
147
156
  ws.send(JSON.stringify({
148
- type: 'init-data',
149
- timestamp: Date.now()
157
+ type: "init-data",
158
+ timestamp: Date.now(),
150
159
  }));
151
160
  // 处理 WebSocket 消息
152
- ws.on('message', async (data) => {
161
+ ws.on("message", async (data) => {
153
162
  try {
154
163
  const message = JSON.parse(data.toString());
155
164
  const { type, pluginName, requestId } = message;
156
165
  // 获取应用实例
157
166
  const app = useApp();
158
167
  switch (type) {
159
- case 'config:get':
168
+ case "config:get":
160
169
  try {
161
170
  let config;
162
- if (pluginName === 'app') {
171
+ if (pluginName === "app") {
163
172
  config = app.getConfig();
164
173
  }
165
174
  else {
@@ -171,20 +180,20 @@ useContext('router', async (router) => {
171
180
  }
172
181
  ws.send(JSON.stringify({
173
182
  requestId,
174
- data: config
183
+ data: config,
175
184
  }));
176
185
  }
177
186
  catch (error) {
178
187
  ws.send(JSON.stringify({
179
188
  requestId,
180
- error: error.message
189
+ error: error.message,
181
190
  }));
182
191
  }
183
192
  break;
184
- case 'config:set':
193
+ case "config:set":
185
194
  try {
186
195
  const { data: newConfig } = message;
187
- if (pluginName === 'app') {
196
+ if (pluginName === "app") {
188
197
  app.config = newConfig;
189
198
  }
190
199
  else {
@@ -197,15 +206,16 @@ useContext('router', async (router) => {
197
206
  // 响应成功
198
207
  ws.send(JSON.stringify({
199
208
  requestId,
200
- data: 'success'
209
+ data: "success",
201
210
  }));
202
211
  // 广播配置更新
203
212
  webServer.ws.clients.forEach((client) => {
204
- if (client.readyState === 1) { // WebSocket.OPEN
213
+ if (client.readyState === 1) {
214
+ // WebSocket.OPEN
205
215
  client.send(JSON.stringify({
206
- type: 'config:updated',
216
+ type: "config:updated",
207
217
  pluginName,
208
- data: newConfig
218
+ data: newConfig,
209
219
  }));
210
220
  }
211
221
  });
@@ -213,14 +223,14 @@ useContext('router', async (router) => {
213
223
  catch (error) {
214
224
  ws.send(JSON.stringify({
215
225
  requestId,
216
- error: error.message
226
+ error: error.message,
217
227
  }));
218
228
  }
219
229
  break;
220
- case 'schema:get':
230
+ case "schema:get":
221
231
  try {
222
232
  let schema;
223
- if (pluginName === 'app') {
233
+ if (pluginName === "app") {
224
234
  schema = app.schema?.toJSON();
225
235
  }
226
236
  else {
@@ -232,21 +242,21 @@ useContext('router', async (router) => {
232
242
  }
233
243
  ws.send(JSON.stringify({
234
244
  requestId,
235
- data: schema
245
+ data: schema,
236
246
  }));
237
247
  }
238
248
  catch (error) {
239
249
  ws.send(JSON.stringify({
240
250
  requestId,
241
- error: error.message
251
+ error: error.message,
242
252
  }));
243
253
  }
244
254
  break;
245
- case 'config:get-all':
255
+ case "config:get-all":
246
256
  try {
247
257
  const configs = {};
248
258
  // 获取 App 配置
249
- configs['app'] = app.getConfig();
259
+ configs["app"] = app.getConfig();
250
260
  // 获取所有插件配置
251
261
  for (const plugin of app.dependencyList) {
252
262
  if (plugin.config && Object.keys(plugin.config).length > 0) {
@@ -255,23 +265,23 @@ useContext('router', async (router) => {
255
265
  }
256
266
  ws.send(JSON.stringify({
257
267
  requestId,
258
- data: configs
268
+ data: configs,
259
269
  }));
260
270
  }
261
271
  catch (error) {
262
272
  ws.send(JSON.stringify({
263
273
  requestId,
264
- error: error.message
274
+ error: error.message,
265
275
  }));
266
276
  }
267
277
  break;
268
- case 'schema:get-all':
278
+ case "schema:get-all":
269
279
  try {
270
280
  const schemas = {};
271
281
  // 获取 App Schema
272
282
  const appSchema = app.schema?.toJSON();
273
283
  if (appSchema) {
274
- schemas['app'] = appSchema;
284
+ schemas["app"] = appSchema;
275
285
  }
276
286
  // 获取所有插件 Schema
277
287
  for (const plugin of app.dependencyList) {
@@ -282,13 +292,13 @@ useContext('router', async (router) => {
282
292
  }
283
293
  ws.send(JSON.stringify({
284
294
  requestId,
285
- data: schemas
295
+ data: schemas,
286
296
  }));
287
297
  }
288
298
  catch (error) {
289
299
  ws.send(JSON.stringify({
290
300
  requestId,
291
- error: error.message
301
+ error: error.message,
292
302
  }));
293
303
  }
294
304
  break;
@@ -296,15 +306,14 @@ useContext('router', async (router) => {
296
306
  }
297
307
  }
298
308
  catch (error) {
299
- console.error('WebSocket 消息处理错误:', error);
309
+ console.error("WebSocket 消息处理错误:", error);
300
310
  ws.send(JSON.stringify({
301
- error: 'Invalid message format'
311
+ error: "Invalid message format",
302
312
  }));
303
313
  }
304
314
  });
305
- ws.on('close', () => {
306
- });
307
- ws.on('error', (error) => {
315
+ ws.on("close", () => { });
316
+ ws.on("error", (error) => {
308
317
  // console.error 已替换为注释
309
318
  });
310
319
  });
@@ -313,11 +322,11 @@ useContext('router', async (router) => {
313
322
  notifyDataUpdate();
314
323
  }, 5000); // 每5秒通知一次更新
315
324
  // 插件卸载时清理定时器
316
- process.on('exit', () => {
325
+ process.on("exit", () => {
317
326
  clearInterval(dataUpdateInterval);
318
327
  });
319
328
  register({
320
- name: 'web',
329
+ name: "web",
321
330
  description: "web服务",
322
331
  async mounted() {
323
332
  return webServer;
@@ -325,7 +334,7 @@ useContext('router', async (router) => {
325
334
  async dispose(server) {
326
335
  await server.vite.close();
327
336
  server.ws.close();
328
- }
337
+ },
329
338
  });
330
339
  });
331
340
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../app/index.ts"],"names":[],"mappings":"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"}