Skip to content

Commit cdb9445

Browse files
committed
chore: add env format for vite config
1 parent 1149044 commit cdb9445

File tree

28 files changed

+154
-100
lines changed

28 files changed

+154
-100
lines changed

packages/designer/vite.config.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
1-
import { defineConfig } from 'vite';
1+
import { defineConfig, type LibraryFormats } from 'vite';
22
import { resolve } from 'node:path';
3+
import { env } from 'node:process';
34
import react from '@vitejs/plugin-react';
45
import { devDependencies, peerDependencies } from './package.json';
56

67
const externals = [...Object.keys(peerDependencies), ...Object.keys(devDependencies)];
8+
const formats = (env['FORMATS']?.split(',') ?? ['es', 'cjs']) as LibraryFormats[];
79

810
export default defineConfig({
911
build: {
1012
lib: {
1113
// Could also be a dictionary or array of multiple entry points
1214
entry: resolve(import.meta.dirname, 'src/index.ts'),
1315
name: 'LowCodeDesigner',
14-
formats: ['es', 'cjs'],
16+
formats,
1517
// the proper extensions will be added
1618
fileName: 'designer',
1719
},

packages/editor-core/vite.config.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
1-
import { defineConfig } from 'vite';
1+
import { defineConfig, type LibraryFormats } from 'vite';
22
import { resolve } from 'node:path';
3+
import { env } from 'node:process';
34
import react from '@vitejs/plugin-react';
45
import { devDependencies, peerDependencies } from './package.json';
56

67
const externals = [...Object.keys(peerDependencies), ...Object.keys(devDependencies)];
8+
const formats = (env['FORMATS']?.split(',') ?? ['es', 'cjs']) as LibraryFormats[];
79

810
export default defineConfig({
911
build: {
1012
lib: {
1113
// Could also be a dictionary or array of multiple entry points
1214
entry: resolve(import.meta.dirname, 'src/index.ts'),
1315
name: 'LowCodeEditorCore',
14-
formats: ['es'],
16+
formats,
1517
// the proper extensions will be added
1618
fileName: 'editorCore',
1719
},

packages/editor-skeleton/src/components/settings/settings-primary-pane.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,8 +138,7 @@ export class SettingsPrimaryPane extends Component<
138138
return (
139139
<div className="lc-settings-navigator">
140140
{createIcon(this.main.componentMeta?.icon, {
141-
className: 'lc-settings-navigator-icon',
142-
class: 'lc-settings-navigator-icon',
141+
className: 'lc-settings-navigator-icon'
143142
})}
144143
<Breadcrumb className="lc-settings-node-breadcrumb">{items}</Breadcrumb>
145144
</div>

packages/editor-skeleton/src/widget/panel-dock.ts

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -161,13 +161,6 @@ export class PanelDock implements IWidget {
161161
showPanel() {
162162
this.panel?.setActive(true);
163163
}
164-
165-
/**
166-
* @deprecated
167-
*/
168-
onActiveChange(func: () => any) {
169-
return this.panel?.onActiveChange(func);
170-
}
171164
}
172165

173166
export function isPanelDock(obj: any): obj is PanelDock {

packages/editor-skeleton/src/widget/panel.ts

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -234,37 +234,6 @@ export class Panel implements IWidget {
234234
return isPanelDock(item) && item.panelName === this.name;
235235
}) as any;
236236
}
237-
238-
/**
239-
* @deprecated
240-
*/
241-
getSupportedPositions() {
242-
return ['default'];
243-
}
244-
245-
/**
246-
* @deprecated
247-
*/
248-
getCurrentPosition() {
249-
return 'default';
250-
}
251-
252-
/**
253-
* @deprecated
254-
*/
255-
setPosition(/* position: string */) {
256-
// noop
257-
}
258-
259-
/**
260-
* @deprecated
261-
*/
262-
onActiveChange(fn: (flag: boolean) => void): () => void {
263-
this.emitter.on('activechange', fn);
264-
return () => {
265-
this.emitter.removeListener('activechange', fn);
266-
};
267-
}
268237
}
269238

270239
export function isPanel(obj: any): obj is Panel {

packages/editor-skeleton/vite.config.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
1-
import { defineConfig } from 'vite';
1+
import { defineConfig, type LibraryFormats } from 'vite';
22
import { resolve } from 'node:path';
3+
import { env } from 'node:process'
34
import react from '@vitejs/plugin-react';
45
import { devDependencies, peerDependencies } from './package.json';
56

67
const externals = [...Object.keys(peerDependencies), ...Object.keys(devDependencies)];
8+
const formats = (env['FORMATS']?.split(',') ?? ['es', 'cjs']) as LibraryFormats[];
79

810
export default defineConfig({
911
build: {
1012
lib: {
1113
// Could also be a dictionary or array of multiple entry points
1214
entry: resolve(import.meta.dirname, 'src/index.ts'),
1315
name: 'LowCodeEditorSkeleton',
14-
formats: ['es', 'cjs'],
16+
formats,
1517
// the proper extensions will be added
1618
fileName: 'editorSkeleton',
1719
},

packages/engine/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
"@alilc/lowcode-designer": "workspace:*",
3030
"@alilc/lowcode-editor-core": "workspace:*",
3131
"@alilc/lowcode-editor-skeleton": "workspace:*",
32-
"@alilc/lowcode-engine-ext": "^1.0.0",
3332
"@alilc/lowcode-plugin-command": "workspace:*",
3433
"@alilc/lowcode-plugin-designer": "workspace:*",
3534
"@alilc/lowcode-plugin-outline-pane": "workspace:*",

packages/engine/src/engine-core.ts

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
/* eslint-disable max-len */
2-
/* eslint-disable no-param-reassign */
31
import { createElement } from 'react';
4-
import { render, unmountComponentAtNode } from 'react-dom';
2+
import { createRoot, type Root } from 'react-dom/client';
53
import {
64
globalContext,
75
Editor,
@@ -210,13 +208,14 @@ engineConfig.set('isOpenSource', isOpenSource);
210208

211209
// container which will host LowCodeEngine DOM
212210
let engineContainer: HTMLElement;
213-
// @ts-ignore webpack Define variable
214211

215212
export { version }
216213
engineConfig.set('ENGINE_VERSION', version);
217214

218215
const pluginPromise = registryInnerPlugin(designer, editor, plugins);
219216

217+
let root: Root | undefined;
218+
220219
export async function init(
221220
container?: HTMLElement,
222221
options?: IPublicTypeEngineOptions,
@@ -244,15 +243,19 @@ export async function init(
244243
if (options && options.enableWorkspaceMode) {
245244
const disposeFun = await pluginPromise;
246245
disposeFun && disposeFun();
247-
render(
248-
createElement(WorkSpaceWorkbench, {
246+
247+
if (!root) {
248+
root = createRoot(
249+
engineContainer,
250+
);
251+
root.render(createElement(WorkSpaceWorkbench, {
249252
workspace: innerWorkspace,
250253
// skeleton: workspace.skeleton,
251254
className: 'engine-main',
252255
topAreaItemClassName: 'engine-actionitem',
253-
}),
254-
engineContainer,
255-
);
256+
}))
257+
}
258+
256259
innerWorkspace.enableAutoOpenFirstWindow = engineConfig.get('enableAutoOpenFirstWindow', true);
257260
innerWorkspace.setActive(true);
258261
innerWorkspace.initWindow();
@@ -263,14 +266,14 @@ export async function init(
263266

264267
await plugins.init(pluginPreference as any);
265268

266-
render(
267-
createElement(Workbench, {
269+
if (!root) {
270+
root = createRoot(engineContainer)
271+
root.render(createElement(Workbench, {
268272
skeleton: innerSkeleton,
269273
className: 'engine-main',
270274
topAreaItemClassName: 'engine-actionitem',
271-
}),
272-
engineContainer,
273-
);
275+
}))
276+
}
274277
}
275278

276279
export async function destroy() {
@@ -284,5 +287,5 @@ export async function destroy() {
284287

285288
// unmount DOM container, this will trigger React componentWillUnmount lifeCycle,
286289
// so necessary cleanups will be done.
287-
engineContainer && unmountComponentAtNode(engineContainer);
290+
root && root.unmount();
288291
}

packages/engine/src/inner-plugins/setter-registry.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,11 @@ export const setterRegistry = (ctx: IPublicModelPluginContext) => {
66
init() {
77
const { config } = ctx;
88
if (config.get('disableDefaultSetters')) return;
9-
const builtinSetters = require('@alilc/lowcode-engine-ext')?.setters;
10-
if (builtinSetters) {
11-
ctx.setters.registerSetter(builtinSetters);
12-
}
9+
// todo: 互相依赖
10+
// const builtinSetters = require('@alilc/lowcode-engine-ext')?.setters;
11+
// if (builtinSetters) {
12+
// ctx.setters.registerSetter(builtinSetters);
13+
// }
1314
},
1415
};
1516
};

packages/engine/vite.config.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
1-
import { defineConfig } from 'vite';
1+
import { defineConfig, LibraryFormats } from 'vite';
22
import { resolve } from 'node:path';
3+
import { env } from 'node:process';
34
import react from '@vitejs/plugin-react';
45
import { devDependencies, peerDependencies } from './package.json';
56

67
const externals = [...Object.keys(peerDependencies), ...Object.keys(devDependencies)];
8+
const formats = (env['FORMATS']?.split(',') ?? ['es', 'cjs']) as LibraryFormats[];
79

810
export default defineConfig({
911
build: {
1012
lib: {
1113
// Could also be a dictionary or array of multiple entry points
1214
entry: resolve(import.meta.dirname, 'src/index.ts'),
1315
name: 'AliLowCodeEngine',
14-
formats: ['es', 'cjs', 'iife'],
16+
formats,
1517
// the proper extensions will be added
1618
fileName: 'engine',
1719
},
@@ -22,6 +24,7 @@ export default defineConfig({
2224
globals: {
2325
react: 'React',
2426
'react-dom': 'ReactDOM',
27+
'@alifd/next': 'Next'
2528
},
2629
},
2730
},

0 commit comments

Comments
 (0)