@skedulo/mex-types 1.2.2 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -80,5 +80,6 @@ The table below shows which commit message gets you which release type when **se
80
80
  - If add new property, interface, type defs, must release in minor type
81
81
  - Break change (TBD)
82
82
 
83
-
83
+ ### Trigger release manually
84
+ Please follow this [guidelines](https://skedulo.atlassian.net/wiki/spaces/RS/pages/2647785497/Mex-Types+Trigger+release+pipeline) to trigger release manually
84
85
 
@@ -57,7 +57,7 @@ export interface EmailButtonBehaviorComponentModel extends ButtonBehaviorCompone
57
57
  }
58
58
  export type SelectPageConfig = {
59
59
  searchBar: {
60
- filterOnProperties: string[] | undefined;
60
+ filterOnProperties?: string[];
61
61
  placeholder: LocalizedKey;
62
62
  };
63
63
  itemCaption: LocalizedKey;
@@ -65,14 +65,14 @@ export type SelectPageConfig = {
65
65
  dataSourceExpression: DataExpressionType;
66
66
  emptyText: LocalizedKey;
67
67
  filterExpression?: DataExpressionType;
68
- singleSelectionConfig: {
68
+ singleSelectionConfig?: {
69
69
  dismissPageAfterChosen: boolean;
70
- } | undefined;
70
+ };
71
71
  isMultiSelect?: boolean;
72
- header: {
72
+ header?: {
73
73
  title: LocalizedKey;
74
74
  hasClearBtn: boolean;
75
- } | undefined;
75
+ };
76
76
  onlineSource?: SelectPageOnlineSource;
77
77
  selectedDataExpression?: DataExpressionType;
78
78
  };
@@ -0,0 +1,198 @@
1
+ import { UIDefinition } from 'src/page';
2
+ /**
3
+ * Form definition status.
4
+ * State flow:
5
+ * - Pending -> BuildInProgress -> Validated/Failed -> InstallInProgress -> Installed/Failed
6
+ * - Pending -> ... -> Deactivated
7
+ */
8
+ export declare enum DefStatus {
9
+ /**
10
+ * Just uploaded, not in use
11
+ */
12
+ Pending = "Pending",
13
+ /**
14
+ * Build succed
15
+ */
16
+ Validated = "Validated",
17
+ /**
18
+ * Form has been installed, already in use
19
+ */
20
+ Installed = "Installed",
21
+ /**
22
+ * This form has been deactivated
23
+ */
24
+ Deactivated = "Deactivated",
25
+ /**
26
+ * The form build and validation are in progress
27
+ */
28
+ BuildInProgress = "BuildInProgress",
29
+ /**
30
+ * The form installation is in progress
31
+ */
32
+ InstallInProgress = "InstallInProgress",
33
+ /**
34
+ * This form has been failed by any reason
35
+ */
36
+ Failed = "Failed"
37
+ }
38
+ /**
39
+ * @area formDefs
40
+ */
41
+ export interface MexDef {
42
+ /**
43
+ * Auto generated UID
44
+ */
45
+ uid: string;
46
+ /**
47
+ * Tenant Id
48
+ */
49
+ tenantId: string;
50
+ /**
51
+ * Form definition name
52
+ */
53
+ name: string;
54
+ /**
55
+ * The definition id, will be generated for the first time.
56
+ * It is used for definition update action
57
+ */
58
+ defId: string;
59
+ /**
60
+ * A long number version value, [defId - version] is unique pair
61
+ */
62
+ version: number;
63
+ /**
64
+ * Semver version of compatible engine version
65
+ */
66
+ engineVersion: string;
67
+ /**
68
+ * Form definition metadata in JSON format
69
+ */
70
+ metadata: any;
71
+ /**
72
+ * Form definition information
73
+ */
74
+ formdef: FormDef;
75
+ /**
76
+ * Similar to formdef, but it stores the formdef value after validating, for example:
77
+ * a customFunctionMetadata should be an aws lambda arn instead of a pure js function
78
+ */
79
+ internalMetadata?: InternalFormDef;
80
+ /**
81
+ * Form definition status
82
+ */
83
+ status: DefStatus;
84
+ /**
85
+ * Form uploaded timestamp
86
+ */
87
+ uploadedAt: Date;
88
+ /**
89
+ * Form installed timestamp
90
+ */
91
+ installedAt?: Date;
92
+ /**
93
+ * Form built timestamp
94
+ */
95
+ builtAt?: Date;
96
+ /**
97
+ * This form definition has been uploaded by
98
+ */
99
+ uploadedBy: string;
100
+ /**
101
+ * This form definition has been installed by
102
+ */
103
+ installedBy?: string;
104
+ }
105
+ export type MexFetchPayload = GraphQlRequestPayload | CustomFetchPayload | UnknownFetchPayload;
106
+ export type UnknownFetchPayload = {
107
+ [key: string]: any;
108
+ };
109
+ export type CustomFetchPayload = {
110
+ type: FetchRequestType.CUSTOM;
111
+ variables?: Variables;
112
+ };
113
+ export type GraphQlRequestPayload = {
114
+ type: FetchRequestType.GRAPHQL;
115
+ [key: string]: any;
116
+ };
117
+ export declare enum FetchRequestType {
118
+ GRAPHQL = "GraphQl",
119
+ CUSTOM = "CUSTOM"
120
+ }
121
+ export type Variables = {
122
+ [variable: string]: string;
123
+ };
124
+ export type MexInstanceSavePayload = {
125
+ type: FetchRequestType.CUSTOM;
126
+ variables?: Variables;
127
+ };
128
+ export interface MexMetadataPayload {
129
+ [key: string]: unknown;
130
+ }
131
+ export type CustomFunctionFeatures = {
132
+ fetchFunction?: boolean;
133
+ saveFunction?: boolean;
134
+ validateFunction?: boolean;
135
+ staticFunction?: boolean;
136
+ searchFunction?: boolean;
137
+ };
138
+ export type CustomFunctionMetadataType = {
139
+ libVersion?: string;
140
+ has: CustomFunctionFeatures;
141
+ arn: string;
142
+ [others: string]: any;
143
+ };
144
+ export interface InternalFormDef {
145
+ /**
146
+ * Custom function metadata
147
+ */
148
+ customFunctionMetadata?: CustomFunctionMetadataType;
149
+ /**
150
+ * The custom function built of this Mex Def which uploaded by Dev
151
+ * It should be just a file name on S3
152
+ */
153
+ customFunctionBuild?: any;
154
+ /**
155
+ * The custom function source of this Mex Def which uploaded by Dev.
156
+ * It should be just a file name on S3
157
+ */
158
+ customFunctionSource?: string;
159
+ /**
160
+ * Some more detail information in the special cases such as: Mex definition build failed
161
+ */
162
+ detailInformation?: string;
163
+ }
164
+ export interface FormDef {
165
+ /**
166
+ * Form definition UI. In JSON format
167
+ */
168
+ ui: UIDefinition;
169
+ /**
170
+ * Static fetch configuration. In JSON format
171
+ */
172
+ staticFetch: MexFetchPayload;
173
+ /**
174
+ * Instance fetch configuration. In JSON format
175
+ */
176
+ instanceFetch: MexFetchPayload;
177
+ /**
178
+ * Instance save parameters. Normally will be used in the custom save methods
179
+ */
180
+ instanceSave?: MexInstanceSavePayload;
181
+ /**
182
+ * A pure bundled javascript file for frontend side
183
+ */
184
+ feCustomFunction?: string;
185
+ /**
186
+ * Online search details
187
+ */
188
+ searchDefinition?: MexSearchPayload;
189
+ }
190
+ export type MexSearchPayload = {
191
+ type: FetchRequestType;
192
+ } & {
193
+ [label: string]: {
194
+ object: string;
195
+ fields: string[];
196
+ filter?: string;
197
+ };
198
+ };
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ // 10:40 Copy from native-form-backend 10/10/2023
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.FetchRequestType = exports.DefStatus = void 0;
5
+ /**
6
+ * Form definition status.
7
+ * State flow:
8
+ * - Pending -> BuildInProgress -> Validated/Failed -> InstallInProgress -> Installed/Failed
9
+ * - Pending -> ... -> Deactivated
10
+ */
11
+ var DefStatus;
12
+ (function (DefStatus) {
13
+ /**
14
+ * Just uploaded, not in use
15
+ */
16
+ DefStatus["Pending"] = "Pending";
17
+ /**
18
+ * Build succed
19
+ */
20
+ DefStatus["Validated"] = "Validated";
21
+ /**
22
+ * Form has been installed, already in use
23
+ */
24
+ DefStatus["Installed"] = "Installed";
25
+ /**
26
+ * This form has been deactivated
27
+ */
28
+ DefStatus["Deactivated"] = "Deactivated";
29
+ /**
30
+ * The form build and validation are in progress
31
+ */
32
+ DefStatus["BuildInProgress"] = "BuildInProgress";
33
+ /**
34
+ * The form installation is in progress
35
+ */
36
+ DefStatus["InstallInProgress"] = "InstallInProgress";
37
+ /**
38
+ * This form has been failed by any reason
39
+ */
40
+ DefStatus["Failed"] = "Failed";
41
+ })(DefStatus || (exports.DefStatus = DefStatus = {}));
42
+ var FetchRequestType;
43
+ (function (FetchRequestType) {
44
+ FetchRequestType["GRAPHQL"] = "GraphQl";
45
+ FetchRequestType["CUSTOM"] = "CUSTOM";
46
+ })(FetchRequestType || (exports.FetchRequestType = FetchRequestType = {}));
47
+ //# sourceMappingURL=MexDefs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MexDefs.js","sourceRoot":"","sources":["../../src/common/MexDefs.ts"],"names":[],"mappings":";AAAA,iDAAiD;;;AAIjD;;;;;GAKG;AACH,IAAY,SA6BX;AA7BD,WAAY,SAAS;IACnB;;OAEG;IACH,gCAAmB,CAAA;IACnB;;OAEG;IACH,oCAAuB,CAAA;IACvB;;OAEG;IACH,oCAAuB,CAAA;IACvB;;OAEG;IACH,wCAA2B,CAAA;IAC3B;;OAEG;IACH,gDAAmC,CAAA;IACnC;;OAEG;IACH,oDAAuC,CAAA;IACvC;;OAEG;IACH,8BAAiB,CAAA;AACnB,CAAC,EA7BW,SAAS,yBAAT,SAAS,QA6BpB;AAuFD,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,uCAAmB,CAAA;IACnB,qCAAiB,CAAA;AACnB,CAAC,EAHW,gBAAgB,gCAAhB,gBAAgB,QAG3B"}
@@ -3,19 +3,27 @@ import { BaseListPageViewComponentModel } from '../view/ListPageViewComponentMod
3
3
  import { BaseComponentModel } from '../common/BaseComponentModel';
4
4
  import { BaseFlatPageViewComponentModel } from '../view/FlatPageViewComponentModel';
5
5
  import { ValidatorDefinitionModel } from '../validator/ValidatorModel';
6
+ /**
7
+ * @area formProperties
8
+ */
6
9
  export type UIDefinition = {
7
10
  firstPage: string;
8
- readonly: boolean | undefined;
11
+ readonly?: boolean;
9
12
  pages: AllPageComponentModel[];
10
13
  };
11
14
  export interface BasePageComponentModel extends BaseComponentModel {
12
- title: LocalizedKey | undefined;
13
- pageDataExpression: DataExpressionType | undefined;
15
+ title?: LocalizedKey;
16
+ pageDataExpression?: DataExpressionType;
14
17
  wipeExistingData: boolean;
15
18
  defaultPageData: DefaultPageData;
19
+ events?: {
20
+ onInitialized?: FunctionExpressionType;
21
+ onPreDataSave?: FunctionExpressionType;
22
+ onPreDataLoad?: FunctionExpressionType;
23
+ };
16
24
  }
17
25
  export type DefaultPageData = {
18
- objectName: string | undefined;
26
+ objectName?: string;
19
27
  data: OneLevelBindingObject;
20
28
  };
21
29
  export type AddNewButtonData = {
@@ -24,6 +32,9 @@ export type AddNewButtonData = {
24
32
  defaultData: ListPageAddNewDefaultDataType;
25
33
  showIfExpression: DataExpressionType;
26
34
  };
35
+ /**
36
+ * @area pageComponent
37
+ */
27
38
  export interface ListPageComponentModel extends BasePageComponentModel {
28
39
  headerTitle?: LocalizedKey;
29
40
  headerDescription?: LocalizedKey;
@@ -33,7 +44,7 @@ export interface ListPageComponentModel extends BasePageComponentModel {
33
44
  search?: ListPageSearchComponentModel;
34
45
  emptyText: LocalizedKey;
35
46
  itemLayout: BaseListPageViewComponentModel;
36
- footerText: string | undefined;
47
+ footerText?: string;
37
48
  itemClickDestination: RoutingType;
38
49
  hasSection?: ListPageSectionComponentModel;
39
50
  orderBy?: OrderByModel;
@@ -63,6 +74,9 @@ export interface OrderByModel {
63
74
  expression: OrderByExpressionType;
64
75
  }
65
76
  export type OrderByExpressionType = string[];
77
+ /**
78
+ * @area pageComponent
79
+ */
66
80
  export interface FlatPageComponentModel extends BasePageComponentModel {
67
81
  delete: {
68
82
  canDeleteExpression: DataExpressionType;
@@ -79,13 +93,12 @@ export interface FlatPageComponentModel extends BasePageComponentModel {
79
93
  updateTitle: LocalizedKey;
80
94
  insertButtonText: LocalizedKey;
81
95
  defaultDataForNewObject: OneLevelBindingObject;
82
- validator: ValidatorDefinitionModel | undefined;
96
+ validator?: ValidatorDefinitionModel;
83
97
  readonly: DataExpressionType | boolean;
84
98
  };
85
99
  items: BaseFlatPageViewComponentModel[];
86
100
  description: LocalizedKey;
87
- events?: {
88
- onInitialized?: FunctionExpressionType;
101
+ flatPageEvents?: {
89
102
  onSubmitted?: FunctionExpressionType;
90
103
  onRemoved?: FunctionExpressionType;
91
104
  };
@@ -8,9 +8,9 @@ export interface BaseFlatPageViewComponentModel extends BaseComponentModel {
8
8
  export type KeyboardType = 'default' | 'email-address' | 'numeric' | 'phone-pad' | 'number-pad' | 'decimal-pad';
9
9
  export interface CommonEditorViewComponentModel extends BaseFlatPageViewComponentModel {
10
10
  title: LocalizedKey;
11
- validator: ValidatorDefinitionModel | undefined;
12
- mandatory: boolean | DataExpressionType | undefined;
13
- readonly: boolean | DataExpressionType | undefined;
11
+ validator?: ValidatorDefinitionModel;
12
+ mandatory?: boolean | DataExpressionType;
13
+ readonly?: boolean | DataExpressionType;
14
14
  editorEvents?: CommonEditorEvents;
15
15
  }
16
16
  export interface CommonEditorEvents {
@@ -19,19 +19,31 @@ export interface CommonEditorEvents {
19
19
  export interface CommonEditorWithPlaceholder {
20
20
  placeholder: LocalizedKey;
21
21
  }
22
+ /**
23
+ * @area viewComponent
24
+ */
22
25
  export interface TextEditorViewComponentModel extends CommonEditorViewComponentModel, CommonEditorWithPlaceholder {
23
- keyboardType: KeyboardType | undefined;
26
+ keyboardType?: KeyboardType;
24
27
  valueExpression: DataExpressionType;
25
- editable: boolean | undefined;
26
- multiline: boolean | undefined;
28
+ editable?: boolean;
29
+ multiline?: boolean;
27
30
  }
31
+ /**
32
+ * @area viewComponent
33
+ */
28
34
  export interface ReadonlyTextViewComponentModel extends CommonEditorViewComponentModel, CommonEditorWithPlaceholder {
29
35
  text: LocalizedKey;
30
36
  }
31
37
  export type SkedButtonTheme = 'success' | 'primary' | 'default';
38
+ /**
39
+ * @area viewComponent
40
+ */
32
41
  export interface ButtonGroupViewComponentModel extends BaseFlatPageViewComponentModel, CommonEditorWithPlaceholder {
33
42
  items: ButtonGroupItemComponentModel[];
34
43
  }
44
+ /**
45
+ * @area viewComponent
46
+ */
35
47
  export interface SubListEditorViewComponentModel extends CommonEditorViewComponentModel {
36
48
  addNew: {
37
49
  text: string;
@@ -43,21 +55,33 @@ export interface SubListEditorViewComponentModel extends CommonEditorViewCompone
43
55
  itemLayout: BaseSublistViewComponentModel;
44
56
  itemClickDestination: RoutingType;
45
57
  }
58
+ /**
59
+ * @area viewComponent
60
+ */
46
61
  export interface AttachmentsEditorViewComponentModel extends CommonEditorViewComponentModel {
47
62
  sourceExpression: DataExpressionType;
48
63
  title: LocalizedKey;
49
64
  attachmentCategoryName: string;
50
65
  }
66
+ /**
67
+ * @area viewComponent
68
+ */
51
69
  export interface BodyMapViewComponentModel extends CommonEditorViewComponentModel {
52
70
  sourceExpression: DataExpressionType;
53
71
  attachmentCategoryName: string;
54
72
  }
73
+ /**
74
+ * @area viewComponent
75
+ */
55
76
  export interface SignatureEditorViewComponentModel extends CommonEditorViewComponentModel {
56
77
  sourceExpression: DataExpressionType;
57
78
  title: LocalizedKey;
58
79
  attachmentCategoryName: string;
59
80
  enableFullName: true;
60
81
  }
82
+ /**
83
+ * @area viewComponent
84
+ */
61
85
  export interface ToggleEditorViewComponentModel extends CommonEditorViewComponentModel {
62
86
  title: LocalizedKey;
63
87
  validator: ValidatorDefinitionModel;
@@ -70,6 +94,9 @@ export interface ToggleEditorItemModel {
70
94
  offValue: any;
71
95
  text: LocalizedKey;
72
96
  }
97
+ /**
98
+ * @area viewComponent
99
+ */
73
100
  export interface DateTimePickerViewComponentModel extends CommonEditorViewComponentModel, CommonEditorWithPlaceholder {
74
101
  mode: 'datetime' | 'date' | 'time';
75
102
  datetimeOptions?: {
@@ -79,12 +106,18 @@ export interface DateTimePickerViewComponentModel extends CommonEditorViewCompon
79
106
  }
80
107
  export interface BaseSublistViewComponentModel extends BaseComponentModel {
81
108
  }
109
+ /**
110
+ * @area viewComponent
111
+ */
82
112
  export interface SectionViewComponentModel extends BaseFlatPageViewComponentModel {
83
113
  title: LocalizedKey;
84
114
  body: LocalizedKey;
85
115
  caption: LocalizedKey;
86
116
  items: BaseFlatPageViewComponentModel[];
87
117
  }
118
+ /**
119
+ * @area viewComponent
120
+ */
88
121
  export interface MenuListViewComponentModel extends BaseFlatPageViewComponentModel {
89
122
  items: MenuListItem[];
90
123
  }
@@ -108,12 +141,18 @@ export interface BaseSelectEditor {
108
141
  searchBar: SelectPageSearchBarConfig;
109
142
  };
110
143
  }
144
+ /**
145
+ * @area viewComponent
146
+ */
111
147
  export interface SelectEditorViewComponentModel extends CommonEditorViewComponentModel, CommonEditorWithPlaceholder, BaseSelectEditor {
112
148
  caption: LocalizedKey;
113
149
  valueExpression: DataExpressionType;
114
150
  validator: ValidatorDefinitionModel;
115
151
  constructResultObject?: ConstructResultObject;
116
152
  }
153
+ /**
154
+ * @area viewComponent
155
+ */
117
156
  export interface MultiSelectEditorViewComponentModel extends CommonEditorViewComponentModel, CommonEditorWithPlaceholder, BaseSelectEditor {
118
157
  displayDataInSearchPageExpression: DataExpressionType;
119
158
  constructResultObject: ConstructResultObject;
@@ -124,6 +163,9 @@ export interface ConstructResultObject {
124
163
  objectName: string;
125
164
  compareProperty: string;
126
165
  }
166
+ /**
167
+ * @area viewComponent
168
+ */
127
169
  export interface ContactDetailsLayoutComponentModel extends BaseFlatPageViewComponentModel {
128
170
  title: LocalizedKey;
129
171
  caption: LocalizedKey;
@@ -1,7 +1,7 @@
1
1
  import { BaseComponentModel } from '../common/BaseComponentModel';
2
2
  import { ValueExpressionType, LocalizedKey } from '../common/CommonTypes';
3
3
  export interface BaseListPageViewComponentModel extends BaseComponentModel {
4
- useAttachments: UseAttachments | undefined;
4
+ useAttachments?: UseAttachments;
5
5
  tags: ListItemTagModel;
6
6
  }
7
7
  export interface ListItemTagModel {
@@ -12,11 +12,14 @@ export interface ListItemTagItemModel {
12
12
  themeValueExpression: ValueExpressionType;
13
13
  text: LocalizedKey;
14
14
  }
15
+ /**
16
+ * @area pageComponent
17
+ */
15
18
  export interface TitleAndCaptionViewComponentModel extends BaseListPageViewComponentModel {
16
19
  title: LocalizedKey;
17
20
  caption: LocalizedKey;
18
21
  }
19
22
  export interface UseAttachments {
20
- categoryName: string | undefined;
23
+ categoryName?: string;
21
24
  style?: 'singleBig' | 'singleSmall';
22
25
  }
@@ -5,6 +5,6 @@ interface BaseSublistViewComponentModel extends BaseComponentModel {
5
5
  export interface SublistTitleAndCaptionViewComponentModel extends BaseSublistViewComponentModel {
6
6
  title: LocalizedKey;
7
7
  caption: LocalizedKey;
8
- image?: ImageDefinition | undefined;
8
+ image?: ImageDefinition;
9
9
  }
10
10
  export {};
package/package.json CHANGED
@@ -1,9 +1,12 @@
1
1
  {
2
2
  "name": "@skedulo/mex-types",
3
+ "version": "1.3.0",
4
+ "engines": {
5
+ "node": "18"
6
+ },
3
7
  "description": "A central repository store for all the interfaces, type definitions of MEX engine",
4
8
  "main": "dist/index.js",
5
9
  "types": "dist/index.d.ts",
6
- "version": "1.2.2",
7
10
  "scripts": {
8
11
  "bootstrap": "rm -rf node_modules && yarn install --pure-lockfile --peer",
9
12
  "lint": "tslint 'src/**/*.ts'",
@@ -11,7 +14,12 @@
11
14
  "build": "npm run compile",
12
15
  "clean": "rm -rf tsconfig.tsbuildinfo dist coverage",
13
16
  "commit": "npx cz",
14
- "semantic-release": "semantic-release"
17
+ "semantic-release": "semantic-release",
18
+ "run-parser": "ts-node-dev --transpile-only scripts/type-defs-parser.ts",
19
+ "run-references-resolver": "ts-node-dev scripts/references-resolver.ts",
20
+ "run-transform": "ts-node-dev scripts/transform.ts",
21
+ "get-semver": "ts-node-dev scripts/get-semver.ts",
22
+ "save-parser": "ts-node-dev scripts/save-parser-to-backend.ts"
15
23
  },
16
24
  "files": [
17
25
  "dist/",
@@ -31,12 +39,15 @@
31
39
  "devDependencies": {
32
40
  "@semantic-release/changelog": "^6.0.3",
33
41
  "@semantic-release/git": "^10.0.1",
42
+ "@types/node": "^20.5.7",
34
43
  "commitizen": "^4.3.0",
35
44
  "cz-conventional-changelog": "^3.3.0",
45
+ "prettier": "^3.0.3",
46
+ "semantic-release": "^21.1.1",
47
+ "ts-node-dev": "^2.0.0",
36
48
  "tslint": "^6.1.3",
37
49
  "tslint-microsoft-contrib": "^6.2.0",
38
- "typescript": "^5.1.6",
39
- "semantic-release": "^21.1.1"
50
+ "typescript": "^5.1.6"
40
51
  },
41
52
  "config": {
42
53
  "commitizen": {
@@ -45,5 +56,10 @@
45
56
  },
46
57
  "publishConfig": {
47
58
  "access": "public"
59
+ },
60
+ "dependencies": {
61
+ "@actions/core": "^1.10.1",
62
+ "axios": "^1.5.0",
63
+ "isolated-vm": "^4.6.0"
48
64
  }
49
65
  }