forked from alibaba/lowcode-engine
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathintermediate.ts
More file actions
83 lines (73 loc) · 1.59 KB
/
intermediate.ts
File metadata and controls
83 lines (73 loc) · 1.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
import {
IPublicTypeI18nMap,
IPublicTypeUtilsMap,
IPublicTypeContainerSchema,
IPublicTypeJSONObject,
} from '@alilc/lowcode-types';
import { IDependency, INpmPackage } from './deps';
import { ICompAnalyzeResult } from './analyze';
export interface IParseResult {
containers: IContainerInfo[];
globalUtils?: IUtilInfo;
globalI18n?: IPublicTypeI18nMap;
globalRouter?: IRouterInfo;
project?: IProjectInfo;
}
export interface IWithDependency {
deps?: IDependency[];
}
export interface IContainerInfo extends IPublicTypeContainerSchema, IWithDependency {
containerType: string;
moduleName: string;
analyzeResult?: ICompAnalyzeResult;
}
export interface IUtilInfo extends IWithDependency {
utils: IPublicTypeUtilsMap;
}
export interface IRouterInfo extends IWithDependency {
routes: Array<{
path: string;
fileName: string;
componentName: string;
}>;
}
/**
* project's remarks
*/
export interface ProjectRemark {
/** if current project only contain one container which type is `Component` */
isSingleComponent?: boolean;
}
export interface IProjectInfo {
css?: string;
containersDeps?: IDependency[];
utilsDeps?: IDependency[];
constants?: IPublicTypeJSONObject;
i18n?: IPublicTypeI18nMap;
packages: INpmPackage[];
meta?: { name?: string; title?: string } | Record<string, any>;
config?: Record<string, any>;
dataSourcesTypes?: string[];
projectRemark?: ProjectRemark;
}
export interface IPageMeta {
router?: string;
}
/**
* From meta
* page title
* router
* spmb
*
* Utils
*
* constants
*
* i18n
*
* components
*
* pages
*
* layout
*/