1
0
mirror of synced 2025-12-11 12:17:56 +08:00

Compare commits

..

13 Commits

Author SHA1 Message Date
roymondchen
fcb69b7743 chore: release v1.2.5 2023-02-17 15:58:59 +08:00
parisma
010918198a fix(editor): 修复优化性能引起的问题,支持回退撤销对代码关系的更新 2023-02-17 07:31:26 +00:00
roymondchen
8102aaeb12 chore: release v1.2.4 2023-02-17 14:24:14 +08:00
parisma
a013f35cd9 fix: 调整绑定关系结构,优化性能 2023-02-17 14:14:26 +08:00
roymondchen
6637fdc92b chore: release v1.2.3 2023-02-15 19:46:59 +08:00
roymondchen
4d0b4c3178 feat(form): select config.option.afterRequest添加postOptions 2023-02-15 19:35:47 +08:00
roymondchen
3501a69b2f docs: cascader链接不对 2023-02-15 14:27:29 +08:00
roymondchen
d06a874c3b feat(cli): 支持配置是否自动安装组件npm包,支持配置安装组件npm包后是否保持package.json不变 2023-02-14 17:16:15 +08:00
roymondchen
8369b2c22c docs(admin): rEADME中runtime构建描述错误
fix #479
2023-02-14 15:02:04 +08:00
roymondchen
8e870c835e chore(admin): 更新server package依赖版本 2023-02-10 15:09:27 +08:00
roymondchen
de4d77c1ec chore: 完善peerDependencies 2023-02-10 14:56:33 +08:00
roymondchen
ae5c627902 chore: release v1.2.2 2023-02-09 17:00:12 +08:00
roymondchen
aa566e9535 fix(editor): set root 可能没有items 2023-02-09 16:57:22 +08:00
38 changed files with 2661 additions and 14947 deletions

View File

@@ -1,3 +1,40 @@
## [1.2.5](https://github.com/Tencent/tmagic-editor/compare/v1.2.4...v1.2.5) (2023-02-17)
### Bug Fixes
* **editor:** 修复优化性能引起的问题,支持回退撤销对代码关系的更新 ([0109181](https://github.com/Tencent/tmagic-editor/commit/010918198a7daa97ed3bd3c797ac88c091ef90a1))
## [1.2.4](https://github.com/Tencent/tmagic-editor/compare/v1.2.3...v1.2.4) (2023-02-17)
### Bug Fixes
* 调整绑定关系结构,优化性能 ([a013f35](https://github.com/Tencent/tmagic-editor/commit/a013f35cd9bd5bb9b3f3c796d603c9efc31d5b5d))
## [1.2.3](https://github.com/Tencent/tmagic-editor/compare/v1.2.2...v1.2.3) (2023-02-15)
### Features
* **cli:** 支持配置是否自动安装组件npm包支持配置安装组件npm包后是否保持package.json不变 ([d06a874](https://github.com/Tencent/tmagic-editor/commit/d06a874c3b997a73f80bed4196974a331d6ef133))
* **form:** select config.option.afterRequest添加postOptions ([4d0b4c3](https://github.com/Tencent/tmagic-editor/commit/4d0b4c31781e5a3381fc4d73bf62c6f66253a563))
## [1.2.2](https://github.com/Tencent/tmagic-editor/compare/v1.2.1...v1.2.2) (2023-02-09)
### Bug Fixes
* **editor:** set root 可能没有items ([aa566e9](https://github.com/Tencent/tmagic-editor/commit/aa566e9535c5afd76fa15b39f42de395758189eb))
## [1.2.1](https://github.com/Tencent/tmagic-editor/compare/v1.2.0...v1.2.1) (2023-02-09)

View File

@@ -329,7 +329,7 @@ export default defineConfig({
},
{
text: 'Cascader级联选择器',
link: '/form-config/fields/select.md'
link: '/form-config/fields/cascader.md'
},
{
text: 'ColorPicker颜色选择器',

View File

@@ -145,10 +145,15 @@ watchEffect(async () => {
```js
cd magic
npm run build
npm run build:runtime:admin
```
将 /playground/dist/runtime 文件夹复制到 /magic-admin/web/public 和 /magic-admin/server/assets 目录下。web 下的 runtime 提供给模拟画布使用server 下的 runtime 提供给发布后的页面来使用
将 /runtime/vue3|vue2|react/dist 文件夹复制到 /magic-admin/serve/static 目录下
```
mkdir ./magic-admin/server/static/vue3
cp -rf ./runtime/vue3/dist/* ./magic-admin/server/static/vue3
```
上面的操作我们提供了/magic-admin/setup.sh 脚本文件来实现,开发者可以参考该脚本文件来搭建流水线。

File diff suppressed because it is too large Load Diff

View File

@@ -40,9 +40,9 @@
"tslib": "^2.4.0"
},
"devDependencies": {
"@babel/core": "^7.15.0",
"@babel/preset-env": "^7.15.0",
"@babel/preset-typescript": "^7.15.0",
"@babel/core": "^7.20.12",
"@babel/preset-env": "^7.20.2",
"@babel/preset-typescript": "^7.18.6",
"@types/axios": "^0.14.0",
"@types/babel-core": "^6.25.7",
"@types/fs-extra": "^9.0.13",

View File

@@ -1,5 +1,5 @@
{
"version": "1.2.1",
"version": "1.2.5",
"name": "tmagic",
"private": true,
"packageManager": "pnpm@7.1.9",

View File

@@ -10,4 +10,9 @@ cli({
temp: '.tmagic',
useTs: true,
dynamicImport: false,
npmConfig: {
client: 'npm',
autoInstall: true,
keepPackageJsonClean: true,
},
});

View File

@@ -1,5 +1,5 @@
{
"version": "1.2.1",
"version": "1.2.5",
"name": "@tmagic/cli",
"main": "lib/index.js",
"types": "lib/index.d.ts",

View File

@@ -22,12 +22,16 @@ export const scripts = (defaultAppConfig: UserConfig) => {
path.resolve(defaultAppConfig.temp, 'config.cjs'),
].find((item) => fs.pathExistsSync(item));
const userConfig = await loadUserConfig(userConfigPath);
const { npmConfig = {}, ...userConfig } = await loadUserConfig(userConfigPath);
// resolve the final app config to use
const appConfig = {
...defaultAppConfig,
...userConfig,
npmConfig: {
...(defaultAppConfig.npmConfig || {}),
...npmConfig,
},
};
if (appConfig === null) {

View File

@@ -38,6 +38,10 @@ export interface NpmConfig {
registry?: string;
/** pnpm | npm | yarn */
client?: 'npm' | 'yarn' | 'pnpm';
/** 是否自动安装组件依赖默认为true */
autoInstall?: boolean;
/** 安装组件后npm默认会将依赖写入package.json中将该值设置为true则不会写入默认为true */
keepPackageJsonClean?: boolean;
}
export interface ModuleMainFilePath {

View File

@@ -22,7 +22,13 @@ export const prepareEntryFile = async (app: App) => {
}
Object.keys(contentMap).forEach((file: string) => {
const fileName = `${file}.${useTs ? 'ts' : 'js'}`;
let fileName = `${file}.ts`;
if (useTs) {
app.writeTemp(fileName, contentMap[file]);
} else {
fileName = `${file}.js`;
app.writeTemp(`${file}.d.ts`, `const type: Record<string, any>;\n\nexport default type;`);
}
app.writeTemp(fileName, contentMap[file]);
});
};

View File

@@ -82,7 +82,9 @@ export const resolveAppPackages = (app: App): ModuleMainFilePath => {
dependencies[moduleName] = version;
};
app.options.packages.forEach((item) => {
const { packages = [], npmConfig = {} } = app.options;
packages.forEach((item) => {
if (typeof item === 'object') {
Object.entries(item).forEach(([, packagePath]) => {
getDependencies(packagePath);
@@ -92,26 +94,26 @@ export const resolveAppPackages = (app: App): ModuleMainFilePath => {
}
});
if (Object.keys(dependencies).length) {
const packageFile = path.join(app.options.source, 'package.json');
const packageBakFile = path.join(app.options.source, 'package.json.bak');
if (fs.existsSync(packageFile)) {
fs.copyFileSync(packageFile, packageBakFile);
}
try {
if (npmConfig.autoInstall && Object.keys(dependencies).length) {
if (!npmConfig.keepPackageJsonClean) {
npmInstall(dependencies, app.options.source, app.options.npmConfig);
} catch (e) {
error(e as string);
}
} else {
const packageFile = path.join(app.options.source, 'package.json');
const packageBakFile = path.join(app.options.source, 'package.json.bak');
if (fs.existsSync(packageFile)) {
fs.copyFileSync(packageFile, packageBakFile);
}
if (fs.existsSync(packageBakFile)) {
fs.unlinkSync(packageFile);
fs.renameSync(packageBakFile, packageFile);
npmInstall(dependencies, app.options.source, app.options.npmConfig);
if (fs.existsSync(packageBakFile)) {
fs.unlinkSync(packageFile);
fs.renameSync(packageBakFile, packageFile);
}
}
}
app.options.packages.forEach((item) => {
packages.forEach((item) => {
if (typeof item === 'object') {
Object.entries(item).forEach(([key, packagePath]) => {
setPackages(app.options.source, packagePath, key);
@@ -131,26 +133,30 @@ export const resolveAppPackages = (app: App): ModuleMainFilePath => {
};
const npmInstall = function (dependencies: Record<string, string>, cwd: string, npmConfig: NpmConfig = {}) {
const { client = 'npm', registry = 'https://registry.npmjs.org/' } = npmConfig;
const install = {
npm: 'install',
yarn: 'add',
pnpm: 'add',
}[client];
try {
const { client = 'npm', registry = 'https://registry.npmjs.org/' } = npmConfig;
const install = {
npm: 'install',
yarn: 'add',
pnpm: 'add',
}[client];
const packages = Object.entries(dependencies)
.map(([name, version]) => `${name}@${version}`)
.join(' ');
const packages = Object.entries(dependencies)
.map(([name, version]) => `${name}@${version}`)
.join(' ');
const command = `${client} ${install} ${packages} --registry ${registry}`;
const command = `${client} ${install} ${packages} --registry ${registry}`;
execInfo(cwd);
execInfo(command);
execInfo(cwd);
execInfo(command);
execSync(command, {
stdio: 'inherit',
cwd,
});
execSync(command, {
stdio: 'inherit',
cwd,
});
} catch (e) {
error(e as string);
}
};
/**

View File

@@ -1,5 +1,5 @@
{
"version": "1.2.1",
"version": "1.2.5",
"name": "@tmagic/core",
"type": "module",
"sideEffects": [
@@ -36,7 +36,7 @@
"vue"
],
"dependencies": {
"@tmagic/schema": "1.2.1",
"@tmagic/schema": "1.2.5",
"events": "^3.3.0",
"lodash-es": "^4.17.21"
},

View File

@@ -1,5 +1,5 @@
{
"version": "1.2.1",
"version": "1.2.5",
"name": "@tmagic/design",
"type": "module",
"sideEffects": [

View File

@@ -1,5 +1,5 @@
{
"version": "1.2.1",
"version": "1.2.5",
"name": "@tmagic/editor",
"type": "module",
"sideEffects": [
@@ -46,12 +46,12 @@
"dependencies": {
"@babel/core": "^7.18.0",
"@element-plus/icons-vue": "^2.0.9",
"@tmagic/core": "1.2.1",
"@tmagic/design": "1.2.1",
"@tmagic/form": "1.2.1",
"@tmagic/schema": "1.2.1",
"@tmagic/stage": "1.2.1",
"@tmagic/utils": "1.2.1",
"@tmagic/core": "1.2.5",
"@tmagic/design": "1.2.5",
"@tmagic/form": "1.2.5",
"@tmagic/schema": "1.2.5",
"@tmagic/stage": "1.2.5",
"@tmagic/utils": "1.2.5",
"buffer": "^6.0.3",
"color": "^3.1.3",
"events": "^3.3.0",
@@ -63,8 +63,8 @@
"vue": "^3.2.37"
},
"peerDependencies": {
"@tmagic/design": "1.2.1",
"@tmagic/form": "1.2.1",
"@tmagic/design": "1.2.5",
"@tmagic/form": "1.2.5",
"monaco-editor": "^0.34.0",
"vue": "^3.2.37"
},

View File

@@ -362,6 +362,8 @@ export default defineComponent({
disabledDragStart: props.disabledDragStart,
}),
);
// 监听组件update
codeBlockService.addCodeRelationListener();
return services;
},

View File

@@ -6,7 +6,12 @@
type="card"
tab-position="left"
>
<component :is="uiComponent.component" v-for="(config, index) in sideBarItems" :key="index" :name="config.text">
<component
:is="uiComponent.component"
v-for="(config, index) in sideBarItems"
:key="config.$key || index"
:name="config.text"
>
<template #label>
<div :key="config.text">
<MIcon v-if="config.icon" :icon="config.icon"></MIcon>

View File

@@ -96,7 +96,7 @@ import { ColumnConfig } from '@tmagic/form';
import { CodeBlockContent, Id } from '@tmagic/schema';
import Icon from '../../../components/Icon.vue';
import type { CodeRelation, Services } from '../../../type';
import type { CodeRelation, CombineInfo, Services } from '../../../type';
import { CodeDeleteErrorType, CodeDslItem, ListState } from '../../../type';
import codeBlockEditor from './CodeBlockEditor.vue';
@@ -121,17 +121,22 @@ const isShowCodeBlockEditor = computed(() => services?.codeBlockService.getCodeE
const codeCombineInfo = ref<CodeRelation | null>(null);
// 根据代码块ID获取其绑定的组件信息
const getBindCompsByCodeId = (codeId: Id) => {
if (!codeCombineInfo.value || !codeCombineInfo.value[codeId]) return [];
const bindCompsId = Object.keys(codeCombineInfo.value[codeId]);
return bindCompsId.map((compId) => ({
compId,
compName: getCompName(compId),
}));
const getBindCompsByCodeId = (codeId: Id): CombineInfo[] => {
if (!codeCombineInfo.value) return [];
const bindsComp = [] as CombineInfo[];
forIn(codeCombineInfo.value, (codeIds, compId) => {
if (codeIds.includes(codeId)) {
bindsComp.push({
compId,
compName: getCompName(compId),
});
}
});
return bindsComp as CombineInfo[];
};
// 初始化代码块列表
const initList = async () => {
// 更新代码块列表
const refreshCodeList = async () => {
const codeDsl = cloneDeep(await services?.codeBlockService.getCodeDsl()) || null;
codeCombineInfo.value = cloneDeep(services?.codeBlockService.getCombineInfo()) || null;
if (!codeDsl || !codeCombineInfo.value) return;
@@ -148,12 +153,19 @@ const initList = async () => {
};
watch(
[() => services?.codeBlockService.getCodeDslSync(), () => services?.codeBlockService.refreshCombineInfo()],
() => services?.editorService.get('root'),
() => {
initList();
services?.codeBlockService.refreshAllRelations();
refreshCodeList();
},
);
watch(
[() => services?.codeBlockService.getCodeDslSync(), () => services?.codeBlockService.getCombineInfo()],
() => {
refreshCodeList();
},
{
immediate: true,
deep: true,
},
);

View File

@@ -17,9 +17,9 @@
*/
import { reactive } from 'vue';
import { cloneDeep, forIn, isEmpty, keys, omit, pick } from 'lodash-es';
import { cloneDeep, forIn, isEmpty, keys, omit, pick, union } from 'lodash-es';
import { CodeBlockContent, CodeBlockDSL, HookType, Id, MNode } from '@tmagic/schema';
import { CodeBlockContent, CodeBlockDSL, HookType, Id, MNode, MPage } from '@tmagic/schema';
import editorService from '../services/editor';
import type { CodeRelation, CodeState, HookData } from '../type';
@@ -230,16 +230,45 @@ class CodeBlock extends BaseService {
}
/**
* 刷新绑定关系
* @returns {CodeRelation | null}
* 监听组件更新来更新代码块绑定关系
* @returns {void}
*/
public refreshCombineInfo(): CodeRelation | null {
public addCodeRelationListener(): void {
// 监听组件更新
editorService.on('update', (nodes: MNode[]) => {
const relations: CodeRelation = cloneDeep(this.state.relations);
nodes.forEach((node: MNode) => {
if (node?.id) {
relations[node.id] = [];
this.getNodeRelation(node, relations);
}
});
this.state.relations = { ...relations };
});
// 监听组件删除
editorService.on('remove', (nodes: MNode[]) => {
nodes.forEach((node: MNode) => {
this.state.relations = this.deleteNodeRelation(node, this.state.relations);
});
});
// 监听历史记录,历史快照为页面整体,需要深层遍历更新
editorService.on('history-change', (page: MPage) => {
const relations: CodeRelation = {};
this.getNodeRelation(page, relations, true);
this.state.relations = relations;
});
}
/**
* 更新全部绑定关系
* @returns {void}
*/
public refreshAllRelations(): void {
const root = editorService.get('root');
if (!root) return null;
const relations = {};
this.recurseMNode(root, relations);
if (!root) return;
const relations: CodeRelation = {};
this.getNodeRelation(root, relations, true);
this.state.relations = relations;
return this.state.relations;
}
/**
@@ -313,18 +342,6 @@ class CodeBlock extends BaseService {
return await this.getUniqueId();
}
/**
* 通过组件id解除绑定关系删除组件
* @param {MNode} compId 组件节点
* @returns void
*/
public async deleteCompsInRelation(node: MNode): Promise<void> {
const codeDsl = cloneDeep(await this.getCodeDsl());
if (!codeDsl) return;
this.refreshRelationDeep(node, codeDsl);
this.setCodeDsl(codeDsl);
}
public resetState() {
this.state.isShowCodeEditor = false;
this.state.codeDsl = null;
@@ -340,63 +357,63 @@ class CodeBlock extends BaseService {
this.removeAllPlugins();
}
/**
* 删除组件时 如果是容器 需要遍历删除其包含节点的绑定信息
* @param {MNode} node 节点信息
* @param {CodeBlockDSL} codeDsl 代码块
* @returns void
*/
private refreshRelationDeep(node: MNode, codeDsl: CodeBlockDSL): void {
if (!node.id) return;
forIn(codeDsl, (codeBlockContent) => {
const compsContent = codeBlockContent.comps || {};
codeBlockContent.comps = omit(compsContent, node.id);
});
if (!isEmpty(node.items)) {
node.items.forEach((item: MNode) => {
this.refreshRelationDeep(item, codeDsl);
});
}
}
/**
* 递归遍历dsl中挂载了代码块的节点并更新绑定关系数据
* @param {MContainer} node 节点信息
* @param {MNode} node 节点信息
* @param {CodeRelation} relation 关系数据
* @param {boolean} deep 是否深层遍历
* @returns void
*/
private recurseMNode(node: MNode, relations: CodeRelation): void {
private getNodeRelation(node: MNode, relation: CodeRelation, deep = false): void {
forIn(node, (value, key) => {
let unConfirmedValue: MNode = { id: node.id };
if (value?.hookType === HookType.CODE && !isEmpty(value.hookData)) {
value.hookData.forEach((relationItem: HookData) => {
// continue
if (!relationItem.codeId) return;
if (!relations[relationItem.codeId]) {
relations[relationItem.codeId] = {};
if (relationItem.codeId) {
relation[node.id] = union(relation[node.id], [relationItem.codeId]);
}
const codeItem = relations[relationItem.codeId];
if (isEmpty(codeItem[node.id])) {
codeItem[node.id] = [];
}
codeItem[node.id].push(key);
});
// continue
return;
}
if (typeof value === 'object') {
let isContinue = false;
try {
// 只遍历更新当前组件的关系,不再深层遍历容器包含的组件
isContinue = key !== 'items' && typeof value === 'object' && JSON.stringify(value).includes('hookType');
} catch (error) {
console.error(error);
}
if (isContinue) {
// 检查value内部是否有嵌套
unConfirmedValue = {
...unConfirmedValue,
const unConfirmedValue = {
id: node.id,
...value,
};
this.recurseMNode(unConfirmedValue, relations);
this.getNodeRelation(unConfirmedValue, relation);
}
// 深层遍历用于代码列表初始化
if (key === 'items' && !isEmpty(value) && deep) {
value.forEach((item: MNode) => {
this.getNodeRelation(item, relation, deep);
});
}
});
}
/**
* 删除组件关系
* @param {MNode} node 节点信息
* @param {CodeRelation} relations 关系数据
* @returns CodeRelation
*/
private deleteNodeRelation(node: MNode, relations: CodeRelation): CodeRelation {
if (!node.id) return {};
let newRelations = omit(relations, [node.id]);
if (!isEmpty(node.items)) {
node.items.forEach((item: MNode) => {
this.recurseMNode(item, relations);
newRelations = this.deleteNodeRelation(item, newRelations);
});
}
return newRelations;
}
}

View File

@@ -24,7 +24,6 @@ import { NodeType } from '@tmagic/schema';
import StageCore from '@tmagic/stage';
import { getNodePath, isNumber, isPage, isPop } from '@tmagic/utils';
import codeBlockService from '../services/codeBlock';
import historyService from '../services/history';
import storageService, { Protocol } from '../services/storage';
import type { AddMNode, EditorNodeInfo, PastePosition, StepValue, StoreState, StoreStateKey } from '../type';
@@ -108,8 +107,8 @@ class Editor extends BaseService {
throw new Error('root 不能为数组');
}
if (isObject(value) && !(value instanceof StageCore) && !(value instanceof Map)) {
this.state.pageLength = value.items.length;
if (value && isObject(value) && !(value instanceof StageCore) && !(value instanceof Map)) {
this.state.pageLength = value.items?.length || 0;
} else {
this.state.pageLength = 0;
}
@@ -452,9 +451,6 @@ class Editor extends BaseService {
}
this.addModifiedNodeId(parent.id);
// 通知codeBlockService解除绑定关系
codeBlockService.deleteCompsInRelation(node);
}
/**
@@ -555,7 +551,6 @@ class Editor extends BaseService {
this.pushHistoryState();
this.emit('update', newNodes);
codeBlockService.refreshCombineInfo();
return Array.isArray(config) ? newNodes : newNodes[0];
}
@@ -891,6 +886,7 @@ class Editor extends BaseService {
await this.select(value.nodeId);
this.get('stage')?.select(value.nodeId);
}, 0);
this.emit('history-change', value.data);
}
private async toggleFixedPosition(dist: MNode, src: MNode, root: MApp) {

View File

@@ -351,10 +351,8 @@ export type HookData = {
};
export type CodeRelation = {
[codeId: Id]: {
/** 组件id:['created'] */
[compId: Id]: string[];
};
/** 组件id:[代码id1代码id2] */
[compId: Id]: Id[];
};
export interface CodeDslItem {

View File

@@ -1,5 +1,5 @@
{
"version": "1.2.1",
"version": "1.2.5",
"name": "@tmagic/element-plus-adapter",
"type": "module",
"sideEffects": [

View File

@@ -1,5 +1,5 @@
{
"version": "1.2.1",
"version": "1.2.5",
"name": "@tmagic/form",
"type": "module",
"sideEffects": [
@@ -36,8 +36,8 @@
},
"dependencies": {
"@element-plus/icons-vue": "^2.0.9",
"@tmagic/design": "1.2.1",
"@tmagic/utils": "1.2.1",
"@tmagic/design": "1.2.5",
"@tmagic/utils": "1.2.5",
"lodash-es": "^4.17.21",
"sortablejs": "^1.14.0",
"vue": "^3.2.37"

View File

@@ -152,6 +152,7 @@ const getOptions = async () => {
formValue: mForm?.values,
formValues: mForm?.values,
config: props.config,
postOptions,
});
}
@@ -277,6 +278,7 @@ const getInitOption = async () => {
formValue: mForm?.values,
formValues: mForm?.values,
config: props.config,
postOptions,
});
}

View File

@@ -253,6 +253,7 @@ type RemoteSelectOptionRequestFunction = (
formValue: any;
formValues: any;
config: any;
postOptions: Record<string, any>;
},
) => any;

View File

@@ -1,5 +1,5 @@
{
"version": "1.2.1",
"version": "1.2.5",
"name": "@tmagic/schema",
"type": "module",
"sideEffects": false,

View File

@@ -1,5 +1,5 @@
{
"version": "1.2.1",
"version": "1.2.5",
"name": "@tmagic/stage",
"type": "module",
"sideEffects": [
@@ -30,9 +30,9 @@
},
"dependencies": {
"@scena/guides": "^0.17.0",
"@tmagic/core": "1.2.1",
"@tmagic/schema": "1.2.1",
"@tmagic/utils": "1.2.1",
"@tmagic/core": "1.2.5",
"@tmagic/schema": "1.2.5",
"@tmagic/utils": "1.2.5",
"events": "^3.3.0",
"keycon": "^1.1.2",
"lodash-es": "^4.17.21",

View File

@@ -1,5 +1,5 @@
{
"version": "1.2.1",
"version": "1.2.5",
"name": "@tmagic/table",
"type": "module",
"sideEffects": [
@@ -33,14 +33,14 @@
"url": "https://github.com/Tencent/tmagic-editor.git"
},
"dependencies": {
"@tmagic/design": "1.2.1",
"@tmagic/form": "1.2.1",
"@tmagic/utils": "1.2.1",
"@tmagic/design": "1.2.5",
"@tmagic/form": "1.2.5",
"@tmagic/utils": "1.2.5",
"lodash-es": "^4.17.21",
"vue": "^3.2.37"
},
"peerDependencies": {
"@tmagic/form": "1.2.1",
"@tmagic/form": "1.2.5",
"vue": "^3.2.37"
},
"devDependencies": {

View File

@@ -1,5 +1,5 @@
{
"version": "1.2.1",
"version": "1.2.5",
"name": "@tmagic/tdesign-vue-next-adapter",
"type": "module",
"sideEffects": [
@@ -42,6 +42,7 @@
},
"peerDependencies": {
"element-plus": "^2.2.19",
"tdesign-vue-next": "^0.26.0",
"vue": "^3.2.37"
},
"devDependencies": {

View File

@@ -1,6 +1,6 @@
{
"name": "@tmagic/ui-react",
"version": "1.2.1",
"version": "1.2.5",
"type": "module",
"main": "src/index.ts",
"engines": {
@@ -14,8 +14,13 @@
"react:build": "tsc && vite build"
},
"dependencies": {
"@tmagic/core": "1.2.1",
"@tmagic/schema": "1.2.1",
"@tmagic/core": "1.2.5",
"@tmagic/schema": "1.2.5",
"qrcode": "^1.5.0",
"react": "^17.0.0",
"react-dom": "^17.0.0"
},
"peerDependencies": {
"qrcode": "^1.5.0",
"react": "^17.0.0",
"react-dom": "^17.0.0"

View File

@@ -1,5 +1,5 @@
{
"version": "1.2.1",
"version": "1.2.5",
"name": "@tmagic/ui-vue2",
"type": "module",
"main": "src/index.ts",
@@ -11,13 +11,14 @@
"url": "https://github.com/Tencent/tmagic-editor.git"
},
"dependencies": {
"@tmagic/core": "1.2.1",
"@tmagic/schema": "1.2.1",
"@tmagic/utils": "1.2.1",
"@tmagic/core": "1.2.5",
"@tmagic/schema": "1.2.5",
"@tmagic/utils": "1.2.5",
"qrcode": "^1.5.0",
"vue": "^2.7.4"
},
"peerDependencies": {
"qrcode": "^1.5.0",
"vue": "^2.7.4"
},
"devDependencies": {

View File

@@ -1,5 +1,5 @@
{
"version": "1.2.1",
"version": "1.2.5",
"name": "@tmagic/ui",
"type": "module",
"main": "src/index.ts",
@@ -12,15 +12,16 @@
"url": "https://github.com/Tencent/tmagic-editor.git"
},
"dependencies": {
"@tmagic/core": "1.2.1",
"@tmagic/schema": "1.2.1",
"@tmagic/utils": "1.2.1",
"@tmagic/core": "1.2.5",
"@tmagic/schema": "1.2.5",
"@tmagic/utils": "1.2.5",
"delegate": "^3.2.0",
"qrcode": "^1.5.0",
"tiny-emitter": "^2.1.0",
"vue": "^3.2.37"
},
"peerDependencies": {
"qrcode": "^1.5.0",
"vue": "^3.2.37"
},
"devDependencies": {

View File

@@ -1,5 +1,5 @@
{
"version": "1.2.1",
"version": "1.2.5",
"name": "@tmagic/utils",
"type": "module",
"main": "dist/tmagic-utils.umd.cjs",
@@ -25,7 +25,10 @@
"url": "https://github.com/Tencent/tmagic-editor.git"
},
"dependencies": {
"@tmagic/schema": "1.2.1",
"@tmagic/schema": "1.2.5",
"dayjs": "^1.11.4"
},
"peerDependencies": {
"dayjs": "^1.11.4"
},
"devDependencies": {

View File

@@ -1,6 +1,6 @@
{
"name": "tmagic-playground",
"version": "1.2.1",
"version": "1.2.5",
"type": "module",
"private": true,
"scripts": {
@@ -13,13 +13,13 @@
},
"dependencies": {
"@element-plus/icons-vue": "^2.0.9",
"@tmagic/design": "1.2.1",
"@tmagic/editor": "1.2.1",
"@tmagic/element-plus-adapter": "1.2.1",
"@tmagic/form": "1.2.1",
"@tmagic/schema": "1.2.1",
"@tmagic/stage": "1.2.1",
"@tmagic/utils": "1.2.1",
"@tmagic/design": "1.2.5",
"@tmagic/editor": "1.2.5",
"@tmagic/element-plus-adapter": "1.2.5",
"@tmagic/form": "1.2.5",
"@tmagic/schema": "1.2.5",
"@tmagic/stage": "1.2.5",
"@tmagic/utils": "1.2.5",
"element-plus": "^2.2.19",
"monaco-editor": "^0.34.0",
"serialize-javascript": "^6.0.0",

98
pnpm-lock.yaml generated
View File

@@ -107,7 +107,7 @@ importers:
packages/core:
specifiers:
'@tmagic/schema': 1.2.1
'@tmagic/schema': 1.2.5
'@types/events': ^3.0.0
'@types/lodash-es': ^4.17.4
'@types/node': ^15.12.4
@@ -157,12 +157,12 @@ importers:
specifiers:
'@babel/core': ^7.18.0
'@element-plus/icons-vue': ^2.0.9
'@tmagic/core': 1.2.1
'@tmagic/design': 1.2.1
'@tmagic/form': 1.2.1
'@tmagic/schema': 1.2.1
'@tmagic/stage': 1.2.1
'@tmagic/utils': 1.2.1
'@tmagic/core': 1.2.5
'@tmagic/design': 1.2.5
'@tmagic/form': 1.2.5
'@tmagic/schema': 1.2.5
'@tmagic/stage': 1.2.5
'@tmagic/utils': 1.2.5
'@types/events': ^3.0.0
'@types/lodash-es': ^4.17.4
'@types/node': ^15.12.4
@@ -239,8 +239,8 @@ importers:
specifiers:
'@babel/core': ^7.18.0
'@element-plus/icons-vue': ^2.0.9
'@tmagic/design': 1.2.1
'@tmagic/utils': 1.2.1
'@tmagic/design': 1.2.5
'@tmagic/utils': 1.2.5
'@types/lodash-es': ^4.17.4
'@types/node': ^15.12.4
'@types/sortablejs': ^1.10.7
@@ -293,9 +293,9 @@ importers:
packages/stage:
specifiers:
'@scena/guides': ^0.17.0
'@tmagic/core': 1.2.1
'@tmagic/schema': 1.2.1
'@tmagic/utils': 1.2.1
'@tmagic/core': 1.2.5
'@tmagic/schema': 1.2.5
'@tmagic/utils': 1.2.5
'@types/events': ^3.0.0
'@types/lodash-es': ^4.17.4
'@types/node': ^15.12.4
@@ -329,9 +329,9 @@ importers:
packages/table:
specifiers:
'@tmagic/design': 1.2.1
'@tmagic/form': 1.2.1
'@tmagic/utils': 1.2.1
'@tmagic/design': 1.2.5
'@tmagic/form': 1.2.5
'@tmagic/utils': 1.2.5
'@types/color': ^3.0.1
'@types/lodash-es': ^4.17.4
'@types/node': ^15.12.4
@@ -392,9 +392,9 @@ importers:
packages/ui:
specifiers:
'@testing-library/vue': ^6.4.2
'@tmagic/core': 1.2.1
'@tmagic/schema': 1.2.1
'@tmagic/utils': 1.2.1
'@tmagic/core': 1.2.5
'@tmagic/schema': 1.2.5
'@tmagic/utils': 1.2.5
'@types/qrcode': ^1.4.2
'@vue/compiler-sfc': ^3.2.37
'@vue/test-utils': ^2.0.0
@@ -418,8 +418,8 @@ importers:
packages/ui-react:
specifiers:
'@tmagic/core': 1.2.1
'@tmagic/schema': 1.2.1
'@tmagic/core': 1.2.5
'@tmagic/schema': 1.2.5
'@types/react': ^17.0.37
'@types/react-dom': ^17.0.11
qrcode: ^1.5.0
@@ -439,9 +439,9 @@ importers:
packages/ui-vue2:
specifiers:
'@tmagic/core': 1.2.1
'@tmagic/schema': 1.2.1
'@tmagic/utils': 1.2.1
'@tmagic/core': 1.2.5
'@tmagic/schema': 1.2.5
'@tmagic/utils': 1.2.5
qrcode: ^1.5.0
vite: ^3.1.3
vue: ^2.7.4
@@ -458,7 +458,7 @@ importers:
packages/utils:
specifiers:
'@tmagic/schema': 1.2.1
'@tmagic/schema': 1.2.5
'@types/node': ^15.12.4
dayjs: ^1.11.4
rimraf: ^3.0.2
@@ -476,13 +476,13 @@ importers:
playground:
specifiers:
'@element-plus/icons-vue': ^2.0.9
'@tmagic/design': 1.2.1
'@tmagic/editor': 1.2.1
'@tmagic/element-plus-adapter': 1.2.1
'@tmagic/form': 1.2.1
'@tmagic/schema': 1.2.1
'@tmagic/stage': 1.2.1
'@tmagic/utils': 1.2.1
'@tmagic/design': 1.2.5
'@tmagic/editor': 1.2.5
'@tmagic/element-plus-adapter': 1.2.5
'@tmagic/form': 1.2.5
'@tmagic/schema': 1.2.5
'@tmagic/stage': 1.2.5
'@tmagic/utils': 1.2.5
'@types/node': ^15.12.4
'@types/serialize-javascript': ^5.0.1
'@vitejs/plugin-legacy': ^2.2.0
@@ -532,12 +532,12 @@ importers:
runtime/react:
specifiers:
'@tmagic/cli': 1.2.1
'@tmagic/core': 1.2.1
'@tmagic/schema': 1.2.1
'@tmagic/stage': 1.2.1
'@tmagic/ui-react': 1.2.1
'@tmagic/utils': 1.2.1
'@tmagic/cli': 1.2.5
'@tmagic/core': 1.2.5
'@tmagic/schema': 1.2.5
'@tmagic/stage': 1.2.5
'@tmagic/ui-react': 1.2.5
'@tmagic/utils': 1.2.5
'@types/react': ^17.0.37
'@types/react-dom': ^17.0.11
'@vitejs/plugin-legacy': ^2.2.0
@@ -571,12 +571,12 @@ importers:
runtime/vue2:
specifiers:
'@tmagic/cli': 1.2.1
'@tmagic/core': 1.2.1
'@tmagic/schema': 1.2.1
'@tmagic/stage': 1.2.1
'@tmagic/ui-vue2': 1.2.1
'@tmagic/utils': 1.2.1
'@tmagic/cli': 1.2.5
'@tmagic/core': 1.2.5
'@tmagic/schema': 1.2.5
'@tmagic/stage': 1.2.5
'@tmagic/ui-vue2': 1.2.5
'@tmagic/utils': 1.2.5
'@types/events': ^3.0.0
'@vitejs/plugin-legacy': ^2.2.0
'@vitejs/plugin-vue2': ^1.1.2
@@ -612,12 +612,12 @@ importers:
runtime/vue3:
specifiers:
'@tmagic/cli': 1.2.1
'@tmagic/core': 1.2.1
'@tmagic/schema': 1.2.1
'@tmagic/stage': 1.2.1
'@tmagic/ui': 1.2.1
'@tmagic/utils': 1.2.1
'@tmagic/cli': 1.2.5
'@tmagic/core': 1.2.5
'@tmagic/schema': 1.2.5
'@tmagic/stage': 1.2.5
'@tmagic/ui': 1.2.5
'@tmagic/utils': 1.2.5
'@types/node': ^15.12.4
'@vitejs/plugin-legacy': ^2.2.0
'@vitejs/plugin-vue': ^3.1.0

View File

@@ -1,6 +1,6 @@
{
"name": "runtime-react",
"version": "1.2.1",
"version": "1.2.5",
"type": "module",
"private": true,
"scripts": {
@@ -21,12 +21,12 @@
"build:event:admin": "vite build --config build.vite.config.ts --mode event:admin"
},
"dependencies": {
"@tmagic/cli": "1.2.1",
"@tmagic/core": "1.2.1",
"@tmagic/ui-react": "1.2.1",
"@tmagic/schema": "1.2.1",
"@tmagic/stage": "1.2.1",
"@tmagic/utils": "1.2.1",
"@tmagic/cli": "1.2.5",
"@tmagic/core": "1.2.5",
"@tmagic/ui-react": "1.2.5",
"@tmagic/schema": "1.2.5",
"@tmagic/stage": "1.2.5",
"@tmagic/utils": "1.2.5",
"axios": "^0.25.0",
"terser": "^5.14.2",
"react": "^17.0.2",

View File

@@ -1,6 +1,6 @@
{
"name": "runtime-vue2",
"version": "1.2.1",
"version": "1.2.5",
"type": "module",
"private": true,
"scripts": {
@@ -21,12 +21,12 @@
"build:event:admin": "vite build --config build.vite.config.ts --mode event:admin"
},
"dependencies": {
"@tmagic/cli": "1.2.1",
"@tmagic/core": "1.2.1",
"@tmagic/ui-vue2": "1.2.1",
"@tmagic/schema": "1.2.1",
"@tmagic/stage": "1.2.1",
"@tmagic/utils": "1.2.1",
"@tmagic/cli": "1.2.5",
"@tmagic/core": "1.2.5",
"@tmagic/ui-vue2": "1.2.5",
"@tmagic/schema": "1.2.5",
"@tmagic/stage": "1.2.5",
"@tmagic/utils": "1.2.5",
"axios": "^0.25.0",
"terser": "^5.14.2",
"vue": "^2.7.4"

View File

@@ -1,6 +1,6 @@
{
"name": "runtime-vue3",
"version": "1.2.1",
"version": "1.2.5",
"type": "module",
"private": true,
"scripts": {
@@ -21,12 +21,12 @@
"build:event:admin": "vite build --config build.vite.config.ts --mode event:admin"
},
"dependencies": {
"@tmagic/cli": "1.2.1",
"@tmagic/core": "1.2.1",
"@tmagic/ui": "1.2.1",
"@tmagic/schema": "1.2.1",
"@tmagic/stage": "1.2.1",
"@tmagic/utils": "1.2.1",
"@tmagic/cli": "1.2.5",
"@tmagic/core": "1.2.5",
"@tmagic/ui": "1.2.5",
"@tmagic/schema": "1.2.5",
"@tmagic/stage": "1.2.5",
"@tmagic/utils": "1.2.5",
"@vitejs/plugin-legacy": "^2.2.0",
"@vitejs/plugin-vue-jsx": "^1.3.10",
"axios": "^0.25.0",