@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,405 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UiPolicyPlugin = void 0;
4
+ const sdk_build_core_1 = require("@servicenow/sdk-build-core");
5
+ const utils_1 = require("./utils");
6
+ const now_id_plugin_1 = require("./now-id-plugin");
7
+ // Define table names as constants since they're not exported from the core tables
8
+ const SYS_UI_POLICY = 'sys_ui_policy';
9
+ const SYS_UI_POLICY_ACTION = 'sys_ui_policy_action';
10
+ const SYS_UI_POLICY_RL_ACTION = 'sys_ui_policy_rl_action';
11
+ const DEFAULT_SCRIPT = 'function onCondition() {\n\n}';
12
+ // UI Type constant for string-to-number mapping
13
+ const UiTypeMapping = { desktop: 0, 'mobile-or-service-portal': 1, all: 10 };
14
+ const getUITypeFromId = (id) => {
15
+ const entry = Object.entries(UiTypeMapping).find(([_, v]) => v === id);
16
+ if (!entry) {
17
+ throw Error(`Invalid UI Type encountered: ${id}, check XML data before transforming again.`);
18
+ }
19
+ return entry[0];
20
+ };
21
+ const getUITypeId = (value) => {
22
+ const entry = UiTypeMapping[value];
23
+ if (entry === undefined) {
24
+ throw Error(`Invalid ui_type found: ${value}`);
25
+ }
26
+ return entry;
27
+ };
28
+ /**
29
+ * Converts ServiceNow string format ('true'/'false'/'ignore') to boolean | 'ignore'
30
+ * Used when reading from database (toShape)
31
+ */
32
+ const stringToBoolean = (value) => {
33
+ switch (value) {
34
+ case 'true':
35
+ return true;
36
+ case 'false':
37
+ return false;
38
+ case 'ignore':
39
+ return 'ignore';
40
+ default:
41
+ return undefined;
42
+ }
43
+ };
44
+ /**
45
+ * Converts boolean | 'ignore' to ServiceNow string format ('true'/'false'/'ignore')
46
+ * Used when writing to database (toRecord)
47
+ */
48
+ const booleanToString = (value) => {
49
+ if (value?.isBoolean()) {
50
+ return value.getValue() ? 'true' : 'false';
51
+ }
52
+ return 'ignore';
53
+ };
54
+ /**
55
+ * Checks if a value is a valid action property (boolean or 'ignore')
56
+ * Used for validation in toRecord
57
+ */
58
+ const isValidActionValue = (value) => {
59
+ return value?.isBoolean() || (value?.isString() && value.getValue() === 'ignore');
60
+ };
61
+ // Helper to determine if a script should be included in generated Fluent code
62
+ const isValidScript = (scriptValue) => scriptValue?.isString() && scriptValue.getValue() !== '' && scriptValue.getValue() !== DEFAULT_SCRIPT;
63
+ // Helper function to validate a script property for import/require statements
64
+ const validateScriptProperty = (scriptProperty, compiler, diagnostics) => {
65
+ if (scriptProperty?.isString()) {
66
+ const scriptContent = scriptProperty.getValue();
67
+ if (scriptContent && !(0, utils_1.validateClientSideScript)(scriptContent, compiler)) {
68
+ diagnostics.error(scriptProperty, 'UI Policy scripts cannot import or require modules. Scripts run client-side in the browser.');
69
+ }
70
+ }
71
+ };
72
+ exports.UiPolicyPlugin = sdk_build_core_1.Plugin.create({
73
+ name: 'UiPolicyPlugin',
74
+ records: {
75
+ [SYS_UI_POLICY]: {
76
+ coalesce: ['table', 'short_description'],
77
+ relationships: {
78
+ [SYS_UI_POLICY_ACTION]: {
79
+ via: 'ui_policy',
80
+ descendant: true,
81
+ },
82
+ [SYS_UI_POLICY_RL_ACTION]: {
83
+ via: 'ui_policy',
84
+ descendant: true,
85
+ },
86
+ },
87
+ toShape(record, { descendants }) {
88
+ const actions = descendants
89
+ .query(SYS_UI_POLICY_ACTION)
90
+ .map((action) => {
91
+ const fieldValue = action.get('field')?.ifString()?.getValue();
92
+ if (!fieldValue) {
93
+ return null; // Skip actions without a field
94
+ }
95
+ const actionObj = {
96
+ field: fieldValue,
97
+ };
98
+ // Convert ServiceNow string format to boolean | 'ignore'
99
+ const visible = stringToBoolean(action.get('visible')?.ifString()?.getValue());
100
+ const disabled = stringToBoolean(action.get('disabled')?.ifString()?.getValue());
101
+ const mandatory = stringToBoolean(action.get('mandatory')?.ifString()?.getValue());
102
+ // Only include visible if it's not 'ignore'
103
+ if (visible !== undefined && visible !== 'ignore') {
104
+ actionObj.visible = visible;
105
+ }
106
+ // Convert 'disabled' to 'readOnly'
107
+ // Only include 'readOnly' if it's not 'ignore'
108
+ if (disabled !== undefined && disabled !== 'ignore') {
109
+ actionObj.readOnly = disabled;
110
+ }
111
+ // Only include mandatory if it's not 'ignore'
112
+ if (mandatory !== undefined && mandatory !== 'ignore') {
113
+ actionObj.mandatory = mandatory;
114
+ }
115
+ const cleared = action.get('cleared')?.ifBoolean()?.getValue();
116
+ if (cleared) {
117
+ actionObj.cleared = cleared;
118
+ }
119
+ // Add new optional fields - only if they have meaningful values
120
+ const table = action.get('table')?.ifString()?.getValue();
121
+ const parentTable = record.get('table')?.ifString()?.getValue();
122
+ // Only include table if it's different from the parent policy's table
123
+ if (table && table !== parentTable) {
124
+ actionObj.table = table;
125
+ }
126
+ const value = action.get('value')?.ifString()?.getValue();
127
+ if (value) {
128
+ actionObj.value = value;
129
+ }
130
+ const fieldMessage = action.get('field_message')?.ifString()?.getValue();
131
+ if (fieldMessage) {
132
+ actionObj.fieldMessage = fieldMessage;
133
+ }
134
+ const fieldMessageType = action.get('field_message_type')?.ifString()?.getValue();
135
+ // Only include if it's not the default value 'none'
136
+ if (fieldMessageType && fieldMessageType !== 'none') {
137
+ actionObj.fieldMessageType = fieldMessageType;
138
+ }
139
+ const valueAction = action.get('value_action')?.ifString()?.getValue();
140
+ // Only include if it's not the default value 'ignore'
141
+ if (valueAction && valueAction !== 'ignore') {
142
+ actionObj.valueAction = valueAction;
143
+ }
144
+ // Skip actions that have no meaningful properties (all are 'ignore')
145
+ if (Object.keys(actionObj).length === 1) {
146
+ return null; // Only 'field' property exists, skip this action
147
+ }
148
+ return actionObj;
149
+ })
150
+ .filter((action) => action !== null); // Remove null actions
151
+ // Process related list actions
152
+ const relatedListActions = descendants
153
+ .query(SYS_UI_POLICY_RL_ACTION)
154
+ .map((rlAction) => {
155
+ const rlActionObj = {};
156
+ const listValue = rlAction.get('list')?.ifString()?.getValue();
157
+ if (listValue) {
158
+ // Strip REL: prefix if present (transform ServiceNow → Fluent)
159
+ // Users write plain GUIDs or table.field format in Fluent code
160
+ if (listValue.startsWith('REL:')) {
161
+ rlActionObj.list = listValue.substring(4); // Remove 'REL:' prefix
162
+ }
163
+ else {
164
+ rlActionObj.list = listValue;
165
+ }
166
+ }
167
+ // Convert ServiceNow string format to boolean | 'ignore'
168
+ const visible = stringToBoolean(rlAction.get('visible')?.ifString()?.getValue());
169
+ if (visible !== undefined && visible !== 'ignore') {
170
+ rlActionObj.visible = visible;
171
+ }
172
+ // Skip if no meaningful properties (only $id exists)
173
+ if (Object.keys(rlActionObj).length === 0) {
174
+ return null;
175
+ }
176
+ return rlActionObj;
177
+ })
178
+ .filter((rlAction) => rlAction !== null); // Remove null actions
179
+ return {
180
+ success: true,
181
+ value: new sdk_build_core_1.CallExpressionShape({
182
+ source: record,
183
+ callee: 'UiPolicy',
184
+ args: [
185
+ record.transform(({ $ }) => {
186
+ const scriptTrueValue = record.get('script_true');
187
+ const scriptFalseValue = record.get('script_false');
188
+ const runScriptsValue = record.get('run_scripts')?.toBoolean().getValue() ?? false;
189
+ const uiTypeValue = record.get('ui_type');
190
+ const includeScriptTrue = runScriptsValue || isValidScript(scriptTrueValue);
191
+ const includeScriptFalse = runScriptsValue || isValidScript(scriptFalseValue);
192
+ return {
193
+ $id: $.val(now_id_plugin_1.NowIdShape.from(record)),
194
+ table: $.from('table').def(''),
195
+ shortDescription: $.from('short_description'),
196
+ active: $.toBoolean().def(true),
197
+ global: $.toBoolean().def(true),
198
+ onLoad: $.from('on_load').toBoolean().def(true),
199
+ reverseIfFalse: $.from('reverse_if_false').toBoolean().def(true),
200
+ inherit: $.toBoolean().def(false),
201
+ isolateScript: $.from('isolate_script').toBoolean().def(false),
202
+ conditions: $.def(''),
203
+ runScripts: $.from('run_scripts').toBoolean().def(false),
204
+ scriptTrue: $.val(includeScriptTrue ? (scriptTrueValue?.getValue() ?? DEFAULT_SCRIPT) : undefined),
205
+ scriptFalse: $.val(includeScriptFalse
206
+ ? (scriptFalseValue?.getValue() ?? DEFAULT_SCRIPT)
207
+ : undefined),
208
+ // uiType is REQUIRED when runScripts is true, should be omitted when false
209
+ uiType: $.val(runScriptsValue
210
+ ? getUITypeFromId(uiTypeValue?.toNumber().getValue() ?? 0)
211
+ : undefined),
212
+ description: $.from('description').def(''),
213
+ modelId: $.from('model_id').def(''),
214
+ modelTable: $.from('model_table').def(''),
215
+ order: $.from('order').toNumber().def(100),
216
+ setValues: $.from('set_values').def(''),
217
+ view: $.from('view').def(''),
218
+ actions: $.val(actions.length > 0 ? actions : undefined),
219
+ relatedListActions: $.val(relatedListActions.length > 0 ? relatedListActions : undefined),
220
+ };
221
+ }),
222
+ ],
223
+ }),
224
+ };
225
+ },
226
+ },
227
+ [SYS_UI_POLICY_ACTION]: {
228
+ coalesce: ['ui_policy', 'field'],
229
+ },
230
+ [SYS_UI_POLICY_RL_ACTION]: {
231
+ coalesce: ['ui_policy', 'list'],
232
+ },
233
+ },
234
+ shapes: [
235
+ {
236
+ shape: sdk_build_core_1.CallExpressionShape,
237
+ fileTypes: ['fluent'],
238
+ async toRecord(callExpression, { config, factory, diagnostics, compiler }) {
239
+ if (callExpression.getCallee()?.toString() !== 'UiPolicy') {
240
+ return { success: false };
241
+ }
242
+ const arg = callExpression.getArgument(0);
243
+ if (!arg?.isObject()) {
244
+ return { success: false };
245
+ }
246
+ const shortDescription = arg.get('shortDescription');
247
+ if (shortDescription?.isString() && shortDescription.getValue().trim() === '') {
248
+ diagnostics.error(shortDescription, 'shortDescription cannot be empty or contain only whitespace');
249
+ return { success: false };
250
+ }
251
+ // Validate table scope prefix for scoped apps
252
+ const tableValue = arg.get('table');
253
+ if (tableValue?.isString() && config?.scope) {
254
+ const tableName = tableValue.getValue();
255
+ const scopeName = config.scope;
256
+ if (!tableName.startsWith(`${scopeName}_`) && !(0, sdk_build_core_1.isSNScope)(scopeName) && scopeName !== 'global') {
257
+ diagnostics.error(arg.get('table'), `'table' property should start with scope prefix '${scopeName}_'. UI Policies in scoped apps can only be created for tables within the same scope.`);
258
+ }
259
+ }
260
+ // Validate scripts for import statements
261
+ const scriptTrue = arg.get('scriptTrue');
262
+ const scriptFalse = arg.get('scriptFalse');
263
+ validateScriptProperty(scriptTrue, compiler, diagnostics);
264
+ validateScriptProperty(scriptFalse, compiler, diagnostics);
265
+ const runScripts = arg.get('runScripts');
266
+ if (runScripts.isUndefined() || runScripts.ifBoolean()?.equals(false)) {
267
+ ;
268
+ [scriptTrue, scriptFalse]
269
+ .filter((shape) => shape.isDefined() && !shape.equals(DEFAULT_SCRIPT))
270
+ .forEach((shape) => diagnostics.info(shape, `This script will not execute unless runScripts is set to true`));
271
+ }
272
+ // Convert uiType value to ID (TypeScript enforces valid values at compile time)
273
+ const uiTypeValue = arg.get('uiType');
274
+ const uiTypeId = uiTypeValue?.isString()
275
+ ? getUITypeId(uiTypeValue.getValue())
276
+ : UiTypeMapping.desktop; // default
277
+ // Create the UI Policy record
278
+ const policyRecord = await factory.createRecord({
279
+ source: callExpression,
280
+ table: SYS_UI_POLICY,
281
+ explicitId: arg.get('$id'),
282
+ properties: arg.transform(({ $ }) => ({
283
+ table: $.from('table').def(''),
284
+ short_description: $.from('shortDescription'),
285
+ active: $.from('active').def(true),
286
+ global: $.from('global').def(true),
287
+ on_load: $.from('onLoad').def(true),
288
+ reverse_if_false: $.from('reverseIfFalse').def(true),
289
+ inherit: $.from('inherit').def(false),
290
+ isolate_script: $.from('isolateScript').def(false),
291
+ conditions: $.from('conditions').def(''),
292
+ run_scripts: $.from('runScripts').def(false),
293
+ script_true: $.from('scriptTrue').toCdata().def(DEFAULT_SCRIPT),
294
+ script_false: $.from('scriptFalse').toCdata().def(DEFAULT_SCRIPT),
295
+ description: $.from('description').def(''),
296
+ model_id: $.from('modelId').def(''),
297
+ model_table: $.from('modelTable').def(''),
298
+ order: $.from('order').toNumber().def(100),
299
+ set_values: $.from('setValues').def(''),
300
+ ui_type: $.val(uiTypeId),
301
+ view: $.from('view').def(''),
302
+ })),
303
+ });
304
+ // Process actions if they exist
305
+ const actions = arg.get('actions');
306
+ const actionRecords = [];
307
+ if (actions?.isArray()) {
308
+ const elements = actions.getElements();
309
+ // Process each action in the array
310
+ for (let i = 0; i < elements.length; i++) {
311
+ const action = elements[i];
312
+ if (!action?.isObject()) {
313
+ continue;
314
+ }
315
+ const field = action.get('field');
316
+ // Validate at least one action property exists
317
+ const hasVisibleProp = isValidActionValue(action.get('visible'));
318
+ const hasReadOnlyProp = isValidActionValue(action.get('readOnly'));
319
+ const hasMandatoryProp = isValidActionValue(action.get('mandatory'));
320
+ const hasClearedProp = action.get('cleared')?.isBoolean() || false;
321
+ if (!hasVisibleProp && !hasReadOnlyProp && !hasMandatoryProp && !hasClearedProp) {
322
+ diagnostics.error(action, `Action at index ${i} must specify at least one of: visible, readOnly, mandatory, or cleared`);
323
+ continue;
324
+ }
325
+ const actionRecord = await factory.createRecord({
326
+ source: action, // Use the action as source instead of callExpression
327
+ table: SYS_UI_POLICY_ACTION,
328
+ properties: action.transform(({ $ }) => ({
329
+ ui_policy: $.val(policyRecord.getId()),
330
+ table: $.from('table').def(arg.get('table')?.getValue() || ''),
331
+ field: $.val(field.getValue()),
332
+ visible: $.val(booleanToString(action.get('visible'))),
333
+ disabled: $.val(booleanToString(action.get('readOnly'))),
334
+ mandatory: $.val(booleanToString(action.get('mandatory'))),
335
+ cleared: $.from('cleared').toBoolean().def(false),
336
+ field_message: $.from('fieldMessage').def(''),
337
+ field_message_type: $.from('fieldMessageType').def('none'),
338
+ value: $.from('value').def(''),
339
+ value_action: $.from('valueAction').def('ignore'),
340
+ })),
341
+ });
342
+ actionRecords.push(actionRecord);
343
+ }
344
+ }
345
+ // Create related list action records (optional) - AST approach
346
+ const relatedListActionRecords = [];
347
+ const relatedListActions = arg.get('relatedListActions');
348
+ if (relatedListActions?.isArray()) {
349
+ const rlElements = relatedListActions.getElements();
350
+ // Process each related list action in the array (similar to actions)
351
+ for (let i = 0; i < rlElements.length; i++) {
352
+ const rlAction = rlElements[i];
353
+ if (!rlAction?.isObject()) {
354
+ continue;
355
+ }
356
+ // Validate and process the list property
357
+ const list = rlAction.get('list');
358
+ let listValue = '';
359
+ if (list) {
360
+ if (list.isRecord()) {
361
+ listValue = `REL:${list.getId().getValue()}`;
362
+ }
363
+ else if (list.isString()) {
364
+ const listStr = list.getValue();
365
+ if ((0, sdk_build_core_1.isGUID)(listStr)) {
366
+ listValue = `REL:${listStr}`;
367
+ }
368
+ else if (listStr.includes('.')) {
369
+ const [table, field] = listStr.split('.');
370
+ if (!table || !field || listStr.split('.').length !== 2) {
371
+ diagnostics.error(list, `Related list action at index ${i}: 'list' property must be in 'table.field' format (e.g., 'incident.caller_id')`);
372
+ continue;
373
+ }
374
+ listValue = listStr;
375
+ }
376
+ else {
377
+ diagnostics.error(list, `Related list action at index ${i}: 'list' property must be either a Record<'sys_relationship'>, a GUID, or in 'table.field' format (e.g., 'incident.caller_id')`);
378
+ continue;
379
+ }
380
+ }
381
+ }
382
+ // At least one property must be specified (visible or list)
383
+ const hasVisibleProp = isValidActionValue(rlAction.get('visible'));
384
+ if (!hasVisibleProp && !listValue) {
385
+ diagnostics.error(rlAction, `Related list action at index ${i} must specify at least one of: list or visible`);
386
+ continue;
387
+ }
388
+ const rlActionRecord = await factory.createRecord({
389
+ source: rlAction,
390
+ table: SYS_UI_POLICY_RL_ACTION,
391
+ properties: rlAction.transform(({ $ }) => ({
392
+ list: $.val(listValue),
393
+ ui_policy: $.val(policyRecord.getId()),
394
+ visible: $.val(booleanToString(rlAction.get('visible'))),
395
+ })),
396
+ });
397
+ relatedListActionRecords.push(rlActionRecord);
398
+ }
399
+ }
400
+ return { success: true, value: policyRecord.with(...actionRecords, ...relatedListActionRecords) };
401
+ },
402
+ },
403
+ ],
404
+ });
405
+ //# sourceMappingURL=ui-policy-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-policy-plugin.js","sourceRoot":"","sources":["../src/ui-policy-plugin.ts"],"names":[],"mappings":"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"}
package/dist/utils.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { ts, type Shape, type ObjectShape, type Diagnostics } from '@servicenow/sdk-build-core';
1
+ import { ts, type Shape, type ObjectShape, type Diagnostics, type Compiler, type PluginApiDoc } from '@servicenow/sdk-build-core';
2
2
  export declare function toReference(shape: Shape): string | import("@servicenow/sdk-build-core").RecordId;
3
3
  /**
4
4
  * Reverses an object, swapping keys and values. **reverseObject** should only be used
@@ -15,3 +15,21 @@ export declare const INVALID_XML_CHARACTERS: RegExp;
15
15
  export declare function applyPathMappings(path: string, mappings: Record<string, string>): string;
16
16
  export declare function getCallExpressionName(node: ts.CallExpression): string;
17
17
  export declare function generateDeprecatedDiagnostics(object: ObjectShape, diagnostics: Diagnostics): void;
18
+ /**
19
+ * Validates that client-side scripts (Client Scripts and UI Policy scripts) don't contain
20
+ * import or require statements. These scripts run in the browser and cannot use module imports.
21
+ *
22
+ * @param script - The script content to validate
23
+ * @param compiler - The TypeScript compiler instance
24
+ * @returns true if the script is valid (no imports/requires), false otherwise
25
+ */
26
+ export declare function validateClientSideScript(script: string, compiler: Compiler): boolean;
27
+ /**
28
+ * Creates a documentation entry for first-party SDK plugins.
29
+ * Using this helper ensures apiName and docPath are always in sync.
30
+ *
31
+ * @param apiName - The API name (e.g., 'BusinessRule', 'Acl')
32
+ * @param tags - Keywords for categorization (typically includes the ServiceNow table name)
33
+ * @returns A complete PluginApiDoc entry
34
+ */
35
+ export declare function createSdkDocEntry(apiName: string, tags: string[]): PluginApiDoc;
package/dist/utils.js CHANGED
@@ -7,6 +7,8 @@ exports.noThrow = noThrow;
7
7
  exports.applyPathMappings = applyPathMappings;
8
8
  exports.getCallExpressionName = getCallExpressionName;
9
9
  exports.generateDeprecatedDiagnostics = generateDeprecatedDiagnostics;
10
+ exports.validateClientSideScript = validateClientSideScript;
11
+ exports.createSdkDocEntry = createSdkDocEntry;
10
12
  const sdk_build_core_1 = require("@servicenow/sdk-build-core");
11
13
  function toReference(shape) {
12
14
  return shape.ifRecord()?.getId() ?? shape.ifString()?.getValue() ?? '';
@@ -69,4 +71,42 @@ function generateDeprecatedDiagnostics(object, diagnostics) {
69
71
  }
70
72
  });
71
73
  }
74
+ /**
75
+ * Helper function to check if a call expression is a require statement
76
+ */
77
+ function isRequire(callExpression) {
78
+ const expression = callExpression.getExpression();
79
+ return sdk_build_core_1.ts.Node.isIdentifier(expression) && expression.getText() === 'require';
80
+ }
81
+ /**
82
+ * Validates that client-side scripts (Client Scripts and UI Policy scripts) don't contain
83
+ * import or require statements. These scripts run in the browser and cannot use module imports.
84
+ *
85
+ * @param script - The script content to validate
86
+ * @param compiler - The TypeScript compiler instance
87
+ * @returns true if the script is valid (no imports/requires), false otherwise
88
+ */
89
+ function validateClientSideScript(script, compiler) {
90
+ const source = compiler.createSourceFile('tmp-script.ts', script);
91
+ const hasImports = source.getDescendantsOfKind(sdk_build_core_1.ts.SyntaxKind.ImportDeclaration).length > 0;
92
+ const hasRequires = source.getDescendantsOfKind(sdk_build_core_1.ts.SyntaxKind.CallExpression).some(isRequire);
93
+ const isValid = !(hasImports || hasRequires);
94
+ compiler.removeSourceFile(source);
95
+ return isValid;
96
+ }
97
+ /**
98
+ * Creates a documentation entry for first-party SDK plugins.
99
+ * Using this helper ensures apiName and docPath are always in sync.
100
+ *
101
+ * @param apiName - The API name (e.g., 'BusinessRule', 'Acl')
102
+ * @param tags - Keywords for categorization (typically includes the ServiceNow table name)
103
+ * @returns A complete PluginApiDoc entry
104
+ */
105
+ function createSdkDocEntry(apiName, tags) {
106
+ return {
107
+ apiName,
108
+ docPath: `@servicenow/sdk/docs/${apiName}/${apiName}.md`,
109
+ tags,
110
+ };
111
+ }
72
112
  //# sourceMappingURL=utils.js.map
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAEA,kCAEC;AAQD,sCASC;AAED,0BAMC;AASD,8CAYC;AAED,sDAOC;AAED,sEAOC;AApED,+DAA+F;AAE/F,SAAgB,WAAW,CAAC,KAAY;IACpC,OAAO,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;AAC1E,CAAC;AAED;;;;;GAKG;AACH,SAAgB,aAAa,CAAqC,GAAiB;IAC/E,MAAM,QAAQ,GAAG,EAAkB,CAAA;IACnC,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACpB,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;QACtB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,CAAA;QACzB,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAA;AACnB,CAAC;AAED,SAAgB,OAAO,CAAI,MAAe;IACtC,IAAI,CAAC;QACD,OAAO,MAAM,EAAE,CAAA;IACnB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,KAAc,CAAA;IACzB,CAAC;AACL,CAAC;AAED;;GAEG;AACU,QAAA,sBAAsB;AAC/B,+EAA+E;AAC/E,gHAAgH,CAAA;AAEpH,SAAgB,iBAAiB,CAAC,IAAY,EAAE,QAAgC;IAC5E,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO,IAAI,CAAA;IACf,CAAC;IACD,gIAAgI;IAChI,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACvF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QACvC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAA;AACf,CAAC;AAED,SAAgB,qBAAqB,CAAC,IAAuB;IACzD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;IACvC,IAAI,mBAAE,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,mBAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,EAAE,CAAC;QACrF,OAAO,UAAU,CAAC,OAAO,EAAE,CAAA;IAC/B,CAAC;IAED,MAAM,wCAAwC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAA;AACxE,CAAC;AAED,SAAgB,6BAA6B,CAAC,MAAmB,EAAE,WAAwB;IACvF,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACjD,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;QACvC,IAAI,KAAK,EAAE,CAAC;YACR,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,iBAAiB,KAAK,yBAAyB,GAAG,YAAY,CAAC,CAAA;QACrG,CAAC;IACL,CAAC,CAAC,CAAA;AACN,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { Plugin } from '@servicenow/sdk-build-core';
2
+ export declare const UxListMenuConfigPlugin: Plugin;