@servicenow/sdk-build-plugins 4.1.1 → 4.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.
Files changed (388) hide show
  1. package/dist/acl-plugin.js +22 -4
  2. package/dist/acl-plugin.js.map +1 -1
  3. package/dist/applicability-plugin.d.ts +2 -0
  4. package/dist/applicability-plugin.js +72 -0
  5. package/dist/applicability-plugin.js.map +1 -0
  6. package/dist/application-menu-plugin.js +1 -0
  7. package/dist/application-menu-plugin.js.map +1 -1
  8. package/dist/atf/step-configs.d.ts +13 -12
  9. package/dist/atf/step-configs.js.map +1 -1
  10. package/dist/atf/test-plugin.d.ts +1 -1
  11. package/dist/atf/test-plugin.js +13 -7
  12. package/dist/atf/test-plugin.js.map +1 -1
  13. package/dist/basic-syntax-plugin.js +58 -14
  14. package/dist/basic-syntax-plugin.js.map +1 -1
  15. package/dist/business-rule-plugin.js +1 -0
  16. package/dist/business-rule-plugin.js.map +1 -1
  17. package/dist/call-expression-plugin.js +1 -107
  18. package/dist/call-expression-plugin.js.map +1 -1
  19. package/dist/claims-plugin.js +1 -1
  20. package/dist/claims-plugin.js.map +1 -1
  21. package/dist/client-script-plugin.js +5 -17
  22. package/dist/client-script-plugin.js.map +1 -1
  23. package/dist/column/column-helper.d.ts +1 -1
  24. package/dist/column/column-helper.js +46 -2
  25. package/dist/column/column-helper.js.map +1 -1
  26. package/dist/column/column-to-record.js +6 -4
  27. package/dist/column/column-to-record.js.map +1 -1
  28. package/dist/column-plugin.js +107 -28
  29. package/dist/column-plugin.js.map +1 -1
  30. package/dist/dashboard/dashboard-component-property-defaults.d.ts +152 -0
  31. package/dist/dashboard/dashboard-component-property-defaults.js +264 -0
  32. package/dist/dashboard/dashboard-component-property-defaults.js.map +1 -0
  33. package/dist/dashboard/dashboard-component-resolver.d.ts +13 -0
  34. package/dist/dashboard/dashboard-component-resolver.js +69 -0
  35. package/dist/dashboard/dashboard-component-resolver.js.map +1 -0
  36. package/dist/dashboard/dashboard-plugin.d.ts +12 -0
  37. package/dist/dashboard/dashboard-plugin.js +397 -0
  38. package/dist/dashboard/dashboard-plugin.js.map +1 -0
  39. package/dist/data-plugin.d.ts +6 -0
  40. package/dist/data-plugin.js +156 -0
  41. package/dist/data-plugin.js.map +1 -0
  42. package/dist/email-notification-plugin.d.ts +2 -0
  43. package/dist/email-notification-plugin.js +541 -0
  44. package/dist/email-notification-plugin.js.map +1 -0
  45. package/dist/flow/constants/flow-plugin-constants.d.ts +58 -0
  46. package/dist/flow/constants/flow-plugin-constants.js +70 -0
  47. package/dist/flow/constants/flow-plugin-constants.js.map +1 -0
  48. package/dist/flow/flow-logic/flow-logic-constants.d.ts +38 -0
  49. package/dist/flow/flow-logic/flow-logic-constants.js +118 -0
  50. package/dist/flow/flow-logic/flow-logic-constants.js.map +1 -0
  51. package/dist/flow/flow-logic/flow-logic-diagnostics.d.ts +19 -0
  52. package/dist/flow/flow-logic/flow-logic-diagnostics.js +503 -0
  53. package/dist/flow/flow-logic/flow-logic-diagnostics.js.map +1 -0
  54. package/dist/flow/flow-logic/flow-logic-plugin-helpers.d.ts +62 -0
  55. package/dist/flow/flow-logic/flow-logic-plugin-helpers.js +2092 -0
  56. package/dist/flow/flow-logic/flow-logic-plugin-helpers.js.map +1 -0
  57. package/dist/flow/flow-logic/flow-logic-plugin.d.ts +52 -0
  58. package/dist/flow/flow-logic/flow-logic-plugin.js +283 -0
  59. package/dist/flow/flow-logic/flow-logic-plugin.js.map +1 -0
  60. package/dist/flow/flow-logic/flow-logic-shapes.d.ts +104 -0
  61. package/dist/flow/flow-logic/flow-logic-shapes.js +201 -0
  62. package/dist/flow/flow-logic/flow-logic-shapes.js.map +1 -0
  63. package/dist/flow/plugins/approval-rules-plugin.d.ts +2 -0
  64. package/dist/flow/plugins/approval-rules-plugin.js +49 -0
  65. package/dist/flow/plugins/approval-rules-plugin.js.map +1 -0
  66. package/dist/flow/plugins/flow-action-definition-plugin.d.ts +2 -0
  67. package/dist/flow/plugins/flow-action-definition-plugin.js +286 -0
  68. package/dist/flow/plugins/flow-action-definition-plugin.js.map +1 -0
  69. package/dist/flow/plugins/flow-data-pill-plugin.d.ts +9 -0
  70. package/dist/flow/plugins/flow-data-pill-plugin.js +212 -0
  71. package/dist/flow/plugins/flow-data-pill-plugin.js.map +1 -0
  72. package/dist/flow/plugins/flow-definition-plugin.d.ts +2 -0
  73. package/dist/flow/plugins/flow-definition-plugin.js +1668 -0
  74. package/dist/flow/plugins/flow-definition-plugin.js.map +1 -0
  75. package/dist/flow/plugins/flow-diagnostics-plugin.d.ts +26 -0
  76. package/dist/flow/plugins/flow-diagnostics-plugin.js +217 -0
  77. package/dist/flow/plugins/flow-diagnostics-plugin.js.map +1 -0
  78. package/dist/flow/plugins/flow-instance-plugin.d.ts +12 -0
  79. package/dist/flow/plugins/flow-instance-plugin.js +930 -0
  80. package/dist/flow/plugins/flow-instance-plugin.js.map +1 -0
  81. package/dist/flow/plugins/flow-trigger-instance-plugin.d.ts +2 -0
  82. package/dist/flow/plugins/flow-trigger-instance-plugin.js +324 -0
  83. package/dist/flow/plugins/flow-trigger-instance-plugin.js.map +1 -0
  84. package/dist/flow/plugins/inline-script-plugin.d.ts +39 -0
  85. package/dist/flow/plugins/inline-script-plugin.js +80 -0
  86. package/dist/flow/plugins/inline-script-plugin.js.map +1 -0
  87. package/dist/flow/plugins/step-definition-plugin.d.ts +5 -0
  88. package/dist/flow/plugins/step-definition-plugin.js +71 -0
  89. package/dist/flow/plugins/step-definition-plugin.js.map +1 -0
  90. package/dist/flow/plugins/step-instance-plugin.d.ts +31 -0
  91. package/dist/flow/plugins/step-instance-plugin.js +339 -0
  92. package/dist/flow/plugins/step-instance-plugin.js.map +1 -0
  93. package/dist/flow/plugins/trigger-plugin.d.ts +2 -0
  94. package/dist/flow/plugins/trigger-plugin.js +96 -0
  95. package/dist/flow/plugins/trigger-plugin.js.map +1 -0
  96. package/dist/flow/plugins/wfa-datapill-plugin.d.ts +15 -0
  97. package/dist/flow/plugins/wfa-datapill-plugin.js +178 -0
  98. package/dist/flow/plugins/wfa-datapill-plugin.js.map +1 -0
  99. package/dist/flow/utils/approval-rules-processor.d.ts +13 -0
  100. package/dist/flow/utils/approval-rules-processor.js +267 -0
  101. package/dist/flow/utils/approval-rules-processor.js.map +1 -0
  102. package/dist/flow/utils/built-in-complex-objects.d.ts +19 -0
  103. package/dist/flow/utils/built-in-complex-objects.js +62 -0
  104. package/dist/flow/utils/built-in-complex-objects.js.map +1 -0
  105. package/dist/flow/utils/complex-object-resolver.d.ts +8 -0
  106. package/dist/flow/utils/complex-object-resolver.js +614 -0
  107. package/dist/flow/utils/complex-object-resolver.js.map +1 -0
  108. package/dist/flow/utils/complex-objects.d.ts +36 -0
  109. package/dist/flow/utils/complex-objects.js +481 -0
  110. package/dist/flow/utils/complex-objects.js.map +1 -0
  111. package/dist/flow/utils/data-pill-shapes.d.ts +58 -0
  112. package/dist/flow/utils/data-pill-shapes.js +135 -0
  113. package/dist/flow/utils/data-pill-shapes.js.map +1 -0
  114. package/dist/flow/utils/datapill-transformer.d.ts +110 -0
  115. package/dist/flow/utils/datapill-transformer.js +503 -0
  116. package/dist/flow/utils/datapill-transformer.js.map +1 -0
  117. package/dist/flow/utils/flow-constants.d.ts +65 -0
  118. package/dist/flow/utils/flow-constants.js +223 -0
  119. package/dist/flow/utils/flow-constants.js.map +1 -0
  120. package/dist/flow/utils/flow-io-to-record.d.ts +44 -0
  121. package/dist/flow/utils/flow-io-to-record.js +409 -0
  122. package/dist/flow/utils/flow-io-to-record.js.map +1 -0
  123. package/dist/flow/utils/flow-shapes.d.ts +161 -0
  124. package/dist/flow/utils/flow-shapes.js +255 -0
  125. package/dist/flow/utils/flow-shapes.js.map +1 -0
  126. package/dist/flow/utils/flow-to-xml.d.ts +16 -0
  127. package/dist/flow/utils/flow-to-xml.js +237 -0
  128. package/dist/flow/utils/flow-to-xml.js.map +1 -0
  129. package/dist/flow/utils/flow-variable-processor.d.ts +51 -0
  130. package/dist/flow/utils/flow-variable-processor.js +69 -0
  131. package/dist/flow/utils/flow-variable-processor.js.map +1 -0
  132. package/dist/flow/utils/label-cache-parser.d.ts +7 -0
  133. package/dist/flow/utils/label-cache-parser.js +24 -0
  134. package/dist/flow/utils/label-cache-parser.js.map +1 -0
  135. package/dist/flow/utils/label-cache-processor.d.ts +119 -0
  136. package/dist/flow/utils/label-cache-processor.js +719 -0
  137. package/dist/flow/utils/label-cache-processor.js.map +1 -0
  138. package/dist/flow/utils/pill-string-parser.d.ts +88 -0
  139. package/dist/flow/utils/pill-string-parser.js +306 -0
  140. package/dist/flow/utils/pill-string-parser.js.map +1 -0
  141. package/dist/flow/utils/schema-to-flow-object.d.ts +22 -0
  142. package/dist/flow/utils/schema-to-flow-object.js +318 -0
  143. package/dist/flow/utils/schema-to-flow-object.js.map +1 -0
  144. package/dist/flow/utils/utils.d.ts +117 -0
  145. package/dist/flow/utils/utils.js +345 -0
  146. package/dist/flow/utils/utils.js.map +1 -0
  147. package/dist/import-sets-plugin.d.ts +2 -0
  148. package/dist/import-sets-plugin.js +412 -0
  149. package/dist/import-sets-plugin.js.map +1 -0
  150. package/dist/index.d.ts +24 -1
  151. package/dist/index.js +25 -1
  152. package/dist/index.js.map +1 -1
  153. package/dist/json-plugin.d.ts +4 -4
  154. package/dist/json-plugin.js +21 -7
  155. package/dist/json-plugin.js.map +1 -1
  156. package/dist/list-plugin.js +83 -1
  157. package/dist/list-plugin.js.map +1 -1
  158. package/dist/now-attach-plugin.d.ts +36 -0
  159. package/dist/now-attach-plugin.js +320 -0
  160. package/dist/now-attach-plugin.js.map +1 -0
  161. package/dist/now-config-plugin.js +3 -0
  162. package/dist/now-config-plugin.js.map +1 -1
  163. package/dist/now-include-plugin.js +7 -1
  164. package/dist/now-include-plugin.js.map +1 -1
  165. package/dist/package-json-plugin.js +2 -2
  166. package/dist/package-json-plugin.js.map +1 -1
  167. package/dist/record-plugin.d.ts +35 -0
  168. package/dist/record-plugin.js +109 -23
  169. package/dist/record-plugin.js.map +1 -1
  170. package/dist/repack/index.d.ts +2 -0
  171. package/dist/repack/index.js +8 -0
  172. package/dist/repack/index.js.map +1 -1
  173. package/dist/repack/lint/Rules.js.map +1 -1
  174. package/dist/rest-api-plugin.js +81 -74
  175. package/dist/rest-api-plugin.js.map +1 -1
  176. package/dist/role-plugin.js +1 -0
  177. package/dist/role-plugin.js.map +1 -1
  178. package/dist/server-module-plugin/index.js +53 -6
  179. package/dist/server-module-plugin/index.js.map +1 -1
  180. package/dist/service-catalog/catalog-clientscript-plugin.d.ts +2 -0
  181. package/dist/service-catalog/catalog-clientscript-plugin.js +117 -0
  182. package/dist/service-catalog/catalog-clientscript-plugin.js.map +1 -0
  183. package/dist/service-catalog/catalog-item-plugin.d.ts +2 -0
  184. package/dist/service-catalog/catalog-item-plugin.js +115 -0
  185. package/dist/service-catalog/catalog-item-plugin.js.map +1 -0
  186. package/dist/service-catalog/catalog-ui-policy-plugin.d.ts +2 -0
  187. package/dist/service-catalog/catalog-ui-policy-plugin.js +266 -0
  188. package/dist/service-catalog/catalog-ui-policy-plugin.js.map +1 -0
  189. package/dist/service-catalog/index.d.ts +5 -0
  190. package/dist/service-catalog/index.js +22 -0
  191. package/dist/service-catalog/index.js.map +1 -0
  192. package/dist/service-catalog/record-to-shape.d.ts +6 -0
  193. package/dist/service-catalog/record-to-shape.js +93 -0
  194. package/dist/service-catalog/record-to-shape.js.map +1 -0
  195. package/dist/service-catalog/sc-record-producer-plugin.d.ts +2 -0
  196. package/dist/service-catalog/sc-record-producer-plugin.js +139 -0
  197. package/dist/service-catalog/sc-record-producer-plugin.js.map +1 -0
  198. package/dist/service-catalog/service-catalog-base.d.ts +311 -0
  199. package/dist/service-catalog/service-catalog-base.js +542 -0
  200. package/dist/service-catalog/service-catalog-base.js.map +1 -0
  201. package/dist/service-catalog/service-catalog-diagnostics.d.ts +45 -0
  202. package/dist/service-catalog/service-catalog-diagnostics.js +169 -0
  203. package/dist/service-catalog/service-catalog-diagnostics.js.map +1 -0
  204. package/dist/service-catalog/shape-to-record.d.ts +7 -0
  205. package/dist/service-catalog/shape-to-record.js +232 -0
  206. package/dist/service-catalog/shape-to-record.js.map +1 -0
  207. package/dist/service-catalog/utils.d.ts +313 -0
  208. package/dist/service-catalog/utils.js +1144 -0
  209. package/dist/service-catalog/utils.js.map +1 -0
  210. package/dist/service-catalog/variable-helper.d.ts +43 -0
  211. package/dist/service-catalog/variable-helper.js +92 -0
  212. package/dist/service-catalog/variable-helper.js.map +1 -0
  213. package/dist/service-catalog/variable-set-plugin.d.ts +2 -0
  214. package/dist/service-catalog/variable-set-plugin.js +175 -0
  215. package/dist/service-catalog/variable-set-plugin.js.map +1 -0
  216. package/dist/service-catalog/variables-transform.d.ts +139 -0
  217. package/dist/service-catalog/variables-transform.js +403 -0
  218. package/dist/service-catalog/variables-transform.js.map +1 -0
  219. package/dist/service-portal/widget-plugin.js +4 -1
  220. package/dist/service-portal/widget-plugin.js.map +1 -1
  221. package/dist/sla/sla-validators.d.ts +61 -0
  222. package/dist/sla/sla-validators.js +224 -0
  223. package/dist/sla/sla-validators.js.map +1 -0
  224. package/dist/sla-plugin.d.ts +5 -0
  225. package/dist/sla-plugin.js +280 -0
  226. package/dist/sla-plugin.js.map +1 -0
  227. package/dist/static-content-plugin.d.ts +1 -0
  228. package/dist/static-content-plugin.js +4 -3
  229. package/dist/static-content-plugin.js.map +1 -1
  230. package/dist/table-plugin.js +49 -4
  231. package/dist/table-plugin.js.map +1 -1
  232. package/dist/ui-page-plugin.js +2 -1
  233. package/dist/ui-page-plugin.js.map +1 -1
  234. package/dist/ui-policy-plugin.d.ts +2 -0
  235. package/dist/ui-policy-plugin.js +405 -0
  236. package/dist/ui-policy-plugin.js.map +1 -0
  237. package/dist/utils.d.ts +19 -1
  238. package/dist/utils.js +40 -0
  239. package/dist/utils.js.map +1 -1
  240. package/dist/ux-list-menu-config-plugin.d.ts +2 -0
  241. package/dist/ux-list-menu-config-plugin.js +292 -0
  242. package/dist/ux-list-menu-config-plugin.js.map +1 -0
  243. package/dist/view-plugin.js +1 -1
  244. package/dist/view-plugin.js.map +1 -1
  245. package/dist/workspace-plugin/chrome-tab.d.ts +2 -0
  246. package/dist/workspace-plugin/chrome-tab.js +46 -0
  247. package/dist/workspace-plugin/chrome-tab.js.map +1 -0
  248. package/dist/workspace-plugin/constants.d.ts +52 -0
  249. package/dist/workspace-plugin/constants.js +56 -0
  250. package/dist/workspace-plugin/constants.js.map +1 -0
  251. package/dist/workspace-plugin/fluent-utils.d.ts +9 -0
  252. package/dist/workspace-plugin/fluent-utils.js +60 -0
  253. package/dist/workspace-plugin/fluent-utils.js.map +1 -0
  254. package/dist/workspace-plugin/page.d.ts +8 -0
  255. package/dist/workspace-plugin/page.js +108 -0
  256. package/dist/workspace-plugin/page.js.map +1 -0
  257. package/dist/workspace-plugin/screen.d.ts +1 -0
  258. package/dist/workspace-plugin/screen.js +38 -0
  259. package/dist/workspace-plugin/screen.js.map +1 -0
  260. package/dist/workspace-plugin/templates/index.d.ts +10 -0
  261. package/dist/workspace-plugin/templates/index.js +20 -0
  262. package/dist/workspace-plugin/templates/index.js.map +1 -0
  263. package/dist/workspace-plugin/templates/record-page-composition.d.ts +1 -0
  264. package/dist/workspace-plugin/templates/record-page-composition.js +4043 -0
  265. package/dist/workspace-plugin/templates/record-page-composition.js.map +1 -0
  266. package/dist/workspace-plugin/templates/record-page-data.d.ts +1 -0
  267. package/dist/workspace-plugin/templates/record-page-data.js +527 -0
  268. package/dist/workspace-plugin/templates/record-page-data.js.map +1 -0
  269. package/dist/workspace-plugin/templates/record-page-interalEventMappings.d.ts +1 -0
  270. package/dist/workspace-plugin/templates/record-page-interalEventMappings.js +39 -0
  271. package/dist/workspace-plugin/templates/record-page-interalEventMappings.js.map +1 -0
  272. package/dist/workspace-plugin/templates/record-page-layoutModel.d.ts +1 -0
  273. package/dist/workspace-plugin/templates/record-page-layoutModel.js +55 -0
  274. package/dist/workspace-plugin/templates/record-page-layoutModel.js.map +1 -0
  275. package/dist/workspace-plugin/templates/record-page-properties.d.ts +1 -0
  276. package/dist/workspace-plugin/templates/record-page-properties.js +135 -0
  277. package/dist/workspace-plugin/templates/record-page-properties.js.map +1 -0
  278. package/dist/workspace-plugin/templates/record-page.d.ts +3 -0
  279. package/dist/workspace-plugin/templates/record-page.js +8 -0
  280. package/dist/workspace-plugin/templates/record-page.js.map +1 -0
  281. package/dist/workspace-plugin.d.ts +2 -0
  282. package/dist/workspace-plugin.js +453 -0
  283. package/dist/workspace-plugin.js.map +1 -0
  284. package/package.json +10 -12
  285. package/src/_types/eslint-plugin-es-x.d.ts +17 -0
  286. package/src/_types/md5.js.d.ts +8 -0
  287. package/src/acl-plugin.ts +33 -10
  288. package/src/applicability-plugin.ts +82 -0
  289. package/src/application-menu-plugin.ts +1 -0
  290. package/src/atf/step-configs.ts +14 -12
  291. package/src/atf/test-plugin.ts +46 -24
  292. package/src/basic-syntax-plugin.ts +71 -14
  293. package/src/business-rule-plugin.ts +9 -5
  294. package/src/call-expression-plugin.ts +2 -130
  295. package/src/claims-plugin.ts +1 -1
  296. package/src/client-script-plugin.ts +8 -22
  297. package/src/column/column-helper.ts +65 -3
  298. package/src/column/column-to-record.ts +6 -4
  299. package/src/column-plugin.ts +142 -40
  300. package/src/dashboard/dashboard-component-property-defaults.ts +277 -0
  301. package/src/dashboard/dashboard-component-resolver.ts +69 -0
  302. package/src/dashboard/dashboard-plugin.ts +450 -0
  303. package/src/data-plugin.ts +194 -0
  304. package/src/email-notification-plugin.ts +850 -0
  305. package/src/flow/constants/flow-plugin-constants.ts +79 -0
  306. package/src/flow/flow-logic/flow-logic-constants.ts +120 -0
  307. package/src/flow/flow-logic/flow-logic-diagnostics.ts +591 -0
  308. package/src/flow/flow-logic/flow-logic-plugin-helpers.ts +2550 -0
  309. package/src/flow/flow-logic/flow-logic-plugin.ts +337 -0
  310. package/src/flow/flow-logic/flow-logic-shapes.ts +215 -0
  311. package/src/flow/plugins/approval-rules-plugin.ts +48 -0
  312. package/src/flow/plugins/flow-action-definition-plugin.ts +295 -0
  313. package/src/flow/plugins/flow-data-pill-plugin.ts +258 -0
  314. package/src/flow/plugins/flow-definition-plugin.ts +2173 -0
  315. package/src/flow/plugins/flow-diagnostics-plugin.ts +280 -0
  316. package/src/flow/plugins/flow-instance-plugin.ts +1148 -0
  317. package/src/flow/plugins/flow-trigger-instance-plugin.ts +426 -0
  318. package/src/flow/plugins/inline-script-plugin.ts +83 -0
  319. package/src/flow/plugins/step-definition-plugin.ts +67 -0
  320. package/src/flow/plugins/step-instance-plugin.ts +431 -0
  321. package/src/flow/plugins/trigger-plugin.ts +95 -0
  322. package/src/flow/plugins/wfa-datapill-plugin.ts +213 -0
  323. package/src/flow/utils/approval-rules-processor.ts +298 -0
  324. package/src/flow/utils/built-in-complex-objects.ts +81 -0
  325. package/src/flow/utils/complex-object-resolver.ts +875 -0
  326. package/src/flow/utils/complex-objects.ts +656 -0
  327. package/src/flow/utils/data-pill-shapes.ts +165 -0
  328. package/src/flow/utils/datapill-transformer.ts +632 -0
  329. package/src/flow/utils/flow-constants.ts +276 -0
  330. package/src/flow/utils/flow-io-to-record.ts +533 -0
  331. package/src/flow/utils/flow-shapes.ts +296 -0
  332. package/src/flow/utils/flow-to-xml.ts +318 -0
  333. package/src/flow/utils/flow-variable-processor.ts +100 -0
  334. package/src/flow/utils/label-cache-parser.ts +37 -0
  335. package/src/flow/utils/label-cache-processor.ts +870 -0
  336. package/src/flow/utils/pill-string-parser.ts +375 -0
  337. package/src/flow/utils/schema-to-flow-object.ts +385 -0
  338. package/src/flow/utils/utils.ts +395 -0
  339. package/src/import-sets-plugin.ts +542 -0
  340. package/src/index.ts +25 -1
  341. package/src/json-plugin.ts +31 -12
  342. package/src/list-plugin.ts +91 -1
  343. package/src/now-attach-plugin.ts +403 -0
  344. package/src/now-config-plugin.ts +6 -2
  345. package/src/now-include-plugin.ts +8 -1
  346. package/src/package-json-plugin.ts +3 -3
  347. package/src/record-plugin.ts +126 -30
  348. package/src/repack/index.ts +14 -0
  349. package/src/repack/lint/Rules.ts +1 -10
  350. package/src/rest-api-plugin.ts +106 -100
  351. package/src/role-plugin.ts +1 -0
  352. package/src/server-module-plugin/index.ts +74 -22
  353. package/src/service-catalog/catalog-clientscript-plugin.ts +140 -0
  354. package/src/service-catalog/catalog-item-plugin.ts +162 -0
  355. package/src/service-catalog/catalog-ui-policy-plugin.ts +324 -0
  356. package/src/service-catalog/index.ts +5 -0
  357. package/src/service-catalog/record-to-shape.ts +109 -0
  358. package/src/service-catalog/sc-record-producer-plugin.ts +201 -0
  359. package/src/service-catalog/service-catalog-base.ts +600 -0
  360. package/src/service-catalog/service-catalog-diagnostics.ts +251 -0
  361. package/src/service-catalog/shape-to-record.ts +275 -0
  362. package/src/service-catalog/utils.ts +1362 -0
  363. package/src/service-catalog/variable-helper.ts +135 -0
  364. package/src/service-catalog/variable-set-plugin.ts +197 -0
  365. package/src/service-catalog/variables-transform.ts +438 -0
  366. package/src/service-portal/widget-plugin.ts +4 -1
  367. package/src/sla/sla-validators.ts +331 -0
  368. package/src/sla-plugin.ts +358 -0
  369. package/src/static-content-plugin.ts +2 -2
  370. package/src/table-plugin.ts +66 -9
  371. package/src/ui-page-plugin.ts +2 -1
  372. package/src/ui-policy-plugin.ts +505 -0
  373. package/src/utils.ts +50 -1
  374. package/src/ux-list-menu-config-plugin.ts +312 -0
  375. package/src/view-plugin.ts +1 -1
  376. package/src/workspace-plugin/chrome-tab.ts +44 -0
  377. package/src/workspace-plugin/constants.ts +53 -0
  378. package/src/workspace-plugin/fluent-utils.ts +60 -0
  379. package/src/workspace-plugin/page.ts +139 -0
  380. package/src/workspace-plugin/screen.ts +34 -0
  381. package/src/workspace-plugin/templates/index.ts +17 -0
  382. package/src/workspace-plugin/templates/record-page-composition.ts +4051 -0
  383. package/src/workspace-plugin/templates/record-page-data.ts +523 -0
  384. package/src/workspace-plugin/templates/record-page-interalEventMappings.ts +35 -0
  385. package/src/workspace-plugin/templates/record-page-layoutModel.ts +51 -0
  386. package/src/workspace-plugin/templates/record-page-properties.ts +131 -0
  387. package/src/workspace-plugin/templates/record-page.ts +6 -0
  388. package/src/workspace-plugin.ts +574 -0
@@ -0,0 +1,412 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ImportSetPlugin = void 0;
4
+ const sdk_build_core_1 = require("@servicenow/sdk-build-core");
5
+ const now_id_plugin_1 = require("./now-id-plugin");
6
+ const server_module_plugin_1 = require("./server-module-plugin");
7
+ const now_include_plugin_1 = require("./now-include-plugin");
8
+ // ============================================================================
9
+ // CONSTANTS & CONFIGURATION
10
+ // ============================================================================
11
+ /** enforce_mandatory_fields: TypeScript → XML */
12
+ const ENFORCE_MANDATORY_TO_XML = {
13
+ onlyMappedFields: 'Only Mapped Fields',
14
+ allFields: 'All Fields',
15
+ no: 'No',
16
+ };
17
+ /** enforce_mandatory_fields: XML → TypeScript */
18
+ const ENFORCE_MANDATORY_TO_TS = {
19
+ 'Only Mapped Fields': 'onlyMappedFields',
20
+ 'All Fields': 'allFields',
21
+ No: 'no',
22
+ };
23
+ /**
24
+ * Default script template for transform map scripts
25
+ */
26
+ const DEFAULT_TRANSFORM_MAP_SCRIPT = '(function transformRow(source, target, map, log, isUpdate) {\n\n\t// Add your code here\n\n})(source, target, map, log, action==="update");';
27
+ /**
28
+ * Default script template for transform entry source scripts
29
+ */
30
+ const DEFAULT_TRANSFORM_ENTRY_SCRIPT = `answer = (function transformEntry(source) {
31
+
32
+ // Add your code here
33
+ return ""; // return the value to be put into the target field
34
+
35
+ })(source);`;
36
+ /**
37
+ * Default script template for transform scripts
38
+ */
39
+ const DEFAULT_TRANSFORM_SCRIPT = `(function runTransformScript(source, map, log, target /*undefined onStart*/ ) {
40
+
41
+ // Add your code here
42
+
43
+ })(source, map, log, target);`;
44
+ /**
45
+ * Checks if a field configuration has any non-default properties
46
+ * @param config - The field configuration object with Shape values
47
+ * @returns true if any additional properties are set
48
+ */
49
+ function hasAdditionalProperties(config) {
50
+ return !!(config['coalesce']?.asBoolean()?.getValue() ||
51
+ config['coalesceCaseSensitive']?.asBoolean()?.getValue() ||
52
+ config['coalesceEmptyFields']?.asBoolean()?.getValue() ||
53
+ (config['choiceAction']?.asString()?.getValue() && config['choiceAction'].asString().getValue() !== '') ||
54
+ config['sourceScript']?.getValue() ||
55
+ config['useSourceScript']?.asBoolean()?.getValue() ||
56
+ config['dateFormat']?.asString()?.getValue() ||
57
+ config['referenceValueField']?.asString()?.getValue());
58
+ }
59
+ /**
60
+ * Builds a field configuration object with only non-default properties
61
+ * @param sourceField - The source field name
62
+ * @param config - The complete field configuration with Shape values
63
+ * @returns A minimal field configuration object
64
+ */
65
+ function buildFieldConfig(sourceField, config) {
66
+ const fieldConfig = Object.entries(config)
67
+ .filter(([k, v]) => {
68
+ // Filter out properties that are undefined or have default values
69
+ if (!v || k === 'sourceField' || k === 'targetField') {
70
+ return false;
71
+ }
72
+ const value = v.getValue?.();
73
+ return value !== undefined && value !== false && value !== '';
74
+ })
75
+ .reduce((acc, [k, v]) => {
76
+ // Extract raw value from Shape
77
+ acc[k] = v.getValue();
78
+ if (k === 'sourceScript') {
79
+ acc['useSourceScript'] = true;
80
+ }
81
+ return acc;
82
+ }, { sourceField });
83
+ return fieldConfig;
84
+ }
85
+ /**
86
+ * Maps sys_transform_entry records to a fields object for the Fluent API
87
+ * Converts database records into a simplified object structure where:
88
+ * - Simple mappings: { targetField: "sourceField" }
89
+ * - Complex mappings: { targetField: { sourceField: "...", coalesce: true, ... } }
90
+ *
91
+ * @param entries - Array of sys_transform_entry records
92
+ * @param transform - Transform context for creating NowIncludeShape
93
+ * @returns Object mapping target fields to their configurations
94
+ */
95
+ async function mapTransformEntriesToFields(entries, transform) {
96
+ const fieldsObject = {};
97
+ for (const entryRecord of entries) {
98
+ // Extract sourceScript using NowIncludeShape for module and Now.include support
99
+ const sourceScript = await now_include_plugin_1.NowIncludeShape.fromRecord(entryRecord, entryRecord.get('source_script'), transform);
100
+ const entry = entryRecord.transform(({ $ }) => ({
101
+ // $id: $.val(NowIdShape.from(entryRecord)),
102
+ sourceField: $.from('source_field').def(''),
103
+ targetField: $.from('target_field').def(''),
104
+ coalesce: $.from('coalesce').toBoolean().def(false),
105
+ coalesceCaseSensitive: $.from('coalesce_case_sensitive').toBoolean().def(false),
106
+ coalesceEmptyFields: $.from('coalesce_empty_fields').toBoolean().def(false),
107
+ choiceAction: $.from('choice_action').def(''),
108
+ sourceScript: $.val(sourceScript).def(''),
109
+ useSourceScript: $.from('use_source_script').toBoolean().def(false),
110
+ dateFormat: $.from('date_format').def(''),
111
+ referenceValueField: $.from('reference_value_field').def(''),
112
+ }));
113
+ const targetField = entry.get('targetField').ifString()?.getValue() ?? '';
114
+ const sourceField = entry.get('sourceField').ifString()?.getValue() ?? '';
115
+ // Skip entries without a valid target field
116
+ if (!targetField || targetField.trim() === '') {
117
+ continue;
118
+ }
119
+ // Extract all field properties using .properties() for cleaner code
120
+ const fieldProperties = entry.properties();
121
+ // Determine if this is a simple or complex mapping
122
+ if (hasAdditionalProperties(fieldProperties)) {
123
+ // Complex mapping: allow empty sourceField if scripts/config drive the value
124
+ fieldsObject[targetField] = buildFieldConfig(sourceField, fieldProperties);
125
+ }
126
+ else {
127
+ // Simple string mapping: require non-empty sourceField
128
+ if (sourceField && sourceField.trim() !== '') {
129
+ fieldsObject[targetField] = sourceField;
130
+ }
131
+ }
132
+ }
133
+ return fieldsObject;
134
+ }
135
+ /**
136
+ * Maps sys_transform_script records to an array of script configurations
137
+ * Returns undefined if no scripts exist (for cleaner API output)
138
+ *
139
+ * @param scripts - Array of sys_transform_script records
140
+ * @param transform - Transform context for creating NowIncludeShape
141
+ * @returns Array of script configurations or undefined if empty
142
+ */
143
+ async function mapTransformScriptsToShape(scripts, transform) {
144
+ if (scripts.length === 0) {
145
+ return undefined;
146
+ }
147
+ const scriptShapes = [];
148
+ for (const scriptRecord of scripts) {
149
+ const script = await now_include_plugin_1.NowIncludeShape.fromRecord(scriptRecord, scriptRecord.get('script'), transform);
150
+ scriptShapes.push(scriptRecord.transform(({ $ }) => ({
151
+ $id: $.val(now_id_plugin_1.NowIdShape.from(scriptRecord)),
152
+ active: $.toBoolean().def(true),
153
+ order: $.toNumber().def(100),
154
+ when: $.def('onAfter'),
155
+ script: $.val(script).def(DEFAULT_TRANSFORM_SCRIPT),
156
+ })));
157
+ }
158
+ return scriptShapes;
159
+ }
160
+ // ============================================================================
161
+ // PLUGIN DEFINITION
162
+ // ============================================================================
163
+ exports.ImportSetPlugin = sdk_build_core_1.Plugin.create({
164
+ name: 'ImportSetPlugin',
165
+ records: {
166
+ sys_transform_entry: {
167
+ coalesce: ['map', 'target_field'],
168
+ },
169
+ sys_transform_script: {},
170
+ sys_transform_map: {
171
+ relationships: {
172
+ sys_transform_entry: {
173
+ via: 'map',
174
+ descendant: true,
175
+ },
176
+ sys_transform_script: {
177
+ via: 'map',
178
+ descendant: true,
179
+ },
180
+ },
181
+ async toShape(record, { descendants, transform }) {
182
+ const entries = descendants.query('sys_transform_entry');
183
+ const scripts = descendants.query('sys_transform_script');
184
+ // Extract main transform map script using NowIncludeShape
185
+ const mapScript = await now_include_plugin_1.NowIncludeShape.fromRecord(record, record.get('script'), transform);
186
+ // Extract transform scripts using NowIncludeShape
187
+ const transformScripts = await mapTransformScriptsToShape(scripts, transform);
188
+ // Extract field mappings with module and Now.include support for source scripts
189
+ const fieldsObject = await mapTransformEntriesToFields(entries, transform);
190
+ // Check if runScript is enabled to determine script handling
191
+ const runScriptValue = record.get('run_script').toBoolean().getValue();
192
+ // Build the configuration object conditionally
193
+ const config = record.transform(({ $ }) => {
194
+ const baseConfig = {
195
+ $id: $.val(now_id_plugin_1.NowIdShape.from(record)),
196
+ name: $,
197
+ targetTable: $.from('target_table'),
198
+ sourceTable: $.from('source_table'),
199
+ order: $.map((v) => v.ifString()?.ifNotEmpty()?.toNumber()).def(100),
200
+ active: $.toBoolean().def(false),
201
+ runBusinessRules: $.from('run_business_rules').toBoolean().def(false),
202
+ enforceMandatoryFields: $.from('enforce_mandatory_fields')
203
+ .map((v) => ENFORCE_MANDATORY_TO_TS[v.ifString()?.ifNotEmpty()?.getValue() ?? ''] ?? 'no')
204
+ .def('no'),
205
+ copyEmptyFields: $.from('copy_empty_fields').toBoolean().def(false),
206
+ createOnEmptyCoalesce: $.from('create_new_record_on_empty_coalesce_fields')
207
+ .toBoolean()
208
+ .def(false),
209
+ fields: $.val(fieldsObject).def({}),
210
+ scripts: $.val(transformScripts).def([]),
211
+ };
212
+ // Add script-related properties based on runScript value
213
+ return {
214
+ ...baseConfig,
215
+ runScript: $.val(runScriptValue),
216
+ ...(runScriptValue && {
217
+ script: $.val(mapScript).def(DEFAULT_TRANSFORM_MAP_SCRIPT),
218
+ }),
219
+ };
220
+ });
221
+ return {
222
+ success: true,
223
+ value: new sdk_build_core_1.CallExpressionShape({
224
+ source: record,
225
+ callee: 'ImportSet',
226
+ args: [config],
227
+ }),
228
+ };
229
+ },
230
+ },
231
+ },
232
+ shapes: [
233
+ {
234
+ shape: sdk_build_core_1.CallExpressionShape,
235
+ fileTypes: ['fluent'],
236
+ async toRecord(callExpression, { factory, diagnostics, config }) {
237
+ if (callExpression.getCallee() !== 'ImportSet') {
238
+ return { success: false };
239
+ }
240
+ const arg = callExpression.getArgument(0).asObject();
241
+ // ========================================================================
242
+ // VALIDATION
243
+ // ========================================================================
244
+ const targetTableArg = arg.get('targetTable');
245
+ const targetTable = targetTableArg.ifString()?.getValue() || '';
246
+ const name = arg.get('name');
247
+ // Validate script reference can be resolved when runScript is true
248
+ const runScriptValue = arg.get('runScript');
249
+ const runScript = runScriptValue.isDefined() ? runScriptValue.toBoolean().getValue() : false;
250
+ const script = arg.get('script');
251
+ if (runScript && script.isDefined() && script.isUnresolved()) {
252
+ diagnostics.error(script, `Unable to resolve the script reference, ensure the imported module is within the ${config.serverModulesDir} directory.`);
253
+ }
254
+ // Validate: script should not be provided when runScript is false/undefined
255
+ if (!runScript && script.isDefined()) {
256
+ diagnostics.error(script, `Property 'script' cannot be used when 'runScript' is false or undefined. Remove the 'script' property or set 'runScript: true'.`);
257
+ }
258
+ const sourceTable = arg.get('sourceTable').asString()?.getValue();
259
+ // ========================================================================
260
+ // CREATE TRANSFORM MAP RECORD
261
+ // ========================================================================
262
+ const transformMapRecord = await factory.createRecord({
263
+ source: callExpression,
264
+ table: 'sys_transform_map',
265
+ explicitId: arg.get('$id'),
266
+ properties: arg.transform(({ $ }) => ({
267
+ name: $.val(name.ifString()?.getValue()),
268
+ source_table: $.val(sourceTable),
269
+ target_table: $.val(targetTable),
270
+ active: $.from('active').toBoolean().def(false),
271
+ run_business_rules: $.from('runBusinessRules').toBoolean().def(false),
272
+ enforce_mandatory_fields: $.from('enforceMandatoryFields')
273
+ .map((v) => ENFORCE_MANDATORY_TO_XML[v.ifString()?.getValue() ?? ''] ?? 'No')
274
+ .def('No'),
275
+ copy_empty_fields: $.from('copyEmptyFields').toBoolean().def(false),
276
+ create_new_record_on_empty_coalesce_fields: $.from('createOnEmptyCoalesce')
277
+ .toBoolean()
278
+ .def(false),
279
+ script: $.from('script')
280
+ .map((v) => v
281
+ .if(server_module_plugin_1.ModuleFunctionShape)
282
+ ?.toString((n) => `${n}({{PARAMS}})`, ['source', 'target', 'map', 'log', 'isUpdate']) ?? v)
283
+ .toCdata()
284
+ .def(DEFAULT_TRANSFORM_MAP_SCRIPT),
285
+ run_script: $.from('runScript').toBoolean().def(false),
286
+ coalesce: $.from('mapCoalesce').toBoolean().def(false),
287
+ order: $.map((v) => v.ifString()?.ifNotEmpty()?.toNumber()).def(100),
288
+ })),
289
+ });
290
+ // ========================================================================
291
+ // CREATE TRANSFORM ENTRY RECORDS (Field Mappings)
292
+ // ========================================================================
293
+ const fieldsArg = arg.get('fields');
294
+ const entryRecords = [];
295
+ if (fieldsArg.isDefined()) {
296
+ const fieldsObject = fieldsArg.asObject();
297
+ for (const [targetField, fieldShape] of fieldsObject.entries()) {
298
+ // Handle both simple string mappings and complex objects
299
+ if (fieldShape.isString()) {
300
+ // Simple mapping: { targetField: "sourceField" }
301
+ const sourceField = fieldShape.getValue();
302
+ entryRecords.push(await factory.createRecord({
303
+ source: callExpression,
304
+ table: 'sys_transform_entry',
305
+ properties: {
306
+ map: transformMapRecord,
307
+ source_field: sourceField,
308
+ target_field: targetField,
309
+ choice_action: '',
310
+ source_script: DEFAULT_TRANSFORM_ENTRY_SCRIPT,
311
+ use_source_script: false,
312
+ date_format: '',
313
+ reference_value_field: '',
314
+ source_table: sourceTable,
315
+ target_table: targetTable,
316
+ coalesce: false,
317
+ coalesce_case_sensitive: false,
318
+ coalesce_empty_fields: false,
319
+ },
320
+ }));
321
+ }
322
+ else if (fieldShape.isObject()) {
323
+ // Complex mapping: { targetField: { sourceField: "...", coalesce: true, ... } }
324
+ const fieldObj = fieldShape.asObject();
325
+ // ============================================================
326
+ // FIELD-LEVEL CONSTRAINT VALIDATION
327
+ // ============================================================
328
+ // Validate coalesce options
329
+ const coalesceValue = fieldObj.get('coalesce');
330
+ const coalesce = coalesceValue.isDefined() ? coalesceValue.toBoolean().getValue() : false;
331
+ const coalesceCaseSensitive = fieldObj.get('coalesceCaseSensitive');
332
+ const coalesceEmptyFields = fieldObj.get('coalesceEmptyFields');
333
+ if (!coalesce && coalesceCaseSensitive.isDefined()) {
334
+ diagnostics.error(coalesceCaseSensitive, `Field '${targetField}': Property 'coalesceCaseSensitive' cannot be used when 'coalesce' is false or undefined. Remove the 'coalesceCaseSensitive' property or set 'coalesce: true'.`);
335
+ }
336
+ if (!coalesce && coalesceEmptyFields.isDefined()) {
337
+ diagnostics.error(coalesceEmptyFields, `Field '${targetField}': Property 'coalesceEmptyFields' cannot be used when 'coalesce' is false or undefined. Remove the 'coalesceEmptyFields' property or set 'coalesce: true'.`);
338
+ }
339
+ const useSourceScriptValue = fieldObj.get('useSourceScript');
340
+ const useSourceScript = useSourceScriptValue.isDefined()
341
+ ? useSourceScriptValue.toBoolean().getValue()
342
+ : false;
343
+ const sourceScriptValue = fieldObj.get('sourceScript');
344
+ // Validate: sourceScript should not be provided when useSourceScript is false/undefined
345
+ if (!useSourceScript && sourceScriptValue.isDefined()) {
346
+ diagnostics.error(sourceScriptValue, `Field '${targetField}': Property 'sourceScript' cannot be used when 'useSourceScript' is false or undefined. Remove the 'sourceScript' property or set 'useSourceScript: true'.`);
347
+ }
348
+ // Validate: sourceScript is required when useSourceScript is true
349
+ if (useSourceScript && !sourceScriptValue.isDefined()) {
350
+ diagnostics.error(useSourceScriptValue, `Field '${targetField}': Property 'sourceScript' is required when 'useSourceScript' is true. Provide a 'sourceScript' function or set 'useSourceScript: false'.`);
351
+ }
352
+ entryRecords.push(await factory.createRecord({
353
+ source: callExpression,
354
+ table: 'sys_transform_entry',
355
+ properties: fieldObj.transform(({ $ }) => ({
356
+ map: $.val(transformMapRecord),
357
+ source_field: $.from('sourceField').def(''),
358
+ target_field: $.val(targetField),
359
+ choice_action: $.from('choiceAction').def(''),
360
+ source_script: $.from('sourceScript')
361
+ .map((v) => v
362
+ .if(server_module_plugin_1.ModuleFunctionShape)
363
+ ?.toString((n) => `${n}({{PARAMS}})`, ['source']) ?? v)
364
+ .toCdata()
365
+ .def(DEFAULT_TRANSFORM_ENTRY_SCRIPT),
366
+ use_source_script: $.from('useSourceScript').toBoolean().def(false),
367
+ date_format: $.from('dateFormat').def(''),
368
+ reference_value_field: $.from('referenceValueField').def(''),
369
+ source_table: $.val(sourceTable),
370
+ target_table: $.val(targetTable),
371
+ coalesce: $.from('coalesce').toBoolean().def(false),
372
+ coalesce_case_sensitive: $.from('coalesceCaseSensitive').toBoolean().def(false),
373
+ coalesce_empty_fields: $.from('coalesceEmptyFields').toBoolean().def(false),
374
+ })),
375
+ }));
376
+ }
377
+ }
378
+ }
379
+ // ========================================================================
380
+ // CREATE TRANSFORM SCRIPT RECORDS
381
+ // ========================================================================
382
+ const scripts = arg.get('scripts')?.ifArray()?.getElements() ?? [];
383
+ const scriptRecords = [];
384
+ for (const script of scripts) {
385
+ const obj = script.asObject();
386
+ scriptRecords.push(await factory.createRecord({
387
+ source: callExpression,
388
+ table: 'sys_transform_script',
389
+ explicitId: obj.get('$id'),
390
+ properties: obj.transform(({ $ }) => ({
391
+ map: $.val(transformMapRecord),
392
+ active: $.toBoolean().def(true),
393
+ order: $.map((v) => v.ifString()?.ifNotEmpty()?.toNumber()).def(100),
394
+ when: $.from('when').def('onAfter'),
395
+ script: $.from('script')
396
+ .map((v) => v
397
+ .if(server_module_plugin_1.ModuleFunctionShape)
398
+ ?.toString((n) => `${n}({{PARAMS}})`, ['source', 'map', 'log', 'target']) ?? v)
399
+ .toCdata()
400
+ .def(DEFAULT_TRANSFORM_SCRIPT),
401
+ })),
402
+ }));
403
+ }
404
+ return {
405
+ success: true,
406
+ value: transformMapRecord.with(...entryRecords, ...scriptRecords),
407
+ };
408
+ },
409
+ },
410
+ ],
411
+ });
412
+ //# sourceMappingURL=import-sets-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import-sets-plugin.js","sourceRoot":"","sources":["../src/import-sets-plugin.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -20,6 +20,7 @@ export * from './user-preference-plugin';
20
20
  export * from './now-include-plugin';
21
21
  export * from './table-plugin';
22
22
  export * from './column-plugin';
23
+ export * from './data-plugin';
23
24
  export * from './ui-page-plugin';
24
25
  export * from './list-plugin';
25
26
  export * from './ui-action-plugin';
@@ -34,5 +35,27 @@ export * from './html-import-plugin';
34
35
  export * from './static-content-plugin';
35
36
  export * from './script-action-plugin';
36
37
  export * from './claims-plugin';
38
+ export * from './flow/plugins/flow-action-definition-plugin';
39
+ export * from './flow/plugins/wfa-datapill-plugin';
40
+ export * from './flow/plugins/flow-instance-plugin';
41
+ export * from './flow/plugins/inline-script-plugin';
42
+ export * from './flow/plugins/approval-rules-plugin';
43
+ export * from './flow/plugins/flow-trigger-instance-plugin';
44
+ export * from './flow/plugins/flow-definition-plugin';
45
+ export * from './flow/plugins/trigger-plugin';
46
+ export * from './flow/flow-logic/flow-logic-plugin';
47
+ export * from './flow/plugins/step-instance-plugin';
48
+ export * from './flow/plugins/step-definition-plugin';
49
+ export * from './flow/plugins/flow-diagnostics-plugin';
50
+ export * from './ui-policy-plugin';
51
+ export * from './import-sets-plugin';
52
+ export * from './now-attach-plugin';
53
+ export * from './sla-plugin';
54
+ export * from './email-notification-plugin';
55
+ export * from './service-catalog';
56
+ export * from './ux-list-menu-config-plugin';
57
+ export * from './workspace-plugin';
58
+ export * from './dashboard/dashboard-plugin';
59
+ export * from './applicability-plugin';
37
60
  export * from './atf/step-configs';
38
- export { REPACK_OUTPUT_DIR, checkModuleExists } from './repack';
61
+ export { REPACK_OUTPUT_DIR, checkModuleExists, resolveModule } from './repack';
package/dist/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.checkModuleExists = exports.REPACK_OUTPUT_DIR = void 0;
17
+ exports.resolveModule = exports.checkModuleExists = exports.REPACK_OUTPUT_DIR = void 0;
18
18
  __exportStar(require("./application-menu-plugin"), exports);
19
19
  __exportStar(require("./basic-syntax-plugin"), exports);
20
20
  __exportStar(require("./call-expression-plugin"), exports);
@@ -37,6 +37,7 @@ __exportStar(require("./user-preference-plugin"), exports);
37
37
  __exportStar(require("./now-include-plugin"), exports);
38
38
  __exportStar(require("./table-plugin"), exports);
39
39
  __exportStar(require("./column-plugin"), exports);
40
+ __exportStar(require("./data-plugin"), exports);
40
41
  __exportStar(require("./ui-page-plugin"), exports);
41
42
  __exportStar(require("./list-plugin"), exports);
42
43
  __exportStar(require("./ui-action-plugin"), exports);
@@ -51,9 +52,32 @@ __exportStar(require("./html-import-plugin"), exports);
51
52
  __exportStar(require("./static-content-plugin"), exports);
52
53
  __exportStar(require("./script-action-plugin"), exports);
53
54
  __exportStar(require("./claims-plugin"), exports);
55
+ __exportStar(require("./flow/plugins/flow-action-definition-plugin"), exports);
56
+ __exportStar(require("./flow/plugins/wfa-datapill-plugin"), exports);
57
+ __exportStar(require("./flow/plugins/flow-instance-plugin"), exports);
58
+ __exportStar(require("./flow/plugins/inline-script-plugin"), exports);
59
+ __exportStar(require("./flow/plugins/approval-rules-plugin"), exports);
60
+ __exportStar(require("./flow/plugins/flow-trigger-instance-plugin"), exports);
61
+ __exportStar(require("./flow/plugins/flow-definition-plugin"), exports);
62
+ __exportStar(require("./flow/plugins/trigger-plugin"), exports);
63
+ __exportStar(require("./flow/flow-logic/flow-logic-plugin"), exports);
64
+ __exportStar(require("./flow/plugins/step-instance-plugin"), exports);
65
+ __exportStar(require("./flow/plugins/step-definition-plugin"), exports);
66
+ __exportStar(require("./flow/plugins/flow-diagnostics-plugin"), exports);
67
+ __exportStar(require("./ui-policy-plugin"), exports);
68
+ __exportStar(require("./import-sets-plugin"), exports);
69
+ __exportStar(require("./now-attach-plugin"), exports);
70
+ __exportStar(require("./sla-plugin"), exports);
71
+ __exportStar(require("./email-notification-plugin"), exports);
72
+ __exportStar(require("./service-catalog"), exports);
73
+ __exportStar(require("./ux-list-menu-config-plugin"), exports);
74
+ __exportStar(require("./workspace-plugin"), exports);
75
+ __exportStar(require("./dashboard/dashboard-plugin"), exports);
76
+ __exportStar(require("./applicability-plugin"), exports);
54
77
  // non-plugins
55
78
  __exportStar(require("./atf/step-configs"), exports);
56
79
  var repack_1 = require("./repack");
57
80
  Object.defineProperty(exports, "REPACK_OUTPUT_DIR", { enumerable: true, get: function () { return repack_1.REPACK_OUTPUT_DIR; } });
58
81
  Object.defineProperty(exports, "checkModuleExists", { enumerable: true, get: function () { return repack_1.checkModuleExists; } });
82
+ Object.defineProperty(exports, "resolveModule", { enumerable: true, get: function () { return repack_1.resolveModule; } });
59
83
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,4DAAyC;AACzC,wDAAqC;AACrC,2DAAwC;AACxC,yDAAsC;AACtC,iEAA8C;AAC9C,kDAA+B;AAC/B,kDAA+B;AAC/B,mDAAgC;AAChC,0DAAuC;AACvC,oDAAiC;AACjC,gDAA6B;AAC7B,+CAA4B;AAC5B,yDAAsC;AACtC,gDAA6B;AAC7B,gDAA6B;AAC7B,sDAAmC;AACnC,wDAAqC;AACrC,yDAAsC;AACtC,2DAAwC;AACxC,uDAAoC;AACpC,iDAA8B;AAC9B,kDAA+B;AAC/B,mDAAgC;AAChC,gDAA6B;AAC7B,qDAAkC;AAClC,0DAAuC;AACvC,0DAAuC;AACvC,oDAAiC;AACjC,iEAA8C;AAC9C,qEAAkD;AAClD,2EAAwD;AACxD,oDAAiC;AACjC,uDAAoC;AACpC,0DAAuC;AACvC,yDAAsC;AACtC,kDAA+B;AAE/B,cAAc;AACd,qDAAkC;AAClC,mCAA+D;AAAtD,2GAAA,iBAAiB,OAAA;AAAE,2GAAA,iBAAiB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,4DAAyC;AACzC,wDAAqC;AACrC,2DAAwC;AACxC,yDAAsC;AACtC,iEAA8C;AAC9C,kDAA+B;AAC/B,kDAA+B;AAC/B,mDAAgC;AAChC,0DAAuC;AACvC,oDAAiC;AACjC,gDAA6B;AAC7B,+CAA4B;AAC5B,yDAAsC;AACtC,gDAA6B;AAC7B,gDAA6B;AAC7B,sDAAmC;AACnC,wDAAqC;AACrC,yDAAsC;AACtC,2DAAwC;AACxC,uDAAoC;AACpC,iDAA8B;AAC9B,kDAA+B;AAC/B,gDAA6B;AAC7B,mDAAgC;AAChC,gDAA6B;AAC7B,qDAAkC;AAClC,0DAAuC;AACvC,0DAAuC;AACvC,oDAAiC;AACjC,iEAA8C;AAC9C,qEAAkD;AAClD,2EAAwD;AACxD,oDAAiC;AACjC,uDAAoC;AACpC,0DAAuC;AACvC,yDAAsC;AACtC,kDAA+B;AAC/B,+EAA4D;AAC5D,qEAAkD;AAClD,sEAAmD;AACnD,sEAAmD;AACnD,uEAAoD;AACpD,8EAA2D;AAC3D,wEAAqD;AACrD,gEAA6C;AAC7C,sEAAmD;AACnD,sEAAmD;AACnD,wEAAqD;AACrD,yEAAsD;AACtD,qDAAkC;AAClC,uDAAoC;AACpC,sDAAmC;AACnC,+CAA4B;AAC5B,8DAA2C;AAE3C,oDAAiC;AACjC,+DAA4C;AAC5C,qDAAkC;AAClC,+DAA4C;AAC5C,yDAAsC;AAEtC,cAAc;AACd,qDAAkC;AAClC,mCAA8E;AAArE,2GAAA,iBAAiB,OAAA;AAAE,2GAAA,iBAAiB,OAAA;AAAE,uGAAA,aAAa,OAAA"}
@@ -1,10 +1,10 @@
1
- import { CallExpressionShape, type ObjectShape, Plugin, Shape, type Source, SourceFileShape } from '@servicenow/sdk-build-core';
1
+ import { type ArrayShape, CallExpressionShape, type ObjectShape, Plugin, Shape, type Source, SourceFileShape } from '@servicenow/sdk-build-core';
2
2
  export declare class JsonStringifyShape extends CallExpressionShape {
3
3
  constructor({ source, json }: {
4
4
  source: Source;
5
- json: NonNullable<object> | ObjectShape;
5
+ json: NonNullable<object> | ObjectShape | ArrayShape;
6
6
  });
7
- getJson(): ObjectShape;
7
+ getJson(): ObjectShape | ArrayShape;
8
8
  getValue(): string;
9
9
  }
10
10
  export declare class JsonFileShape extends SourceFileShape {
@@ -15,6 +15,6 @@ export declare class JsonFileShape extends SourceFileShape {
15
15
  path: string | Shape;
16
16
  content: string | Shape;
17
17
  });
18
- getJson(): ObjectShape;
18
+ getJson(): ObjectShape | ArrayShape;
19
19
  }
20
20
  export declare const JsonPlugin: Plugin;
@@ -7,7 +7,8 @@ class JsonStringifyShape extends sdk_build_core_1.CallExpressionShape {
7
7
  super({ source, callee: 'JSON.stringify', args: [json] });
8
8
  }
9
9
  getJson() {
10
- return this.getArgument(0).asObject();
10
+ const arg = this.getArgument(0);
11
+ return arg.isArray() ? arg.asArray() : arg.asObject();
11
12
  }
12
13
  getValue() {
13
14
  return JSON.stringify(this.getJson().getValue());
@@ -18,7 +19,10 @@ class JsonFileShape extends sdk_build_core_1.SourceFileShape {
18
19
  json;
19
20
  constructor({ source, json, path, content, }) {
20
21
  super({ source, path, content });
21
- this.json = sdk_build_core_1.Shape.from(source, json).asObject('Expected JSON file content to be a JSON object');
22
+ const shape = sdk_build_core_1.Shape.from(source, json);
23
+ this.json = shape.isArray()
24
+ ? shape.asArray()
25
+ : shape.asObject('Expected JSON file content to be a JSON object or array');
22
26
  }
23
27
  getJson() {
24
28
  return this.json;
@@ -44,7 +48,16 @@ exports.JsonPlugin = sdk_build_core_1.Plugin.create({
44
48
  }),
45
49
  };
46
50
  }
47
- const root = actualFile.getFirstDescendantByKind(sdk_build_core_1.ts.SyntaxKind.ObjectLiteralExpression);
51
+ // Get the root-level expression from the first statement
52
+ // We need to check the direct child, not descendants, to avoid matching nested arrays/objects
53
+ const firstStatement = actualFile.getStatements()[0];
54
+ const rootExpression = firstStatement?.isKind(sdk_build_core_1.ts.SyntaxKind.ExpressionStatement)
55
+ ? firstStatement.getExpression()
56
+ : undefined;
57
+ const root = rootExpression?.isKind(sdk_build_core_1.ts.SyntaxKind.ObjectLiteralExpression) ||
58
+ rootExpression?.isKind(sdk_build_core_1.ts.SyntaxKind.ArrayLiteralExpression)
59
+ ? rootExpression
60
+ : undefined;
48
61
  if (!root) {
49
62
  return { success: false };
50
63
  }
@@ -75,8 +88,8 @@ exports.JsonPlugin = sdk_build_core_1.Plugin.create({
75
88
  return { success: false };
76
89
  }
77
90
  const arg = callExpression.getArgument(0);
78
- if (!arg.isObject() && !arg.is(JsonFileShape)) {
79
- diagnostics.error(arg, 'Argument to JSON.stringify must be an object or an import from a JSON file');
91
+ if (!arg.isObject() && !arg.isArray() && !arg.is(JsonFileShape)) {
92
+ diagnostics.error(arg, 'Argument to JSON.stringify must be an object, array, or an import from a JSON file');
80
93
  return { success: false };
81
94
  }
82
95
  return {
@@ -100,12 +113,13 @@ exports.JsonPlugin = sdk_build_core_1.Plugin.create({
100
113
  await commit(shape, targetShape.getJson().getOriginalNode());
101
114
  return { success: true };
102
115
  }
103
- if (!targetShape.isObject() && !targetShape.is(JsonFileShape)) {
116
+ if (!targetShape.isObject() && !targetShape.isArray() && !targetShape.is(JsonFileShape)) {
104
117
  return { success: false };
105
118
  }
106
119
  let json;
107
120
  try {
108
- json = sdk_build_core_1.Shape.from(shape, sdk_build_core_1.JSON5.parse(shape.getValue())).asObject();
121
+ const parsed = sdk_build_core_1.Shape.from(shape, sdk_build_core_1.JSON5.parse(shape.getValue()));
122
+ json = parsed.isArray() ? parsed.asArray() : parsed.asObject();
109
123
  }
110
124
  catch (e) {
111
125
  logger.info('Incoming string value could not be parsed as JSON and will overwrite the node');