node-karin 1.8.0 → 1.8.3

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.
Files changed (43) hide show
  1. package/CHANGELOG.md +843 -819
  2. package/README.md +32 -0
  3. package/default/config/adapter.json +27 -27
  4. package/default/config/config.json +44 -44
  5. package/default/config/groups.json +66 -66
  6. package/default/config/pm2.json +15 -15
  7. package/default/config/privates.json +25 -25
  8. package/default/config/redis.json +5 -5
  9. package/default/config/render.json +18 -18
  10. package/dist/cli/index.cjs +1 -1
  11. package/dist/cli/index.mjs +6609 -24
  12. package/dist/global.d.d.ts +48 -48
  13. package/dist/index.mjs +34 -12
  14. package/dist/web/assets/css/index-BrG42AwU.css.br +0 -0
  15. package/dist/web/assets/js/components-CxadY39V.js.br +0 -0
  16. package/dist/web/assets/js/entry-CHFt_H9g.js.br +0 -0
  17. package/dist/web/assets/js/hooks-DCwZcclx.js.br +0 -0
  18. package/dist/web/assets/js/page-404.tsx-DuSCXxgV.js +1 -0
  19. package/dist/web/assets/js/page-dashboard-DeOjlIBI.js.br +0 -0
  20. package/dist/web/assets/js/page-loading.tsx-DGpPkY1i.js.br +0 -0
  21. package/dist/web/assets/js/page-login.tsx-Uw_-NauC.js.br +0 -0
  22. package/dist/web/assets/js/{utils-Cj3xTboC.js → utils-qrmq67Xg.js} +1 -1
  23. package/dist/web/assets/js/vendor-heroui-CWZ6Mu45.js.br +0 -0
  24. package/dist/web/assets/js/vendor-others-BM6DakDu.js.br +0 -0
  25. package/dist/web/assets/js/vendor-react-BFjuLQyM.js.br +0 -0
  26. package/dist/web/assets/js/vendor-visual-CzYP84zg.js.br +0 -0
  27. package/dist/web/grid.svg +5 -5
  28. package/dist/web/icon.css +24 -24
  29. package/dist/web/index.html +32 -32
  30. package/dist/web/sha256.min.js.br +0 -0
  31. package/package.json +192 -192
  32. package/dist/web/assets/css/index-DxLRZkvi.css.br +0 -0
  33. package/dist/web/assets/js/components-Bp80gYJA.js.br +0 -0
  34. package/dist/web/assets/js/entry-DhKjPdoJ.js.br +0 -0
  35. package/dist/web/assets/js/hooks-CSKAeqvP.js.br +0 -0
  36. package/dist/web/assets/js/page-404.tsx-Dr2zAhTf.js +0 -1
  37. package/dist/web/assets/js/page-dashboard-B6B4ob8B.js.br +0 -0
  38. package/dist/web/assets/js/page-loading.tsx-g_ta_NRr.js.br +0 -0
  39. package/dist/web/assets/js/page-login.tsx-Cm98Ubip.js.br +0 -0
  40. package/dist/web/assets/js/vendor-heroui-CMeNhCFh.js.br +0 -0
  41. package/dist/web/assets/js/vendor-others-Bv0hrdEA.js.br +0 -0
  42. package/dist/web/assets/js/vendor-react-ChUmQ3I2.js.br +0 -0
  43. package/dist/web/assets/js/vendor-visual-CdiJEXnN.js.br +0 -0
@@ -17,52 +17,52 @@ declare const createDebug: (prefix: string) => {
17
17
  enable: (bool: boolean) => void;
18
18
  } & ((...args: any[]) => void);
19
19
 
20
- /* eslint-disable no-var */
21
- declare global {
22
- var logger: Logger
23
- var debug: ReturnType<typeof createDebug>
24
- type EventEmitter = events.EventEmitter
25
- }
26
-
27
- declare global {
28
- namespace NodeJS {
29
- interface ProcessEnv {
30
- /** 是否启用HTTP */
31
- HTTP_ENABLE: string
32
- /** HTTP监听端口 */
33
- HTTP_PORT: string
34
- /** HTTP监听地址 */
35
- HTTP_HOST: string
36
- /** HTTP鉴权秘钥 仅用于karin自身Api */
37
- HTTP_AUTH_KEY: string
38
- /** ws_server鉴权秘钥 */
39
- WS_SERVER_AUTH_KEY: string
40
- /** 是否启用Redis 关闭后将使用内部虚拟Redis */
41
- REDIS_ENABLE: string
42
- /** 重启是否调用pm2 如果不调用则会直接关机 此配置适合有进程守护的程序 */
43
- PM2_RESTART: string
44
- /** 日志等级 */
45
- LOG_LEVEL: string
46
- /** 日志保留天数 */
47
- LOG_DAYS_TO_KEEP: string
48
- /** 日志文件最大大小 如果此项大于0则启用日志分割 */
49
- LOG_MAX_LOG_SIZE: string
50
- /** logger.fnc颜色 */
51
- LOG_FNC_COLOR: string
52
- /** 运行器 "node" | "pm2" | "tsx" */
53
- RUNTIME: 'node' | 'pm2' | 'tsx'
54
- /** ffmpeg路径 */
55
- FFMPEG_PATH: string
56
- /** ffprobe路径 */
57
- FFPROBE_PATH: string
58
- /** ffplay路径 */
59
- FFPLAY_PATH: string
60
- /** node-karin版本 */
61
- KARIN_VERSION: string
62
- /** tsx监察者模式 */
63
- TSX_WATCH: string
64
- /** 日志实时Api最多支持同时连接数 */
65
- LOG_MAX_CONNECTIONS: string
66
- }
67
- }
20
+ /* eslint-disable no-var */
21
+ declare global {
22
+ var logger: Logger
23
+ var debug: ReturnType<typeof createDebug>
24
+ type EventEmitter = events.EventEmitter
25
+ }
26
+
27
+ declare global {
28
+ namespace NodeJS {
29
+ interface ProcessEnv {
30
+ /** 是否启用HTTP */
31
+ HTTP_ENABLE: string
32
+ /** HTTP监听端口 */
33
+ HTTP_PORT: string
34
+ /** HTTP监听地址 */
35
+ HTTP_HOST: string
36
+ /** HTTP鉴权秘钥 仅用于karin自身Api */
37
+ HTTP_AUTH_KEY: string
38
+ /** ws_server鉴权秘钥 */
39
+ WS_SERVER_AUTH_KEY: string
40
+ /** 是否启用Redis 关闭后将使用内部虚拟Redis */
41
+ REDIS_ENABLE: string
42
+ /** 重启是否调用pm2 如果不调用则会直接关机 此配置适合有进程守护的程序 */
43
+ PM2_RESTART: string
44
+ /** 日志等级 */
45
+ LOG_LEVEL: string
46
+ /** 日志保留天数 */
47
+ LOG_DAYS_TO_KEEP: string
48
+ /** 日志文件最大大小 如果此项大于0则启用日志分割 */
49
+ LOG_MAX_LOG_SIZE: string
50
+ /** logger.fnc颜色 */
51
+ LOG_FNC_COLOR: string
52
+ /** 运行器 "node" | "pm2" | "tsx" */
53
+ RUNTIME: 'node' | 'pm2' | 'tsx'
54
+ /** ffmpeg路径 */
55
+ FFMPEG_PATH: string
56
+ /** ffprobe路径 */
57
+ FFPROBE_PATH: string
58
+ /** ffplay路径 */
59
+ FFPLAY_PATH: string
60
+ /** node-karin版本 */
61
+ KARIN_VERSION: string
62
+ /** tsx监察者模式 */
63
+ TSX_WATCH: string
64
+ /** 日志实时Api最多支持同时连接数 */
65
+ LOG_MAX_CONNECTIONS: string
66
+ }
67
+ }
68
68
  }
package/dist/index.mjs CHANGED
@@ -27954,7 +27954,7 @@ var init_tool = __esm({
27954
27954
  }
27955
27955
  return true;
27956
27956
  };
27957
- spawnProcess = (command2, args, options = {}, emitLog) => {
27957
+ spawnProcess = (command2, args, options = {}, emitLog, pnpm) => {
27958
27958
  return new Promise((resolve) => {
27959
27959
  const proc = spawn(command2, args, {
27960
27960
  shell: true,
@@ -27965,12 +27965,17 @@ var init_tool = __esm({
27965
27965
  }
27966
27966
  });
27967
27967
  proc.stdout.on("data", (data) => {
27968
- logger.debug(data.toString());
27969
- emitLog(data.toString());
27968
+ const message2 = data.toString();
27969
+ logger.debug(message2);
27970
+ emitLog(message2);
27970
27971
  });
27971
27972
  proc.stderr.on("data", (data) => {
27972
- logger.debug(data.toString());
27973
- emitLog(data.toString());
27973
+ const message2 = data.toString();
27974
+ if (message2.includes("ERR_PNPM_PUBLIC_HOIST_PATTERN_DIFF")) {
27975
+ pnpm && pnpm();
27976
+ }
27977
+ logger.debug(message2);
27978
+ emitLog(message2);
27974
27979
  });
27975
27980
  proc.on("close", (code) => {
27976
27981
  proc.kill();
@@ -28206,12 +28211,18 @@ var init_installMarket = __esm({
28206
28211
  async (_2, emitLog) => {
28207
28212
  const args = ["add", data.target, "--save"];
28208
28213
  if (isWorkspace()) args.push("-w");
28209
- await spawnProcess(
28210
- "pnpm",
28211
- args,
28212
- {},
28213
- emitLog
28214
- );
28214
+ let IS_ERR_PNPM_PUBLIC_HOIST_PATTERN_DIFF = false;
28215
+ await spawnProcess("pnpm", args, {}, emitLog, () => {
28216
+ IS_ERR_PNPM_PUBLIC_HOIST_PATTERN_DIFF = true;
28217
+ });
28218
+ if (IS_ERR_PNPM_PUBLIC_HOIST_PATTERN_DIFF) {
28219
+ emitLog("\u68C0\u6D4B\u5230 ERR_PNPM_PUBLIC_HOIST_PATTERN_DIFF \u9519\u8BEF\uFF0C\u5C1D\u8BD5\u4FEE\u590D...");
28220
+ emitLog("\u6267\u884C pnpm install -f \u5F3A\u5236\u91CD\u5EFA\u6A21\u5757\u76EE\u5F55");
28221
+ await spawnProcess("pnpm", ["install", "-f"], {}, emitLog);
28222
+ emitLog("\u6A21\u5757\u76EE\u5F55\u91CD\u5EFA\u5B8C\u6210\uFF0C\u91CD\u65B0\u5C1D\u8BD5\u5B89\u88C5\u63D2\u4EF6");
28223
+ await spawnProcess("pnpm", args, {}, emitLog);
28224
+ emitLog("\u5B89\u88C5\u5B8C\u6210\uFF0C\u5C1D\u8BD5\u52A0\u8F7D\u63D2\u4EF6");
28225
+ }
28215
28226
  await pkgHotReload("npm", data.target);
28216
28227
  return true;
28217
28228
  }
@@ -28382,7 +28393,18 @@ var init_installCustom = __esm({
28382
28393
  const args = ["add", pkg2, "--save"];
28383
28394
  if (isWorkspace()) args.push("-w");
28384
28395
  if (data.registry) args.push(`--registry=${data.registry}`);
28385
- await spawnProcess("pnpm", args, {}, emitLog);
28396
+ let IS_ERR_PNPM_PUBLIC_HOIST_PATTERN_DIFF = false;
28397
+ await spawnProcess("pnpm", args, {}, emitLog, () => {
28398
+ IS_ERR_PNPM_PUBLIC_HOIST_PATTERN_DIFF = true;
28399
+ });
28400
+ if (IS_ERR_PNPM_PUBLIC_HOIST_PATTERN_DIFF) {
28401
+ emitLog("\u68C0\u6D4B\u5230 ERR_PNPM_PUBLIC_HOIST_PATTERN_DIFF \u9519\u8BEF\uFF0C\u5C1D\u8BD5\u4FEE\u590D...");
28402
+ emitLog("\u6267\u884C pnpm install -f \u5F3A\u5236\u91CD\u5EFA\u6A21\u5757\u76EE\u5F55");
28403
+ await spawnProcess("pnpm", ["install", "-f"], {}, emitLog);
28404
+ emitLog("\u6A21\u5757\u76EE\u5F55\u91CD\u5EFA\u5B8C\u6210\uFF0C\u91CD\u65B0\u5C1D\u8BD5\u5B89\u88C5\u63D2\u4EF6");
28405
+ await spawnProcess("pnpm", args, {}, emitLog);
28406
+ emitLog("\u5B89\u88C5\u5B8C\u6210\uFF0C\u5C1D\u8BD5\u52A0\u8F7D\u63D2\u4EF6");
28407
+ }
28386
28408
  await pkgHotReload("npm", data.target);
28387
28409
  return true;
28388
28410
  }
@@ -0,0 +1 @@
1
+ import{j as t}from"./vendor-react-BFjuLQyM.js";import{P as r}from"./components-CxadY39V.js";import"./vendor-others-BM6DakDu.js";import"./vendor-editor-B8hjWfkw.js";import"./vendor-ui-utils-5rYIvRjL.js";import"./vendor-heroui-CWZ6Mu45.js";import"./page-dashboard-DeOjlIBI.js";import"./hooks-DCwZcclx.js";import"./utils-qrmq67Xg.js";import"./vendor-visual-CzYP84zg.js";const x=()=>t.jsx("div",{className:"min-h-screen flex items-center justify-center",children:t.jsx(r,{})});export{x as default};
@@ -1,2 +1,2 @@
1
- import{V as p}from"./vendor-react-ChUmQ3I2.js";import{a5 as g}from"./components-Bp80gYJA.js";const k=async(t,n,e,r)=>{const{setIsLogModalOpen:i,setTaskId:c,setTaskLogs:o,setTaskName:f}=n;f("更新插件");const a=["开始创建更新任务...",`options: ${JSON.stringify(t)}`];o(a);try{const s=await g(t);if(s.success&&s.taskId)c(s.taskId),o([...a,`
1
+ import{V as p}from"./vendor-react-BFjuLQyM.js";import{a5 as g}from"./components-CxadY39V.js";const k=async(t,n,e,r)=>{const{setIsLogModalOpen:i,setTaskId:c,setTaskLogs:o,setTaskName:f}=n;f("更新插件");const a=["开始创建更新任务...",`options: ${JSON.stringify(t)}`];o(a);try{const s=await g(t);if(s.success&&s.taskId)c(s.taskId),o([...a,`
2
2
  任务创建成功!`,`任务ID: ${s.taskId}`,"正在连接任务执行日志..."]),i(!0),typeof e=="function"&&e(),typeof r=="function"&&r();else throw new Error(s.message||"未知错误")}catch(s){console.error("更新失败:",s),p.error(`更新失败: ${s.message}`)}};export{k as c};
package/dist/web/grid.svg CHANGED
@@ -1,6 +1,6 @@
1
- <svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <pattern id="grid" width="10" height="10" patternUnits="userSpaceOnUse">
3
- <path d="M 10 0 L 0 0 0 10" fill="none" stroke="currentColor" stroke-width="0.5"/>
4
- </pattern>
5
- <rect width="100" height="100" fill="url(#grid)"/>
1
+ <svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <pattern id="grid" width="10" height="10" patternUnits="userSpaceOnUse">
3
+ <path d="M 10 0 L 0 0 0 10" fill="none" stroke="currentColor" stroke-width="0.5"/>
4
+ </pattern>
5
+ <rect width="100" height="100" fill="url(#grid)"/>
6
6
  </svg>
package/dist/web/icon.css CHANGED
@@ -1,25 +1,25 @@
1
- /* https://fonts.googleapis.com/icon?family=Material+Icons */
2
-
3
- /* fallback */
4
- @font-face {
5
- font-family: 'Material Icons';
6
- font-style: normal;
7
- font-weight: 400;
8
- src: url(./flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format('woff2');
9
- }
10
-
11
- .material-icons {
12
- font-family: 'Material Icons';
13
- font-weight: normal;
14
- font-style: normal;
15
- font-size: 24px;
16
- line-height: 1;
17
- letter-spacing: normal;
18
- text-transform: none;
19
- display: inline-block;
20
- white-space: nowrap;
21
- word-wrap: normal;
22
- direction: ltr;
23
- -webkit-font-feature-settings: 'liga';
24
- -webkit-font-smoothing: antialiased;
1
+ /* https://fonts.googleapis.com/icon?family=Material+Icons */
2
+
3
+ /* fallback */
4
+ @font-face {
5
+ font-family: 'Material Icons';
6
+ font-style: normal;
7
+ font-weight: 400;
8
+ src: url(./flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format('woff2');
9
+ }
10
+
11
+ .material-icons {
12
+ font-family: 'Material Icons';
13
+ font-weight: normal;
14
+ font-style: normal;
15
+ font-size: 24px;
16
+ line-height: 1;
17
+ letter-spacing: normal;
18
+ text-transform: none;
19
+ display: inline-block;
20
+ white-space: nowrap;
21
+ word-wrap: normal;
22
+ direction: ltr;
23
+ -webkit-font-feature-settings: 'liga';
24
+ -webkit-font-smoothing: antialiased;
25
25
  }
@@ -1,38 +1,38 @@
1
- <!doctype html>
2
- <html lang="en">
3
-
4
- <head>
5
- <meta charset="UTF-8" />
6
- <link rel="icon" type="image/svg+xml" href="/web/karin.png" />
7
- <link rel="stylesheet" href="/web/icon.css">
8
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
9
- <title>KarinJS WebUI</title>
10
- <meta key="title" content="Vite + NextUI" property="og:title" />
11
- <meta content="Make beautiful websites regardless of your design experience." property="og:description" />
12
- <meta content="Make beautiful websites regardless of your design experience." name="description" />
13
- <meta key="viewport"
14
- content="viewport-fit=cover, width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"
15
- name="viewport" />
16
- <link href="/web/assets/ico/favicon-BoqZd694.ico" rel="icon" />
17
- <script type="module" crossorigin src="/web/assets/js/entry-DhKjPdoJ.js"></script>
1
+ <!doctype html>
2
+ <html lang="en">
3
+
4
+ <head>
5
+ <meta charset="UTF-8" />
6
+ <link rel="icon" type="image/svg+xml" href="/web/karin.png" />
7
+ <link rel="stylesheet" href="/web/icon.css">
8
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
9
+ <title>KarinJS WebUI</title>
10
+ <meta key="title" content="Vite + NextUI" property="og:title" />
11
+ <meta content="Make beautiful websites regardless of your design experience." property="og:description" />
12
+ <meta content="Make beautiful websites regardless of your design experience." name="description" />
13
+ <meta key="viewport"
14
+ content="viewport-fit=cover, width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"
15
+ name="viewport" />
16
+ <link href="/web/assets/ico/favicon-BoqZd694.ico" rel="icon" />
17
+ <script type="module" crossorigin src="/web/assets/js/entry-CHFt_H9g.js"></script>
18
18
  <link rel="modulepreload" crossorigin href="/web/assets/js/vendor-editor-B8hjWfkw.js">
19
- <link rel="modulepreload" crossorigin href="/web/assets/js/vendor-others-Bv0hrdEA.js">
19
+ <link rel="modulepreload" crossorigin href="/web/assets/js/vendor-others-BM6DakDu.js">
20
20
  <link rel="modulepreload" crossorigin href="/web/assets/js/vendor-ui-utils-5rYIvRjL.js">
21
- <link rel="modulepreload" crossorigin href="/web/assets/js/vendor-react-ChUmQ3I2.js">
22
- <link rel="modulepreload" crossorigin href="/web/assets/js/vendor-heroui-CMeNhCFh.js">
23
- <link rel="modulepreload" crossorigin href="/web/assets/js/hooks-CSKAeqvP.js">
24
- <link rel="modulepreload" crossorigin href="/web/assets/js/vendor-visual-CdiJEXnN.js">
25
- <link rel="modulepreload" crossorigin href="/web/assets/js/components-Bp80gYJA.js">
26
- <link rel="modulepreload" crossorigin href="/web/assets/js/utils-Cj3xTboC.js">
27
- <link rel="modulepreload" crossorigin href="/web/assets/js/page-dashboard-B6B4ob8B.js">
21
+ <link rel="modulepreload" crossorigin href="/web/assets/js/vendor-react-BFjuLQyM.js">
22
+ <link rel="modulepreload" crossorigin href="/web/assets/js/vendor-heroui-CWZ6Mu45.js">
23
+ <link rel="modulepreload" crossorigin href="/web/assets/js/hooks-DCwZcclx.js">
24
+ <link rel="modulepreload" crossorigin href="/web/assets/js/vendor-visual-CzYP84zg.js">
25
+ <link rel="modulepreload" crossorigin href="/web/assets/js/components-CxadY39V.js">
26
+ <link rel="modulepreload" crossorigin href="/web/assets/js/utils-qrmq67Xg.js">
27
+ <link rel="modulepreload" crossorigin href="/web/assets/js/page-dashboard-DeOjlIBI.js">
28
28
  <link rel="stylesheet" crossorigin href="/web/assets/css/vendor-editor-CFbL2ovg.css">
29
29
  <link rel="stylesheet" crossorigin href="/web/assets/css/vendor-others-ZgkIHsf0.css">
30
30
  <link rel="stylesheet" crossorigin href="/web/assets/css/components-ep7vm38G.css">
31
- <link rel="stylesheet" crossorigin href="/web/assets/css/index-DxLRZkvi.css">
32
- </head>
33
-
34
- <body>
35
- <div id="root"></div>
36
- </body>
37
-
31
+ <link rel="stylesheet" crossorigin href="/web/assets/css/index-BrG42AwU.css">
32
+ </head>
33
+
34
+ <body>
35
+ <div id="root"></div>
36
+ </body>
37
+
38
38
  </html>
Binary file