mirror of
https://github.com/alibaba/lowcode-engine.git
synced 2025-12-11 18:42:56 +00:00
fix: 修复生成的 icejs 项目不支持 constants 的问题, fixes #1259
This commit is contained in:
parent
3f53875063
commit
3c165617bf
3
modules/code-generator/.versionrc
Normal file
3
modules/code-generator/.versionrc
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"releaseCommitMessageFormat": "chore(release): code-generator - {{currentTag}}"
|
||||
}
|
||||
@ -0,0 +1,55 @@
|
||||
import {
|
||||
CLASS_DEFINE_CHUNK_NAME,
|
||||
COMMON_CHUNK_NAME,
|
||||
DEFAULT_LINK_AFTER,
|
||||
} from '../../../const/generator';
|
||||
|
||||
import {
|
||||
BuilderComponentPlugin,
|
||||
BuilderComponentPluginFactory,
|
||||
ChunkType,
|
||||
FileType,
|
||||
ICodeStruct,
|
||||
} from '../../../types';
|
||||
|
||||
export interface PluginConfig {
|
||||
fileType: string;
|
||||
}
|
||||
|
||||
const pluginFactory: BuilderComponentPluginFactory<PluginConfig> = (config?) => {
|
||||
const cfg: PluginConfig = {
|
||||
fileType: FileType.JSX,
|
||||
...config,
|
||||
};
|
||||
|
||||
const plugin: BuilderComponentPlugin = async (pre: ICodeStruct) => {
|
||||
const next: ICodeStruct = {
|
||||
...pre,
|
||||
};
|
||||
|
||||
next.chunks.push({
|
||||
type: ChunkType.STRING,
|
||||
fileType: cfg.fileType,
|
||||
name: COMMON_CHUNK_NAME.InternalDepsImport,
|
||||
content: "import __$$constants from '../../constants';",
|
||||
linkAfter: [COMMON_CHUNK_NAME.ExternalDepsImport],
|
||||
});
|
||||
|
||||
next.chunks.push({
|
||||
type: ChunkType.STRING,
|
||||
fileType: cfg.fileType,
|
||||
name: CLASS_DEFINE_CHUNK_NAME.InsVar,
|
||||
content: `
|
||||
get constants() {
|
||||
return __$$constants || {};
|
||||
}
|
||||
`,
|
||||
linkAfter: [...DEFAULT_LINK_AFTER[CLASS_DEFINE_CHUNK_NAME.InsVar]],
|
||||
});
|
||||
|
||||
return next;
|
||||
};
|
||||
return plugin;
|
||||
};
|
||||
|
||||
export default pluginFactory;
|
||||
@ -8,6 +8,7 @@ import containerInitState from '../plugins/component/react/containerInitState';
|
||||
import containerInjectContext from '../plugins/component/react/containerInjectContext';
|
||||
import containerInjectUtils from '../plugins/component/react/containerInjectUtils';
|
||||
import containerInjectDataSourceEngine from '../plugins/component/react/containerInjectDataSourceEngine';
|
||||
import containerInjectConstants from '../plugins/component/react/containerInjectConstants';
|
||||
import containerInjectI18n from '../plugins/component/react/containerInjectI18n';
|
||||
import containerLifeCycle from '../plugins/component/react/containerLifeCycle';
|
||||
import containerMethod from '../plugins/component/react/containerMethod';
|
||||
@ -22,7 +23,7 @@ import icejs from '../plugins/project/framework/icejs';
|
||||
|
||||
import { prettier } from '../postprocessor';
|
||||
|
||||
export interface IceJsProjectBuilderOptions extends IProjectBuilderOptions {}
|
||||
export type IceJsProjectBuilderOptions = IProjectBuilderOptions;
|
||||
|
||||
export default function createIceJsProjectBuilder(
|
||||
options?: IceJsProjectBuilderOptions,
|
||||
@ -65,6 +66,7 @@ export default function createIceJsProjectBuilder(
|
||||
containerInjectUtils(),
|
||||
containerInjectDataSourceEngine(),
|
||||
containerInjectI18n(),
|
||||
containerInjectConstants(),
|
||||
containerInitState(),
|
||||
containerLifeCycle(),
|
||||
containerMethod(),
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user