diff --git a/packages/editor-framework/.eslintignore b/packages/editor-framework/.eslintignore
new file mode 100644
index 000000000..f6ee039b9
--- /dev/null
+++ b/packages/editor-framework/.eslintignore
@@ -0,0 +1,6 @@
+# 忽略目录
+build/
+node_modules/
+**/*-min.js
+**/*.min.js
+coverage/
diff --git a/packages/editor-framework/.eslintrc.js b/packages/editor-framework/.eslintrc.js
new file mode 100644
index 000000000..ebda54735
--- /dev/null
+++ b/packages/editor-framework/.eslintrc.js
@@ -0,0 +1,5 @@
+const { eslint, deepmerge } = require('@ice/spec');
+
+module.exports = deepmerge(eslint, {
+ rules: {},
+});
diff --git a/packages/editor-framework/.gitignore b/packages/editor-framework/.gitignore
new file mode 100644
index 000000000..84d2d58ff
--- /dev/null
+++ b/packages/editor-framework/.gitignore
@@ -0,0 +1,22 @@
+# See https://help.github.com/ignore-files/ for more about ignoring files.
+
+# dependencies
+node_modules/
+
+# production
+build/
+dist/
+tmp/
+lib/
+
+# misc
+.idea/
+.happypack
+.DS_Store
+*.swp
+*.dia~
+
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+CHANGELOG.md
diff --git a/packages/editor-framework/.prettierrc b/packages/editor-framework/.prettierrc
new file mode 100644
index 000000000..8748c5ed3
--- /dev/null
+++ b/packages/editor-framework/.prettierrc
@@ -0,0 +1,6 @@
+{
+ "semi": true,
+ "singleQuote": true,
+ "printWidth": 120,
+ "trailingComma": "all"
+}
diff --git a/packages/editor-framework/README copy.md b/packages/editor-framework/README copy.md
new file mode 100644
index 000000000..6e9e79f5b
--- /dev/null
+++ b/packages/editor-framework/README copy.md
@@ -0,0 +1,11 @@
+# demo component
+
+t-s-demo
+
+intro component
+
+## API
+
+| 参数名 | 说明 | 必填 | 类型 | 默认值 | 备注 |
+| ------ | ---- | ---- | ---- | ------ | ---- |
+| | | | | | |
diff --git a/packages/editor-framework/build.json b/packages/editor-framework/build.json
new file mode 100644
index 000000000..77627cdf9
--- /dev/null
+++ b/packages/editor-framework/build.json
@@ -0,0 +1,9 @@
+{
+ "plugins": [
+ "build-plugin-component",
+ "build-plugin-fusion",
+ ["build-plugin-moment-locales", {
+ "locales": ["zh-cn"]
+ }]
+ ]
+}
\ No newline at end of file
diff --git a/packages/editor-framework/demo/usage.md b/packages/editor-framework/demo/usage.md
new file mode 100644
index 000000000..819d1ac15
--- /dev/null
+++ b/packages/editor-framework/demo/usage.md
@@ -0,0 +1,26 @@
+---
+title: Simple Usage
+order: 1
+---
+
+本 Demo 演示一行文字的用法。
+
+````jsx
+import React, { Component } from 'react';
+import ReactDOM from 'react-dom';
+import Demo from 'editor-framework';
+
+class App extends Component {
+ render() {
+ return (
+
+
+
+ );
+ }
+}
+
+ReactDOM.render((
+
+), mountNode);
+````
diff --git a/packages/editor-framework/es/index.d.ts b/packages/editor-framework/es/index.d.ts
new file mode 100644
index 000000000..ceb2fe364
--- /dev/null
+++ b/packages/editor-framework/es/index.d.ts
@@ -0,0 +1,7 @@
+///
+declare function TSDemo(props: any): JSX.Element;
+declare namespace TSDemo {
+ var propTypes: {};
+ var defaultProps: {};
+}
+export default TSDemo;
diff --git a/packages/editor-framework/es/index.js b/packages/editor-framework/es/index.js
new file mode 100644
index 000000000..9ea3ef8aa
--- /dev/null
+++ b/packages/editor-framework/es/index.js
@@ -0,0 +1,13 @@
+import _extends from "@babel/runtime/helpers/extends";
+import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
+import * as React from 'react';
+export default function TSDemo(props) {
+ var type = props.type,
+ others = _objectWithoutPropertiesLoose(props, ["type"]);
+
+ return React.createElement("div", _extends({
+ className: "TSDemo"
+ }, others), "Hello TSDemo");
+}
+TSDemo.propTypes = {};
+TSDemo.defaultProps = {};
\ No newline at end of file
diff --git a/packages/editor-framework/es/index.scss b/packages/editor-framework/es/index.scss
new file mode 100644
index 000000000..3a0f72cfb
--- /dev/null
+++ b/packages/editor-framework/es/index.scss
@@ -0,0 +1,4 @@
+/* write style here */
+.TSDemo {
+
+}
diff --git a/packages/editor-framework/es/style.js b/packages/editor-framework/es/style.js
new file mode 100644
index 000000000..bf3c23acb
--- /dev/null
+++ b/packages/editor-framework/es/style.js
@@ -0,0 +1 @@
+import './index.scss';
\ No newline at end of file
diff --git a/packages/editor-framework/package.json b/packages/editor-framework/package.json
new file mode 100644
index 000000000..e76f5e372
--- /dev/null
+++ b/packages/editor-framework/package.json
@@ -0,0 +1,49 @@
+{
+ "name": "editor-framework",
+ "version": "0.0.1",
+ "description": "alibaba lowcode editor framework",
+ "files": [
+ "demo/",
+ "es/",
+ "lib/",
+ "build/"
+ ],
+ "main": "lib/index.js",
+ "module": "es/index.js",
+ "stylePath": "style.js",
+ "scripts": {
+ "start": "build-scripts start",
+ "build": "build-scripts build",
+ "prepublishOnly": "npm run prettier && npm run build",
+ "lint": "eslint --cache --ext .js,.jsx ./",
+ "prettier": "prettier --write \"./src/**/*.{ts,tsx,js,jsx,ejs,less,css,scss,json}\" "
+ },
+ "keywords": [
+ "lowcode",
+ "editor"
+ ],
+ "author": "xiayang.xy",
+ "dependencies": {
+ "prop-types": "^15.5.8"
+ },
+ "devDependencies": {
+ "@alib/build-scripts": "^0.1.3",
+ "@alifd/next": "1.x",
+ "@ice/spec": "^0.1.1",
+ "@types/react": "^16.9.13",
+ "@types/react-dom": "^16.9.4",
+ "build-plugin-component": "^0.2.0",
+ "build-plugin-fusion": "^0.1.0",
+ "build-plugin-moment-locales": "^0.1.0",
+ "eslint": "^6.0.1",
+ "prettier": "^1.19.1",
+ "react": "^16.3.0",
+ "react-dom": "^16.3.0"
+ },
+ "peerDependencies": {
+ "react": "^16.3.0",
+ "@alifd/next": "1.x"
+ },
+ "license": "MIT",
+ "homepage": "https://unpkg.com/editor-framework@0.0.1/build/index.html"
+}
diff --git a/packages/editor-framework/src/index.scss b/packages/editor-framework/src/index.scss
new file mode 100644
index 000000000..3a0f72cfb
--- /dev/null
+++ b/packages/editor-framework/src/index.scss
@@ -0,0 +1,4 @@
+/* write style here */
+.TSDemo {
+
+}
diff --git a/packages/editor-framework/src/index.tsx b/packages/editor-framework/src/index.tsx
new file mode 100644
index 000000000..9752a43b7
--- /dev/null
+++ b/packages/editor-framework/src/index.tsx
@@ -0,0 +1,15 @@
+import * as React from 'react';
+
+export default function TSDemo(props) {
+ const { type, ...others } = props;
+
+ return (
+ Hello TSDemo
+ );
+}
+
+TSDemo.propTypes = {
+};
+
+TSDemo.defaultProps = {
+};
diff --git a/packages/editor-framework/tsconfig.json b/packages/editor-framework/tsconfig.json
new file mode 100644
index 000000000..a511d68ba
--- /dev/null
+++ b/packages/editor-framework/tsconfig.json
@@ -0,0 +1,21 @@
+{
+ "compileOnSave": false,
+ "buildOnSave": false,
+ "compilerOptions": {
+ "outDir": "build",
+ "module": "esnext",
+ "target": "es6",
+ "jsx": "react",
+ "moduleResolution": "node",
+ "lib": ["es6", "dom"],
+ "sourceMap": true,
+ "allowJs": true,
+ "noUnusedLocals": true,
+ "noImplicitReturns": true,
+ "noImplicitThis": true,
+ "noImplicitAny": true,
+ "skipLibCheck": true
+ },
+ "include": ["src/*.ts", "src/*.tsx"],
+ "exclude": ["node_modules", "build", "public"]
+}