diff --git a/packages/editor-preset-vision/package.json b/packages/editor-preset-vision/package.json index f7de196c5..a856d0075 100644 --- a/packages/editor-preset-vision/package.json +++ b/packages/editor-preset-vision/package.json @@ -1,7 +1,7 @@ { "name": "@ali/lowcode-editor-preset-vision", "version": "1.0.30-beta.9", - "description": "Vision Polyfill for Ali lowCode engine", + "description": "Preset Vision for AliLowCode engine", "main": "lib/index.js", "private": true, "files": [ diff --git a/packages/editor-preset-vision/scripts/version.js b/packages/editor-preset-vision/scripts/version.js index 0df74fdb5..a3d74d90b 100644 --- a/packages/editor-preset-vision/scripts/version.js +++ b/packages/editor-preset-vision/scripts/version.js @@ -4,7 +4,7 @@ const { execSync } = require('child_process'); const { join } = require('path'); const fse = require('fs-extra'); -const gitBranchName = execSync('git rev-parse --abbrev-ref HEAD', { encoding: 'utf-8' }); +const gitBranchName = process.env.BUILD_GIT_BRANCH || execSync('git rev-parse --abbrev-ref HEAD', { encoding: 'utf-8' }); const reBranchVersion = /^(?:[a-z]+\/)(\d+\.\d+\.\d+)$/im; const match = reBranchVersion.exec(gitBranchName); diff --git a/packages/engine/package.json b/packages/engine/package.json index 75ddcf90c..4dccf85b7 100644 --- a/packages/engine/package.json +++ b/packages/engine/package.json @@ -2,8 +2,8 @@ "name": "@ali/lowcode-engine", "version": "1.0.30-beta.9", "description": "Universal API for AliLowCode engine", - "main": "lib/index.js", - "module": "es/index.js", + "main": "lib/engine.js", + "module": "es/engine.js", "private": true, "files": [ "dist", diff --git a/packages/engine/scripts/version.js b/packages/engine/scripts/version.js index fb26279a8..da9907348 100644 --- a/packages/engine/scripts/version.js +++ b/packages/engine/scripts/version.js @@ -4,7 +4,7 @@ const { execSync } = require('child_process'); const { join } = require('path'); const fse = require('fs-extra'); -const gitBranchName = execSync('git rev-parse --abbrev-ref HEAD', { encoding: 'utf-8' }); +const gitBranchName = process.env.BUILD_GIT_BRANCH || execSync('git rev-parse --abbrev-ref HEAD', { encoding: 'utf-8' }); const reBranchVersion = /^(?:[a-z]+\/)(\d+\.\d+\.\d+)$/im; const match = reBranchVersion.exec(gitBranchName); diff --git a/packages/engine/src/engine.ts b/packages/engine/src/engine.ts new file mode 100644 index 000000000..063ae6acb --- /dev/null +++ b/packages/engine/src/engine.ts @@ -0,0 +1,135 @@ +import { createElement } from 'react'; +import { render } from 'react-dom'; +import { globalContext, Editor } from '@ali/lowcode-editor-core'; +import { Designer, LiveEditing, TransformStage, Node, getConvertedExtraKey, LowCodePluginManager } from '@ali/lowcode-designer'; +import Outline, { OutlineBackupPane, getTreeMaster } from '@ali/lowcode-plugin-outline-pane'; +import * as editorHelper from '@ali/lowcode-editor-core'; +import * as designerHelper from '@ali/lowcode-designer'; +import * as skeletonHelper from '@ali/lowcode-editor-skeleton'; +import DesignerPlugin from '@ali/lowcode-plugin-designer'; +import { Skeleton, SettingsPrimaryPane, registerDefaults } from '@ali/lowcode-editor-skeleton'; + +const editor = new Editor(); +globalContext.register(editor, Editor); + +const skeleton = new Skeleton(editor); +editor.set(Skeleton, skeleton); +editor.set('skeleton', skeleton); +registerDefaults(); + +const designer = new Designer({ editor }); +editor.set(Designer, designer); +editor.set('designer', designer); + +const plugins = (new LowCodePluginManager(editor)).toProxy(); +editor.set('plugins', plugins); + +skeleton.add({ + area: 'mainArea', + name: 'designer', + type: 'Widget', + content: DesignerPlugin, +}); +skeleton.add({ + area: 'rightArea', + name: 'settingsPane', + type: 'Panel', + content: SettingsPrimaryPane, + props: { + ignoreRoot: true, + }, +}); +skeleton.add({ + area: 'leftArea', + name: 'outlinePane', + type: 'PanelDock', + content: Outline, + panelProps: { + area: 'leftFixedArea', + }, +}); +skeleton.add({ + area: 'rightArea', + name: 'backupOutline', + type: 'Panel', + props: { + condition: () => { + return designer.dragon.dragging && !getTreeMaster(designer).hasVisibleTreeBoard(); + }, + }, + content: OutlineBackupPane, +}); + +const { project, currentSelection: selection } = designer; +const { hotkey, monitor, getSetter, registerSetter } = editorHelper; +const { Workbench } = skeletonHelper; +const setters = { + getSetter, + registerSetter, +}; + +export { + editor, + editorHelper, + skeleton, + skeletonHelper, + designer, + designerHelper, + plugins, + setters, + project, + selection, + /** + * 注册一些全局的切面 + */ + // hooks, + /** + * 全局的一些数据存储 + */ + // store, + hotkey, + monitor, +}; + +// TODO: build-plugin-component 的 umd 开发态没有导出 AliLowCodeEngine,这里先简单绕过 +(window as any).AliLowCodeEngine = { + editor, + editorHelper, + skeleton, + skeletonHelper, + designer, + designerHelper, + plugins, + setters, + project, + selection, + /** + * 注册一些全局的切面 + */ + // hooks, + /** + * 全局的一些数据存储 + */ + // store, + hotkey, + monitor, +}; + +export async function init(container?: Element) { + let engineContainer = container; + if (!engineContainer) { + engineContainer = document.createElement('div'); + document.body.appendChild(engineContainer); + } + engineContainer.id = 'engine'; + + await plugins.init(); + render( + createElement(Workbench, { + skeleton, + className: 'engine-main', + topAreaItemClassName: 'engine-actionitem', + }), + engineContainer, + ); +} diff --git a/packages/engine/src/index.ts b/packages/engine/src/index.ts index 063ae6acb..4c307536a 100644 --- a/packages/engine/src/index.ts +++ b/packages/engine/src/index.ts @@ -1,135 +1,10 @@ -import { createElement } from 'react'; -import { render } from 'react-dom'; -import { globalContext, Editor } from '@ali/lowcode-editor-core'; -import { Designer, LiveEditing, TransformStage, Node, getConvertedExtraKey, LowCodePluginManager } from '@ali/lowcode-designer'; -import Outline, { OutlineBackupPane, getTreeMaster } from '@ali/lowcode-plugin-outline-pane'; -import * as editorHelper from '@ali/lowcode-editor-core'; -import * as designerHelper from '@ali/lowcode-designer'; -import * as skeletonHelper from '@ali/lowcode-editor-skeleton'; -import DesignerPlugin from '@ali/lowcode-plugin-designer'; -import { Skeleton, SettingsPrimaryPane, registerDefaults } from '@ali/lowcode-editor-skeleton'; +import './engine'; -const editor = new Editor(); -globalContext.register(editor, Editor); +const version = '{{VERSION_PLACEHOLDER}}'; -const skeleton = new Skeleton(editor); -editor.set(Skeleton, skeleton); -editor.set('skeleton', skeleton); -registerDefaults(); +console.log( + `%c AliLowCodeEngine %c v${version} `, + 'padding: 2px 1px; border-radius: 3px 0 0 3px; color: #fff; background: #606060; font-weight: bold;', + 'padding: 2px 1px; border-radius: 0 3px 3px 0; color: #fff; background: #42c02e; font-weight: bold;', +); -const designer = new Designer({ editor }); -editor.set(Designer, designer); -editor.set('designer', designer); - -const plugins = (new LowCodePluginManager(editor)).toProxy(); -editor.set('plugins', plugins); - -skeleton.add({ - area: 'mainArea', - name: 'designer', - type: 'Widget', - content: DesignerPlugin, -}); -skeleton.add({ - area: 'rightArea', - name: 'settingsPane', - type: 'Panel', - content: SettingsPrimaryPane, - props: { - ignoreRoot: true, - }, -}); -skeleton.add({ - area: 'leftArea', - name: 'outlinePane', - type: 'PanelDock', - content: Outline, - panelProps: { - area: 'leftFixedArea', - }, -}); -skeleton.add({ - area: 'rightArea', - name: 'backupOutline', - type: 'Panel', - props: { - condition: () => { - return designer.dragon.dragging && !getTreeMaster(designer).hasVisibleTreeBoard(); - }, - }, - content: OutlineBackupPane, -}); - -const { project, currentSelection: selection } = designer; -const { hotkey, monitor, getSetter, registerSetter } = editorHelper; -const { Workbench } = skeletonHelper; -const setters = { - getSetter, - registerSetter, -}; - -export { - editor, - editorHelper, - skeleton, - skeletonHelper, - designer, - designerHelper, - plugins, - setters, - project, - selection, - /** - * 注册一些全局的切面 - */ - // hooks, - /** - * 全局的一些数据存储 - */ - // store, - hotkey, - monitor, -}; - -// TODO: build-plugin-component 的 umd 开发态没有导出 AliLowCodeEngine,这里先简单绕过 -(window as any).AliLowCodeEngine = { - editor, - editorHelper, - skeleton, - skeletonHelper, - designer, - designerHelper, - plugins, - setters, - project, - selection, - /** - * 注册一些全局的切面 - */ - // hooks, - /** - * 全局的一些数据存储 - */ - // store, - hotkey, - monitor, -}; - -export async function init(container?: Element) { - let engineContainer = container; - if (!engineContainer) { - engineContainer = document.createElement('div'); - document.body.appendChild(engineContainer); - } - engineContainer.id = 'engine'; - - await plugins.init(); - render( - createElement(Workbench, { - skeleton, - className: 'engine-main', - topAreaItemClassName: 'engine-actionitem', - }), - engineContainer, - ); -} diff --git a/packages/engine/src/port.ts b/packages/engine/src/port.ts deleted file mode 100644 index 999cec019..000000000 --- a/packages/engine/src/port.ts +++ /dev/null @@ -1,10 +0,0 @@ -import './index'; - -const version = '{{VERSION_PLACEHOLDER}}'; - -console.log( - `%c AliLowCodeEngine %c v${version} `, - 'padding: 2px 1px; border-radius: 3px 0 0 3px; color: #fff; background: #606060; font-weight: bold;', - 'padding: 2px 1px; border-radius: 0 3px 3px 0; color: #fff; background: #42c02e; font-weight: bold;', -); - diff --git a/packages/ignitor/build.json b/packages/ignitor/build.json index 93619838b..3a098e387 100644 --- a/packages/ignitor/build.json +++ b/packages/ignitor/build.json @@ -1,7 +1,7 @@ { "entry": { "editor-preset-vision": "../editor-preset-vision/src/index.ts", - "engine": "../engine/src/port.ts", + "engine": "../engine/src/index.ts", "vision-polyfill": "../vision-polyfill/src/index.ts", "react-simulator-renderer": "../react-simulator-renderer/src/index.ts", "rax-simulator-renderer": "../rax-simulator-renderer/src/index.ts" diff --git a/packages/vision-polyfill/package.json b/packages/vision-polyfill/package.json index b09cefeb1..8d0a663e1 100644 --- a/packages/vision-polyfill/package.json +++ b/packages/vision-polyfill/package.json @@ -12,7 +12,7 @@ "scripts": { "start": "build-scripts start", "version:update": "node ./scripts/version.js", - "build": "tnpm run version:update && build-scripts build --skip-demo", + "build": "build-scripts build --skip-demo", "cloud-build": "build-scripts build --skip-demo", "test": "build-scripts test --config build.test.json" },