@gant-lowcode/plugin-code-generator 1.0.10 → 2.0.1

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.
Files changed (75) hide show
  1. package/LICENSE +21 -0
  2. package/{dist → es}/components/code-gen-action/index.d.ts +2 -1
  3. package/es/components/code-gen-action/index.js +330 -0
  4. package/es/components/code-gen-action/index.less +20 -0
  5. package/es/components/code-gen-preview/fixPreviewCode.js +100 -0
  6. package/{dist → es}/components/code-gen-preview/index.d.ts +3 -2
  7. package/es/components/code-gen-preview/index.js +5 -0
  8. package/es/components/code-gen-preview/index.less +16 -0
  9. package/{dist → es}/components/code-gen-result/index.d.ts +2 -2
  10. package/es/components/code-gen-result/index.js +207 -0
  11. package/es/components/code-gen-result/index.less +20 -0
  12. package/{dist → es}/components/codesandbox-preview/index.d.ts +2 -1
  13. package/es/components/codesandbox-preview/index.js +192 -0
  14. package/es/components/codesandbox-preview/index.less +18 -0
  15. package/{dist → es}/components/file-tree/index.d.ts +3 -2
  16. package/es/components/file-tree/index.js +162 -0
  17. package/es/components/file-tree/index.less +54 -0
  18. package/{dist → es}/components/file-type-icon/index.d.ts +2 -2
  19. package/es/components/file-type-icon/index.js +12 -0
  20. package/es/components/file-type-icon/index.less +77 -0
  21. package/{dist → es}/components/sources-view/index.d.ts +2 -1
  22. package/es/components/sources-view/index.js +128 -0
  23. package/es/components/sources-view/index.less +12 -0
  24. package/{dist → es}/index.d.ts +3 -4
  25. package/es/index.js +67 -0
  26. package/es/style.js +9 -0
  27. package/{dist → es}/types/index.d.ts +3 -3
  28. package/es/types/index.js +1 -0
  29. package/lib/components/code-gen-action/index.d.ts +7 -0
  30. package/lib/components/code-gen-action/index.js +336 -0
  31. package/lib/components/code-gen-action/index.less +20 -0
  32. package/lib/components/code-gen-preview/fixPreviewCode.d.ts +2 -0
  33. package/lib/components/code-gen-preview/fixPreviewCode.js +105 -0
  34. package/lib/components/code-gen-preview/index.d.ts +9 -0
  35. package/lib/components/code-gen-preview/index.js +9 -0
  36. package/lib/components/code-gen-preview/index.less +16 -0
  37. package/lib/components/code-gen-result/index.d.ts +14 -0
  38. package/lib/components/code-gen-result/index.js +215 -0
  39. package/lib/components/code-gen-result/index.less +20 -0
  40. package/lib/components/codesandbox-preview/index.d.ts +4 -0
  41. package/lib/components/codesandbox-preview/index.js +199 -0
  42. package/lib/components/codesandbox-preview/index.less +18 -0
  43. package/lib/components/file-tree/index.d.ts +21 -0
  44. package/lib/components/file-tree/index.js +170 -0
  45. package/lib/components/file-tree/index.less +54 -0
  46. package/lib/components/file-type-icon/index.d.ts +6 -0
  47. package/lib/components/file-type-icon/index.js +17 -0
  48. package/lib/components/file-type-icon/index.less +77 -0
  49. package/lib/components/sources-view/index.d.ts +8 -0
  50. package/lib/components/sources-view/index.js +135 -0
  51. package/lib/components/sources-view/index.less +12 -0
  52. package/lib/index.d.ts +27 -0
  53. package/lib/index.js +74 -0
  54. package/lib/style.js +9 -0
  55. package/lib/types/index.d.ts +17 -0
  56. package/lib/types/index.js +3 -0
  57. package/package.json +27 -19
  58. package/dist/components/code-gen-action/index.css +0 -18
  59. package/dist/components/code-gen-action/index.js +0 -203
  60. package/dist/components/code-gen-preview/fixPreviewCode.js +0 -119
  61. package/dist/components/code-gen-preview/index.css +0 -18
  62. package/dist/components/code-gen-preview/index.js +0 -9
  63. package/dist/components/code-gen-result/index.css +0 -18
  64. package/dist/components/code-gen-result/index.js +0 -147
  65. package/dist/components/codesandbox-preview/index.css +0 -17
  66. package/dist/components/codesandbox-preview/index.js +0 -147
  67. package/dist/components/file-tree/index.css +0 -55
  68. package/dist/components/file-tree/index.js +0 -138
  69. package/dist/components/file-type-icon/index.css +0 -73
  70. package/dist/components/file-type-icon/index.js +0 -10
  71. package/dist/components/sources-view/index.css +0 -11
  72. package/dist/components/sources-view/index.js +0 -128
  73. package/dist/index.js +0 -50
  74. package/dist/types/index.js +0 -1
  75. /package/{dist → es}/components/code-gen-preview/fixPreviewCode.d.ts +0 -0
@@ -0,0 +1,54 @@
1
+ .code-file-tree {
2
+ white-space: nowrap;
3
+
4
+ .tree-node {
5
+ display: flex;
6
+ align-items: center;
7
+ justify-content: center;
8
+ user-select: none;
9
+
10
+ &:hover,
11
+ &.tree-node-selected {
12
+ background-color: rgba(207, 208, 209, 1);
13
+ cursor: pointer;
14
+ }
15
+ }
16
+
17
+ .tree-item {
18
+ position: absolute;
19
+ display: flex;
20
+ align-items: center;
21
+ justify-content: left;
22
+
23
+ & > i {
24
+ margin-right: 8px;
25
+ }
26
+
27
+ .label-name {
28
+ flex: 1;
29
+ min-width: 0;
30
+ overflow: hidden;
31
+ text-overflow: ellipsis;
32
+ }
33
+ }
34
+
35
+ .tree-folder::after {
36
+ content: "";
37
+ display: block;
38
+ width: 0;
39
+ height: 0;
40
+ margin-left: 20px;
41
+ border-top: 6px solid rgba(0, 0, 0, 0.7);
42
+ border-right: 6px solid transparent;
43
+ border-left: 6px solid transparent;
44
+ opacity: 0.7;
45
+ position: absolute;
46
+ left: -36px;
47
+ transition: transform 0.3s;
48
+ transform: translate(0, 0);
49
+ }
50
+
51
+ .tree-item-expanded::after {
52
+ transform: rotate(-90deg);
53
+ }
54
+ }
@@ -0,0 +1,6 @@
1
+ import './index.less';
2
+ import React from 'react';
3
+ export declare type FileTypeIconProps = React.HtmlHTMLAttributes<HTMLSpanElement> & {
4
+ type: string;
5
+ };
6
+ export declare function FileTypeIcon({ type, ...props }: FileTypeIconProps): JSX.Element;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.FileTypeIcon = FileTypeIcon;
6
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
7
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
8
+ require("./index.less");
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _excluded = ["type"];
11
+ function FileTypeIcon(_ref) {
12
+ var type = _ref.type,
13
+ props = (0, _objectWithoutPropertiesLoose2["default"])(_ref, _excluded);
14
+ return /*#__PURE__*/_react["default"].createElement("i", (0, _extends2["default"])({}, props, {
15
+ className: "file-types-iconfont file-types-icon-" + type + " " + (props.className || '')
16
+ }));
17
+ }
@@ -0,0 +1,77 @@
1
+ @font-face {
2
+ font-family: "file-types-iconfont"; /* Project id 4778352 */
3
+ /* Color fonts */
4
+ src:
5
+ url('//at.alicdn.com/t/c/font_4778352_c4wg236tblh.woff2?t=1734587113843') format('woff2'),
6
+ url('//at.alicdn.com/t/c/font_4778352_c4wg236tblh.woff?t=1734587113843') format('woff'),
7
+ url('//at.alicdn.com/t/c/font_4778352_c4wg236tblh.ttf?t=1734587113843') format('truetype');
8
+ }
9
+
10
+ .file-types-iconfont {
11
+ font-family: "file-types-iconfont" !important;
12
+ font-size: 14px;
13
+ font-style: normal;
14
+ -webkit-font-smoothing: antialiased;
15
+ -moz-osx-font-smoothing: grayscale;
16
+ }
17
+
18
+ .file-types-icon-css:before {
19
+ content: "\e61e";
20
+ }
21
+
22
+ .file-types-icon-editorconfig:before {
23
+ content: "\e628";
24
+ }
25
+
26
+ .file-types-icon-eslintignore:before {
27
+ content: "\e62a";
28
+ }
29
+
30
+ .file-types-icon-gitignore:before {
31
+ content: "\e62d";
32
+ }
33
+
34
+ .file-types-icon-git:before {
35
+ content: "\e897";
36
+ }
37
+
38
+ .file-types-icon-html:before {
39
+ content: "\e68c";
40
+ }
41
+
42
+ .file-types-icon-tsconfig:before {
43
+ content: "\e622";
44
+ }
45
+
46
+ .file-types-icon-less:before {
47
+ content: "\e63d";
48
+ }
49
+
50
+ .file-types-icon-scss:before {
51
+ content: "\e657";
52
+ }
53
+
54
+ .file-types-icon-json:before {
55
+ content: "\e7bd";
56
+ }
57
+
58
+ .file-types-icon-text:before {
59
+ content: "\e734";
60
+ }
61
+
62
+ .file-types-icon-js:before {
63
+ content: "\e63b";
64
+ }
65
+
66
+ .file-types-icon-jsx:before {
67
+ content: "\e63c";
68
+ }
69
+
70
+ .file-types-icon-ts:before {
71
+ content: "\e664";
72
+ }
73
+
74
+ .file-types-icon-tsx:before {
75
+ content: "\e665";
76
+ }
77
+
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import "@gant-lowcode/lowcode-plugin-base-monaco-editor/lib/style.js";
3
+ import { GravityCode } from "../../types";
4
+ import "./index.less";
5
+ export declare function SourcesView({ code, onCodeChange, }: {
6
+ code: GravityCode;
7
+ onCodeChange: (code: GravityCode) => void;
8
+ }): JSX.Element;
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.SourcesView = SourcesView;
6
+ var _splitter = _interopRequireDefault(require("antd/lib/splitter"));
7
+ var _extends3 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _lowcodePluginBaseMonacoEditor = _interopRequireDefault(require("@gant-lowcode/lowcode-plugin-base-monaco-editor"));
10
+ require("@gant-lowcode/lowcode-plugin-base-monaco-editor/lib/style.js");
11
+ var _index = require("../file-tree/index");
12
+ require("./index.less");
13
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
14
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
15
+ var DEBOUNCE_UPDATE_INTERVAL_IN_MS = 500;
16
+ function SourcesView(_ref) {
17
+ var _state$currentFile, _state$currentFile2, _state$currentFile3, _state$currentFile4, _state$currentFile5;
18
+ var code = _ref.code,
19
+ onCodeChange = _ref.onCodeChange;
20
+ var editorContainerRef = (0, _react.useRef)(null);
21
+ var _useState = (0, _react.useState)(function () {
22
+ var allFiles = Object.values(code.modules);
23
+ var currentFile = [allFiles.find(function (x) {
24
+ return /pages.+(js|ts)x?$/.test(x.fpath);
25
+ }), allFiles.find(function (m) {
26
+ return m.entry;
27
+ })].filter(Boolean)[0];
28
+ return {
29
+ currentFile: currentFile,
30
+ selectedKeys: [currentFile === null || currentFile === void 0 ? void 0 : currentFile.fpath]
31
+ };
32
+ }),
33
+ state = _useState[0],
34
+ setState = _useState[1];
35
+ var _useState2 = (0, _react.useState)(0),
36
+ height = _useState2[0],
37
+ setHeight = _useState2[1];
38
+ (0, _react.useEffect)(function () {
39
+ var observer = new ResizeObserver(function () {
40
+ if (editorContainerRef.current) {
41
+ var _editorContainerRef$c = editorContainerRef.current.getBoundingClientRect(),
42
+ _height = _editorContainerRef$c.height;
43
+ setHeight(_height - 2);
44
+ }
45
+ });
46
+ if (editorContainerRef.current) {
47
+ observer.observe(editorContainerRef.current);
48
+ }
49
+ return function () {
50
+ if (editorContainerRef.current) {
51
+ observer.unobserve(editorContainerRef.current);
52
+ }
53
+ };
54
+ }, []);
55
+ var ref = (0, _react.useRef)({
56
+ debounceTimer: null
57
+ });
58
+ var onSelect = function onSelect(key) {
59
+ setState(function (prev) {
60
+ if (ref.current.debounceTimer) {
61
+ ref.current.debounceTimer = null;
62
+ }
63
+ return (0, _extends3["default"])({}, prev, {
64
+ currentFile: code.modules[key] || prev.currentFile
65
+ });
66
+ });
67
+ };
68
+ return /*#__PURE__*/_react["default"].createElement(_splitter["default"], {
69
+ className: "sources-panes"
70
+ }, /*#__PURE__*/_react["default"].createElement(_splitter["default"].Panel, {
71
+ defaultSize: 300,
72
+ min: 300,
73
+ max: "70%",
74
+ className: "file-tree-pane"
75
+ }, /*#__PURE__*/_react["default"].createElement(_index.FileTree, {
76
+ modules: code.modules,
77
+ onSelect: onSelect,
78
+ selectedKeys: (_state$currentFile = state.currentFile) !== null && _state$currentFile !== void 0 && _state$currentFile.fpath ? [(_state$currentFile2 = state.currentFile) === null || _state$currentFile2 === void 0 ? void 0 : _state$currentFile2.fpath] : undefined
79
+ })), /*#__PURE__*/_react["default"].createElement(_splitter["default"].Panel, {
80
+ className: "source-code-pane"
81
+ }, /*#__PURE__*/_react["default"].createElement("div", {
82
+ ref: editorContainerRef,
83
+ style: {
84
+ height: "100%"
85
+ }
86
+ }, /*#__PURE__*/_react["default"].createElement(_lowcodePluginBaseMonacoEditor["default"], {
87
+ height: height,
88
+ language: getFileLanguage((_state$currentFile3 = state.currentFile) === null || _state$currentFile3 === void 0 ? void 0 : _state$currentFile3.fpath),
89
+ saveViewState: true,
90
+ defaultValue: (_state$currentFile4 = state.currentFile) === null || _state$currentFile4 === void 0 ? void 0 : _state$currentFile4.code,
91
+ path: (_state$currentFile5 = state.currentFile) === null || _state$currentFile5 === void 0 ? void 0 : _state$currentFile5.fpath,
92
+ onChange: function onChange(value) {
93
+ console.debug("[monaco editor] onChange: %o (currentFile: %o)", {
94
+ value: value
95
+ }, state.currentFile);
96
+ var currentFile = state.currentFile;
97
+ if (currentFile) {
98
+ if (ref.current.debounceTimer) {
99
+ clearTimeout(ref.current.debounceTimer);
100
+ }
101
+ ref.current.debounceTimer = setTimeout(function () {
102
+ var _extends2;
103
+ ref.current.debounceTimer = null;
104
+ onCodeChange((0, _extends3["default"])({}, code, {
105
+ modules: (0, _extends3["default"])({}, code.modules, (_extends2 = {}, _extends2[currentFile.fpath] = (0, _extends3["default"])({}, currentFile, {
106
+ code: value || ""
107
+ }), _extends2))
108
+ }));
109
+ }, DEBOUNCE_UPDATE_INTERVAL_IN_MS);
110
+ }
111
+ }
112
+ }))));
113
+ }
114
+ function getFileLanguage(file) {
115
+ switch ((file || "").split(".").pop()) {
116
+ case "ts":
117
+ case "tsx":
118
+ return "typescript";
119
+ case "js":
120
+ case "jsx":
121
+ return "javascript";
122
+ case "css":
123
+ return "css";
124
+ case "scss":
125
+ return "scss";
126
+ case "less":
127
+ return "less";
128
+ case "json":
129
+ return "json";
130
+ case "md":
131
+ return "markdown";
132
+ default:
133
+ return "text";
134
+ }
135
+ }
@@ -0,0 +1,12 @@
1
+ .sources-panes {
2
+ .file-tree-pane {
3
+ overflow: hidden;
4
+ border-right: 1px solid #e0e0e0;
5
+ }
6
+ .source-code-pane {
7
+ flex: 1;
8
+ overflow-y: auto;
9
+ height: 100%;
10
+ }
11
+ }
12
+
package/lib/index.d.ts ADDED
@@ -0,0 +1,27 @@
1
+ import type { IPublicModelPluginContext } from "@gant-lowcode/lowcode-types";
2
+ export declare type CodeGenPluginOptions = {
3
+ /** 是否要禁用出码的动作按钮(默认: 否) */
4
+ disableCodeGenActionBtn?: boolean;
5
+ };
6
+ declare const plugin: {
7
+ (ctx: IPublicModelPluginContext, options?: CodeGenPluginOptions): {
8
+ exports(): {
9
+ generateCode: any;
10
+ };
11
+ init(): Promise<void>;
12
+ destroy(): void;
13
+ };
14
+ pluginName: string;
15
+ meta: {
16
+ dependencies: any[];
17
+ preferenceDeclaration: {
18
+ title: string;
19
+ properties: {
20
+ key: string;
21
+ type: string;
22
+ description: string;
23
+ }[];
24
+ };
25
+ };
26
+ };
27
+ export default plugin;
package/lib/index.js ADDED
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports["default"] = void 0;
6
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
7
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
8
+ var CodeGenerator = _interopRequireWildcard(require("@gant-lowcode/code-generator/standalone-loader"));
9
+ var _codeGenAction = require("./components/code-gen-action");
10
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
11
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
12
+ var plugin = function plugin(ctx, options) {
13
+ return {
14
+ // 插件对外暴露的数据和方法
15
+ exports: function exports() {
16
+ return {
17
+ generateCode: CodeGenerator.generateCode
18
+ };
19
+ },
20
+ // 插件的初始化函数,在引擎初始化之后会立刻调用
21
+ init: function init() {
22
+ return (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
23
+ return _regenerator["default"].wrap(function _callee$(_context) {
24
+ while (1) switch (_context.prev = _context.next) {
25
+ case 0:
26
+ _context.prev = 0;
27
+ if (!(options !== null && options !== void 0 && options.disableCodeGenActionBtn)) {
28
+ ctx.skeleton.add({
29
+ type: "Custom",
30
+ name: "code-generator",
31
+ area: "topArea",
32
+ props: {
33
+ align: "right",
34
+ width: 100
35
+ },
36
+ content: _codeGenAction.CodeGenActionBtn,
37
+ contentProps: {
38
+ ctx: ctx
39
+ }
40
+ });
41
+ }
42
+
43
+ // 提前初始化下,这样后面用的时候更快
44
+ CodeGenerator.init();
45
+ _context.next = 9;
46
+ break;
47
+ case 5:
48
+ _context.prev = 5;
49
+ _context.t0 = _context["catch"](0);
50
+ console.error("[plugin-code-geneator] failed to init: ", _context.t0);
51
+ throw _context.t0;
52
+ case 9:
53
+ case "end":
54
+ return _context.stop();
55
+ }
56
+ }, _callee, null, [[0, 5]]);
57
+ }))();
58
+ },
59
+ destroy: function destroy() {}
60
+ };
61
+ };
62
+ plugin.pluginName = "codeGenerator";
63
+ plugin.meta = {
64
+ dependencies: [],
65
+ preferenceDeclaration: {
66
+ title: "codeGenerator 的参数定义",
67
+ properties: [{
68
+ key: "disableCodeGenActionBtn",
69
+ type: "boolean",
70
+ description: "是否要禁用出码的动作按钮"
71
+ }]
72
+ }
73
+ };
74
+ var _default = exports["default"] = plugin;
package/lib/style.js ADDED
@@ -0,0 +1,9 @@
1
+ require('antd/lib/drawer/style');
2
+ require('antd/lib/space/style');
3
+ require('antd/lib/button/style');
4
+ require('antd/lib/spin/style');
5
+ require('antd/lib/alert/style');
6
+ require('antd/lib/message/style');
7
+ require('antd/lib/empty/style');
8
+ require('antd/lib/splitter/style');
9
+ require('@gant-lowcode/lowcode-plugin-base-monaco-editor/lib/style');
@@ -0,0 +1,17 @@
1
+ export declare type SyncCodeGenResult = {
2
+ type: "SYNC_RESULT";
3
+ sourceFiles: Array<{
4
+ pathName: string;
5
+ content: string;
6
+ }>;
7
+ };
8
+ export declare type CodeModules = Record<string, {
9
+ entry?: 1;
10
+ packagejson?: 1;
11
+ code: string;
12
+ fpath: string;
13
+ }>;
14
+ export declare type GravityCode = {
15
+ type: string;
16
+ modules: CodeModules;
17
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
package/package.json CHANGED
@@ -1,24 +1,28 @@
1
1
  {
2
2
  "name": "@gant-lowcode/plugin-code-generator",
3
- "version": "1.0.10",
4
- "type": "module",
5
- "exports": {
6
- ".": {
7
- "types": "./dist/index.d.ts",
8
- "import": "./dist/index.js"
9
- }
10
- },
11
- "module": "./dist/index.js",
12
- "types": "./dist/index.d.ts",
3
+ "version": "2.0.1",
4
+ "main": "lib/index.js",
5
+ "module": "es/index.js",
6
+ "types": "es/index.d.ts",
13
7
  "files": [
14
- "dist"
8
+ "lib",
9
+ "es",
10
+ "README.md"
15
11
  ],
16
12
  "devDependencies": {
13
+ "@alib/build-scripts": "^0.1.18",
14
+ "@rsbuild/plugin-less": "^1.2.2",
15
+ "@rsbuild/plugin-react": "^1.2.0",
16
+ "@rslib/core": "^0.6.3",
17
17
  "@types/file-saver": "^2.0.7",
18
18
  "@types/react": "^18.3.12",
19
19
  "@types/react-window": "^1.8.8",
20
20
  "@types/semver": "^7.5.8",
21
21
  "@types/string-natural-compare": "^3.0.4",
22
+ "build-plugin-component": "^0.2.10",
23
+ "build-plugin-fusion": "^0.1.0",
24
+ "build-plugin-moment-locales": "^0.1.0",
25
+ "build-plugin-react-app": "^1.1.2",
22
26
  "react": "^18.3.1",
23
27
  "typescript": "^5.6.3"
24
28
  },
@@ -28,10 +32,10 @@
28
32
  },
29
33
  "dependencies": {
30
34
  "@ant-design/icons": "^5.5.2",
31
- "@gant-lowcode/lowcode-engine": "^1.3.7",
32
35
  "@gant-lowcode/lowcode-plugin-base-monaco-editor": "^2.1.3",
33
- "@gant-lowcode/lowcode-plugin-code-editor": "^2.1.3",
34
- "@gant-lowcode/lowcode-types": "^1.3.7",
36
+ "@gant-lowcode/lowcode-plugin-code-editor": "^3.0.1",
37
+ "@types/react": "^18",
38
+ "@types/react-dom": "^18",
35
39
  "ahooks": "^3.8.4",
36
40
  "antd": "^5.22.4",
37
41
  "classnames": "^2.5.1",
@@ -42,16 +46,20 @@
42
46
  "react-window": "^1.8.10",
43
47
  "semver": "^7.6.3",
44
48
  "string-natural-compare": "^3.0.1",
45
- "@gant-lowcode/eslint-config": "0.0.0",
46
- "@gant-lowcode/typescript-config": "0.0.0",
47
- "@gant-lowcode/code-generator": "0.0.8"
49
+ "@gant-lowcode/code-generator": "1.0.1",
50
+ "@gant-lowcode/eslint-config": "1.0.1",
51
+ "@gant-lowcode/typescript-config": "1.0.1",
52
+ "@gant-lowcode/lowcode-types": "2.0.1"
48
53
  },
49
54
  "publishConfig": {
50
55
  "registry": "https://registry.npmjs.org/",
51
56
  "access": "public"
52
57
  },
53
58
  "scripts": {
54
- "build": "rslib build",
55
- "dev": "rslib build --watch"
59
+ "start:plugin": "npm run dev",
60
+ "dev:plugin": "cross-env NODE_ENV=development build-scripts start --config build.dev.json --host localhost",
61
+ "build": "build-scripts build --skip-demo",
62
+ "clean": "rimraf es lib dist",
63
+ "prettier": "prettier --write 'src/**/*.{js,jsx,tsx,ts,less,md,json}'"
56
64
  }
57
65
  }
@@ -1,18 +0,0 @@
1
- .code-gen-plugin-loading {
2
- width: 100%;
3
- margin: 2em auto;
4
- }
5
-
6
- .code-gen-drawer .ant-drawer-body {
7
- margin: 0;
8
- padding: 0;
9
- }
10
-
11
- .code-gen-plugin-result {
12
- width: 100%;
13
- }
14
-
15
- .code-gen-plugin-result .next-message-error .next-message-content {
16
- white-space: pre-wrap;
17
- }
18
-