lowcode-engine/modules/code-generator/src/standalone.ts

121 lines
3.2 KiB
TypeScript
Raw Normal View History

2022-01-25 15:30:17 +08:00
/**
* Schema
* API , API
* export { xxx } from 'xx' export * from 'xxx')
* API tests/public
*/
import './polyfills/buffer';
import { createProjectBuilder } from './generator/ProjectBuilder';
import { createModuleBuilder } from './generator/ModuleBuilder';
import { createZipPublisher } from './publisher/zip';
import createIceJsProjectBuilder, { plugins as icejsPlugins } from './solutions/icejs';
import createIceJs3ProjectBuilder, { plugins as icejs3Plugins } from './solutions/icejs3';
2022-01-25 15:30:17 +08:00
import createRaxAppProjectBuilder, { plugins as raxPlugins } from './solutions/rax-app';
// 引入说明
import { REACT_CHUNK_NAME } from './plugins/component/react/const';
import { COMMON_CHUNK_NAME, CLASS_DEFINE_CHUNK_NAME, DEFAULT_LINK_AFTER } from './const/generator';
// 引入通用插件组
import esmodule from './plugins/common/esmodule';
import requireUtils from './plugins/common/requireUtils';
import styleImport from './plugins/common/styleImport';
2022-01-25 15:30:17 +08:00
import css from './plugins/component/style/css';
import constants from './plugins/project/constants';
import i18n from './plugins/project/i18n';
import utils from './plugins/project/utils';
import prettier from './postprocessor/prettier';
// 引入全局常用工具
import * as globalUtils from './utils';
2022-01-25 15:30:17 +08:00
import * as CONSTANTS from './const';
// 引入内置解决方案模块
import icejs from './plugins/project/framework/icejs';
import icejs3 from './plugins/project/framework/icejs3';
2022-01-25 15:30:17 +08:00
import rax from './plugins/project/framework/rax';
export default {
createProjectBuilder,
createModuleBuilder,
solutions: {
icejs: createIceJsProjectBuilder,
icejs3: createIceJs3ProjectBuilder,
2022-01-25 15:30:17 +08:00
rax: createRaxAppProjectBuilder,
},
solutionParts: {
icejs,
icejs3,
2022-01-25 15:30:17 +08:00
rax,
},
publishers: {
zip: createZipPublisher,
},
plugins: {
common: {
2022-01-25 15:30:17 +08:00
/**
* ES Module
* @deprecated please use esModule
*/
esmodule,
esModule: esmodule,
requireUtils,
styleImport,
2022-01-25 15:30:17 +08:00
},
style: {
css,
},
project: {
constants,
i18n,
utils,
},
icejs: {
...icejsPlugins,
},
icejs3: {
...icejs3Plugins,
},
rax: {
...raxPlugins,
},
/**
* @deprecated please use icejs
*/
react: {
...icejsPlugins,
},
2022-01-25 15:30:17 +08:00
},
postprocessor: {
prettier,
},
utils: globalUtils,
2022-01-25 15:30:17 +08:00
chunkNames: {
COMMON_CHUNK_NAME,
CLASS_DEFINE_CHUNK_NAME,
REACT_CHUNK_NAME,
},
defaultLinkAfter: {
COMMON_DEFAULT_LINK_AFTER: DEFAULT_LINK_AFTER,
},
constants: CONSTANTS,
};
// 一些类型定义
export * from './types';
// 一些常量定义
export * from './const';
// 一些工具函数
export * from './analyzer/componentAnalyzer';
export * from './parser/SchemaParser';
export * from './generator/ChunkBuilder';
export * from './generator/CodeBuilder';
export * from './generator/ModuleBuilder';
export * from './generator/ProjectBuilder';