chore: change build config

This commit is contained in:
1ncounter 2024-04-09 19:17:59 +08:00
parent cbf57e367e
commit 6b8d0c13bc
42 changed files with 229 additions and 333 deletions

View File

@ -3,13 +3,13 @@
"version": "2.0.0-beta.0",
"description": "Designer for Ali LowCode Engine",
"type": "module",
"main": "dist/designer.cjs",
"module": "dist/designer.js",
"main": "dist/low-code-designer.cjs",
"module": "dist/low-code-designer.js",
"types": "dist/index.d.ts",
"exports": {
".": {
"import": "./dist/designer.js",
"require": "./dist/designer.cjs",
"import": "./dist/low-code-designer.js",
"require": "./dist/low-code-designer.cjs",
"types": "./dist/index.d.ts"
}
},

View File

@ -1,25 +1,8 @@
import { defineConfig, type LibraryFormats } from 'vite';
import { resolve } from 'node:path';
import { env } from 'node:process';
import react from '@vitejs/plugin-react';
import { devDependencies, peerDependencies } from './package.json';
import { defineConfig } from 'vite';
import baseConfigFn from '../../vite.base.config'
const externals = [...Object.keys(peerDependencies), ...Object.keys(devDependencies)];
const formats = (env['FORMATS']?.split(',') ?? ['es', 'cjs']) as LibraryFormats[];
export default defineConfig({
build: {
lib: {
// Could also be a dictionary or array of multiple entry points
entry: resolve(import.meta.dirname, 'src/index.ts'),
name: 'LowCodeDesigner',
formats,
// the proper extensions will be added
fileName: 'designer',
},
rollupOptions: {
external: externals,
},
},
plugins: [react()],
export default defineConfig(async () => {
return baseConfigFn({
name: 'LowCodeDesigner',
})
});

View File

@ -4,12 +4,12 @@
"description": "Core Api for Ali lowCode engine",
"license": "MIT",
"type": "module",
"main": "dist/editorCore.js",
"module": "dist/editorCore.js",
"main": "dist/low-code-editor-core.js",
"module": "dist/low-code-editor-core.js",
"types": "dist/index.d.ts",
"exports": {
".": {
"import": "./dist/editorCore.js",
"import": "./dist/low-code-editor-core.js",
"types": "./dist/index.d.ts"
}
},

View File

@ -1,25 +1,8 @@
import { defineConfig, type LibraryFormats } from 'vite';
import { resolve } from 'node:path';
import { env } from 'node:process';
import react from '@vitejs/plugin-react';
import { devDependencies, peerDependencies } from './package.json';
import { defineConfig } from 'vite';
import baseConfigFn from '../../vite.base.config'
const externals = [...Object.keys(peerDependencies), ...Object.keys(devDependencies)];
const formats = (env['FORMATS']?.split(',') ?? ['es', 'cjs']) as LibraryFormats[];
export default defineConfig({
build: {
lib: {
// Could also be a dictionary or array of multiple entry points
entry: resolve(import.meta.dirname, 'src/index.ts'),
name: 'LowCodeEditorCore',
formats,
// the proper extensions will be added
fileName: 'editorCore',
},
rollupOptions: {
external: externals,
},
},
plugins: [react()],
export default defineConfig(async () => {
return baseConfigFn({
name: 'LowCodeEditorCore',
})
});

View File

@ -3,13 +3,13 @@
"version": "2.0.0-beta.0",
"description": "alibaba lowcode editor skeleton",
"type": "module",
"main": "dist/editorSkeleton.cjs",
"module": "dist/editorSkeleton.js",
"main": "dist/low-code-editor-skeleton.cjs",
"module": "dist/low-code-editor-skeleton.js",
"types": "dist/index.d.ts",
"exports": {
".": {
"import": "./dist/editorSkeleton.js",
"require": "./dist/editorSkeleton.cjs",
"import": "./dist/low-code-editor-skeleton.js",
"require": "./dist/low-code-editor-skeleton.cjs",
"types": "./dist/index.d.ts"
}
},

View File

@ -1,25 +1,9 @@
import { defineConfig, type LibraryFormats } from 'vite';
import { resolve } from 'node:path';
import { env } from 'node:process'
import react from '@vitejs/plugin-react';
import { devDependencies, peerDependencies } from './package.json';
import { defineConfig } from 'vite';
import baseConfigFn from '../../vite.base.config'
const externals = [...Object.keys(peerDependencies), ...Object.keys(devDependencies)];
const formats = (env['FORMATS']?.split(',') ?? ['es', 'cjs']) as LibraryFormats[];
export default defineConfig({
build: {
lib: {
// Could also be a dictionary or array of multiple entry points
entry: resolve(import.meta.dirname, 'src/index.ts'),
name: 'LowCodeEditorSkeleton',
formats,
// the proper extensions will be added
fileName: 'editorSkeleton',
},
rollupOptions: {
external: externals,
},
},
plugins: [react()],
export default defineConfig(async () => {
return baseConfigFn({
name: 'LowCodeEditorSkeleton',
defaultFormats: ['es', 'cjs']
})
});

View File

@ -3,13 +3,13 @@
"version": "2.0.0-beta.0",
"description": "An enterprise-class low-code technology stack with scale-out design / 一套面向扩展设计的企业级低代码技术体系",
"type": "module",
"main": "dist/engine.js",
"module": "dist/engine.js",
"main": "dist/ali-low-code-engine.js",
"module": "dist/ali-low-code-engine.js",
"types": "dist/index.d.ts",
"exports": {
".": {
"import": "./dist/engine.js",
"require": "./dist/engine.cjs",
"import": "./dist/ali-low-code-engine.js",
"require": "./dist/ali-low-code-engine.cjs",
"types": "./dist/index.d.ts"
}
},

View File

@ -1,33 +1,25 @@
import { defineConfig, LibraryFormats } from 'vite';
import { resolve } from 'node:path';
import { env } from 'node:process';
import react from '@vitejs/plugin-react';
import { devDependencies, peerDependencies } from './package.json';
import { defineConfig, mergeConfig } from 'vite';
import baseConfigFn from '../../vite.base.config'
const externals = [...Object.keys(peerDependencies), ...Object.keys(devDependencies)];
const formats = (env['FORMATS']?.split(',') ?? ['es', 'cjs']) as LibraryFormats[];
export default defineConfig(async () => {
const baseConfig = await baseConfigFn({
name: 'AliLowCodeEngine',
defaultFormats: ['es', 'cjs'],
})
export default defineConfig({
build: {
lib: {
// Could also be a dictionary or array of multiple entry points
entry: resolve(import.meta.dirname, 'src/index.ts'),
name: 'AliLowCodeEngine',
formats,
// the proper extensions will be added
fileName: 'engine',
},
rollupOptions: {
external: externals,
output: {
// for UMD
globals: {
react: 'React',
'react-dom': 'ReactDOM',
'@alifd/next': 'Next'
return mergeConfig(baseConfig, defineConfig({
build: {
rollupOptions: {
output: {
// for UMD
globals: {
react: 'React',
'react-dom': 'ReactDOM',
'@alifd/next': 'Next'
},
},
},
},
},
plugins: [react()],
}
}))
});

View File

@ -6,13 +6,13 @@
"homepage": "https://github.com/alibaba/lowcode-engine#readme",
"license": "ISC",
"type": "module",
"main": "dist/command.cjs",
"module": "dist/command.js",
"main": "dist/low-code-plugin-command.cjs",
"module": "dist/low-code-plugin-command.js",
"types": "dist/index.d.ts",
"exports": {
".": {
"import": "./dist/command.js",
"require": "./dist/command.cjs",
"import": "./dist/low-code-plugin-command.js",
"require": "./dist/low-code-plugin-command.cjs",
"types": "./dist/index.d.ts"
}
},
@ -34,7 +34,13 @@
},
"dependencies": {
"@alilc/lowcode-types": "workspace:*",
"@alilc/lowcode-utils": "workspace:*"
"@alilc/lowcode-utils": "workspace:*",
"react": "^18.2.0",
"react-dom": "^18.2.0"
},
"peerDependencies": {
"react": "^18.2.0",
"react-dom": "^18.2.0"
},
"publishConfig": {
"access": "public"

View File

@ -1,18 +1,9 @@
import { defineConfig, LibraryFormats } from 'vite';
import { resolve } from 'node:path';
import { env } from 'node:process';
import { defineConfig } from 'vite';
import baseConfigFn from '../../vite.base.config'
const formats = (env['FORMATS']?.split(',') ?? ['es', 'cjs']) as LibraryFormats[];
export default defineConfig({
build: {
lib: {
// Could also be a dictionary or array of multiple entry points
entry: resolve(import.meta.dirname, 'src/index.ts'),
name: 'LowCodePluginCommand',
formats,
// the proper extensions will be added
fileName: 'plugin-command',
},
},
export default defineConfig(async () => {
return baseConfigFn({
name: 'LowCodePluginCommand',
defaultFormats: ['es', 'cjs']
})
});

View File

@ -3,13 +3,13 @@
"version": "2.0.0-beta.0",
"description": "alibaba lowcode editor designer plugin",
"type": "module",
"main": "dist/designer.cjs",
"module": "dist/designer.js",
"main": "dist/low-code-plugin-designer.cjs",
"module": "dist/low-code-plugin-designer.js",
"types": "dist/index.d.ts",
"exports": {
".": {
"import": "./dist/designer.js",
"require": "./dist/designer.cjs",
"import": "./dist/low-code-plugin-designer.js",
"require": "./dist/low-code-plugin-designer.cjs",
"types": "./dist/index.d.ts"
}
},

View File

@ -1,25 +1,10 @@
import { defineConfig, LibraryFormats } from 'vite';
import { env } from 'node:process';
import { resolve } from 'node:path';
import react from '@vitejs/plugin-react';
import { devDependencies, peerDependencies } from './package.json';
import { defineConfig } from 'vite';
import baseConfigFn from '../../vite.base.config'
const externals = [...Object.keys(peerDependencies), ...Object.keys(devDependencies)];
const formats = (env['FORMATS']?.split(',') ?? ['es', 'cjs']) as LibraryFormats[];
export default defineConfig({
build: {
lib: {
// Could also be a dictionary or array of multiple entry points
entry: resolve(import.meta.dirname, 'src/index.tsx'),
name: 'LowCodePluginDesigner',
formats,
// the proper extensions will be added
fileName: 'plugin-designer',
},
rollupOptions: {
external: externals,
},
},
plugins: [react()],
export default defineConfig(async () => {
return baseConfigFn({
name: 'LowCodePluginDesigner',
defaultFormats: ['es', 'cjs'],
entry: 'src/index.tsx'
})
});

View File

@ -3,13 +3,13 @@
"version": "1.3.2",
"description": "Outline pane for Ali lowCode engine",
"type": "module",
"main": "dist/plugin-outline-pane.cjs",
"module": "dist/plugin-outline-pane.js",
"main": "dist/low-code-plugin-outline-pane.cjs",
"module": "dist/low-code-plugin-outline-pane.js",
"types": "dist/index.d.ts",
"exports": {
".": {
"import": "./dist/plugin-outline-pane.js",
"require": "./dist/plugin-outline-pane.cjs",
"import": "./dist/low-code-plugin-outline-pane.js",
"require": "./dist/low-code-plugin-outline-pane.cjs",
"types": "./dist/index.d.ts"
}
},

View File

@ -1,25 +1,10 @@
import { defineConfig, LibraryFormats } from 'vite';
import { env } from 'node:process';
import { resolve } from 'node:path';
import react from '@vitejs/plugin-react';
import { devDependencies, peerDependencies } from './package.json';
import { defineConfig } from 'vite';
import baseConfigFn from '../../vite.base.config'
const externals = [...Object.keys(peerDependencies), ...Object.keys(devDependencies)];
const formats = (env['FORMATS']?.split(',') ?? ['es', 'cjs']) as LibraryFormats[];
export default defineConfig({
build: {
lib: {
// Could also be a dictionary or array of multiple entry points
entry: resolve(import.meta.dirname, 'src/index.tsx'),
name: 'LowCodePluginOutlinePane',
formats,
// the proper extensions will be added
fileName: 'plugin-outline-pane',
},
rollupOptions: {
external: externals,
},
},
plugins: [react()],
export default defineConfig(async () => {
return baseConfigFn({
name: 'LowCodePluginOutlinePane',
defaultFormats: ['es', 'cjs'],
entry: 'src/index.tsx'
})
});

View File

@ -6,13 +6,13 @@
"bugs": "https://github.com/alibaba/lowcode-engine/issues",
"homepage": "https://github.com/alibaba/lowcode-engine/#readme",
"license": "MIT",
"main": "dist/reactRenderer.cjs",
"module": "dist/reactRenderer.js",
"main": "dist/low-code-react-renderer.cjs",
"module": "dist/low-code-react-renderer.js",
"types": "dist/index.d.ts",
"exports": {
".": {
"import": "./dist/reactRenderer.js",
"require": "./dist/reactRenderer.cjs",
"import": "./dist/low-code-react-renderer.js",
"require": "./dist/low-code-react-renderer.cjs",
"types": "./dist/index.d.ts"
}
},

View File

@ -3,10 +3,10 @@ import {
type AppBase,
createAppFunction,
type AppOptionsBase,
} from '@alilc/renderer-core';
} from '@alilc/lowcode-renderer-core';
import { type ComponentType } from 'react';
import { type Root, createRoot } from 'react-dom/client';
import { createRouter } from '@alilc/runtime-router';
import { createRouter } from '@alilc/lowcode-renderer-router';
import { createRenderer } from '../renderer';
import AppComponent from '../components/app';
import { createIntl } from '../runtime-api/intl';

View File

@ -9,7 +9,7 @@ import {
isJSFunction,
isJSSlot,
someValue,
} from '@alilc/renderer-core';
} from '@alilc/lowcode-renderer-core';
import { isPlainObject } from 'lodash-es';
import { forwardRef, useRef, useEffect, createElement, useMemo } from 'react';
import { createSignal, watch } from './signals';
@ -26,7 +26,7 @@ import type {
JSSlot,
JSFunction,
I18nNode,
} from '@alilc/renderer-core';
} from '@alilc/lowcode-renderer-core';
import type {
ComponentType,
ReactInstance,

View File

@ -1,4 +1,4 @@
import type { PageConfig, ComponentTree } from '@alilc/renderer-core';
import type { PageConfig, ComponentTree } from '@alilc/lowcode-renderer-core';
import { useAppContext } from '../context/app';
import { createComponent } from '../component';

View File

@ -1,4 +1,4 @@
import { type Router } from '@alilc/runtime-router';
import { type Router } from '@alilc/lowcode-renderer-router';
import { useState, useLayoutEffect, useMemo, type ReactNode } from 'react';
import { RouterContext, RouteLocationContext, PageConfigContext } from '../context/router';
import { useAppContext } from '../context/app';

View File

@ -1,5 +1,5 @@
import { createContext, useContext } from 'react';
import { type AppContext as AppContextType } from '@alilc/renderer-core';
import { type AppContext as AppContextType } from '@alilc/lowcode-renderer-core';
import { type ReactRenderer } from '../renderer';
export interface AppContextObject extends AppContextType {

View File

@ -1,5 +1,5 @@
import { type Router, type RouteLocationNormalized } from '@alilc/runtime-router';
import { type PageConfig } from '@alilc/renderer-core';
import { type Router, type RouteLocationNormalized } from '@alilc/lowcode-renderer-router';
import { type PageConfig } from '@alilc/lowcode-renderer-core';
import { createContext, useContext } from 'react';
export const RouterContext = createContext<Router>({} as any);

View File

@ -2,7 +2,7 @@ import {
definePlugin as definePluginFn,
type Plugin,
type PluginSetupContext,
} from '@alilc/renderer-core';
} from '@alilc/lowcode-renderer-core';
import { type ComponentType, type PropsWithChildren } from 'react';
import { type OutletProps } from './components/outlet';

View File

@ -4,7 +4,7 @@ import {
type AnyFunction,
type Util,
type UtilsApi,
} from '@alilc/renderer-core';
} from '@alilc/lowcode-renderer-core';
export interface RuntimeUtils extends UtilsApi {
addUtil(utilItem: Util): void;

View File

@ -1,4 +1,4 @@
import { type PlainObject } from '@alilc/renderer-core';
import { type PlainObject } from '@alilc/lowcode-renderer-core';
import {
ref,
computed,

View File

@ -4,7 +4,7 @@ import {
type PlainObject,
type JSExpression,
isJSExpression,
} from '@alilc/renderer-core';
} from '@alilc/lowcode-renderer-core';
import { type ComponentType, memo, forwardRef, type PropsWithChildren, createElement } from 'react';
import { produce } from 'immer';
import hoistNonReactStatics from 'hoist-non-react-statics';

View File

@ -1,32 +1,23 @@
import { defineConfig, LibraryFormats } from 'vite';
import { env } from 'node:process';
import { resolve } from 'node:path';
import react from '@vitejs/plugin-react';
import { devDependencies, peerDependencies } from './package.json';
import { defineConfig, mergeConfig } from 'vite';
import baseConfigFn from '../../vite.base.config'
const externals = [...Object.keys(peerDependencies), ...Object.keys(devDependencies)];
const formats = (env['FORMATS']?.split(',') ?? ['es', 'cjs', 'iife']) as LibraryFormats[];
export default defineConfig(async () => {
const baseConfig = await baseConfigFn({
name: 'LowCodeReactRenderer',
defaultFormats: ['es', 'cjs'],
})
export default defineConfig({
build: {
lib: {
// Could also be a dictionary or array of multiple entry points
entry: resolve(import.meta.dirname, 'src/index.ts'),
name: 'LowCodeReactRenderer',
formats,
// the proper extensions will be added
fileName: 'reactRenderer',
},
rollupOptions: {
external: externals,
output: {
// for UMD
globals: {
react: 'React',
'react-dom': 'ReactDOM',
return mergeConfig(baseConfig, defineConfig({
build: {
rollupOptions: {
output: {
// for UMD
globals: {
react: 'React',
'react-dom': 'ReactDOM',
},
},
},
},
},
plugins: [react()],
}
}))
});

View File

@ -6,12 +6,12 @@
"bugs": "https://github.com/alibaba/lowcode-engine/issues",
"homepage": "https://github.com/alibaba/lowcode-engine/#readme",
"license": "MIT",
"main": "dist/rendererCore.js",
"module": "dist/rendererCore.js",
"main": "dist/low-code-renderer-core.js",
"module": "dist/low-code-renderer-core.js",
"types": "dist/index.d.ts",
"exports": {
".": {
"import": "./dist/rendererCore.js",
"import": "./dist/low-code-renderer-core.js",
"types": "./dist/index.d.ts"
}
},

View File

@ -1,18 +1,8 @@
import { defineConfig, LibraryFormats } from 'vite';
import { env } from 'node:process';
import { resolve } from 'node:path';
import { defineConfig } from 'vite';
import baseConfigFn from '../../vite.base.config'
const formats = (env['FORMATS']?.split(',') ?? ['es']) as LibraryFormats[];
export default defineConfig({
build: {
lib: {
// Could also be a dictionary or array of multiple entry points
entry: resolve(import.meta.dirname, 'src/index.ts'),
name: 'LowCodeRendererCore',
formats,
// the proper extensions will be added
fileName: 'rendererCore',
},
},
export default defineConfig(async () => {
return baseConfigFn({
name: 'LowCodeRendererCore',
})
});

View File

@ -6,11 +6,11 @@
"bugs": "https://github.com/alibaba/lowcode-engine/issues",
"homepage": "https://github.com/alibaba/lowcode-engine/#readme",
"license": "MIT",
"module": "dist/runtimeRouter.js",
"module": "dist/low-code-runtime-router.js",
"types": "dist/index.d.ts",
"exports": {
".": {
"import": "./dist/runtimeRouter.js",
"import": "./dist/low-code-runtime-router.js",
"types": "./dist/index.d.ts"
}
},

View File

@ -1,4 +1,4 @@
import { RawRouteLocation } from '@alilc/renderer-core';
import { RawRouteLocation } from '@alilc/lowcode-renderer-core';
import { type RouteLocationNormalized } from './types';
import { isRouteLocation } from './utils/helper';

View File

@ -1,4 +1,4 @@
import { type PlainObject, type RawLocation } from '@alilc/renderer-core';
import { type PlainObject, type RawLocation } from '@alilc/lowcode-renderer-core';
import { pick } from 'lodash-es';
import { createRouteRecordMatcher, type RouteRecordMatcher } from './utils/record-matcher';
import { type PathParserOptions } from './utils/path-parser';

View File

@ -5,7 +5,7 @@ import {
useEvent,
type RawRouteLocation,
type RawLocationOptions,
} from '@alilc/renderer-core';
} from '@alilc/lowcode-renderer-core';
import {
createBrowserHistory,
createHashHistory,

View File

@ -3,7 +3,7 @@ import type {
RouteLocation,
PlainObject,
RawRouteLocation,
} from '@alilc/renderer-core';
} from '@alilc/lowcode-renderer-core';
import type { PathParserOptions } from './utils/path-parser';
export interface RouteRecord extends RouterRecordSpec, PathParserOptions {

View File

@ -1,4 +1,4 @@
import type { RawRouteLocation } from '@alilc/renderer-core';
import type { RawRouteLocation } from '@alilc/lowcode-renderer-core';
import type { RouteLocationNormalized } from '../types';
export function isRouteLocation(route: any): route is RawRouteLocation {

View File

@ -1,23 +1,8 @@
import { defineConfig, LibraryFormats } from 'vite';
import { env } from 'node:process';
import { resolve } from 'node:path';
import { devDependencies, peerDependencies } from './package.json';
import { defineConfig } from 'vite';
import baseConfigFn from '../../vite.base.config'
const externals = [...Object.keys(peerDependencies), ...Object.keys(devDependencies)];
const formats = (env['FORMATS']?.split(',') ?? ['es', 'cjs']) as LibraryFormats[];
export default defineConfig({
build: {
lib: {
// Could also be a dictionary or array of multiple entry points
entry: resolve(import.meta.dirname, 'src/index.ts'),
name: 'LowCodeRuntimeRouter',
formats,
// the proper extensions will be added
fileName: 'runtimeRouter',
},
rollupOptions: {
external: externals,
},
},
export default defineConfig(async () => {
return baseConfigFn({
name: 'LowCodeRuntimeRouter',
})
});

View File

@ -3,13 +3,13 @@
"version": "2.0.0-beta.0",
"description": "Types for Ali lowCode engine",
"type": "module",
"main": "dist/lowcodeTypes.js",
"module": "dist/lowcodeTypes.js",
"main": "dist/low-code-types.js",
"module": "dist/low-code-types.js",
"types": "dist/index.d.ts",
"exports": {
".": {
"import": "./dist/lowcodeTypes.js",
"module": "./dist/lowcodeTypes.js",
"import": "./dist/low-code-types.js",
"module": "./dist/low-code-types.js",
"types": "./dist/index.d.ts"
},
"./package.json": "./package.json"

View File

@ -1,18 +1,6 @@
import { defineConfig, LibraryFormats } from 'vite';
import { resolve } from 'node:path';
import { env } from 'node:process';
import { defineConfig } from 'vite';
import baseConfigFn from '../../vite.base.config'
const formats = (env['FORMATS']?.split(',') ?? ['es']) as LibraryFormats[];
export default defineConfig({
build: {
lib: {
// Could also be a dictionary or array of multiple entry points
entry: resolve(import.meta.dirname, 'src/index.ts'),
name: 'LowcodeTypes',
formats,
// the proper extensions will be added
fileName: 'lowcodeTypes',
},
},
});
export default defineConfig(async () => baseConfigFn({
name: 'LowCodeTypes',
}));

View File

@ -3,12 +3,12 @@
"version": "2.0.0-beta.0",
"description": "Utils for Ali lowCode engine",
"type": "module",
"main": "lib/index.js",
"module": "dist/index.js",
"main": "lib/low-code-utils.js",
"module": "dist/low-code-utils.js",
"types": "dist/index.d.ts",
"exports": {
".": {
"import": "./dist/lowCodeUtils.js",
"import": "./dist/low-code-utils.js",
"types": "./dist/index.d.ts"
},
"./package.json": "./package.json"

View File

@ -1,25 +1,8 @@
import { defineConfig, LibraryFormats } from 'vite';
import { resolve } from 'node:path';
import { env } from 'node:process';
import react from '@vitejs/plugin-react';
import { devDependencies, peerDependencies } from './package.json';
import { defineConfig, } from 'vite';
import baseConfigFn from '../../vite.base.config'
const externals = [...Object.keys(peerDependencies), ...Object.keys(devDependencies)];
const formats = (env['FORMATS']?.split(',') ?? ['es']) as LibraryFormats[];
export default defineConfig({
build: {
lib: {
entry: resolve(import.meta.dirname, 'src/index.ts'),
name: 'LowCodeUtils',
formats,
fileName: 'lowCodeUtils',
},
rollupOptions: {
external: externals,
},
},
plugins: [
react(),
],
export default defineConfig(async () => {
return baseConfigFn({
name: 'LowCodeUtils',
})
});

View File

@ -7,6 +7,9 @@
</head>
<body>
<div id="app"></div>
<!-- <script src=""></script> -->
<script type="module" src="./src/index.ts"></script>
</body>
</html>

View File

@ -1,25 +1,21 @@
import { resolve } from 'node:path';
import { existsSync } from 'node:fs';
import { readdir } from 'node:fs/promises';
import { argv, cwd } from 'node:process';
import minimist from 'minimist';
import { execa } from 'execa';
import { findWorkspacePackages } from '@pnpm/workspace.find-packages'
const args = minimist(argv.slice(2));
const targets = args['_'][0];
const targets = args['_'];
const formatArgs = args['formats'];
const prod = args['prod'] || args['p'];
async function run() {
const packages = await findWorkspacePackages(cwd());
const targetPackageName = `@alilc/lowcode-${targets[0]}`
const finalName = packages
.filter((item) => item.manifest.name.includes(targetPackageName))
.filter((dir) => existsSync(resolve(packagesUrl.pathname, dir)));
.filter((item) => item.manifest.name === targetPackageName)
.map(item => item.manifest.name);
await execa('pnpm', ['--filter', finalName, 'build:target'], {
await execa('pnpm', ['--filter', finalName[0], 'build:target'], {
stdio: 'inherit',
env: {
FORMATS: !prod ? formatArgs : undefined,

51
vite.base.config.ts Normal file
View File

@ -0,0 +1,51 @@
import { defineConfig, LibraryFormats } from 'vite';
import { env, cwd } from 'node:process';
import { resolve } from 'node:path';
import { readFile } from 'node:fs/promises'
import react from '@vitejs/plugin-react';
interface Options {
name: string;
entry?: string;
defaultFormats?: LibraryFormats[];
externalDeps?: boolean;
}
const resolvePath = (path: string) => resolve(cwd(), path)
export default async ({ name, entry = 'src/index.ts', defaultFormats = ['es'], externalDeps = true }: Options) => {
const formats = (env['FORMATS']?.split(',') ?? defaultFormats) as LibraryFormats[];
let externals: string[] = [];
if (externalDeps) {
const { peerDependencies = {}, devDependencies = {} } = await getPackageJson(resolvePath('package.json'));
externals = [...Object.keys(peerDependencies), ...Object.keys(devDependencies)];
}
return defineConfig({
build: {
lib: {
entry: resolvePath(entry),
name,
fileName: camelCaseToKebabCase(name),
formats,
},
minify: false,
rollupOptions: {
external: externals
}
},
plugins: [react()],
});
};
function camelCaseToKebabCase(str: string) {
// 使用正则表达式匹配大写字母
return str.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();
}
async function getPackageJson(path: string) {
const content = await readFile(path, 'utf-8');
return JSON.parse(content);
}