@sparqjs/vite-plugin 0.2.5 → 0.2.6
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 +32 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -1
- package/dist/index.js.map +1 -1
- package/dist/menu-icons.d.ts +4 -0
- package/dist/menu-icons.d.ts.map +1 -0
- package/dist/menu-icons.js +43 -0
- package/dist/menu-icons.js.map +1 -0
- package/dist/shared-modules.d.ts +6 -0
- package/dist/shared-modules.d.ts.map +1 -0
- package/dist/shared-modules.js +71 -0
- package/dist/shared-modules.js.map +1 -0
- package/dist/shared-modules.json +17 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -44,3 +44,35 @@ createSparqTrustedRoot({ sharedVue: true })
|
|
|
44
44
|
```
|
|
45
45
|
|
|
46
46
|
插件项目仍需把 `vue` 声明为依赖。开发态导入会映射到 Admin Vue 单例,生产构建会把 `vue` 保留为 external,由宿主 Import Map 提供。只使用 `host.vue` 或不使用 Vue 的 Root 不应启用该选项,也不需要安装 Vue。
|
|
47
|
+
|
|
48
|
+
## 共享 admin-v1 公共模块
|
|
49
|
+
|
|
50
|
+
Trusted Vue 插件使用完整共享选项:
|
|
51
|
+
|
|
52
|
+
```ts
|
|
53
|
+
createSparqTrustedRoot({ sharedModules: true })
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
插件正常从 `vue`、`element-plus`、`@sparqjs/api-client`、`@sparqjs/plugin-sdk` 及其公开子入口、`@sparqjs/schema-core`、`schema-protocol`、`schema-vue`、`schema-designer`、`schema-ui-element-plus` 和其 `/preset` 入口导入。完整清单由 `sharedRuntimeModules` 导出。插件仍声明这些包的 npm 依赖供类型检查使用;开发态请求通过原生 ESM 转导出由宿主 Import Map 解析,生产构建保留 external。构建发现共享包被打入 chunk 时明确失败,避免深层导入绕过共享。
|
|
57
|
+
|
|
58
|
+
该选项包含 Vue 共享,不需要同时启用 `sharedVue`。只有 Vue 需求的既有插件可继续使用 `sharedVue`;iframe 页面保持独立构建。只有清单中的公开 JS 入口共享,不共享宿主带认证的 HTTP Client、Router、Store,也不共享任意包内部路径。缺少共享入口或导出时加载失败,不自动打包另一个版本;插件与宿主应配套使用兼容的 admin-v1 公共包版本。
|
|
59
|
+
|
|
60
|
+
共享 JS 不等于共享全局 CSS。Trusted Surface 和弹层继续使用宿主 ShadowRoot 样式桥接,不在插件中再次导入 Element Plus 或 Schema 全量样式。独立 iframe 的样式由其自己的入口加载。
|
|
61
|
+
|
|
62
|
+
## 声明 SVG 图标
|
|
63
|
+
|
|
64
|
+
在前端项目根目录 `frontend.json` 声明构建目录内的相对路径,源文件放在 `public/icons/article.svg`:
|
|
65
|
+
|
|
66
|
+
```json
|
|
67
|
+
{
|
|
68
|
+
"icons": {
|
|
69
|
+
"article": "icons/article.svg"
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
`createSparqTrustedRoot` 自动输出 `.vite/sparq-icons.json`。独立 iframe 项目可单独安装 `createSparqMenuIcons()`。`sparq-tool` 验证文件和 SVG 内容,再把 icons 加入 artifact 和 SHA-256 文件清单;宿主安装前再次校验。校验失败不发布新资源目录。
|
|
75
|
+
|
|
76
|
+
图标名称由小写字母开头,最多 64 字符,只包含小写字母、数字、下划线或连字符;最多声明 128 个图标。每个文件最多 64 KiB,必须为构建目录内普通 SVG 文件,根元素带 SVG namespace 和合法 viewBox。只接受静态几何元素及绘图属性,不接受脚本、事件、外链、CSS、use、foreignObject、DTD 或处理指令。
|
|
77
|
+
|
|
78
|
+
菜单和 Schema 使用 `cms:article` 这样的 `插件编码:图标名`,不能覆盖内置名称。宿主通过 Session 的静态图标清单安装贡献,菜单无需先执行插件 JS。图标通过 mask/currentColor 适配深浅主题与选中状态;更新文件摘要会改变缓存 URL,禁用插件或注销时清理注册,加载失败回退默认图标。彩色 Logo 使用普通图片资源。
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import type { PluginOption } from 'vite';
|
|
2
|
+
export { createSparqMenuIcons } from './menu-icons.js';
|
|
3
|
+
export { sharedRuntimeModules } from './shared-modules.js';
|
|
2
4
|
export { sparqFrontendBuildDescriptor, sparqFrontendBuildSchema } from './trusted-root-build.js';
|
|
3
5
|
export interface SparqTrustedRootOptions {
|
|
4
6
|
root?: string;
|
|
5
7
|
/** Root 直接导入 Vue 时启用,使开发态和生产态都复用 Admin 提供的 Vue 实例。 */
|
|
6
8
|
sharedVue?: boolean;
|
|
9
|
+
/** 共享完整 admin-v1 公共模块清单,包含 Vue;仅用于 trusted 插件。 */
|
|
10
|
+
sharedModules?: boolean;
|
|
7
11
|
}
|
|
8
12
|
/**
|
|
9
13
|
* 为 Trusted Root 统一安装开发态 HMR/CSS 桥接和生产构建描述。
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAOxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAE1D,OAAO,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAEhG,MAAM,WAAW,uBAAuB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,sDAAsD;IACtD,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,kDAAkD;IAClD,aAAa,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,GAAE,uBAA4B,GAAG,YAAY,EAAE,CAW5F"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { createSparqTrustedRootBuild } from './trusted-root-build.js';
|
|
2
2
|
import { createSparqTrustedRootDevelopment } from './trusted-root-development.js';
|
|
3
3
|
import { createSparqTrustedRootRuntime } from './trusted-root-runtime.js';
|
|
4
|
+
import { createSparqMenuIcons } from './menu-icons.js';
|
|
5
|
+
import { createSparqSharedModules } from './shared-modules.js';
|
|
6
|
+
export { createSparqMenuIcons } from './menu-icons.js';
|
|
7
|
+
export { sharedRuntimeModules } from './shared-modules.js';
|
|
4
8
|
export { sparqFrontendBuildDescriptor, sparqFrontendBuildSchema } from './trusted-root-build.js';
|
|
5
9
|
/**
|
|
6
10
|
* 为 Trusted Root 统一安装开发态 HMR/CSS 桥接和生产构建描述。
|
|
@@ -8,9 +12,14 @@ export { sparqFrontendBuildDescriptor, sparqFrontendBuildSchema } from './truste
|
|
|
8
12
|
*/
|
|
9
13
|
export function createSparqTrustedRoot(options = {}) {
|
|
10
14
|
return [
|
|
11
|
-
...(options.
|
|
15
|
+
...(options.sharedModules
|
|
16
|
+
? [createSparqSharedModules()]
|
|
17
|
+
: options.sharedVue
|
|
18
|
+
? [createSparqTrustedRootRuntime()]
|
|
19
|
+
: []),
|
|
12
20
|
createSparqTrustedRootDevelopment(options),
|
|
13
21
|
createSparqTrustedRootBuild(options),
|
|
22
|
+
createSparqMenuIcons(),
|
|
14
23
|
];
|
|
15
24
|
}
|
|
16
25
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAA;AACrE,OAAO,EAAE,iCAAiC,EAAE,MAAM,+BAA+B,CAAA;AACjF,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAA;AACrE,OAAO,EAAE,iCAAiC,EAAE,MAAM,+BAA+B,CAAA;AACjF,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAA;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAE9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAE1D,OAAO,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAUhG;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,UAAmC,EAAE;IACxE,OAAO;QACH,GAAG,CAAC,OAAO,CAAC,aAAa;YACrB,CAAC,CAAC,CAAC,wBAAwB,EAAE,CAAC;YAC9B,CAAC,CAAC,OAAO,CAAC,SAAS;gBACjB,CAAC,CAAC,CAAC,6BAA6B,EAAE,CAAC;gBACnC,CAAC,CAAC,EAAE,CAAC;QACX,iCAAiC,CAAC,OAAO,CAAC;QAC1C,2BAA2B,CAAC,OAAO,CAAC;QACpC,oBAAoB,EAAE;KACzB,CAAA;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-icons.d.ts","sourceRoot":"","sources":["../src/menu-icons.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAElC,qDAAqD;AACrD,wBAAgB,oBAAoB,IAAI,MAAM,CAqC7C"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { readFile } from 'node:fs/promises';
|
|
2
|
+
import { resolve } from 'node:path';
|
|
3
|
+
/** 输出 SVG 声明,文件摘要与 SVG 内容校验由 sparq-tool 和宿主安装器完成。 */
|
|
4
|
+
export function createSparqMenuIcons() {
|
|
5
|
+
let root = '';
|
|
6
|
+
return {
|
|
7
|
+
name: 'sparq-menu-icons',
|
|
8
|
+
apply: 'build',
|
|
9
|
+
configResolved(config) {
|
|
10
|
+
root = config.root;
|
|
11
|
+
},
|
|
12
|
+
async generateBundle() {
|
|
13
|
+
let source;
|
|
14
|
+
try {
|
|
15
|
+
source = await readFile(resolve(root, 'frontend.json'), 'utf8');
|
|
16
|
+
}
|
|
17
|
+
catch (error) {
|
|
18
|
+
if (error instanceof Error && 'code' in error && error.code === 'ENOENT')
|
|
19
|
+
return;
|
|
20
|
+
throw error;
|
|
21
|
+
}
|
|
22
|
+
const descriptor = JSON.parse(source);
|
|
23
|
+
if (descriptor.icons === undefined)
|
|
24
|
+
return;
|
|
25
|
+
const icons = descriptor.icons;
|
|
26
|
+
if (!icons || typeof icons !== 'object' || Array.isArray(icons) || Object.keys(icons).length > 128)
|
|
27
|
+
this.error('frontend.json 的 icons 必须是最多 128 个图标的对象。');
|
|
28
|
+
for (const [name, path] of Object.entries(icons)) {
|
|
29
|
+
if (!/^[a-z][a-z0-9_-]{0,63}$/.test(name) ||
|
|
30
|
+
typeof path !== 'string' ||
|
|
31
|
+
!/^[A-Za-z0-9_-][A-Za-z0-9_./-]*\.svg$/.test(path) ||
|
|
32
|
+
path.split('/').some((segment) => ['', '.', '..'].includes(segment)))
|
|
33
|
+
this.error(`图标 ${name} 必须使用稳定名称和构建目录内相对 SVG 路径。`);
|
|
34
|
+
}
|
|
35
|
+
this.emitFile({
|
|
36
|
+
type: 'asset',
|
|
37
|
+
fileName: '.vite/sparq-icons.json',
|
|
38
|
+
source: JSON.stringify({ schema: 'sparq.frontend-icons/v1', icons }),
|
|
39
|
+
});
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=menu-icons.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-icons.js","sourceRoot":"","sources":["../src/menu-icons.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGnC,qDAAqD;AACrD,MAAM,UAAU,oBAAoB;IAChC,IAAI,IAAI,GAAG,EAAE,CAAA;IACb,OAAO;QACH,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,OAAO;QACd,cAAc,CAAC,MAAM;YACjB,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;QACtB,CAAC;QACD,KAAK,CAAC,cAAc;YAChB,IAAI,MAAc,CAAA;YAClB,IAAI,CAAC;gBACD,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,MAAM,CAAC,CAAA;YACnE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;oBAAE,OAAM;gBAChF,MAAM,KAAK,CAAA;YACf,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAwB,CAAA;YAC5D,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS;gBAAE,OAAM;YAC1C,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAA;YAC9B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,GAAG;gBAC9F,IAAI,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAA;YACzD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/C,IACI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC;oBACrC,OAAO,IAAI,KAAK,QAAQ;oBACxB,CAAC,sCAAsC,CAAC,IAAI,CAAC,IAAI,CAAC;oBAClD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;oBAEpE,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,2BAA2B,CAAC,CAAA;YACzD,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC;gBACV,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,wBAAwB;gBAClC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,yBAAyB,EAAE,KAAK,EAAE,CAAC;aACvE,CAAC,CAAA;QACN,CAAC;KACJ,CAAA;AACL,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Plugin } from 'vite';
|
|
2
|
+
/** admin-v1 公共 ESM 入口;只共享模块,不共享宿主认证 Client 或全局状态。 */
|
|
3
|
+
export declare const sharedRuntimeModules: Readonly<Record<string, string>>;
|
|
4
|
+
/** 开发请求保留原生 ESM 转导出,生产依赖交给宿主 Import Map。 */
|
|
5
|
+
export declare function createSparqSharedModules(): Plugin;
|
|
6
|
+
//# sourceMappingURL=shared-modules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-modules.d.ts","sourceRoot":"","sources":["../src/shared-modules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAGlC,qDAAqD;AACrD,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAA0B,CAAA;AAM5F,4CAA4C;AAC5C,wBAAgB,wBAAwB,IAAI,MAAM,CAuDjD"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import modules from './shared-modules.json' with { type: 'json' };
|
|
2
|
+
/** admin-v1 公共 ESM 入口;只共享模块,不共享宿主认证 Client 或全局状态。 */
|
|
3
|
+
export const sharedRuntimeModules = Object.freeze(modules);
|
|
4
|
+
const specifiers = Object.keys(sharedRuntimeModules);
|
|
5
|
+
const shared = new Set(specifiers);
|
|
6
|
+
const packages = new Set(specifiers.map((id) => (id.startsWith('@') ? id.split('/').slice(0, 2).join('/') : id)));
|
|
7
|
+
for (const name of ['@vue/runtime-core', '@vue/runtime-dom', '@vue/reactivity', '@vue/shared'])
|
|
8
|
+
packages.add(name);
|
|
9
|
+
/** 开发请求保留原生 ESM 转导出,生产依赖交给宿主 Import Map。 */
|
|
10
|
+
export function createSparqSharedModules() {
|
|
11
|
+
let testing = false;
|
|
12
|
+
return {
|
|
13
|
+
name: 'sparq-shared-modules',
|
|
14
|
+
enforce: 'pre',
|
|
15
|
+
config(config, environment) {
|
|
16
|
+
testing = environment.mode === 'test';
|
|
17
|
+
if (testing)
|
|
18
|
+
return;
|
|
19
|
+
return {
|
|
20
|
+
define: {
|
|
21
|
+
'process.env.NODE_ENV': config.define?.['process.env.NODE_ENV'] ??
|
|
22
|
+
JSON.stringify(environment.command === 'build' ? 'production' : 'development'),
|
|
23
|
+
},
|
|
24
|
+
optimizeDeps: { exclude: specifiers },
|
|
25
|
+
server: { preTransformRequests: false },
|
|
26
|
+
build: { rolldownOptions: { external: specifiers } },
|
|
27
|
+
};
|
|
28
|
+
},
|
|
29
|
+
resolveId(source) {
|
|
30
|
+
if (!testing && shared.has(source))
|
|
31
|
+
return { id: source, external: true };
|
|
32
|
+
},
|
|
33
|
+
configureServer(server) {
|
|
34
|
+
const prefix = `${server.config.base}@id/`;
|
|
35
|
+
server.middlewares.use((request, response, next) => {
|
|
36
|
+
const pathname = new URL(request.url ?? '/', 'http://vite.local').pathname;
|
|
37
|
+
const specifier = pathname.startsWith(prefix) ? pathname.slice(prefix.length) : '';
|
|
38
|
+
if (!['GET', 'HEAD'].includes(request.method ?? '') || !shared.has(specifier))
|
|
39
|
+
return next();
|
|
40
|
+
response.setHeader('Content-Type', 'text/javascript; charset=utf-8');
|
|
41
|
+
response.setHeader('Cache-Control', 'no-cache');
|
|
42
|
+
response.end(`export * from ${JSON.stringify(specifier)};\n` +
|
|
43
|
+
(specifier === 'element-plus' || specifier === 'vue'
|
|
44
|
+
? `export { default } from ${JSON.stringify(specifier)};\n`
|
|
45
|
+
: ''));
|
|
46
|
+
});
|
|
47
|
+
},
|
|
48
|
+
generateBundle(_options, bundle) {
|
|
49
|
+
if (testing)
|
|
50
|
+
return;
|
|
51
|
+
for (const output of Object.values(bundle)) {
|
|
52
|
+
if (output.type !== 'chunk')
|
|
53
|
+
continue;
|
|
54
|
+
for (const id of Object.keys(output.modules)) {
|
|
55
|
+
const normalized = id.replaceAll('\\', '/');
|
|
56
|
+
if (!normalized.includes('/node_modules/'))
|
|
57
|
+
continue;
|
|
58
|
+
const dependency = normalized.split('/node_modules/').at(-1);
|
|
59
|
+
if (!dependency)
|
|
60
|
+
continue;
|
|
61
|
+
const name = dependency.startsWith('@')
|
|
62
|
+
? dependency.split('/').slice(0, 2).join('/')
|
|
63
|
+
: dependency.split('/')[0];
|
|
64
|
+
if (packages.has(name))
|
|
65
|
+
this.error(`Trusted 插件不能重复打包宿主共享依赖:${id}`);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=shared-modules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-modules.js","sourceRoot":"","sources":["../src/shared-modules.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"vue": "vue",
|
|
3
|
+
"element-plus": "element-plus",
|
|
4
|
+
"@sparqjs/api-client": "api-client",
|
|
5
|
+
"@sparqjs/plugin-sdk": "plugin-sdk",
|
|
6
|
+
"@sparqjs/plugin-sdk/bridge": "plugin-sdk-bridge",
|
|
7
|
+
"@sparqjs/plugin-sdk/client": "plugin-sdk-client",
|
|
8
|
+
"@sparqjs/plugin-sdk/host": "plugin-sdk-host",
|
|
9
|
+
"@sparqjs/plugin-sdk/runtime": "plugin-sdk-runtime",
|
|
10
|
+
"@sparqjs/plugin-sdk/vue": "plugin-sdk-vue",
|
|
11
|
+
"@sparqjs/schema-core": "schema-core",
|
|
12
|
+
"@sparqjs/schema-protocol": "schema-protocol",
|
|
13
|
+
"@sparqjs/schema-vue": "schema-vue",
|
|
14
|
+
"@sparqjs/schema-designer": "schema-designer",
|
|
15
|
+
"@sparqjs/schema-ui-element-plus": "schema-ui-element-plus",
|
|
16
|
+
"@sparqjs/schema-ui-element-plus/preset": "schema-ui-element-plus-preset"
|
|
17
|
+
}
|