@chatbi-v/cli 2.0.1 → 2.0.2
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 +45 -0
- package/dist/bench-ACSHVGHE.mjs +77 -0
- package/dist/build-UB4D3WNI.mjs +11 -0
- package/dist/chunk-4OD6C56P.mjs +89 -0
- package/dist/chunk-7A54IJI5.mjs +6368 -0
- package/dist/chunk-LJFX6MNO.mjs +255 -0
- package/dist/chunk-SBGVKO4C.mjs +2255 -0
- package/dist/chunk-TX5M36S5.mjs +55 -0
- package/dist/chunk-V7IEPMC4.mjs +52 -0
- package/dist/chunk-WCPZB47I.mjs +262 -0
- package/dist/chunk-WIVHOK75.mjs +5292 -0
- package/dist/chunk-Y24V4GQG.mjs +9577 -0
- package/dist/commands/add.js +182 -0
- package/dist/commands/bench.js +100 -0
- package/dist/commands/build.js +290 -0
- package/dist/commands/dev.js +8 -0
- package/dist/commands/discover.js +25 -0
- package/dist/commands/doctor.js +231 -0
- package/dist/commands/fetch.js +41 -0
- package/dist/commands/gl.js +151 -0
- package/dist/commands/init.js +253 -0
- package/dist/commands/install.js +85 -0
- package/dist/commands/ls.js +46 -0
- package/dist/commands/sync.js +78 -0
- package/dist/commands/use.js +31 -0
- package/dist/config.js +70 -0
- package/dist/corekit.js +370 -0
- package/dist/execa-METROS6Z.mjs +17 -0
- package/dist/fetch-7X2UFWIV.mjs +10 -0
- package/dist/index.cjs +27278 -0
- package/dist/index.js +193 -23981
- package/dist/index.mjs +2769 -0
- package/dist/init-QFRFYEA5.mjs +12 -0
- package/dist/sandbox.js +522 -0
- package/dist/sync-7HPKGVFY.mjs +11 -0
- package/dist/utils.js +99 -0
- package/package.json +4 -3
- package/templates/app/.env.hbs +2 -2
- package/templates/app/README.md.hbs +29 -11
- package/templates/app/chatbi.config.ts.hbs +10 -33
- package/templates/app/index.html.hbs +1 -1
- package/templates/app/package.json.hbs +12 -14
- package/templates/app/postcss.config.cjs.hbs +5 -1
- package/templates/app/src/App.tsx.hbs +66 -36
- package/templates/app/src/components/GlobalSettingsModal.tsx.hbs +11 -1
- package/templates/app/src/hooks/useAppRoutes.ts.hbs +3 -6
- package/templates/app/src/hooks/usePluginLoader.ts.hbs +54 -7
- package/templates/app/src/hooks/usePluginStateSync.ts.hbs +81 -0
- package/templates/app/src/hooks/useThemeSync.ts.hbs +25 -74
- package/templates/app/src/layouts/MainContent.tsx.hbs +1 -1
- package/templates/app/src/layouts/SidebarNav.tsx.hbs +15 -14
- package/templates/app/src/main.tsx.hbs +2 -9
- package/templates/app/src/providers/AppProviders.tsx.hbs +2 -0
- package/templates/app/src/stores/useSessionStore.ts.hbs +1 -1
- package/templates/app/src/stores/useUIStore.ts.hbs +22 -3
- package/templates/app/src/vite-env.d.ts.hbs +1 -0
- package/templates/app/tailwind.config.cjs.hbs +26 -7
- package/templates/app/tsconfig.json.hbs +2 -5
- package/templates/app/vite.config.ts.hbs +67 -52
- package/templates/monorepo/package.json.hbs +1 -1
- package/templates/plugin/README.md.hbs +36 -0
- package/templates/plugin/package.json.hbs +26 -21
- package/templates/plugin/src/api/index.ts.hbs +3 -0
- package/templates/plugin/src/components/MainView.tsx.hbs +12 -0
- package/templates/plugin/src/index.tsx.hbs +39 -72
- package/templates/plugin/tsconfig.json.hbs +4 -15
- package/templates/app/src/services/api/modules/auth.ts.hbs +0 -18
|
@@ -1,90 +1,57 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
1
|
+
import { RocketOutlined } from '@ant-design/icons';
|
|
2
|
+
import { createLogger, definePlugin, type PluginContext, Slot } from '@chatbi-v/core';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import pkg from '../package.json';
|
|
5
|
+
|
|
6
|
+
const logger = createLogger('{{pluginName}}');
|
|
4
7
|
|
|
5
8
|
/**
|
|
6
|
-
*
|
|
7
|
-
* 必须实现 Plugin 接口,并导出为 default
|
|
8
|
-
*
|
|
9
|
-
* 生命周期说明:
|
|
10
|
-
* - onLoad: 插件加载时调用,用于初始化状态、注册服务等
|
|
11
|
-
* - onUnload: 插件卸载时调用,用于清理资源
|
|
9
|
+
* {{pluginDescription}}
|
|
12
10
|
*/
|
|
13
|
-
export
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* 路由配置 (可选)
|
|
26
|
-
* 如果插件需要注册页面路由,在此处定义
|
|
27
|
-
*/
|
|
11
|
+
export const {{pluginClassName}} = definePlugin({
|
|
12
|
+
/** 插件元数据 */
|
|
13
|
+
metadata: {
|
|
14
|
+
id: pkg.name,
|
|
15
|
+
name: '{{pluginDisplayName}}',
|
|
16
|
+
version: pkg.version,
|
|
17
|
+
type: '{{pluginType}}', // business | system | renderer
|
|
18
|
+
description: '{{pluginDescription}}',
|
|
19
|
+
capabilities: {
|
|
20
|
+
configurable: true
|
|
21
|
+
},
|
|
28
22
|
routes: [
|
|
29
23
|
{
|
|
30
|
-
path: '/{{
|
|
31
|
-
|
|
32
|
-
component: () => <div style=\{{ padding: '20px', background: '#f5f5f5', borderRadius: '8px' }}>
|
|
33
|
-
<h3>Hello from {{pluginId}} Plugin!</h3>
|
|
34
|
-
<p>This is a {{pluginType}} plugin generated by ChatBI CLI.</p>
|
|
35
|
-
</div>,
|
|
24
|
+
path: '/{{pluginPath}}',
|
|
25
|
+
component: React.lazy(() => import('./components/MainView')),
|
|
36
26
|
meta: {
|
|
37
|
-
title: '{{
|
|
38
|
-
icon: '
|
|
27
|
+
title: '{{pluginDisplayName}}',
|
|
28
|
+
icon: 'RocketOutlined'
|
|
39
29
|
}
|
|
40
30
|
}
|
|
41
31
|
],
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* 扩展插槽配置 (可选)
|
|
45
|
-
* 用于将组件注入到系统的各个位置 (如侧边栏、顶部栏等)
|
|
46
|
-
*/
|
|
47
32
|
extensions: [
|
|
48
33
|
{
|
|
49
|
-
slot: Slot.Sidebar,
|
|
50
|
-
component: () => null,
|
|
51
|
-
order: 10,
|
|
34
|
+
slot: Slot.Sidebar,
|
|
35
|
+
component: () => null,
|
|
36
|
+
order: 10,
|
|
52
37
|
meta: {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
path: '/{{
|
|
38
|
+
icon: <RocketOutlined />,
|
|
39
|
+
label: '{{pluginDisplayName}}',
|
|
40
|
+
path: '/{{pluginPath}}'
|
|
56
41
|
}
|
|
57
42
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
//
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
//
|
|
43
|
+
],
|
|
44
|
+
configuration: [
|
|
45
|
+
// 在此定义插件配置项
|
|
46
|
+
],
|
|
47
|
+
storage: [
|
|
48
|
+
// 在此定义插件持久化状态
|
|
64
49
|
]
|
|
65
|
-
}
|
|
50
|
+
},
|
|
66
51
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
* @param context 插件上下文,包含 logger, eventBus, serviceRegistry 等
|
|
70
|
-
*/
|
|
71
|
-
onLoad(context: PluginContext) {
|
|
72
|
-
context.logger.info('{{className}} Loaded!')
|
|
73
|
-
|
|
74
|
-
// 示例:监听事件
|
|
75
|
-
// context.eventBus.on('some-event', () => { ... })
|
|
76
|
-
|
|
77
|
-
// 示例:注册服务
|
|
78
|
-
// context.serviceRegistry.register('myService', new MyService())
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* 插件卸载回调 (可选)
|
|
83
|
-
*/
|
|
84
|
-
onUnload() {
|
|
85
|
-
// 清理资源
|
|
86
|
-
console.log('{{className}} Unloaded')
|
|
52
|
+
async onLoad(context: PluginContext) {
|
|
53
|
+
logger.info('{{pluginDisplayName}} loaded');
|
|
87
54
|
}
|
|
88
|
-
}
|
|
55
|
+
});
|
|
89
56
|
|
|
90
|
-
export default {{
|
|
57
|
+
export default {{pluginClassName}};
|
|
@@ -1,21 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"extends": "{{tsconfigPath}}",
|
|
3
3
|
"compilerOptions": {
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"moduleResolution": "bundler",
|
|
9
|
-
"allowImportingTsExtensions": true,
|
|
10
|
-
"resolveJsonModule": true,
|
|
11
|
-
"isolatedModules": true,
|
|
12
|
-
"noEmit": false,
|
|
13
|
-
"declaration": true,
|
|
14
|
-
"emitDeclarationOnly": true,
|
|
15
|
-
"declarationDir": "./dist",
|
|
16
|
-
"jsx": "react-jsx",
|
|
17
|
-
"esModuleInterop": true,
|
|
18
|
-
"baseUrl": "."
|
|
4
|
+
"outDir": "./dist",
|
|
5
|
+
"rootDir": "./src",
|
|
6
|
+
"moduleResolution": "node",
|
|
7
|
+
"composite": true
|
|
19
8
|
},
|
|
20
9
|
"include": ["src"]
|
|
21
10
|
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export default {
|
|
2
|
-
login: {
|
|
3
|
-
url: '/auth/login',
|
|
4
|
-
method: 'POST',
|
|
5
|
-
desc: '用户登录',
|
|
6
|
-
mock: true,
|
|
7
|
-
mockData: {
|
|
8
|
-
code: 0,
|
|
9
|
-
message: 'success',
|
|
10
|
-
data: { token: 'mock-token-123', user: { id: 1, name: 'Admin' } },
|
|
11
|
-
},
|
|
12
|
-
},
|
|
13
|
-
logout: {
|
|
14
|
-
url: '/auth/logout',
|
|
15
|
-
method: 'POST',
|
|
16
|
-
desc: '用户登出',
|
|
17
|
-
},
|
|
18
|
-
};
|