@servicenow/sdk-build-plugins 3.0.2 → 4.0.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 (359) hide show
  1. package/dist/acl-plugin.d.ts +19 -0
  2. package/dist/acl-plugin.js +210 -0
  3. package/dist/acl-plugin.js.map +1 -0
  4. package/dist/application-menu-plugin.d.ts +18 -0
  5. package/dist/application-menu-plugin.js +104 -0
  6. package/dist/application-menu-plugin.js.map +1 -0
  7. package/dist/arrow-function-plugin.d.ts +16 -0
  8. package/dist/arrow-function-plugin.js +107 -0
  9. package/dist/arrow-function-plugin.js.map +1 -0
  10. package/dist/atf/step-configs.d.ts +37 -0
  11. package/dist/atf/step-configs.js +2236 -0
  12. package/dist/atf/step-configs.js.map +1 -0
  13. package/dist/atf/test-plugin.d.ts +4 -0
  14. package/dist/atf/test-plugin.js +591 -0
  15. package/dist/atf/test-plugin.js.map +1 -0
  16. package/dist/basic-syntax-plugin.d.ts +2 -0
  17. package/dist/basic-syntax-plugin.js +636 -0
  18. package/dist/basic-syntax-plugin.js.map +1 -0
  19. package/dist/business-rule-plugin.d.ts +3 -0
  20. package/dist/business-rule-plugin.js +205 -0
  21. package/dist/business-rule-plugin.js.map +1 -0
  22. package/dist/call-expression-plugin.d.ts +2 -0
  23. package/dist/call-expression-plugin.js +175 -0
  24. package/dist/call-expression-plugin.js.map +1 -0
  25. package/dist/client-script-plugin.d.ts +29 -0
  26. package/dist/client-script-plugin.js +157 -0
  27. package/dist/client-script-plugin.js.map +1 -0
  28. package/dist/column/column-helper.d.ts +12 -0
  29. package/dist/column/column-helper.js +84 -0
  30. package/dist/column/column-helper.js.map +1 -0
  31. package/dist/column/column-to-record.d.ts +3 -0
  32. package/dist/column/column-to-record.js +105 -0
  33. package/dist/column/column-to-record.js.map +1 -0
  34. package/dist/column-plugin.d.ts +8 -0
  35. package/dist/column-plugin.js +453 -0
  36. package/dist/column-plugin.js.map +1 -0
  37. package/dist/cross-scope-privilege-plugin.d.ts +15 -0
  38. package/dist/cross-scope-privilege-plugin.js +82 -0
  39. package/dist/cross-scope-privilege-plugin.js.map +1 -0
  40. package/dist/html-import-plugin.d.ts +2 -0
  41. package/dist/html-import-plugin.js +72 -0
  42. package/dist/html-import-plugin.js.map +1 -0
  43. package/dist/index.d.ts +37 -21
  44. package/dist/index.js +40 -45
  45. package/dist/index.js.map +1 -1
  46. package/dist/json-plugin.d.ts +15 -0
  47. package/dist/json-plugin.js +104 -0
  48. package/dist/json-plugin.js.map +1 -0
  49. package/dist/list-plugin.d.ts +2 -0
  50. package/dist/list-plugin.js +191 -0
  51. package/dist/list-plugin.js.map +1 -0
  52. package/dist/now-config-plugin.d.ts +4 -0
  53. package/dist/now-config-plugin.js +154 -0
  54. package/dist/now-config-plugin.js.map +1 -0
  55. package/dist/now-id-plugin.d.ts +11 -0
  56. package/dist/now-id-plugin.js +71 -0
  57. package/dist/now-id-plugin.js.map +1 -0
  58. package/dist/now-include-plugin.d.ts +16 -0
  59. package/dist/now-include-plugin.js +118 -0
  60. package/dist/now-include-plugin.js.map +1 -0
  61. package/dist/now-ref-plugin.d.ts +2 -0
  62. package/dist/now-ref-plugin.js +43 -0
  63. package/dist/now-ref-plugin.js.map +1 -0
  64. package/dist/now-unresolved-plugin.d.ts +2 -0
  65. package/dist/now-unresolved-plugin.js +32 -0
  66. package/dist/now-unresolved-plugin.js.map +1 -0
  67. package/dist/package-json-plugin.d.ts +2 -0
  68. package/dist/package-json-plugin.js +70 -0
  69. package/dist/package-json-plugin.js.map +1 -0
  70. package/dist/property-plugin.d.ts +2 -0
  71. package/dist/property-plugin.js +105 -0
  72. package/dist/property-plugin.js.map +1 -0
  73. package/dist/record-plugin.d.ts +43 -0
  74. package/dist/record-plugin.js +147 -0
  75. package/dist/record-plugin.js.map +1 -0
  76. package/dist/repack/index.d.ts +1 -0
  77. package/dist/repack/index.js +10 -2
  78. package/dist/repack/index.js.map +1 -1
  79. package/dist/repack/lint/Rules.d.ts +1 -1
  80. package/dist/repack/lint/Rules.js +7 -3
  81. package/dist/repack/lint/Rules.js.map +1 -1
  82. package/dist/repack/lint/index.js +1 -1
  83. package/dist/rest-api-plugin.d.ts +2 -0
  84. package/dist/rest-api-plugin.js +469 -0
  85. package/dist/rest-api-plugin.js.map +1 -0
  86. package/dist/role-plugin.d.ts +2 -0
  87. package/dist/role-plugin.js +117 -0
  88. package/dist/role-plugin.js.map +1 -0
  89. package/dist/script-action-plugin.d.ts +2 -0
  90. package/dist/script-action-plugin.js +62 -0
  91. package/dist/script-action-plugin.js.map +1 -0
  92. package/dist/script-include-plugin.d.ts +2 -0
  93. package/dist/script-include-plugin.js +102 -0
  94. package/dist/script-include-plugin.js.map +1 -0
  95. package/dist/server-module-plugin/index.d.ts +14 -0
  96. package/dist/server-module-plugin/index.js +378 -0
  97. package/dist/server-module-plugin/index.js.map +1 -0
  98. package/dist/server-module-plugin/sbom-builder.d.ts +45 -0
  99. package/dist/server-module-plugin/sbom-builder.js +179 -0
  100. package/dist/server-module-plugin/sbom-builder.js.map +1 -0
  101. package/dist/service-portal/angular-provider-plugin.d.ts +2 -0
  102. package/dist/service-portal/angular-provider-plugin.js +78 -0
  103. package/dist/service-portal/angular-provider-plugin.js.map +1 -0
  104. package/dist/service-portal/dependency-plugin.d.ts +2 -0
  105. package/dist/service-portal/dependency-plugin.js +235 -0
  106. package/dist/service-portal/dependency-plugin.js.map +1 -0
  107. package/dist/service-portal/widget-plugin.d.ts +6 -0
  108. package/dist/service-portal/widget-plugin.js +230 -0
  109. package/dist/service-portal/widget-plugin.js.map +1 -0
  110. package/dist/static-content-plugin.d.ts +2 -0
  111. package/dist/static-content-plugin.js +272 -0
  112. package/dist/static-content-plugin.js.map +1 -0
  113. package/dist/table-plugin.d.ts +3 -0
  114. package/dist/table-plugin.js +1324 -0
  115. package/dist/table-plugin.js.map +1 -0
  116. package/dist/ui-action-plugin.d.ts +2 -0
  117. package/dist/ui-action-plugin.js +291 -0
  118. package/dist/ui-action-plugin.js.map +1 -0
  119. package/dist/ui-page-plugin.d.ts +2 -0
  120. package/dist/ui-page-plugin.js +165 -0
  121. package/dist/ui-page-plugin.js.map +1 -0
  122. package/dist/user-preference-plugin.d.ts +15 -0
  123. package/dist/user-preference-plugin.js +63 -0
  124. package/dist/user-preference-plugin.js.map +1 -0
  125. package/dist/utils.d.ts +17 -0
  126. package/dist/utils.js +72 -0
  127. package/dist/utils.js.map +1 -0
  128. package/dist/view-plugin.d.ts +2 -0
  129. package/dist/view-plugin.js +45 -0
  130. package/dist/view-plugin.js.map +1 -0
  131. package/package.json +17 -13
  132. package/src/acl-plugin.ts +256 -0
  133. package/src/application-menu-plugin.ts +109 -0
  134. package/src/arrow-function-plugin.ts +127 -0
  135. package/src/atf/step-configs.ts +2284 -0
  136. package/src/atf/test-plugin.ts +728 -0
  137. package/src/basic-syntax-plugin.ts +729 -0
  138. package/src/business-rule-plugin.ts +266 -0
  139. package/src/call-expression-plugin.ts +202 -0
  140. package/src/client-script-plugin.ts +170 -0
  141. package/src/column/column-helper.ts +119 -0
  142. package/src/column/column-to-record.ts +131 -0
  143. package/src/column-plugin.ts +506 -0
  144. package/src/cross-scope-privilege-plugin.ts +82 -0
  145. package/src/html-import-plugin.ts +79 -0
  146. package/src/index.ts +39 -21
  147. package/src/json-plugin.ts +128 -0
  148. package/src/list-plugin.ts +222 -0
  149. package/src/now-config-plugin.ts +194 -0
  150. package/src/now-id-plugin.ts +78 -0
  151. package/src/now-include-plugin.ts +140 -0
  152. package/src/now-ref-plugin.ts +48 -0
  153. package/src/now-unresolved-plugin.ts +30 -0
  154. package/src/package-json-plugin.ts +87 -0
  155. package/src/property-plugin.ts +118 -0
  156. package/src/record-plugin.ts +171 -0
  157. package/src/repack/index.ts +10 -1
  158. package/src/repack/lint/Rules.ts +5 -4
  159. package/src/repack/lint/index.ts +1 -1
  160. package/src/rest-api-plugin.ts +651 -0
  161. package/src/role-plugin.ts +128 -0
  162. package/src/script-action-plugin.ts +63 -0
  163. package/src/script-include-plugin.ts +110 -0
  164. package/src/server-module-plugin/index.ts +470 -0
  165. package/src/server-module-plugin/sbom-builder.ts +183 -0
  166. package/src/service-portal/angular-provider-plugin.ts +83 -0
  167. package/src/service-portal/dependency-plugin.ts +284 -0
  168. package/src/service-portal/widget-plugin.ts +263 -0
  169. package/src/static-content-plugin.ts +254 -0
  170. package/src/table-plugin.ts +1698 -0
  171. package/src/ui-action-plugin.ts +324 -0
  172. package/src/ui-page-plugin.ts +168 -0
  173. package/src/user-preference-plugin.ts +62 -0
  174. package/src/utils.ts +69 -0
  175. package/src/view-plugin.ts +46 -0
  176. package/dist/AttachmentPlugin.d.ts +0 -254
  177. package/dist/AttachmentPlugin.js +0 -220
  178. package/dist/AttachmentPlugin.js.map +0 -1
  179. package/dist/BusinessRulePlugin.d.ts +0 -30
  180. package/dist/BusinessRulePlugin.js +0 -149
  181. package/dist/BusinessRulePlugin.js.map +0 -1
  182. package/dist/CrossScopePrivilegePlugin.d.ts +0 -35
  183. package/dist/CrossScopePrivilegePlugin.js +0 -80
  184. package/dist/CrossScopePrivilegePlugin.js.map +0 -1
  185. package/dist/DefaultPlugin.d.ts +0 -86
  186. package/dist/DefaultPlugin.js +0 -226
  187. package/dist/DefaultPlugin.js.map +0 -1
  188. package/dist/HtmlTemplatePlugin.d.ts +0 -21
  189. package/dist/HtmlTemplatePlugin.js +0 -29
  190. package/dist/HtmlTemplatePlugin.js.map +0 -1
  191. package/dist/IdPlugin.d.ts +0 -28
  192. package/dist/IdPlugin.js +0 -68
  193. package/dist/IdPlugin.js.map +0 -1
  194. package/dist/IncludePlugin.d.ts +0 -34
  195. package/dist/IncludePlugin.js +0 -155
  196. package/dist/IncludePlugin.js.map +0 -1
  197. package/dist/JsonPlugin.d.ts +0 -28
  198. package/dist/JsonPlugin.js +0 -69
  199. package/dist/JsonPlugin.js.map +0 -1
  200. package/dist/ListPlugin.d.ts +0 -93
  201. package/dist/ListPlugin.js +0 -456
  202. package/dist/ListPlugin.js.map +0 -1
  203. package/dist/NowConfigPlugin.d.ts +0 -45
  204. package/dist/NowConfigPlugin.js +0 -64
  205. package/dist/NowConfigPlugin.js.map +0 -1
  206. package/dist/PackageJsonPlugin.d.ts +0 -34
  207. package/dist/PackageJsonPlugin.js +0 -63
  208. package/dist/PackageJsonPlugin.js.map +0 -1
  209. package/dist/PropertyPlugin.d.ts +0 -51
  210. package/dist/PropertyPlugin.js +0 -181
  211. package/dist/PropertyPlugin.js.map +0 -1
  212. package/dist/ScriptTemplatePlugin.d.ts +0 -13
  213. package/dist/ScriptTemplatePlugin.js +0 -55
  214. package/dist/ScriptTemplatePlugin.js.map +0 -1
  215. package/dist/ServerModulePlugin.d.ts +0 -75
  216. package/dist/ServerModulePlugin.js +0 -368
  217. package/dist/ServerModulePlugin.js.map +0 -1
  218. package/dist/UserPreferencePlugin.d.ts +0 -19
  219. package/dist/UserPreferencePlugin.js +0 -32
  220. package/dist/UserPreferencePlugin.js.map +0 -1
  221. package/dist/aclAndRole/AclPlugin.d.ts +0 -82
  222. package/dist/aclAndRole/AclPlugin.js +0 -262
  223. package/dist/aclAndRole/AclPlugin.js.map +0 -1
  224. package/dist/aclAndRole/RolePlugin.d.ts +0 -66
  225. package/dist/aclAndRole/RolePlugin.js +0 -179
  226. package/dist/aclAndRole/RolePlugin.js.map +0 -1
  227. package/dist/aclAndRole/Util.d.ts +0 -3
  228. package/dist/aclAndRole/Util.js +0 -90
  229. package/dist/aclAndRole/Util.js.map +0 -1
  230. package/dist/app/ApplicationMenuPlugin.d.ts +0 -34
  231. package/dist/app/ApplicationMenuPlugin.js +0 -112
  232. package/dist/app/ApplicationMenuPlugin.js.map +0 -1
  233. package/dist/db/ColumnPlugins.d.ts +0 -750
  234. package/dist/db/ColumnPlugins.js +0 -114
  235. package/dist/db/ColumnPlugins.js.map +0 -1
  236. package/dist/db/DBUtils.d.ts +0 -2
  237. package/dist/db/DBUtils.js +0 -27
  238. package/dist/db/DBUtils.js.map +0 -1
  239. package/dist/db/DocumentationPlugin.d.ts +0 -67
  240. package/dist/db/DocumentationPlugin.js +0 -258
  241. package/dist/db/DocumentationPlugin.js.map +0 -1
  242. package/dist/db/LicensingPlugin.d.ts +0 -60
  243. package/dist/db/LicensingPlugin.js +0 -117
  244. package/dist/db/LicensingPlugin.js.map +0 -1
  245. package/dist/db/RecordPlugin.d.ts +0 -133
  246. package/dist/db/RecordPlugin.js +0 -337
  247. package/dist/db/RecordPlugin.js.map +0 -1
  248. package/dist/db/TablePlugin.d.ts +0 -231
  249. package/dist/db/TablePlugin.js +0 -1628
  250. package/dist/db/TablePlugin.js.map +0 -1
  251. package/dist/db/index.d.ts +0 -6
  252. package/dist/db/index.js +0 -32
  253. package/dist/db/index.js.map +0 -1
  254. package/dist/scriptedRESTAPI/RESTDeserializationUtils.d.ts +0 -10
  255. package/dist/scriptedRESTAPI/RESTDeserializationUtils.js +0 -373
  256. package/dist/scriptedRESTAPI/RESTDeserializationUtils.js.map +0 -1
  257. package/dist/scriptedRESTAPI/RESTSerializationUtils.d.ts +0 -13
  258. package/dist/scriptedRESTAPI/RESTSerializationUtils.js +0 -177
  259. package/dist/scriptedRESTAPI/RESTSerializationUtils.js.map +0 -1
  260. package/dist/scriptedRESTAPI/RestApiPlugin.d.ts +0 -81
  261. package/dist/scriptedRESTAPI/RestApiPlugin.js +0 -345
  262. package/dist/scriptedRESTAPI/RestApiPlugin.js.map +0 -1
  263. package/dist/scriptedRESTAPI/RestSchemaUtils.d.ts +0 -190
  264. package/dist/scriptedRESTAPI/RestSchemaUtils.js +0 -53
  265. package/dist/scriptedRESTAPI/RestSchemaUtils.js.map +0 -1
  266. package/dist/scriptedRESTAPI/RestUtils.d.ts +0 -69
  267. package/dist/scriptedRESTAPI/RestUtils.js +0 -497
  268. package/dist/scriptedRESTAPI/RestUtils.js.map +0 -1
  269. package/dist/scripts/ClientScriptPlugin.d.ts +0 -64
  270. package/dist/scripts/ClientScriptPlugin.js +0 -170
  271. package/dist/scripts/ClientScriptPlugin.js.map +0 -1
  272. package/dist/scripts/scriptUtils.d.ts +0 -1
  273. package/dist/scripts/scriptUtils.js +0 -9
  274. package/dist/scripts/scriptUtils.js.map +0 -1
  275. package/dist/uxf/ExperiencePlugin.d.ts +0 -45
  276. package/dist/uxf/ExperiencePlugin.js +0 -61
  277. package/dist/uxf/ExperiencePlugin.js.map +0 -1
  278. package/dist/uxf/RoutesPlugin.d.ts +0 -29
  279. package/dist/uxf/RoutesPlugin.js +0 -181
  280. package/dist/uxf/RoutesPlugin.js.map +0 -1
  281. package/dist/uxf/UxfFormulaParser/cleanUxValue.d.ts +0 -4
  282. package/dist/uxf/UxfFormulaParser/cleanUxValue.js +0 -65
  283. package/dist/uxf/UxfFormulaParser/cleanUxValue.js.map +0 -1
  284. package/dist/uxf/UxfFormulaParser/grammerParser/api.d.ts +0 -189
  285. package/dist/uxf/UxfFormulaParser/grammerParser/api.js +0 -158
  286. package/dist/uxf/UxfFormulaParser/grammerParser/api.js.map +0 -1
  287. package/dist/uxf/UxfFormulaParser/grammerParser/clientTransformMap.d.ts +0 -13
  288. package/dist/uxf/UxfFormulaParser/grammerParser/clientTransformMap.js +0 -604
  289. package/dist/uxf/UxfFormulaParser/grammerParser/clientTransformMap.js.map +0 -1
  290. package/dist/uxf/UxfFormulaParser/grammerParser/grammarParser.d.ts +0 -12
  291. package/dist/uxf/UxfFormulaParser/grammerParser/grammarParser.js +0 -551
  292. package/dist/uxf/UxfFormulaParser/grammerParser/grammarParser.js.map +0 -1
  293. package/dist/uxf/UxfFormulaParser/grammerParser/spanHelpers.d.ts +0 -31
  294. package/dist/uxf/UxfFormulaParser/grammerParser/spanHelpers.js +0 -64
  295. package/dist/uxf/UxfFormulaParser/grammerParser/spanHelpers.js.map +0 -1
  296. package/dist/uxf/UxfFormulaParser/index.d.ts +0 -3
  297. package/dist/uxf/UxfFormulaParser/index.js +0 -11
  298. package/dist/uxf/UxfFormulaParser/index.js.map +0 -1
  299. package/dist/uxf/UxfFormulaParser/parser.d.ts +0 -8
  300. package/dist/uxf/UxfFormulaParser/parser.js +0 -87
  301. package/dist/uxf/UxfFormulaParser/parser.js.map +0 -1
  302. package/dist/uxf/UxfFormulaParser/utils/getErrorMsg.d.ts +0 -8
  303. package/dist/uxf/UxfFormulaParser/utils/getErrorMsg.js +0 -17
  304. package/dist/uxf/UxfFormulaParser/utils/getErrorMsg.js.map +0 -1
  305. package/dist/uxf/constants.d.ts +0 -2
  306. package/dist/uxf/constants.js +0 -8
  307. package/dist/uxf/constants.js.map +0 -1
  308. package/dist/uxf/index.d.ts +0 -2
  309. package/dist/uxf/index.js +0 -11
  310. package/dist/uxf/index.js.map +0 -1
  311. package/dist/uxf/tectonicIdGenerator.d.ts +0 -12
  312. package/dist/uxf/tectonicIdGenerator.js +0 -79
  313. package/dist/uxf/tectonicIdGenerator.js.map +0 -1
  314. package/src/AttachmentPlugin.ts +0 -268
  315. package/src/BusinessRulePlugin.ts +0 -238
  316. package/src/CrossScopePrivilegePlugin.ts +0 -115
  317. package/src/DefaultPlugin.ts +0 -288
  318. package/src/HtmlTemplatePlugin.ts +0 -31
  319. package/src/IdPlugin.ts +0 -74
  320. package/src/IncludePlugin.ts +0 -206
  321. package/src/JsonPlugin.ts +0 -76
  322. package/src/ListPlugin.ts +0 -570
  323. package/src/NowConfigPlugin.ts +0 -69
  324. package/src/PackageJsonPlugin.ts +0 -68
  325. package/src/PropertyPlugin.ts +0 -237
  326. package/src/ScriptTemplatePlugin.ts +0 -53
  327. package/src/ServerModulePlugin.ts +0 -480
  328. package/src/UserPreferencePlugin.ts +0 -45
  329. package/src/aclAndRole/AclPlugin.ts +0 -420
  330. package/src/aclAndRole/RolePlugin.ts +0 -254
  331. package/src/aclAndRole/Util.ts +0 -113
  332. package/src/app/ApplicationMenuPlugin.ts +0 -165
  333. package/src/db/ColumnPlugins.ts +0 -114
  334. package/src/db/DBUtils.ts +0 -36
  335. package/src/db/DocumentationPlugin.ts +0 -316
  336. package/src/db/LicensingPlugin.ts +0 -138
  337. package/src/db/RecordPlugin.ts +0 -459
  338. package/src/db/TablePlugin.ts +0 -2070
  339. package/src/db/index.ts +0 -6
  340. package/src/scriptedRESTAPI/RESTDeserializationUtils.ts +0 -419
  341. package/src/scriptedRESTAPI/RESTSerializationUtils.ts +0 -228
  342. package/src/scriptedRESTAPI/RestApiPlugin.ts +0 -469
  343. package/src/scriptedRESTAPI/RestSchemaUtils.ts +0 -72
  344. package/src/scriptedRESTAPI/RestUtils.ts +0 -569
  345. package/src/scripts/ClientScriptPlugin.ts +0 -257
  346. package/src/scripts/scriptUtils.ts +0 -5
  347. package/src/uxf/ExperiencePlugin.ts +0 -67
  348. package/src/uxf/RoutesPlugin.ts +0 -211
  349. package/src/uxf/UxfFormulaParser/cleanUxValue.ts +0 -73
  350. package/src/uxf/UxfFormulaParser/grammerParser/api.js +0 -166
  351. package/src/uxf/UxfFormulaParser/grammerParser/clientTransformMap.js +0 -606
  352. package/src/uxf/UxfFormulaParser/grammerParser/grammarParser.js +0 -551
  353. package/src/uxf/UxfFormulaParser/grammerParser/spanHelpers.js +0 -65
  354. package/src/uxf/UxfFormulaParser/index.ts +0 -4
  355. package/src/uxf/UxfFormulaParser/parser.ts +0 -64
  356. package/src/uxf/UxfFormulaParser/utils/getErrorMsg.ts +0 -13
  357. package/src/uxf/constants.ts +0 -4
  358. package/src/uxf/index.ts +0 -2
  359. package/src/uxf/tectonicIdGenerator.ts +0 -78
@@ -0,0 +1,636 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BasicSyntaxPlugin = void 0;
4
+ const sdk_build_core_1 = require("@servicenow/sdk-build-core");
5
+ exports.BasicSyntaxPlugin = sdk_build_core_1.Plugin.create({
6
+ name: 'BasicSyntaxPlugin',
7
+ files: [
8
+ {
9
+ entryPoint: true,
10
+ matcher: RegExp(`${sdk_build_core_1.NOW_FILE_EXTENSION}$`),
11
+ },
12
+ ],
13
+ shapes: [
14
+ {
15
+ shape: sdk_build_core_1.DeletedShape,
16
+ commit(_, target) {
17
+ (0, sdk_build_core_1.removeReferences)(target);
18
+ (0, sdk_build_core_1.remove)(target);
19
+ return { success: true };
20
+ },
21
+ },
22
+ {
23
+ shape: sdk_build_core_1.UndefinedShape,
24
+ commit(_, target) {
25
+ if (!(0, sdk_build_core_1.isUndefined)(target)) {
26
+ target.replaceWithText('undefined');
27
+ }
28
+ return { success: true };
29
+ },
30
+ },
31
+ {
32
+ shape: sdk_build_core_1.TemplateExpressionShape,
33
+ async commit(shape, target, { commit }) {
34
+ if (!sdk_build_core_1.ts.Node.isTemplateExpression(target) &&
35
+ !sdk_build_core_1.ts.Node.isTaggedTemplateExpression(target) &&
36
+ !sdk_build_core_1.ts.Node.isNoSubstitutionTemplateLiteral(target)) {
37
+ target.replaceWithText(shape.getCode());
38
+ return { success: true };
39
+ }
40
+ const template = sdk_build_core_1.ts.Node.isTaggedTemplateExpression(target) ? target.removeTag() : target;
41
+ const targetSpans = sdk_build_core_1.ts.Node.isTemplateExpression(template) ? template.getTemplateSpans() : [];
42
+ const shapeSpans = shape.getSpans();
43
+ if (shapeSpans.length !== targetSpans.length) {
44
+ template.replaceWithText(shape.getCode());
45
+ return { success: true };
46
+ }
47
+ for (const [i, targetSpan] of targetSpans.entries()) {
48
+ const shapeSpan = shapeSpans[i];
49
+ if (!shapeSpan) {
50
+ throw new Error(`Expected shape to have a span at index ${i}`);
51
+ }
52
+ await commit(shapeSpan, targetSpan);
53
+ }
54
+ return { success: true };
55
+ },
56
+ },
57
+ {
58
+ shape: sdk_build_core_1.TemplateSpanShape,
59
+ async commit(shape, target, { commit }) {
60
+ if (!sdk_build_core_1.ts.Node.isTemplateSpan(target)) {
61
+ target.replaceWithText(shape.getCode());
62
+ return { success: true };
63
+ }
64
+ const literal = target.getLiteral();
65
+ if (shape.getLiteralText() !== literal.getLiteralText()) {
66
+ if (literal.isKind(sdk_build_core_1.ts.SyntaxKind.TemplateMiddle)) {
67
+ literal.replaceWithText(`}${shape.getLiteralText()}\${`);
68
+ }
69
+ else if (literal.isKind(sdk_build_core_1.ts.SyntaxKind.TemplateTail)) {
70
+ literal.replaceWithText(`}${shape.getLiteralText()}\``);
71
+ }
72
+ }
73
+ await commit(shape.getExpression(), target.getExpression());
74
+ return { success: true };
75
+ },
76
+ },
77
+ {
78
+ shape: sdk_build_core_1.StringLiteralShape,
79
+ async commit(shape, target, { commit }) {
80
+ const coerced = (() => {
81
+ try {
82
+ if (sdk_build_core_1.ts.Node.isTrueLiteral(target) || sdk_build_core_1.ts.Node.isFalseLiteral(target)) {
83
+ return shape.toBoolean();
84
+ }
85
+ else if (sdk_build_core_1.ts.Node.isNumericLiteral(target)) {
86
+ const number = shape.toNumber();
87
+ // Turn the number back into a string and compare with the original string to avoid
88
+ // lossy conversions due to floating point precision or other factors
89
+ return number.getValue().toString() === shape.getValue() ? number : undefined;
90
+ }
91
+ else {
92
+ return undefined;
93
+ }
94
+ }
95
+ catch {
96
+ return undefined;
97
+ }
98
+ })();
99
+ if (coerced) {
100
+ await commit(coerced, target);
101
+ return { success: true };
102
+ }
103
+ if (sdk_build_core_1.ts.Node.isTaggedTemplateExpression(target)) {
104
+ // Preserve tags when updating
105
+ target.getTemplate().replaceWithText(new sdk_build_core_1.TemplateExpressionShape({
106
+ source: shape,
107
+ literalText: shape,
108
+ }).getCode());
109
+ }
110
+ else {
111
+ target.replaceWithText(shape.getCode());
112
+ }
113
+ return { success: true };
114
+ },
115
+ },
116
+ {
117
+ shape: sdk_build_core_1.NumberShape,
118
+ commit(shape, target) {
119
+ if (sdk_build_core_1.ts.Node.isNumericLiteral(target) && target.getLiteralValue() === shape.getValue()) {
120
+ return { success: true };
121
+ }
122
+ target.replaceWithText(shape.getValue().toString());
123
+ return { success: true };
124
+ },
125
+ },
126
+ {
127
+ shape: sdk_build_core_1.BooleanShape,
128
+ commit(shape, target) {
129
+ if ((sdk_build_core_1.ts.Node.isTrueLiteral(target) || sdk_build_core_1.ts.Node.isFalseLiteral(target)) &&
130
+ target.getLiteralValue() === shape.getValue()) {
131
+ return { success: true };
132
+ }
133
+ target.replaceWithText(shape.getValue().toString());
134
+ return { success: true };
135
+ },
136
+ },
137
+ {
138
+ shape: sdk_build_core_1.ArrayShape,
139
+ async commit(shape, target, { commit }) {
140
+ if (!sdk_build_core_1.ts.Node.isArrayLiteralExpression(target)) {
141
+ target.replaceWithText(shape.getCode());
142
+ return { success: true };
143
+ }
144
+ // Trim any excess elements
145
+ const targetElements = target.getElements();
146
+ const shapeElements = shape.getElements(false);
147
+ const excess = targetElements.length - shapeElements.length;
148
+ for (let i = 1; i <= excess; i++) {
149
+ target.removeElement(targetElements.length - i);
150
+ }
151
+ // Commit existing elements in the trimmed array
152
+ for (const [i, targetElement] of target.getElements().entries()) {
153
+ await commit(shape.getElement(i, false), targetElement);
154
+ }
155
+ // Add new elements all at once, and we're done
156
+ const elementsToAdd = shapeElements.slice(target.getElements().length).map((e) => e.getCode());
157
+ if (elementsToAdd.length > 0) {
158
+ target.addElements(elementsToAdd);
159
+ }
160
+ return { success: true };
161
+ },
162
+ },
163
+ {
164
+ shape: sdk_build_core_1.ObjectShape,
165
+ async commit(shape, target, { commit }) {
166
+ if (!sdk_build_core_1.ts.Node.isObjectLiteralExpression(target)) {
167
+ target.replaceWithText(shape.getCode());
168
+ return { success: true };
169
+ }
170
+ const existingNames = target
171
+ .getProperties()
172
+ .filter((p) => p.isKind(sdk_build_core_1.ts.SyntaxKind.PropertyAssignment))
173
+ .reduce((map, p) => map.set(getName(p), p.getInitializerOrThrow()), new Map());
174
+ const propsToRetain = new Set(['$meta']);
175
+ const propsToAdd = [];
176
+ for (const [name, value] of shape.entries({ resolve: false })) {
177
+ const existingPropKey = [...shape.getAliases(name), name].find((aliasedKey) => existingNames.has(aliasedKey));
178
+ if (existingPropKey) {
179
+ if (existingPropKey !== name) {
180
+ target
181
+ .getPropertyOrThrow(existingPropKey)
182
+ .asKindOrThrow(sdk_build_core_1.ts.SyntaxKind.PropertyAssignment)
183
+ .getNameNode()
184
+ .replaceWithText(name);
185
+ }
186
+ await commit(value, existingNames.get(existingPropKey));
187
+ }
188
+ else if (!value.equals(shape.getDefault(name))) {
189
+ propsToAdd.push({
190
+ name: sdk_build_core_1.ObjectShape.quotePropertyNameIfNeeded(name),
191
+ initializer: value.getCode(),
192
+ kind: sdk_build_core_1.ts.StructureKind.PropertyAssignment,
193
+ });
194
+ }
195
+ propsToRetain.add(name);
196
+ }
197
+ // Add all missing props at once to improve performance
198
+ if (propsToAdd.length > 0) {
199
+ target.addPropertyAssignments(propsToAdd);
200
+ }
201
+ const propsToRemove = [...existingNames.keys()].filter((key) => !propsToRetain.has(key));
202
+ propsToRemove.forEach((prop) => {
203
+ target.getProperty(prop)?.asKindOrThrow(sdk_build_core_1.ts.SyntaxKind.PropertyAssignment).remove();
204
+ });
205
+ return { success: true };
206
+ },
207
+ },
208
+ {
209
+ shape: sdk_build_core_1.IdentifierShape,
210
+ commit(shape, target) {
211
+ if (sdk_build_core_1.ts.Node.isIdentifier(target) && target.getText() === shape.getName()) {
212
+ return { success: true };
213
+ }
214
+ target.replaceWithText(shape.getName());
215
+ return { success: true };
216
+ },
217
+ },
218
+ {
219
+ shape: sdk_build_core_1.VariableStatementShape,
220
+ async commit(shape, target, { commit }) {
221
+ if (!sdk_build_core_1.ts.Node.isVariableStatement(target)) {
222
+ target.replaceWithText(shape.getCode());
223
+ return { success: true };
224
+ }
225
+ if (target.isExported() !== shape.isExported()) {
226
+ target.setIsExported(shape.isExported());
227
+ }
228
+ const [declaration, otherDeclaration] = target.getDeclarations();
229
+ if (!declaration) {
230
+ throw new Error(`Variable statement is missing a declaration: ${target.getFullText()}`);
231
+ }
232
+ if (otherDeclaration) {
233
+ (0, sdk_build_core_1.removeReferences)(otherDeclaration);
234
+ (0, sdk_build_core_1.remove)(otherDeclaration);
235
+ }
236
+ const variableName = shape.getVariableName();
237
+ if (declaration.getName() !== variableName.getName()) {
238
+ await commit(variableName, declaration.getNameNode());
239
+ }
240
+ await commit(shape.getInitializer(), declaration.getInitializerOrThrow());
241
+ return { success: true };
242
+ },
243
+ },
244
+ ],
245
+ nodes: [
246
+ {
247
+ node: 'SourceFile',
248
+ async toShape(file, { diagnostics, transform }) {
249
+ if ((0, sdk_build_core_1.isFluentFile)(file)) {
250
+ const syntaxList = file.getChildSyntaxList();
251
+ if (!syntaxList) {
252
+ diagnostics.error(file, 'Fluent source file contains no meaningful content.');
253
+ return { success: false };
254
+ }
255
+ for (const child of syntaxList.getChildren()) {
256
+ if (sdk_build_core_1.ts.Node.isCommentNode(child)) {
257
+ continue;
258
+ }
259
+ const result = await transform.toShape(child);
260
+ if (!result.success) {
261
+ diagnostics.error(child, 'Unsupported statement in Fluent source file.');
262
+ return { success: false };
263
+ }
264
+ }
265
+ }
266
+ return {
267
+ success: true,
268
+ value: new sdk_build_core_1.SourceFileShape({ file }),
269
+ };
270
+ },
271
+ },
272
+ {
273
+ node: 'StringLiteral',
274
+ toShape(node) {
275
+ return {
276
+ success: true,
277
+ value: new sdk_build_core_1.StringLiteralShape({ source: node, literalText: node.getLiteralValue() }),
278
+ };
279
+ },
280
+ },
281
+ {
282
+ node: 'NoSubstitutionTemplateLiteral',
283
+ toShape(node) {
284
+ return {
285
+ success: true,
286
+ value: new sdk_build_core_1.TemplateExpressionShape({ source: node, literalText: node.getLiteralValue() }),
287
+ };
288
+ },
289
+ },
290
+ {
291
+ node: 'NumericLiteral',
292
+ toShape(node) {
293
+ return {
294
+ success: true,
295
+ value: new sdk_build_core_1.NumberShape({ source: node, value: node.getLiteralValue() }),
296
+ };
297
+ },
298
+ },
299
+ {
300
+ node: 'NullKeyword',
301
+ toShape(node) {
302
+ return {
303
+ success: true,
304
+ value: new sdk_build_core_1.UndefinedShape({ source: node }),
305
+ };
306
+ },
307
+ },
308
+ {
309
+ node: 'TrueKeyword',
310
+ toShape(node) {
311
+ return {
312
+ success: true,
313
+ value: new sdk_build_core_1.BooleanShape({ source: node, value: true }),
314
+ };
315
+ },
316
+ },
317
+ {
318
+ node: 'FalseKeyword',
319
+ toShape(node) {
320
+ return {
321
+ success: true,
322
+ value: new sdk_build_core_1.BooleanShape({ source: node, value: false }),
323
+ };
324
+ },
325
+ },
326
+ {
327
+ node: 'AsExpression',
328
+ toShape(node, { transform }) {
329
+ return transform.toShape(node.getExpression());
330
+ },
331
+ },
332
+ {
333
+ node: 'ExportAssignment',
334
+ toShape(node, { transform }) {
335
+ return transform.toShape(node.getExpression());
336
+ },
337
+ },
338
+ {
339
+ node: 'ComputedPropertyName',
340
+ toShape(node, { transform }) {
341
+ return transform.toShape(node.getExpression());
342
+ },
343
+ },
344
+ {
345
+ node: 'PropertyAccessExpression',
346
+ async toShape(node, { transform, diagnostics }) {
347
+ const lastElementNode = node.getNameNode();
348
+ const lastElement = await transform.toShape(lastElementNode);
349
+ if (!lastElement.success || !lastElement.value.isIdentifier()) {
350
+ diagnostics.error(lastElementNode, 'Last element of property access expression is unsupported');
351
+ return { success: false };
352
+ }
353
+ const expressionNode = node.getExpression();
354
+ const expression = await transform.toShape(expressionNode);
355
+ if (!expression.success || !expression.value.is([sdk_build_core_1.IdentifierShape, sdk_build_core_1.PropertyAccessShape])) {
356
+ diagnostics.error(expressionNode, 'Left side of property access expression is unsupported');
357
+ return { success: false };
358
+ }
359
+ const elements = expression.value.isIdentifier()
360
+ ? [expression.value, lastElement.value]
361
+ : [...expression.value.getElements(), lastElement.value];
362
+ return {
363
+ success: true,
364
+ value: new sdk_build_core_1.PropertyAccessShape({ source: node, elements }),
365
+ };
366
+ },
367
+ },
368
+ {
369
+ node: 'ExpressionStatement',
370
+ toShape(node, { transform }) {
371
+ return transform.toShape(node.getExpression());
372
+ },
373
+ },
374
+ {
375
+ node: 'Identifier',
376
+ async toShape(node, { transform }) {
377
+ if ((0, sdk_build_core_1.isUndefined)(node)) {
378
+ return {
379
+ success: true,
380
+ value: new sdk_build_core_1.UndefinedShape({ source: node }),
381
+ };
382
+ }
383
+ const name = node.getSymbol()?.getName() ?? node.getText();
384
+ const valueDeclaration = (0, sdk_build_core_1.getValueDeclaration)(node);
385
+ const valueResult = valueDeclaration && (await transform.toShape(valueDeclaration));
386
+ return {
387
+ success: true,
388
+ value: valueResult?.success
389
+ ? new sdk_build_core_1.IdentifierShape({ source: node, name, value: valueResult.value })
390
+ : new sdk_build_core_1.IdentifierShape({ source: node, name }),
391
+ };
392
+ },
393
+ },
394
+ {
395
+ node: 'Parameter',
396
+ toShape(node) {
397
+ return {
398
+ success: true,
399
+ value: new sdk_build_core_1.IdentifierShape({
400
+ source: node,
401
+ name: node.getName(),
402
+ }),
403
+ };
404
+ },
405
+ },
406
+ {
407
+ node: 'VariableStatement',
408
+ async toShape(node, { transform, diagnostics }) {
409
+ const kind = node.getDeclarationKind();
410
+ if (kind !== sdk_build_core_1.ts.VariableDeclarationKind.Const) {
411
+ diagnostics.error(node.getDeclarationKindKeywords()[0] ?? node, `Declaration kind "${kind}" is not supported. Only const variables are supported.`);
412
+ return { success: false };
413
+ }
414
+ const defaultKeyword = node.getDefaultKeyword();
415
+ if (defaultKeyword) {
416
+ diagnostics.error(defaultKeyword, 'Default exports are not supported');
417
+ return { success: false };
418
+ }
419
+ const [declaration, otherDeclaration] = node.getDeclarations();
420
+ if (!declaration) {
421
+ diagnostics.error(node, 'Missing declaration in variable statement');
422
+ return { success: false };
423
+ }
424
+ if (otherDeclaration) {
425
+ diagnostics.error(otherDeclaration, 'Additional declarations in variable statements are not supported');
426
+ return { success: false };
427
+ }
428
+ const initializer = declaration.getInitializerOrThrow();
429
+ const initializerResult = await transform.toShape(initializer);
430
+ if (!initializerResult.success) {
431
+ diagnostics.error(initializer, 'Unsupported variable initializer');
432
+ return { success: false };
433
+ }
434
+ return {
435
+ success: true,
436
+ value: new sdk_build_core_1.VariableStatementShape({
437
+ source: node,
438
+ variableName: new sdk_build_core_1.IdentifierShape({ source: node, name: declaration.getName() }),
439
+ initializer: initializerResult.value,
440
+ isExported: node.isExported(),
441
+ }),
442
+ };
443
+ },
444
+ },
445
+ {
446
+ node: 'VariableDeclaration',
447
+ toShape(node, { transform }) {
448
+ const initializer = node.getInitializer();
449
+ return initializer
450
+ ? transform.toShape(initializer)
451
+ : {
452
+ success: true,
453
+ value: new sdk_build_core_1.UndefinedShape({ source: node }),
454
+ };
455
+ },
456
+ },
457
+ {
458
+ node: 'ArrayLiteralExpression',
459
+ async toShape(node, { transform }) {
460
+ const elements = [];
461
+ for (const element of node.getElements()) {
462
+ const result = await transform.toShape(element);
463
+ if (!result.success) {
464
+ return { success: false };
465
+ }
466
+ elements.push(result.value);
467
+ }
468
+ return {
469
+ success: true,
470
+ value: new sdk_build_core_1.ArrayShape({ source: node, elements }),
471
+ };
472
+ },
473
+ },
474
+ {
475
+ node: 'PropertyAssignment',
476
+ toShape(node, { transform, diagnostics }) {
477
+ const initializer = node.getInitializer();
478
+ if (!initializer) {
479
+ diagnostics.error(node, 'Property must have an initializer');
480
+ return { success: false };
481
+ }
482
+ return transform.toShape(initializer);
483
+ },
484
+ },
485
+ {
486
+ node: 'ObjectLiteralExpression',
487
+ async toShape(node, { transform, diagnostics }) {
488
+ const properties = {};
489
+ for (const property of node.getProperties()) {
490
+ if (!sdk_build_core_1.ts.Node.isPropertyAssignment(property)) {
491
+ diagnostics.error(property, 'Only property assignments are allowed');
492
+ continue;
493
+ }
494
+ const result = await transform.toShape(property);
495
+ if (!result.success) {
496
+ diagnostics.error(property, 'Failed to parse property');
497
+ return { success: false };
498
+ }
499
+ const nameNode = property.getNameNode();
500
+ const name = sdk_build_core_1.ts.Node.isStringLiteral(nameNode) ? nameNode.getLiteralValue() : property.getName();
501
+ properties[name] = result.value;
502
+ }
503
+ return {
504
+ success: true,
505
+ value: new sdk_build_core_1.ObjectShape({ source: node, properties }),
506
+ };
507
+ },
508
+ },
509
+ {
510
+ node: 'TemplateSpan',
511
+ async toShape(span, { transform, diagnostics }) {
512
+ const expression = await transform.toShape(span.getExpression());
513
+ if (!expression.success) {
514
+ diagnostics.error(span, 'Unsupported expression in template');
515
+ return { success: false };
516
+ }
517
+ return {
518
+ success: true,
519
+ value: new sdk_build_core_1.TemplateSpanShape({
520
+ source: span,
521
+ expression: expression.value,
522
+ literalText: span.getLiteral().getLiteralText(),
523
+ }),
524
+ };
525
+ },
526
+ },
527
+ {
528
+ node: 'TemplateExpression',
529
+ async toShape(node, { transform, diagnostics }) {
530
+ const spans = [];
531
+ for (const span of node.getTemplateSpans()) {
532
+ const result = await transform.toShape(span);
533
+ if (!result.success || !result.value.is(sdk_build_core_1.TemplateSpanShape)) {
534
+ diagnostics.error(span, 'Unsupported span in template expression');
535
+ return { success: false };
536
+ }
537
+ spans.push(result.value);
538
+ }
539
+ return {
540
+ success: true,
541
+ value: new sdk_build_core_1.TemplateExpressionShape({
542
+ source: node,
543
+ literalText: node.getHead().getLiteralText(),
544
+ spans,
545
+ }),
546
+ };
547
+ },
548
+ },
549
+ {
550
+ node: 'TaggedTemplateExpression',
551
+ async toShape(node, { transform, diagnostics }) {
552
+ const template = node.getTemplate();
553
+ const templateResult = await transform.toShape(template);
554
+ if (!templateResult.success || !templateResult.value.is(sdk_build_core_1.TemplateExpressionShape)) {
555
+ diagnostics.error(template, 'Unsupported template in tagged template expression');
556
+ return { success: false };
557
+ }
558
+ return {
559
+ success: true,
560
+ value: new sdk_build_core_1.TaggedTemplateExpressionShape({
561
+ source: node,
562
+ tag: node.getTag().getText(),
563
+ template: templateResult.value,
564
+ }),
565
+ };
566
+ },
567
+ },
568
+ {
569
+ node: 'PrefixUnaryExpression',
570
+ toShape(node, { diagnostics }) {
571
+ if (!sdk_build_core_1.ts.Node.isNumericLiteral(node.getOperand()) ||
572
+ node.getOperatorToken() !== sdk_build_core_1.ts.SyntaxKind.MinusToken) {
573
+ diagnostics.error(node, 'Unsupported prefix unary expression');
574
+ return { success: false };
575
+ }
576
+ return {
577
+ success: true,
578
+ value: new sdk_build_core_1.NumberShape({
579
+ source: node,
580
+ value: -node.getOperand().asKindOrThrow(sdk_build_core_1.ts.SyntaxKind.NumericLiteral).getLiteralValue(),
581
+ }),
582
+ };
583
+ },
584
+ },
585
+ {
586
+ node: 'ElementAccessExpression',
587
+ async toShape(node, { transform, diagnostics }) {
588
+ const argumentExpression = node.getArgumentExpression();
589
+ if (!argumentExpression) {
590
+ diagnostics.error(node, 'Element access expression must have an argument');
591
+ return { success: false };
592
+ }
593
+ const argumentShape = await transform.toShape(argumentExpression);
594
+ if (!argumentShape.success) {
595
+ diagnostics.error(node, 'Unsupported element access expression argument');
596
+ return { success: false };
597
+ }
598
+ return {
599
+ success: true,
600
+ value: new sdk_build_core_1.ElementAccessExpressionShape({
601
+ source: node,
602
+ callee: node.getExpression().getText(),
603
+ arg: argumentShape.value,
604
+ }),
605
+ };
606
+ },
607
+ },
608
+ {
609
+ node: 'ImportDeclaration',
610
+ toShape(node) {
611
+ // TODO: This is just to prevent diagnostic errors. We should return a meaningful shape here.
612
+ return {
613
+ success: true,
614
+ value: sdk_build_core_1.Shape.noOp(node),
615
+ };
616
+ },
617
+ },
618
+ {
619
+ node: 'ExportDeclaration',
620
+ toShape(node) {
621
+ // TODO: This is just to prevent diagnostic errors. We should return a meaningful shape here.
622
+ return {
623
+ success: true,
624
+ value: sdk_build_core_1.Shape.noOp(node),
625
+ };
626
+ },
627
+ },
628
+ ],
629
+ });
630
+ function getName(node) {
631
+ const nameNode = node.getNameNode();
632
+ return sdk_build_core_1.ts.Node.isStringLiteral(nameNode) || sdk_build_core_1.ts.Node.isNoSubstitutionTemplateLiteral(nameNode)
633
+ ? nameNode.getLiteralValue()
634
+ : nameNode.getText();
635
+ }
636
+ //# sourceMappingURL=basic-syntax-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basic-syntax-plugin.js","sourceRoot":"","sources":["../src/basic-syntax-plugin.ts"],"names":[],"mappings":"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"}