@lcap/nasl 2.18.0 → 2.20.0-beta.1

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.
Files changed (326) hide show
  1. package/out/automate/engine/index.js +3 -3
  2. package/out/automate/engine/index.js.map +1 -1
  3. package/out/bak/translator.js +85 -37
  4. package/out/bak/translator.js.map +1 -1
  5. package/out/common/BaseNode.d.ts +6 -10
  6. package/out/common/BaseNode.js +7 -52
  7. package/out/common/BaseNode.js.map +1 -1
  8. package/out/concepts/AnonymousFunction__.js.map +1 -1
  9. package/out/concepts/App__.d.ts +0 -10
  10. package/out/concepts/App__.js +0 -74
  11. package/out/concepts/App__.js.map +1 -1
  12. package/out/concepts/Assignee__.js.map +1 -1
  13. package/out/concepts/AssignmentLine__.d.ts +5 -5
  14. package/out/concepts/AssignmentLine__.js +6 -6
  15. package/out/concepts/AssignmentLine__.js.map +1 -1
  16. package/out/concepts/Assignment__.js +2 -1
  17. package/out/concepts/Assignment__.js.map +1 -1
  18. package/out/concepts/BatchAssignment__.d.ts +60 -60
  19. package/out/concepts/BatchAssignment__.js +11 -21
  20. package/out/concepts/BatchAssignment__.js.map +1 -1
  21. package/out/concepts/BindAttribute__.d.ts +0 -19
  22. package/out/concepts/BindAttribute__.js +2 -39
  23. package/out/concepts/BindAttribute__.js.map +1 -1
  24. package/out/concepts/BindEvent__.js.map +1 -1
  25. package/out/concepts/BindStyle__.d.ts +2 -2
  26. package/out/concepts/BindStyle__.js +3 -3
  27. package/out/concepts/BindStyle__.js.map +1 -1
  28. package/out/concepts/BooleanLiteral__.js +8 -0
  29. package/out/concepts/BooleanLiteral__.js.map +1 -1
  30. package/out/concepts/CallFunction__.js +25 -58
  31. package/out/concepts/CallFunction__.js.map +1 -1
  32. package/out/concepts/CallInterface__.d.ts +0 -7
  33. package/out/concepts/CallInterface__.js +7 -53
  34. package/out/concepts/CallInterface__.js.map +1 -1
  35. package/out/concepts/CallLogic__.js +14 -63
  36. package/out/concepts/CallLogic__.js.map +1 -1
  37. package/out/concepts/CallQueryComponent__.js +1 -13
  38. package/out/concepts/CallQueryComponent__.js.map +1 -1
  39. package/out/concepts/CompletionProperty__.js +0 -3
  40. package/out/concepts/CompletionProperty__.js.map +1 -1
  41. package/out/concepts/ConfigGroup__.js.map +1 -1
  42. package/out/concepts/ConfigProperty__.js.map +1 -1
  43. package/out/concepts/Configuration__.js.map +1 -1
  44. package/out/concepts/DataSource__.d.ts +0 -6
  45. package/out/concepts/DataSource__.js +0 -41
  46. package/out/concepts/DataSource__.js.map +1 -1
  47. package/out/concepts/Destination__.d.ts +1 -9
  48. package/out/concepts/Destination__.js +29 -61
  49. package/out/concepts/Destination__.js.map +1 -1
  50. package/out/concepts/EntityProperty__.d.ts +8 -21
  51. package/out/concepts/EntityProperty__.js +23 -109
  52. package/out/concepts/EntityProperty__.js.map +1 -1
  53. package/out/concepts/Entity__.d.ts +0 -32
  54. package/out/concepts/Entity__.js +2 -117
  55. package/out/concepts/Entity__.js.map +1 -1
  56. package/out/concepts/Enum__.js +4 -0
  57. package/out/concepts/Enum__.js.map +1 -1
  58. package/out/concepts/Event__.js.map +1 -1
  59. package/out/concepts/ForEachStatement__.d.ts +4 -0
  60. package/out/concepts/ForEachStatement__.js +8 -4
  61. package/out/concepts/ForEachStatement__.js.map +1 -1
  62. package/out/concepts/Function__.js.map +1 -1
  63. package/out/concepts/Identifier__.js +4 -16
  64. package/out/concepts/Identifier__.js.map +1 -1
  65. package/out/concepts/IfStatement__.d.ts +0 -8
  66. package/out/concepts/IfStatement__.js +0 -22
  67. package/out/concepts/IfStatement__.js.map +1 -1
  68. package/out/concepts/InterfaceParam__.js.map +1 -1
  69. package/out/concepts/Interface__.js.map +1 -1
  70. package/out/concepts/LogicItem__.d.ts +1 -1
  71. package/out/concepts/LogicItem__.js.map +1 -1
  72. package/out/concepts/Logic__.d.ts +1 -6
  73. package/out/concepts/Logic__.js +43 -144
  74. package/out/concepts/Logic__.js.map +1 -1
  75. package/out/concepts/MatchCase__.d.ts +1 -1
  76. package/out/concepts/MatchCase__.js +8 -15
  77. package/out/concepts/MatchCase__.js.map +1 -1
  78. package/out/concepts/Match__.d.ts +19 -21
  79. package/out/concepts/Match__.js +25 -112
  80. package/out/concepts/Match__.js.map +1 -1
  81. package/out/concepts/MemberExpression__.d.ts +1 -4
  82. package/out/concepts/MemberExpression__.js +15 -30
  83. package/out/concepts/MemberExpression__.js.map +1 -1
  84. package/out/concepts/Module__.js.map +1 -1
  85. package/out/concepts/Namespace__.js.map +1 -1
  86. package/out/concepts/NumericLiteral__.js +1 -1
  87. package/out/concepts/NumericLiteral__.js.map +1 -1
  88. package/out/concepts/OqlQueryComponent__.d.ts +3 -7
  89. package/out/concepts/OqlQueryComponent__.js +95 -56
  90. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  91. package/out/concepts/Param__.d.ts +1 -1
  92. package/out/concepts/Param__.js +4 -40
  93. package/out/concepts/Param__.js.map +1 -1
  94. package/out/concepts/ProcessComponent__.js.map +1 -1
  95. package/out/concepts/ProcessElement__.js.map +1 -1
  96. package/out/concepts/Process__.js.map +1 -1
  97. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  98. package/out/concepts/QueryOrderByExpression__.d.ts +3 -3
  99. package/out/concepts/QueryOrderByExpression__.js +3 -3
  100. package/out/concepts/QueryOrderByExpression__.js.map +1 -1
  101. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  102. package/out/concepts/Return__.js +2 -38
  103. package/out/concepts/Return__.js.map +1 -1
  104. package/out/concepts/SelectMembers__.d.ts +1 -1
  105. package/out/concepts/SelectMembers__.js +2 -2
  106. package/out/concepts/SelectMembers__.js.map +1 -1
  107. package/out/concepts/SqlQueryComponent__.d.ts +4 -2
  108. package/out/concepts/SqlQueryComponent__.js +88 -9
  109. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  110. package/out/concepts/StringLiteral__.js +7 -0
  111. package/out/concepts/StringLiteral__.js.map +1 -1
  112. package/out/concepts/StructureProperty__.js.map +1 -1
  113. package/out/concepts/Structure__.js.map +1 -1
  114. package/out/concepts/TypeAnnotation__.d.ts +0 -1
  115. package/out/concepts/TypeAnnotation__.js +12 -25
  116. package/out/concepts/TypeAnnotation__.js.map +1 -1
  117. package/out/concepts/TypeParam__.d.ts +0 -1
  118. package/out/concepts/TypeParam__.js +0 -2
  119. package/out/concepts/TypeParam__.js.map +1 -1
  120. package/out/concepts/UnaryExpression__.js +9 -6
  121. package/out/concepts/UnaryExpression__.js.map +1 -1
  122. package/out/concepts/ValidationRule__.js +23 -88
  123. package/out/concepts/ValidationRule__.js.map +1 -1
  124. package/out/concepts/Variable__.js +2 -38
  125. package/out/concepts/Variable__.js.map +1 -1
  126. package/out/concepts/ViewComponent__.js.map +1 -1
  127. package/out/concepts/ViewElement__.d.ts +29 -30
  128. package/out/concepts/ViewElement__.js +51 -117
  129. package/out/concepts/ViewElement__.js.map +1 -1
  130. package/out/concepts/View__.d.ts +3 -4
  131. package/out/concepts/View__.js +83 -93
  132. package/out/concepts/View__.js.map +1 -1
  133. package/out/concepts/WhileStatement__.js +1 -1
  134. package/out/concepts/WhileStatement__.js.map +1 -1
  135. package/out/concepts/basics/stdlib/nasl.browser.js +0 -50
  136. package/out/concepts/basics/stdlib/nasl.browser.js.map +1 -1
  137. package/out/concepts/basics/stdlib/nasl.ui.js +4 -36
  138. package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
  139. package/out/concepts/basics/stdlib/nasl.util.js +43 -63
  140. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  141. package/out/concepts/index__.d.ts +0 -2
  142. package/out/concepts/index__.js +0 -2
  143. package/out/concepts/index__.js.map +1 -1
  144. package/out/generator/genBundleFiles.d.ts +2 -5
  145. package/out/generator/genBundleFiles.js +45 -148
  146. package/out/generator/genBundleFiles.js.map +1 -1
  147. package/out/generator/index.d.ts +0 -1
  148. package/out/generator/index.js +0 -1
  149. package/out/generator/index.js.map +1 -1
  150. package/out/index.d.ts +2 -3
  151. package/out/index.js +1 -5
  152. package/out/index.js.map +1 -1
  153. package/out/server/entity2LogicNamespace.js +11 -11
  154. package/out/server/entity2LogicNamespace.js.map +1 -1
  155. package/out/server/extendBaseNode.js.map +1 -1
  156. package/out/server/formatTsUtils.js +17 -10
  157. package/out/server/formatTsUtils.js.map +1 -1
  158. package/out/server/getLogics.js +6 -13
  159. package/out/server/getLogics.js.map +1 -1
  160. package/out/server/getMemberIdentifier.js +7 -7
  161. package/out/server/getMemberIdentifier.js.map +1 -1
  162. package/out/server/getProcesses.d.ts +1 -1
  163. package/out/server/index.d.ts +1 -0
  164. package/out/server/index.js +27 -2
  165. package/out/server/index.js.map +1 -1
  166. package/out/server/naslServer.d.ts +7 -47
  167. package/out/server/naslServer.js +393 -591
  168. package/out/server/naslServer.js.map +1 -1
  169. package/out/server/naslStdlibMap.js +28 -30
  170. package/out/server/naslStdlibMap.js.map +1 -1
  171. package/out/server/translator.js +7 -40
  172. package/out/server/translator.js.map +1 -1
  173. package/out/service/storage/init.js +3 -33
  174. package/out/service/storage/init.js.map +1 -1
  175. package/out/templator/genCreateBlock.js +4 -6
  176. package/out/templator/genCreateBlock.js.map +1 -1
  177. package/out/templator/genCurdEditMultipleKeyBlock.js +4 -7
  178. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  179. package/out/templator/genCurdMultipleKeyBlock.js +5 -7
  180. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  181. package/out/templator/genEnumSelectBlock.js +2 -5
  182. package/out/templator/genEnumSelectBlock.js.map +1 -1
  183. package/out/templator/genGridViewBlock.js +2 -2
  184. package/out/templator/genGridViewBlock.js.map +1 -1
  185. package/out/templator/genListViewBlock.js +2 -2
  186. package/out/templator/genListViewBlock.js.map +1 -1
  187. package/out/templator/genQueryComponent.d.ts +2 -2
  188. package/out/templator/genQueryComponent.js +1 -4
  189. package/out/templator/genQueryComponent.js.map +1 -1
  190. package/out/templator/genTableBlock.js +2 -2
  191. package/out/templator/genTableBlock.js.map +1 -1
  192. package/out/templator/genUpdateBlock.js +3 -4
  193. package/out/templator/genUpdateBlock.js.map +1 -1
  194. package/out/templator/utils.js +1 -1
  195. package/out/templator/utils.js.map +1 -1
  196. package/out/test/integration/node-nasl-server.js +38 -10
  197. package/out/test/integration/node-nasl-server.js.map +1 -1
  198. package/out/translator/index.d.ts +0 -1
  199. package/out/translator/index.js +1 -1
  200. package/out/translator/index.js.map +1 -1
  201. package/out/utils/index.d.ts +0 -1
  202. package/out/utils/index.js +1 -38
  203. package/out/utils/index.js.map +1 -1
  204. package/out/utils/string.d.ts +2 -15
  205. package/out/utils/string.js +3 -18
  206. package/out/utils/string.js.map +1 -1
  207. package/package.json +2 -2
  208. package/sandbox/stdlib/nasl.auth.ts +1 -1
  209. package/sandbox/stdlib/nasl.core.ts +1 -0
  210. package/sandbox/stdlib/nasl.logging.ts +4 -4
  211. package/sandbox/stdlib/nasl.util.ts +9 -5
  212. package/src/automate/engine/index.js +4 -4
  213. package/src/automate/engine/uniqueName.js +3 -3
  214. package/src/automate/template/myProcess.js +1 -1
  215. package/src/automate/upgrader/2.20.js +41 -0
  216. package/src/bak/translator.js +4 -1
  217. package/src/common/BaseNode.ts +1 -0
  218. package/src/concepts/AnonymousFunction__.ts +48 -2
  219. package/src/concepts/App__.ts +288 -615
  220. package/src/concepts/BatchAssignment__.ts +111 -51
  221. package/src/concepts/BindAttribute__.ts +18 -25
  222. package/src/concepts/BindDirective__.ts +7 -0
  223. package/src/concepts/BindEvent__.ts +7 -0
  224. package/src/concepts/BindStyle__.ts +7 -0
  225. package/src/concepts/CallFunction__.ts +34 -45
  226. package/src/concepts/CallInterface__.ts +2 -1
  227. package/src/concepts/CallLogic__.ts +87 -55
  228. package/src/concepts/CallQueryComponent__.ts +4 -1
  229. package/src/concepts/Constant__.ts +7 -0
  230. package/src/concepts/DataSource__.ts +57 -5
  231. package/src/concepts/Destination__.ts +100 -43
  232. package/src/concepts/Frontend__.ts +937 -0
  233. package/src/concepts/Identifier__.ts +18 -16
  234. package/src/concepts/LogicItem__.ts +8 -1
  235. package/src/concepts/Logic__.ts +134 -149
  236. package/src/concepts/Match__.ts +13 -29
  237. package/src/concepts/NewComposite__.ts +1357 -0
  238. package/src/concepts/NewList__.ts +440 -0
  239. package/src/concepts/NewMap__.ts +666 -0
  240. package/src/concepts/New__.ts +73 -0
  241. package/src/concepts/Param__.ts +245 -199
  242. package/src/concepts/ProcessElement__.ts +43 -36
  243. package/src/concepts/ProcessOutcomes__.ts +90 -0
  244. package/src/concepts/Process__.ts +1 -23
  245. package/src/concepts/Return__.ts +11 -1
  246. package/src/concepts/SelectMembers__.ts +3 -3
  247. package/src/concepts/Transactional__.ts +7 -0
  248. package/src/concepts/TypeAnnotation__.ts +54 -49
  249. package/src/concepts/ValidationRule__.ts +19 -1
  250. package/src/concepts/Variable__.ts +12 -6
  251. package/src/concepts/ViewElement__.ts +26 -3
  252. package/src/concepts/View__.ts +25 -25
  253. package/src/concepts/basics/stdlib/nasl.auth.ts +1 -1
  254. package/src/concepts/basics/stdlib/nasl.logging.ts +5 -0
  255. package/src/concepts/basics/stdlib/nasl.ui.ts +2 -0
  256. package/src/concepts/basics/stdlib/nasl.util.ts +153 -19
  257. package/src/concepts/index__.ts +7 -0
  258. package/src/enums/KEYWORDS.ts +9 -0
  259. package/src/generator/genBundleFiles.ts +74 -245
  260. package/src/generator/genMetaData.ts +178 -78
  261. package/src/generator/genReleaseBody.ts +87 -44
  262. package/src/generator/index.ts +1 -0
  263. package/src/generator/permission.ts +261 -0
  264. package/src/index.ts +1 -1
  265. package/src/server/entity2LogicNamespace.ts +90 -10
  266. package/src/server/extendBaseNode.ts +33 -22
  267. package/src/server/formatTsUtils.ts +36 -46
  268. package/src/server/getLogics.ts +13 -1
  269. package/src/server/getMemberIdentifier.ts +5 -5
  270. package/src/server/getProcesses.ts +1 -1
  271. package/src/server/naslServer.ts +254 -71
  272. package/src/server/process2LogicNamespace.ts +8 -0
  273. package/src/server/translator.ts +51 -5
  274. package/src/service/creator/add.configs.js +4 -0
  275. package/src/service/datasource/api.js +11 -0
  276. package/src/service/datasource/index.js +6 -0
  277. package/src/service/storage/init.ts +12 -0
  278. package/src/service/video/VideoTranscribe.js +1 -0
  279. package/src/templator/genEditTableBlock.ts +8 -16
  280. package/src/templator/genGetBlock.ts +18 -19
  281. package/src/templator/genGridViewBlock.ts +18 -18
  282. package/src/templator/genListViewBlock.ts +8 -11
  283. package/src/templator/genTableBlock.ts +6 -10
  284. package/ts-worker/lib/tsserver.js +8 -1
  285. package/out/automate/engine/2.14-components.d.ts +0 -1115
  286. package/out/automate/engine/2.14-components.js +0 -1087
  287. package/out/automate/engine/2.14-components.js.map +0 -1
  288. package/out/concepts/ExternalDestination__.d.ts +0 -73
  289. package/out/concepts/ExternalDestination__.js +0 -264
  290. package/out/concepts/ExternalDestination__.js.map +0 -1
  291. package/out/concepts/MatchExpression__.d.ts +0 -97
  292. package/out/concepts/MatchExpression__.js +0 -281
  293. package/out/concepts/MatchExpression__.js.map +0 -1
  294. package/out/concepts/StringInterpolation__.d.ts +0 -113
  295. package/out/concepts/StringInterpolation__.js +0 -227
  296. package/out/concepts/StringInterpolation__.js.map +0 -1
  297. package/out/generator/genReleaseBody.d.ts +0 -41
  298. package/out/generator/genReleaseBody.js +0 -340
  299. package/out/generator/genReleaseBody.js.map +0 -1
  300. package/out/service/defaultErrorMessage.json +0 -97
  301. package/out/service/logic/api.d.ts +0 -9
  302. package/out/service/logic/api.js +0 -11
  303. package/out/service/logic/api.js.map +0 -1
  304. package/out/service/logic/index.d.ts +0 -2
  305. package/out/service/logic/index.js +0 -10
  306. package/out/service/logic/index.js.map +0 -1
  307. package/src/automate/engine/dist/index.dev.js +0 -517
  308. package/src/common/dist/BaseNode.js +0 -1101
  309. package/src/concepts/basics/stdlib/dist/reference2TypeAnnotationList.js +0 -24
  310. package/src/concepts/dist/Anchor__.js +0 -179
  311. package/src/concepts/dist/Assignment__.js +0 -301
  312. package/src/concepts/dist/CallFunction__.js +0 -473
  313. package/src/concepts/dist/CallInterface__.js +0 -533
  314. package/src/concepts/dist/CallLogic__.js +0 -864
  315. package/src/concepts/dist/ForEachStatement__.js +0 -426
  316. package/src/concepts/dist/MatchCase__.js +0 -587
  317. package/src/concepts/dist/MemberExpression__.js +0 -348
  318. package/src/concepts/dist/Param__.js +0 -537
  319. package/src/concepts/dist/Return__.js +0 -493
  320. package/src/generator/dist/genBundleFiles.js +0 -414
  321. package/src/server/dist/formatTsUtils.js +0 -683
  322. package/src/server/dist/naslServer.js +0 -3396
  323. package/src/service/storage/dist/init.js +0 -541
  324. package/ts-worker/dist/webpack.config.dev.js +0 -104
  325. package/ts-worker/lib/dist/tsserver.dev.js +0 -22953
  326. package/ts-worker/sources/lib/dist/tsserver.dev.js +0 -22912
@@ -1,6 +1,7 @@
1
1
  export * from './App__';
2
2
  export * from './Module__';
3
3
  export * from './Namespace__';
4
+ export * from './Frontend__';
4
5
  export * from './TypeAnnotation__';
5
6
  export * from './TypeParam__';
6
7
  export * from './Structure__';
@@ -65,6 +66,10 @@ export * from './Match__';
65
66
  export * from './UnaryExpression__';
66
67
  export * from './MemberExpression__';
67
68
  export * from './Unparsed__';
69
+ export * from './New__';
70
+ export * from './NewComposite__';
71
+ export * from './NewList__';
72
+ export * from './NewMap__';
68
73
  export * from './CallQueryComponent__';
69
74
  export * from './QueryFromExpression__';
70
75
  export * from './QueryJoinExpression__';
@@ -81,6 +86,7 @@ export * from './ProcessElement__';
81
86
  export * from './ProcessComponent__';
82
87
  export * from './ProcessOutcome__';
83
88
  export * from './Assignee__';
89
+ export * from './ProcessOutcomes__';
84
90
  export * from './Role__';
85
91
  export * from './Configuration__';
86
92
  export * from './ConfigGroup__';
@@ -92,3 +98,4 @@ export * from './Point__';
92
98
  export * from './Rect__';
93
99
  export * from './SelectMembers__';
94
100
  export * from './AssignmentLine__';
101
+ export * from './NewList__';
@@ -1225,4 +1225,13 @@ export const USER_CUSTOM_KEYWORDS_PAGENAME = [
1225
1225
  'getCustomConfig',
1226
1226
  'getCurrentIp',
1227
1227
  'config',
1228
+ 'tenantExpiration',
1229
+ ];
1230
+
1231
+ export const FRONTEND_PATH_KEYWORDS = [
1232
+ 'api',
1233
+ 'rest',
1234
+ 'system',
1235
+ 'getCustomConfig',
1236
+ 'proxy',
1228
1237
  ];
@@ -1,8 +1,4 @@
1
- import {
2
- App, Module, View, Entity, Structure, Enum,
3
- uiStructures, collectionStructures, interfaceStructures, processStructures,
4
- Logic, Interface, Process,
5
- } from '../concepts';
1
+ import { App, Module, View, Frontend } from '../concepts';
6
2
  import * as utils from '../utils';
7
3
  import { genHash, RawOptions } from '.';
8
4
  import { compileComponent } from './compileComponent';
@@ -13,6 +9,8 @@ import parserBabel = require('prettier/parser-babel');
13
9
 
14
10
  import * as UglifyJS from 'uglify-js-export';
15
11
 
12
+ import { genMetaData } from './genMetaData';
13
+
16
14
  export interface Route {
17
15
  path?: string;
18
16
  component?: RawOptions; // ExtendedVue<Vue, unknown, unknown, unknown, Record<never, any>>;
@@ -20,63 +18,34 @@ export interface Route {
20
18
  redirect?: string;
21
19
  }
22
20
 
23
- export function genBundleFiles(app: App,
24
- config: {
25
- tenant: string;
26
- env: string;
27
- nuimsDomain: string;
28
- STATIC_URL: string;
29
- USER_STATIC_URL: string;
30
- extendedConfig: string;
31
- lowcodeDomain: string;
32
- envLcpDomain: any,
33
- envNuimsDomain: any,
34
- tenantType: any,
35
- tenantLevel: any,
36
- appid: string;
37
- devDnsAddr: string;
38
- miniEnable: boolean
39
- }) {
21
+ interface Config {
22
+ tenant: string;
23
+ env: string;
24
+ nuimsDomain: string;
25
+ STATIC_URL: string;
26
+ USER_STATIC_URL: string;
27
+ extendedConfig: string;
28
+ lowcodeDomain: string;
29
+ envLcpDomain: any,
30
+ envNuimsDomain: any,
31
+ tenantType: any,
32
+ tenantLevel: any,
33
+ appid: string;
34
+ devDnsAddr: string;
35
+ miniEnable: boolean
36
+ }
37
+
38
+ export function genBundleFiles(app: App, frontend: Frontend,
39
+ config: Config) {
40
40
  const fnNuimsDomain = config?.envNuimsDomain?.[config?.env] || config?.nuimsDomain;
41
41
  const fnLowcodeDomain = config?.envLcpDomain?.[config?.env]?.lcpDomain || config?.lowcodeDomain;
42
42
  const modules: Module[] = [];
43
43
  const views: View[] = [];
44
- const entities: Entity[] = [];
45
- const structures: Structure[] = [];
46
- const enums: Enum[] = [];
47
- const logics: Logic[] = [];
48
- const interfaces: Interface[] = [];
49
- const processes: Process[] = [];
50
-
51
- app.views && views.push(...app.views);
52
- if (Array.isArray(app.dataSources)) {
53
- app.dataSources.forEach((dataSource) => {
54
- if (Array.isArray(dataSource.entities)) {
55
- entities.push(...dataSource.entities);
56
- }
57
- });
58
- }
59
- app.structures && structures.push(...app.structures);
60
- app.enums && enums.push(...app.enums);
61
- app.logics && logics.push(...app.logics);
62
- app.processes && processes.push(...app.processes);
63
-
64
44
  app.dependencies && modules.push(...app.dependencies);
65
45
  app.interfaceDependencies && modules.push(...app.interfaceDependencies);
66
-
46
+ frontend.views && views.push(...frontend.views);
67
47
  modules.forEach((module: Module) => {
68
48
  module.views && views.push(...module.views);
69
- module.structures && structures.push(...module.structures);
70
- module.enums && enums.push(...module.enums);
71
- module.logics && logics.push(...module.logics);
72
- module.interfaces && interfaces.push(...module.interfaces);
73
- if (Array.isArray(module.dataSources)) {
74
- module.dataSources.forEach((dataSource) => {
75
- if (Array.isArray(dataSource.entities)) {
76
- entities.push(...dataSource.entities);
77
- }
78
- });
79
- }
80
49
  });
81
50
 
82
51
  const componentMap: {
@@ -95,31 +64,6 @@ export function genBundleFiles(app: App,
95
64
  * vue.config.js page options
96
65
  */
97
66
  const routes: Route[] = [];
98
- const dataTypes: (Entity | Structure | Enum)[] = [];
99
- const dataTypesMap: {
100
- [id: string]: Object;
101
- } = {};
102
- const frontendVariables = app.frontendVariables;
103
- const enumsMap: {
104
- [name: string]: {
105
- [label: string]: string;
106
- };
107
- } = {};
108
- const logicsMap: {
109
- [id: string]: {
110
- config: {
111
- serviceType: string;
112
- };
113
- url: {
114
- method: string;
115
- path: string;
116
- };
117
- };
118
- } = {};
119
- const _custom: {
120
- [id: string]: any;
121
- } = {};
122
- const allLogics: Logic[] = [];
123
67
  // 开启了权限的页面
124
68
  const authResourceViews: View[] = [];
125
69
  const baseResourcePaths: string[] = [];
@@ -218,10 +162,14 @@ export function genBundleFiles(app: App,
218
162
  let content = `{
219
163
  path: '${route.path}',\n`;
220
164
  if (route?.component?.script) {
165
+ let template = route.component.template;
166
+ if (config.env !== 'dev') {
167
+ template = template.replace(/[\t\r\n]/g, '');
168
+ }
221
169
  content += `component: (function(){
222
170
  var componentOptions = ${route.component.script ? '(function(){\n' + route.component.script.trim().replace(/export default |module\.exports +=/, 'return ') + '\n})()' : '{}'};
223
171
  Object.assign(componentOptions, {
224
- template: \`${route.component.template.replace(/[`$]/g, (m) => '\\' + m)}\`,
172
+ template: \`${template.replace(/[`$]/g, (m) => '\\' + m)}\`,
225
173
  });
226
174
  return componentOptions;
227
175
  })(),\n`;
@@ -250,93 +198,6 @@ export function genBundleFiles(app: App,
250
198
  }
251
199
  routesStr += ']';
252
200
 
253
- if (Array.isArray(enums)) {
254
- dataTypes.push(...enums);
255
- enums.forEach((node) => {
256
- let { name, enumItems } = node || {};
257
- if (node.module) {
258
- name = `extensions.${node.module.name}.enums.${name}`;
259
- }
260
- const enumObj: {
261
- [value: string]: string;
262
- } = {};
263
- enumItems.forEach(({ label, value }) => {
264
- enumObj[value] = label;
265
- });
266
- enumsMap[name] = enumObj;
267
- });
268
- }
269
-
270
- if (Array.isArray(entities)) {
271
- dataTypes.push(...entities);
272
- entities.forEach((entity) => {
273
- const ns = entity.ns;
274
- if (Array.isArray(ns?.logics)) {
275
- allLogics.push(...ns.logics);
276
- }
277
- });
278
- }
279
- if (Array.isArray(structures)) {
280
- dataTypes.push(...structures);
281
- }
282
-
283
- dataTypes.forEach((node) => {
284
- const namespace = node.getNamespace();
285
- const id = `${namespace}.${node.name}`;
286
- dataTypesMap[id] = node.toJSON?.();
287
- });
288
-
289
- [
290
- {
291
- namespace: 'nasl.ui',
292
- list: uiStructures,
293
- },
294
- {
295
- namespace: 'nasl.collection',
296
- list: collectionStructures,
297
- },
298
- {
299
- namespace: 'nasl.interface',
300
- list: interfaceStructures,
301
- },
302
- {
303
- namespace: 'nasl.process',
304
- list: processStructures,
305
- },
306
- ].forEach((item) => {
307
- const { namespace, list } = item || {};
308
- if (Array.isArray(list)) {
309
- list.forEach((node) => {
310
- const id = `${namespace}.${node.name}`;
311
- dataTypesMap[id] = node.toJSON?.();
312
- });
313
- }
314
- });
315
-
316
- if (Array.isArray(logics)) {
317
- allLogics.push(...logics);
318
- }
319
-
320
- allLogics.forEach((node) => {
321
- const namespace = node.getNamespace();
322
- const id = namespace ? `${namespace}.${node.name}` : node.name;
323
- logicsMap[id] = node.toService();
324
- });
325
-
326
- processes.forEach((process) => {
327
- if (Array.isArray(process.logics)) {
328
- process.logics.forEach((node) => {
329
- const namespace = node.getNamespace();
330
- const id = namespace ? `${namespace}.${node.name}` : node.name;
331
- logicsMap[id] = node.toProcessService();
332
- });
333
- }
334
- });
335
-
336
- interfaces.forEach((interfaceItem: Interface) => {
337
- _custom[`${interfaceItem.getNamespace()}.${interfaceItem.name}`] = interfaceItem.toService();
338
- });
339
-
340
201
  const platformConfig = JSON5.stringify({
341
202
  appConfig: {
342
203
  project: app.name,
@@ -350,8 +211,9 @@ export function genBundleFiles(app: App,
350
211
  lowcodeDomain: fnLowcodeDomain,
351
212
  },
352
213
  tenant: config.tenant,
353
- documentTitle: app.documentTitle,
214
+ documentTitle: frontend.documentTitle,
354
215
  rootViewData,
216
+ basePath: frontend.basePath,
355
217
  },
356
218
  dnsAddr: app.dnsAddr,
357
219
  devDnsAddr: config.devDnsAddr,
@@ -364,68 +226,15 @@ export function genBundleFiles(app: App,
364
226
  miniEnable: config.miniEnable,
365
227
  }, null, 4);
366
228
 
367
- function collectTypeAnnotation(typeAnnotation: any) {
368
- if (typeAnnotation) {
369
- const { sortedTypeKey, properties, typeArguments } = typeAnnotation || {};
370
- if (!dataTypesMap[sortedTypeKey]) {
371
- dataTypesMap[sortedTypeKey] = typeAnnotation?.toJSON?.();
372
- }
373
- if (Array.isArray(properties)) {
374
- properties.forEach((property) => {
375
- collectTypeAnnotation(property?.typeAnnotation);
376
- });
377
- }
378
- if (Array.isArray(typeArguments)) {
379
- typeArguments.forEach((typeArg) => {
380
- collectTypeAnnotation(typeArg);
381
- });
382
- }
383
- }
384
- }
229
+ const metaData = genMetaData(app, frontend);
230
+ const metaDataStr = JSON5.stringify(metaData);
385
231
 
386
- utils.traverse((current) => {
387
- const { node } = current || {};
388
- const { concept } = node || {};
389
- let typeAnnotation;
390
- if (['Param', 'Variable', 'Return', 'CallFunction', 'CallInterface', 'CallLogic'].includes(concept)) {
391
- typeAnnotation = node.typeAnnotation || node.__TypeAnnotation;
392
- }
393
- collectTypeAnnotation(typeAnnotation);
394
- }, {
395
- node: {
396
- children: views,
397
- } as any,
398
- }, {
399
- mode: 'anyObject',
400
- excludedKeySet: new Set([
401
- 'parentNode',
402
- 'sourceMap',
403
- 'storageJSON',
404
- 'tsErrorDetail',
405
- 'NaslAnnotatedJSON',
406
- 'calledFrom',
407
- '_events',
408
- '_collectingList',
409
- '_historyList',
410
- ]),
411
- });
412
-
413
- const metaData = JSON5.stringify({
414
- frontendVariables,
415
- dataTypesMap,
416
- enumsMap,
417
- logicsMap,
418
- servicesMap: {
419
- _custom,
420
- },
421
- });
422
-
423
- const assetsInfo = app.genAllAssetsInfo(config.STATIC_URL);
232
+ const assetsInfo = app.genAllAssetsInfo(config.STATIC_URL, frontend.type);
424
233
  const customNames = JSON5.stringify(assetsInfo.custom.names);
425
234
  let content = `(function(){
426
235
  `;
427
236
 
428
- const themeCSS = app.genThemeCSS();
237
+ const themeCSS = frontend.genThemeCSS();
429
238
  if (themeCSS) {
430
239
  content += `{
431
240
  const el = document.createElement('style');
@@ -436,11 +245,11 @@ export function genBundleFiles(app: App,
436
245
  `;
437
246
  }
438
247
 
439
- if (app.documentIcon) {
248
+ if (frontend.documentIcon) {
440
249
  content += `{
441
250
  const link = document.createElement('link');
442
251
  link.rel = 'shortcut icon';
443
- link.href = \`${app.documentIcon}\`;
252
+ link.href = \`${frontend.documentIcon}\`;
444
253
  document.head.appendChild(link);
445
254
  }`;
446
255
  }
@@ -456,7 +265,7 @@ export function genBundleFiles(app: App,
456
265
 
457
266
  content += `
458
267
  var platformConfig = ${platformConfig};
459
- var metaData = ${metaData};
268
+ var metaData = ${metaDataStr};
460
269
  var routes = ${routesStr};
461
270
 
462
271
  window.createLcapApp = () => window.appVM = window.cloudAdminDesigner.init(platformConfig.appConfig, platformConfig, routes, metaData);
@@ -465,19 +274,19 @@ export function genBundleFiles(app: App,
465
274
 
466
275
  if (config.env === 'dev') {
467
276
  // 加载资源js
468
- const domain = fnLowcodeDomain.slice(fnLowcodeDomain.indexOf('.') + 1);
469
- const targetUrl = `${typeof location !== 'undefined' ? location.origin : `http://${config.tenant}.${fnLowcodeDomain}`}/empty?url=${domain}&appid=${config.appid}`;
277
+ // const domain = fnLowcodeDomain.slice(fnLowcodeDomain.indexOf('.') + 1);
278
+ // const targetUrl = `${typeof location !== 'undefined' ? location.origin : `http://${config.tenant}.${fnLowcodeDomain}`}/empty?url=${domain}&appid=${config.appid}`;
279
+ // if(!document.querySelector("iframe[name='iframeEmpty']")){
280
+ // var el = document.createElement('iframe');
281
+ // el.setAttribute('src', "${targetUrl}");
282
+ // el.setAttribute('name', 'iframeEmpty');
283
+ // el.setAttribute('width', 0);
284
+ // el.setAttribute('height', 0);
285
+ // el.style.borderWidth = 0
286
+ // el.style.display= "block"
287
+ // document.getElementsByTagName('body')[0].appendChild(el);
288
+ // document.domain = '${domain}'
470
289
  const str = `
471
- if(!document.querySelector("iframe[name='iframeEmpty']")){
472
- var el = document.createElement('iframe');
473
- el.setAttribute('src', "${targetUrl}");
474
- el.setAttribute('name', 'iframeEmpty');
475
- el.setAttribute('width', 0);
476
- el.setAttribute('height', 0);
477
- el.style.borderWidth = 0
478
- el.style.display= "block"
479
- document.getElementsByTagName('body')[0].appendChild(el);
480
- document.domain = '${domain}'
481
290
  var _div = document.createElement('div');
482
291
  _div.classList = "div-load"
483
292
  _div.innerHTML = "<div class='loading-container'></div><div>正在更新最新发布内容...</div>"
@@ -527,14 +336,27 @@ export function genBundleFiles(app: App,
527
336
  }
528
337
  }\`
529
338
  document.getElementsByTagName('body')[0].appendChild(style);
530
- }
339
+ window.addEventListener('message', function (e) {
340
+ console.log('message:',e)
341
+ if(e.data ==="release-start"){
342
+ showLoading()
343
+ }
344
+ if(e.data==="release-end"){
345
+ hideLoading()
346
+ window.location.reload();
347
+ }
348
+ })
531
349
  `;
532
350
  content += str;
533
351
  }
534
-
535
- const bundlePath = `${config.USER_STATIC_URL}/${config.tenant}/${app.id}/${config.env}/bundle.${genHash(content)}.js`;
352
+ const baseUrl = `${config.USER_STATIC_URL}/${config.tenant}/${app.id}/${config.env}`;
353
+ let bundlePath = `${baseUrl}/bundle.${genHash(content)}.js`;
354
+ let bundleMinPath = `${baseUrl}/bundle.${genHash(content)}.min.js`;
355
+ if (frontend.basePath) {
356
+ bundlePath = `${baseUrl}${frontend.basePath}/bundle.${genHash(content)}.js`;
357
+ bundleMinPath = `${baseUrl}${frontend.basePath}/bundle.${genHash(content)}.min.js`;
358
+ }
536
359
  const bundleSourceMapPath = `${bundlePath}.map`;
537
- const bundleMinPath = `${config.USER_STATIC_URL}/${config.tenant}/${app.id}/${config.env}/bundle.${genHash(content)}.min.js`;
538
360
  const otherJsList = config.miniEnable ? ['//res.wx.qq.com/open/js/jweixin-1.3.2.js'] : [];
539
361
  const assetsContent = `(function() {
540
362
  LazyLoad.js(${JSON5.stringify(assetsInfo.basic.js.concat(assetsInfo.custom.js, otherJsList).concat([bundleMinPath]))});
@@ -565,7 +387,7 @@ export function genBundleFiles(app: App,
565
387
  content: minifyObj.code,
566
388
  },
567
389
  {
568
- name: `${config.USER_STATIC_URL}/${config.tenant}/${app.id}/${config.env}/client.js`,
390
+ name: frontend.basePath ? `${baseUrl}${frontend.basePath}/client.js` : `${baseUrl}/client.js`,
569
391
  content: assetsContent,
570
392
  },
571
393
  ];
@@ -582,3 +404,10 @@ export function genBundleFiles(app: App,
582
404
  }
583
405
  return outputs;
584
406
  }
407
+
408
+ export function genFrontendBundleFiles(app: App, frontends: Array<Frontend>,
409
+ config: Config) {
410
+ let outputs:any = [];
411
+ outputs = outputs.concat(...frontends.map((frontend) => genBundleFiles(app, frontend, config)));
412
+ return outputs;
413
+ }