MCPcopy Index your code
hub / github.com/alibaba/lowcode-engine

github.com/alibaba/lowcode-engine @v1.3.2 sqlite

repository ↗ · DeepWiki ↗ · release v1.3.2 ↗
6,819 symbols 15,839 edges 1,603 files 993 documented · 15% 50 cross-repo links
README

LowCodeEngine

一套面向扩展设计的企业级低代码技术体系

NPM version NPM downloads

Issues need help

codecov Awesome

简体中文 | English

✨ 特性

  • 🌈 提炼自企业级低代码平台的面向扩展设计的内核引擎,奉行最小内核,最强生态的设计理念
  • 📦 开箱即用的高质量生态元素,包括 物料体系、设置器、插件 等
  • ⚙️ 完善的工具链,支持 物料体系、设置器、插件 等生态元素的全链路研发周期
  • 🔌 强大的扩展能力,已支撑 100+ 个各种类型低代码平台
  • 🛡 使用 TypeScript 开发,提供完整的类型定义文件

🎯 兼容环境

  • 现代浏览器(Chrome >= 80, Edge >= 80, last 2 safari versions, last 2 firefox versions)

📚 引擎协议

引擎完整实现了《低代码引擎搭建协议规范》和《低代码引擎物料协议规范》,协议栈是低代码领域的物料能否流通的关键部分。

image

🌰 使用示例

npm install @alilc/lowcode-engine --save-dev

TIPS:仅支持 cdn 方式引入,npm 包用于提供 typings 等代码提示能力

import { init, skeleton } from '@alilc/lowcode-engine';

skeleton.add({
  area: 'topArea',
  type: 'Widget',
  name: 'logo',
  content: YourFantasticLogo,
  contentProps: {
    logo:
      'https://img.alicdn.com/tfs/TB1_SocGkT2gK0jSZFkXXcIQFXa-66-66.png',
    href: '/',
  },
  props: {
    align: 'left',
    width: 100,
  },
});

init(document.getElementById('lce'));

工程化配置:

{
  "externals": {
    "@alilc/lowcode-engine": "var window.AliLowCodeEngine",
    "@alilc/lowcode-engine-ext": "var window.AliLowCodeEngineExt"
  }
}

cdn 可选方式:

方式 1(推荐):alifd cdn

https://alifd.alicdn.com/npm/@alilc/lowcode-engine@1.0.18/dist/js/engine-core.js

https://alifd.alicdn.com/npm/@alilc/lowcode-react-simulator-renderer@1.0.18/dist/js/react-simulator-renderer.js

方式 2(推荐):uipaas cdn

https://uipaas-assets.com/prod/npm/@alilc/lowcode-engine/1.0.18/dist/js/engine-core.js

https://uipaas-assets.com/prod/npm/@alilc/lowcode-react-simulator-renderer/1.0.18/dist/js/react-simulator-renderer.js

方式 3:unpkg

https://unpkg.com/@alilc/lowcode-engine@1.0.18/dist/js/engine-core.js

https://unpkg.com/@alilc/lowcode-react-simulator-renderer@1.0.18/dist/js/react-simulator-renderer.js

方式 4:jsdelivr

https://cdn.jsdelivr.net/npm/@alilc/lowcode-engine@1.0.18/dist/js/engine-core.js

https://cdn.jsdelivr.net/npm/@alilc/lowcode-react-simulator-renderer@1.0.18/dist/js/react-simulator-renderer.js

方式 5:使用自有 cdn

将源码中 packages/engine/dist 和 packages/react-simulator-renderer/dist 下的文件传至你的 cdn 提供商

🔗 相关链接

awesome-lowcode-engine 中包含了一系列围绕引擎建设的工具、解决方案等,如果你有类似的解决方案或者工具,欢迎提 PR 到该仓库,让更多人了解到

💻 本地调试

$ git clone git@github.com:alibaba/lowcode-engine.git
$ cd lowcode-engine
$ npm install
$ npm run setup
$ npm start

📢 npm 访问速度较慢,阿里员工可以使用 tnpm,其他同学建议使用 cnpm 或者指定镜像 registry。

📢 windows 环境必须使用 WSL,其他终端不保证能正常运行

lowcode-engine 启动后,提供了几个 umd 文件,可以结合 lowcode-demo 项目做调试,文件代理规则参考这里

🤝 参与共建

请先阅读: 1. 如何配置引擎调试环境? 2. 关于引擎的研发协作流程 3. 引擎的工程化配置

强烈推荐阅读 《提问的智慧》《如何向开源社区提问题》《如何有效地报告 Bug》《如何向开源项目提交无法解答的问题》,更好的问题更容易获得帮助。(此段参考 antd

关于提交 PR: 请将目标合并分支设置为 develop,不要指定 main 分支,在发布正式版本后,develop 分支将会合入 main 分支。

❤️ 致谢

感谢所有为引擎项目贡献力量的同学们~

Extension points exported contracts — how you extend this code

IPublicModelSkeletonItem (Interface)
(no doc) [6 implementers]
packages/types/src/shell/model/skeleton-item.ts
Purgeable (Interface)
(no doc) [16 implementers]
packages/designer/src/designer/setting/setting-top-entry.ts
IEditor (Interface)
(no doc) [8 implementers]
packages/editor-core/src/editor.ts
IWidget (Interface)
(no doc) [8 implementers]
packages/editor-skeleton/src/widget/widget.ts
ITreeBoard (Interface)
(no doc) [4 implementers]
packages/plugin-outline-pane/src/controllers/tree-master.ts
IWorkspace (Interface)
(no doc) [2 implementers]
packages/workspace/src/workspace.ts
IHistoryLike (Interface)
* duck-typed History * * @see https://github.com/ReactTraining/history/tree/master/docs/api-reference.md
packages/renderer-core/src/types/index.ts
IChunkBuilder (Interface)
(no doc) [1 implementers]
modules/code-generator/src/types/core.ts

Core symbols most depended-on inside this repo

push
called by 468
packages/react-simulator-renderer/src/renderer.ts
get
called by 400
packages/designer/src/project/project.ts
forEach
called by 326
packages/designer/src/document/node/node-children.ts
map
called by 305
packages/types/src/shell/model/node-children.ts
getNode
called by 191
packages/designer/src/document/node/props/prop.ts
filter
called by 179
packages/types/src/shell/model/node-children.ts
bind
called by 178
packages/types/src/shell/api/hotkey.ts
replace
called by 160
packages/react-simulator-renderer/src/renderer.ts

Shape

Method 3,778
Function 1,805
Class 732
Interface 470
Enum 34

Languages

TypeScript100%

Modules by API surface

packages/designer/src/document/node/node.ts173 symbols
packages/designer/src/document/document-model.ts100 symbols
packages/designer/src/builtin-simulator/host.ts79 symbols
packages/shell/src/model/node.ts78 symbols
packages/types/src/shell/model/node.ts69 symbols
packages/designer/src/designer/designer.ts62 symbols
packages/react-simulator-renderer/src/renderer.ts59 symbols
packages/shell/src/api/common.tsx56 symbols
packages/designer/src/document/node/props/prop.ts56 symbols
packages/designer/src/document/node/node-children.ts53 symbols
packages/plugin-outline-pane/src/controllers/tree-node.ts49 symbols
packages/designer/src/designer/setting/setting-prop-entry.ts49 symbols

Used by 1 indexed graphs manifest dependencies, hub-wide

Dependencies from manifests, versioned

@ali/build-plugin-ice-def0.1.0 · 1×
@ali/pcom-chaoshi-meta-design1.1.5 · 1×
@alib/build-scripts0.1.18 · 1×
@alifd/adaptor-generate0.1.3 · 1×
@alifd/next1.21.16 · 1×
@alifd/theme-design-pro0.x · 1×
@alifd/theme-lowcode-dark0.2.0 · 1×
@alifd/theme-lowcode-light0.2.0 · 1×
@alife/build-plugin-lowcode1.0.7 · 1×
@alife/container0.3.7 · 1×
@alife/mc-assets-19350.1.16 · 1×
@alife/right-design-card* · 1×

For agents

$ claude mcp add lowcode-engine \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact