jqwidgets-ng 18.0.0 → 18.2.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 (444) hide show
  1. package/ReleaseNotes.txt +5 -125
  2. package/esm2020/jqxdatatable/angular_jqxdatatable.mjs +3 -0
  3. package/esm2020/jqxgrid/angular_jqxgrid.mjs +3 -0
  4. package/esm2020/jqxtreegrid/angular_jqxtreegrid.mjs +3 -0
  5. package/fesm2015/jqwidgets-ng-jqxbarcode.mjs +4 -2
  6. package/fesm2015/jqwidgets-ng-jqxbargauge.mjs +5 -3
  7. package/fesm2015/jqwidgets-ng-jqxbulletchart.mjs +6 -4
  8. package/fesm2015/jqwidgets-ng-jqxbuttongroup.mjs +5 -3
  9. package/fesm2015/jqwidgets-ng-jqxbuttons.mjs +4 -2
  10. package/fesm2015/jqwidgets-ng-jqxcalendar.mjs +8 -6
  11. package/fesm2015/jqwidgets-ng-jqxchart.mjs +11 -9
  12. package/fesm2015/jqwidgets-ng-jqxcheckbox.mjs +4 -2
  13. package/fesm2015/jqwidgets-ng-jqxcheckboxgroup.mjs +5 -3
  14. package/fesm2015/jqwidgets-ng-jqxcolorpicker.mjs +7 -5
  15. package/fesm2015/jqwidgets-ng-jqxcombobox.mjs +8 -6
  16. package/fesm2015/jqwidgets-ng-jqxcomplexinput.mjs +5 -3
  17. package/fesm2015/jqwidgets-ng-jqxdatatable.mjs +17 -12
  18. package/fesm2015/jqwidgets-ng-jqxdatetimeinput.mjs +8 -6
  19. package/fesm2015/jqwidgets-ng-jqxdocking.mjs +6 -4
  20. package/fesm2015/jqwidgets-ng-jqxdockinglayout.mjs +10 -8
  21. package/fesm2015/jqwidgets-ng-jqxdockpanel.mjs +4 -2
  22. package/fesm2015/jqwidgets-ng-jqxdragdrop.mjs +4 -2
  23. package/fesm2015/jqwidgets-ng-jqxdraw.mjs +4 -2
  24. package/fesm2015/jqwidgets-ng-jqxdropdownbutton.mjs +5 -3
  25. package/fesm2015/jqwidgets-ng-jqxdropdownlist.mjs +8 -6
  26. package/fesm2015/jqwidgets-ng-jqxeditor.mjs +14 -12
  27. package/fesm2015/jqwidgets-ng-jqxexpander.mjs +4 -2
  28. package/fesm2015/jqwidgets-ng-jqxfileupload.mjs +5 -3
  29. package/fesm2015/jqwidgets-ng-jqxform.mjs +19 -17
  30. package/fesm2015/jqwidgets-ng-jqxformattedinput.mjs +4 -2
  31. package/fesm2015/jqwidgets-ng-jqxgantt.mjs +6 -4
  32. package/fesm2015/jqwidgets-ng-jqxgauge.mjs +5 -3
  33. package/fesm2015/jqwidgets-ng-jqxgrid.mjs +34 -29
  34. package/fesm2015/jqwidgets-ng-jqxheatmap.mjs +4 -2
  35. package/fesm2015/jqwidgets-ng-jqxinput.mjs +5 -3
  36. package/fesm2015/jqwidgets-ng-jqxkanban.mjs +7 -5
  37. package/fesm2015/jqwidgets-ng-jqxknob.mjs +5 -3
  38. package/fesm2015/jqwidgets-ng-jqxlayout.mjs +7 -5
  39. package/fesm2015/jqwidgets-ng-jqxlineargauge.mjs +5 -3
  40. package/fesm2015/jqwidgets-ng-jqxlinkbutton.mjs +4 -2
  41. package/fesm2015/jqwidgets-ng-jqxlistbox.mjs +8 -6
  42. package/fesm2015/jqwidgets-ng-jqxlistmenu.mjs +7 -5
  43. package/fesm2015/jqwidgets-ng-jqxloader.mjs +4 -2
  44. package/fesm2015/jqwidgets-ng-jqxmaskedinput.mjs +4 -2
  45. package/fesm2015/jqwidgets-ng-jqxmenu.mjs +5 -3
  46. package/fesm2015/jqwidgets-ng-jqxnavbar.mjs +4 -2
  47. package/fesm2015/jqwidgets-ng-jqxnavigationbar.mjs +4 -2
  48. package/fesm2015/jqwidgets-ng-jqxnotification.mjs +5 -3
  49. package/fesm2015/jqwidgets-ng-jqxnumberinput.mjs +5 -3
  50. package/fesm2015/jqwidgets-ng-jqxpanel.mjs +6 -4
  51. package/fesm2015/jqwidgets-ng-jqxpasswordinput.mjs +5 -3
  52. package/fesm2015/jqwidgets-ng-jqxpivotdesigner.mjs +3 -1
  53. package/fesm2015/jqwidgets-ng-jqxpivotgrid.mjs +16 -14
  54. package/fesm2015/jqwidgets-ng-jqxpopover.mjs +4 -2
  55. package/fesm2015/jqwidgets-ng-jqxprogressbar.mjs +4 -2
  56. package/fesm2015/jqwidgets-ng-jqxqrcode.mjs +5 -3
  57. package/fesm2015/jqwidgets-ng-jqxradiobutton.mjs +4 -2
  58. package/fesm2015/jqwidgets-ng-jqxradiobuttongroup.mjs +5 -3
  59. package/fesm2015/jqwidgets-ng-jqxrangeselector.mjs +6 -4
  60. package/fesm2015/jqwidgets-ng-jqxrating.mjs +4 -2
  61. package/fesm2015/jqwidgets-ng-jqxrepeatbutton.mjs +4 -2
  62. package/fesm2015/jqwidgets-ng-jqxresponsivepanel.mjs +4 -2
  63. package/fesm2015/jqwidgets-ng-jqxribbon.mjs +6 -4
  64. package/fesm2015/jqwidgets-ng-jqxscheduler.mjs +24 -22
  65. package/fesm2015/jqwidgets-ng-jqxscrollbar.mjs +5 -3
  66. package/fesm2015/jqwidgets-ng-jqxscrollview.mjs +5 -3
  67. package/fesm2015/jqwidgets-ng-jqxslider.mjs +5 -3
  68. package/fesm2015/jqwidgets-ng-jqxsortable.mjs +5 -3
  69. package/fesm2015/jqwidgets-ng-jqxsplitlayout.mjs +4 -2
  70. package/fesm2015/jqwidgets-ng-jqxsplitter.mjs +5 -3
  71. package/fesm2015/jqwidgets-ng-jqxswitchbutton.mjs +4 -2
  72. package/fesm2015/jqwidgets-ng-jqxtabs.mjs +5 -3
  73. package/fesm2015/jqwidgets-ng-jqxtagcloud.mjs +6 -4
  74. package/fesm2015/jqwidgets-ng-jqxtextarea.mjs +7 -5
  75. package/fesm2015/jqwidgets-ng-jqxtimepicker.mjs +5 -3
  76. package/fesm2015/jqwidgets-ng-jqxtogglebutton.mjs +4 -2
  77. package/fesm2015/jqwidgets-ng-jqxtoolbar.mjs +10 -8
  78. package/fesm2015/jqwidgets-ng-jqxtooltip.mjs +4 -2
  79. package/fesm2015/jqwidgets-ng-jqxtree.mjs +10 -8
  80. package/fesm2015/jqwidgets-ng-jqxtreegrid.mjs +18 -13
  81. package/fesm2015/jqwidgets-ng-jqxtreemap.mjs +6 -4
  82. package/fesm2015/jqwidgets-ng-jqxvalidator.mjs +4 -2
  83. package/fesm2015/jqwidgets-ng-jqxwindow.mjs +5 -3
  84. package/fesm2020/jqwidgets-ng-jqxbarcode.mjs +4 -2
  85. package/fesm2020/jqwidgets-ng-jqxbargauge.mjs +5 -3
  86. package/fesm2020/jqwidgets-ng-jqxbulletchart.mjs +6 -4
  87. package/fesm2020/jqwidgets-ng-jqxbuttongroup.mjs +5 -3
  88. package/fesm2020/jqwidgets-ng-jqxbuttons.mjs +4 -2
  89. package/fesm2020/jqwidgets-ng-jqxcalendar.mjs +8 -6
  90. package/fesm2020/jqwidgets-ng-jqxchart.mjs +11 -9
  91. package/fesm2020/jqwidgets-ng-jqxcheckbox.mjs +4 -2
  92. package/fesm2020/jqwidgets-ng-jqxcheckboxgroup.mjs +5 -3
  93. package/fesm2020/jqwidgets-ng-jqxcolorpicker.mjs +7 -5
  94. package/fesm2020/jqwidgets-ng-jqxcombobox.mjs +8 -6
  95. package/fesm2020/jqwidgets-ng-jqxcomplexinput.mjs +5 -3
  96. package/fesm2020/jqwidgets-ng-jqxdatatable.mjs +17 -12
  97. package/fesm2020/jqwidgets-ng-jqxdatetimeinput.mjs +8 -6
  98. package/fesm2020/jqwidgets-ng-jqxdocking.mjs +6 -4
  99. package/fesm2020/jqwidgets-ng-jqxdockinglayout.mjs +10 -8
  100. package/fesm2020/jqwidgets-ng-jqxdockpanel.mjs +4 -2
  101. package/fesm2020/jqwidgets-ng-jqxdragdrop.mjs +4 -2
  102. package/fesm2020/jqwidgets-ng-jqxdraw.mjs +4 -2
  103. package/fesm2020/jqwidgets-ng-jqxdropdownbutton.mjs +5 -3
  104. package/fesm2020/jqwidgets-ng-jqxdropdownlist.mjs +8 -6
  105. package/fesm2020/jqwidgets-ng-jqxeditor.mjs +14 -12
  106. package/fesm2020/jqwidgets-ng-jqxexpander.mjs +4 -2
  107. package/fesm2020/jqwidgets-ng-jqxfileupload.mjs +5 -3
  108. package/fesm2020/jqwidgets-ng-jqxform.mjs +19 -17
  109. package/fesm2020/jqwidgets-ng-jqxformattedinput.mjs +4 -2
  110. package/fesm2020/jqwidgets-ng-jqxgantt.mjs +6 -4
  111. package/fesm2020/jqwidgets-ng-jqxgauge.mjs +5 -3
  112. package/fesm2020/jqwidgets-ng-jqxgrid.mjs +34 -29
  113. package/fesm2020/jqwidgets-ng-jqxheatmap.mjs +4 -2
  114. package/fesm2020/jqwidgets-ng-jqxinput.mjs +5 -3
  115. package/fesm2020/jqwidgets-ng-jqxkanban.mjs +7 -5
  116. package/fesm2020/jqwidgets-ng-jqxknob.mjs +5 -3
  117. package/fesm2020/jqwidgets-ng-jqxlayout.mjs +7 -5
  118. package/fesm2020/jqwidgets-ng-jqxlineargauge.mjs +5 -3
  119. package/fesm2020/jqwidgets-ng-jqxlinkbutton.mjs +4 -2
  120. package/fesm2020/jqwidgets-ng-jqxlistbox.mjs +8 -6
  121. package/fesm2020/jqwidgets-ng-jqxlistmenu.mjs +7 -5
  122. package/fesm2020/jqwidgets-ng-jqxloader.mjs +4 -2
  123. package/fesm2020/jqwidgets-ng-jqxmaskedinput.mjs +4 -2
  124. package/fesm2020/jqwidgets-ng-jqxmenu.mjs +5 -3
  125. package/fesm2020/jqwidgets-ng-jqxnavbar.mjs +4 -2
  126. package/fesm2020/jqwidgets-ng-jqxnavigationbar.mjs +4 -2
  127. package/fesm2020/jqwidgets-ng-jqxnotification.mjs +5 -3
  128. package/fesm2020/jqwidgets-ng-jqxnumberinput.mjs +5 -3
  129. package/fesm2020/jqwidgets-ng-jqxpanel.mjs +6 -4
  130. package/fesm2020/jqwidgets-ng-jqxpasswordinput.mjs +5 -3
  131. package/fesm2020/jqwidgets-ng-jqxpivotdesigner.mjs +3 -1
  132. package/fesm2020/jqwidgets-ng-jqxpivotgrid.mjs +16 -14
  133. package/fesm2020/jqwidgets-ng-jqxpopover.mjs +4 -2
  134. package/fesm2020/jqwidgets-ng-jqxprogressbar.mjs +4 -2
  135. package/fesm2020/jqwidgets-ng-jqxqrcode.mjs +5 -3
  136. package/fesm2020/jqwidgets-ng-jqxradiobutton.mjs +4 -2
  137. package/fesm2020/jqwidgets-ng-jqxradiobuttongroup.mjs +5 -3
  138. package/fesm2020/jqwidgets-ng-jqxrangeselector.mjs +6 -4
  139. package/fesm2020/jqwidgets-ng-jqxrating.mjs +4 -2
  140. package/fesm2020/jqwidgets-ng-jqxrepeatbutton.mjs +4 -2
  141. package/fesm2020/jqwidgets-ng-jqxresponsivepanel.mjs +4 -2
  142. package/fesm2020/jqwidgets-ng-jqxribbon.mjs +6 -4
  143. package/fesm2020/jqwidgets-ng-jqxscheduler.mjs +24 -22
  144. package/fesm2020/jqwidgets-ng-jqxscrollbar.mjs +5 -3
  145. package/fesm2020/jqwidgets-ng-jqxscrollview.mjs +5 -3
  146. package/fesm2020/jqwidgets-ng-jqxslider.mjs +5 -3
  147. package/fesm2020/jqwidgets-ng-jqxsortable.mjs +5 -3
  148. package/fesm2020/jqwidgets-ng-jqxsplitlayout.mjs +4 -2
  149. package/fesm2020/jqwidgets-ng-jqxsplitter.mjs +5 -3
  150. package/fesm2020/jqwidgets-ng-jqxswitchbutton.mjs +4 -2
  151. package/fesm2020/jqwidgets-ng-jqxtabs.mjs +5 -3
  152. package/fesm2020/jqwidgets-ng-jqxtagcloud.mjs +6 -4
  153. package/fesm2020/jqwidgets-ng-jqxtextarea.mjs +7 -5
  154. package/fesm2020/jqwidgets-ng-jqxtimepicker.mjs +5 -3
  155. package/fesm2020/jqwidgets-ng-jqxtogglebutton.mjs +4 -2
  156. package/fesm2020/jqwidgets-ng-jqxtoolbar.mjs +10 -8
  157. package/fesm2020/jqwidgets-ng-jqxtooltip.mjs +4 -2
  158. package/fesm2020/jqwidgets-ng-jqxtree.mjs +10 -8
  159. package/fesm2020/jqwidgets-ng-jqxtreegrid.mjs +18 -13
  160. package/fesm2020/jqwidgets-ng-jqxtreemap.mjs +6 -4
  161. package/fesm2020/jqwidgets-ng-jqxvalidator.mjs +4 -2
  162. package/fesm2020/jqwidgets-ng-jqxwindow.mjs +5 -3
  163. package/jqwidgets/globalization/globalize.culture.cs-CZ.js +87 -87
  164. package/jqwidgets/globalization/globalize.culture.de-DE.js +83 -83
  165. package/jqwidgets/globalization/globalize.culture.en-CA.js +51 -51
  166. package/jqwidgets/globalization/globalize.culture.en-US.js +35 -35
  167. package/jqwidgets/globalization/globalize.culture.fr-FR.js +81 -81
  168. package/jqwidgets/globalization/globalize.culture.he-IL.js +99 -99
  169. package/jqwidgets/globalization/globalize.culture.hr-HR.js +83 -83
  170. package/jqwidgets/globalization/globalize.culture.hu-HU.js +82 -82
  171. package/jqwidgets/globalization/globalize.culture.it-IT.js +81 -81
  172. package/jqwidgets/globalization/globalize.culture.ja-JP.js +102 -102
  173. package/jqwidgets/globalization/globalize.culture.lt.js +85 -85
  174. package/jqwidgets/globalization/globalize.culture.ru-RU.js +84 -84
  175. package/jqwidgets/globalization/globalize.culture.sa-IN.js +73 -73
  176. package/jqwidgets/globalization/globalize.js +1591 -1591
  177. package/jqwidgets/jqx-all.js +9 -9
  178. package/jqwidgets/jqxangular.js +2 -2
  179. package/jqwidgets/jqxbarcode.js +2 -2
  180. package/jqwidgets/jqxbargauge.js +2 -2
  181. package/jqwidgets/jqxbulletchart.js +2 -2
  182. package/jqwidgets/jqxbuttongroup.js +2 -2
  183. package/jqwidgets/jqxbuttons.js +2 -2
  184. package/jqwidgets/jqxcalendar.js +2 -2
  185. package/jqwidgets/jqxchart.annotations.js +2 -2
  186. package/jqwidgets/jqxchart.api.js +2 -2
  187. package/jqwidgets/jqxchart.core.js +3 -3
  188. package/jqwidgets/jqxchart.js +3 -3
  189. package/jqwidgets/jqxchart.rangeselector.js +2 -2
  190. package/jqwidgets/jqxchart.waterfall.js +2 -2
  191. package/jqwidgets/jqxcheckbox.js +2 -2
  192. package/jqwidgets/jqxcheckboxgroup.js +2 -2
  193. package/jqwidgets/jqxcolorpicker.js +2 -2
  194. package/jqwidgets/jqxcombobox.js +2 -2
  195. package/jqwidgets/jqxcomplexinput.js +2 -2
  196. package/jqwidgets/jqxcore.js +3 -3
  197. package/jqwidgets/jqxdata.export.js +2 -2
  198. package/jqwidgets/jqxdata.js +2 -2
  199. package/jqwidgets/jqxdatatable.js +2 -2
  200. package/jqwidgets/jqxdate.js +2 -2
  201. package/jqwidgets/jqxdatetimeinput.js +2 -2
  202. package/jqwidgets/jqxdocking.js +2 -2
  203. package/jqwidgets/jqxdockinglayout.js +2 -2
  204. package/jqwidgets/jqxdockpanel.js +2 -2
  205. package/jqwidgets/jqxdragdrop.js +2 -2
  206. package/jqwidgets/jqxdraw.js +2 -2
  207. package/jqwidgets/jqxdropdownbutton.js +2 -2
  208. package/jqwidgets/jqxdropdownlist.js +2 -2
  209. package/jqwidgets/jqxeditor.js +2 -2
  210. package/jqwidgets/jqxexpander.js +2 -2
  211. package/jqwidgets/jqxfileupload.js +2 -2
  212. package/jqwidgets/jqxform.js +3 -3
  213. package/jqwidgets/jqxformattedinput.js +2 -2
  214. package/jqwidgets/jqxgantt.api.js +346 -382
  215. package/jqwidgets/jqxgantt.js +2 -2
  216. package/jqwidgets/jqxgauge.js +2 -2
  217. package/jqwidgets/jqxgrid.aggregates.js +2 -2
  218. package/jqwidgets/jqxgrid.columnsreorder.js +2 -2
  219. package/jqwidgets/jqxgrid.columnsresize.js +2 -2
  220. package/jqwidgets/jqxgrid.edit.js +2 -2
  221. package/jqwidgets/jqxgrid.export.js +2 -2
  222. package/jqwidgets/jqxgrid.filter.js +2 -2
  223. package/jqwidgets/jqxgrid.grouping.js +3 -3
  224. package/jqwidgets/jqxgrid.js +3 -3
  225. package/jqwidgets/jqxgrid.pager.js +2 -2
  226. package/jqwidgets/jqxgrid.selection.js +2 -2
  227. package/jqwidgets/jqxgrid.sort.js +3 -3
  228. package/jqwidgets/jqxgrid.storage.js +2 -2
  229. package/jqwidgets/jqxheatmap.js +2 -2
  230. package/jqwidgets/jqxinput.js +2 -2
  231. package/jqwidgets/jqxkanban.js +2 -2
  232. package/jqwidgets/jqxknob.js +2 -2
  233. package/jqwidgets/jqxknockout.js +2 -2
  234. package/jqwidgets/jqxlayout.js +2 -2
  235. package/jqwidgets/jqxlistbox.js +2 -2
  236. package/jqwidgets/jqxlistmenu.js +2 -2
  237. package/jqwidgets/jqxloader.js +2 -2
  238. package/jqwidgets/jqxmaskedinput.js +2 -2
  239. package/jqwidgets/jqxmenu.js +2 -2
  240. package/jqwidgets/jqxnavbar.js +2 -2
  241. package/jqwidgets/jqxnavigationbar.js +2 -2
  242. package/jqwidgets/jqxnotification.js +2 -2
  243. package/jqwidgets/jqxnumberinput.js +2 -2
  244. package/jqwidgets/jqxpanel.js +2 -2
  245. package/jqwidgets/jqxpasswordinput.js +2 -2
  246. package/jqwidgets/jqxpivot.js +2 -2
  247. package/jqwidgets/jqxpivotdesigner.js +2 -2
  248. package/jqwidgets/jqxpivotgrid.js +2 -2
  249. package/jqwidgets/jqxpopover.js +2 -2
  250. package/jqwidgets/jqxprogressbar.js +2 -2
  251. package/jqwidgets/jqxqrcode.js +2 -2
  252. package/jqwidgets/jqxradiobutton.js +2 -2
  253. package/jqwidgets/jqxradiobuttongroup.js +2 -2
  254. package/jqwidgets/jqxrangeselector.js +2 -2
  255. package/jqwidgets/jqxrating.js +2 -2
  256. package/jqwidgets/jqxresponsivepanel.js +2 -2
  257. package/jqwidgets/jqxribbon.js +2 -2
  258. package/jqwidgets/jqxscheduler.api.js +2 -2
  259. package/jqwidgets/jqxscheduler.js +2 -2
  260. package/jqwidgets/jqxscrollbar.js +2 -2
  261. package/jqwidgets/jqxscrollview.js +2 -2
  262. package/jqwidgets/jqxslider.js +2 -2
  263. package/jqwidgets/jqxsortable.js +2 -2
  264. package/jqwidgets/jqxsplitlayout.js +2 -2
  265. package/jqwidgets/jqxsplitter.js +2 -2
  266. package/jqwidgets/jqxswitchbutton.js +2 -2
  267. package/jqwidgets/jqxtabs.js +2 -2
  268. package/jqwidgets/jqxtagcloud.js +2 -2
  269. package/jqwidgets/jqxtextarea.js +2 -2
  270. package/jqwidgets/jqxtimepicker.js +2 -2
  271. package/jqwidgets/jqxtoolbar.js +2 -2
  272. package/jqwidgets/jqxtooltip.js +2 -2
  273. package/jqwidgets/jqxtouch.js +2 -2
  274. package/jqwidgets/jqxtree.js +2 -2
  275. package/jqwidgets/jqxtreegrid.js +3 -3
  276. package/jqwidgets/jqxtreemap.js +2 -2
  277. package/jqwidgets/jqxvalidator.js +2 -2
  278. package/jqwidgets/jqxwindow.js +2 -2
  279. package/jqwidgets/styles/font/jqx-icons.svg +268 -268
  280. package/jqwidgets/styles/gantt/font/jqx-icons.svg +332 -332
  281. package/jqwidgets/styles/gantt/jqx.gantt.css +18667 -18667
  282. package/jqwidgets/styles/jqx.fluent.css +3563 -3563
  283. package/jqwidgets/styles/jqx.fluent_old.css +1262 -1262
  284. package/jqwidgets/styles/theme.css +293 -293
  285. package/jqwidgets.d.ts +1 -1
  286. package/package.json +21 -3
  287. package/schematics/cdk/schematics/collection.json +2 -1
  288. package/schematics/cdk/schematics/index.d.ts +2 -1
  289. package/schematics/cdk/schematics/index.js +4 -4
  290. package/schematics/cdk/schematics/index.mjs +4 -4
  291. package/schematics/cdk/schematics/migration.json +4 -39
  292. package/schematics/cdk/schematics/ng-add/index.js +1 -1
  293. package/schematics/cdk/schematics/ng-add/index.mjs +1 -1
  294. package/schematics/cdk/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +6 -10
  295. package/schematics/cdk/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +7 -5
  296. package/schematics/cdk/schematics/ng-generate/drag-drop/index.js +9 -15
  297. package/schematics/cdk/schematics/ng-generate/drag-drop/index.mjs +9 -15
  298. package/schematics/cdk/schematics/ng-generate/drag-drop/schema.json +7 -0
  299. package/schematics/cdk/schematics/ng-update/data/attribute-selectors.js +2 -13
  300. package/schematics/cdk/schematics/ng-update/data/attribute-selectors.mjs +2 -13
  301. package/schematics/cdk/schematics/ng-update/data/class-names.js +2 -32
  302. package/schematics/cdk/schematics/ng-update/data/class-names.mjs +2 -32
  303. package/schematics/cdk/schematics/ng-update/data/constructor-checks.d.ts +1 -1
  304. package/schematics/cdk/schematics/ng-update/data/constructor-checks.js +2 -59
  305. package/schematics/cdk/schematics/ng-update/data/constructor-checks.mjs +2 -59
  306. package/schematics/cdk/schematics/ng-update/data/css-selectors.js +2 -5
  307. package/schematics/cdk/schematics/ng-update/data/css-selectors.mjs +2 -5
  308. package/schematics/cdk/schematics/ng-update/data/element-selectors.js +2 -5
  309. package/schematics/cdk/schematics/ng-update/data/element-selectors.mjs +2 -5
  310. package/schematics/cdk/schematics/ng-update/data/input-names.js +2 -95
  311. package/schematics/cdk/schematics/ng-update/data/input-names.mjs +2 -95
  312. package/schematics/cdk/schematics/ng-update/data/method-call-checks.js +2 -47
  313. package/schematics/cdk/schematics/ng-update/data/method-call-checks.mjs +2 -47
  314. package/schematics/cdk/schematics/ng-update/data/output-names.js +2 -19
  315. package/schematics/cdk/schematics/ng-update/data/output-names.mjs +2 -19
  316. package/schematics/cdk/schematics/ng-update/data/property-names.js +2 -127
  317. package/schematics/cdk/schematics/ng-update/data/property-names.mjs +2 -127
  318. package/schematics/cdk/schematics/ng-update/devkit-file-system.js +10 -6
  319. package/schematics/cdk/schematics/ng-update/devkit-file-system.mjs +10 -6
  320. package/schematics/cdk/schematics/ng-update/devkit-migration-rule.d.ts +2 -2
  321. package/schematics/cdk/schematics/ng-update/devkit-migration-rule.js +6 -14
  322. package/schematics/cdk/schematics/ng-update/devkit-migration-rule.mjs +6 -14
  323. package/schematics/cdk/schematics/ng-update/devkit-migration.d.ts +5 -5
  324. package/schematics/cdk/schematics/ng-update/devkit-migration.js +1 -1
  325. package/schematics/cdk/schematics/ng-update/devkit-migration.mjs +1 -1
  326. package/schematics/cdk/schematics/ng-update/find-stylesheets.js +2 -2
  327. package/schematics/cdk/schematics/ng-update/find-stylesheets.mjs +2 -2
  328. package/schematics/cdk/schematics/ng-update/html-parsing/elements.d.ts +1 -2
  329. package/schematics/cdk/schematics/ng-update/html-parsing/elements.js +2 -3
  330. package/schematics/cdk/schematics/ng-update/html-parsing/elements.mjs +2 -3
  331. package/schematics/cdk/schematics/ng-update/index.d.ts +2 -16
  332. package/schematics/cdk/schematics/ng-update/index.js +7 -43
  333. package/schematics/cdk/schematics/ng-update/index.mjs +7 -43
  334. package/schematics/cdk/schematics/ng-update/migrations/attribute-selectors.js +5 -8
  335. package/schematics/cdk/schematics/ng-update/migrations/attribute-selectors.mjs +5 -8
  336. package/schematics/cdk/schematics/ng-update/migrations/class-inheritance.js +8 -11
  337. package/schematics/cdk/schematics/ng-update/migrations/class-inheritance.mjs +8 -11
  338. package/schematics/cdk/schematics/ng-update/migrations/class-names.js +12 -15
  339. package/schematics/cdk/schematics/ng-update/migrations/class-names.mjs +12 -15
  340. package/schematics/cdk/schematics/ng-update/migrations/constructor-signature.js +7 -10
  341. package/schematics/cdk/schematics/ng-update/migrations/constructor-signature.mjs +7 -10
  342. package/schematics/cdk/schematics/ng-update/migrations/css-selectors.js +5 -8
  343. package/schematics/cdk/schematics/ng-update/migrations/css-selectors.mjs +5 -8
  344. package/schematics/cdk/schematics/ng-update/migrations/element-selectors.js +5 -8
  345. package/schematics/cdk/schematics/ng-update/migrations/element-selectors.mjs +5 -8
  346. package/schematics/cdk/schematics/ng-update/migrations/input-names.js +5 -8
  347. package/schematics/cdk/schematics/ng-update/migrations/input-names.mjs +5 -8
  348. package/schematics/cdk/schematics/ng-update/migrations/method-call-arguments.js +5 -8
  349. package/schematics/cdk/schematics/ng-update/migrations/method-call-arguments.mjs +5 -8
  350. package/schematics/cdk/schematics/ng-update/migrations/misc-template.js +4 -20
  351. package/schematics/cdk/schematics/ng-update/migrations/misc-template.mjs +4 -20
  352. package/schematics/cdk/schematics/ng-update/migrations/output-names.js +5 -8
  353. package/schematics/cdk/schematics/ng-update/migrations/output-names.mjs +5 -8
  354. package/schematics/cdk/schematics/ng-update/migrations/property-names.js +5 -8
  355. package/schematics/cdk/schematics/ng-update/migrations/property-names.mjs +5 -8
  356. package/schematics/cdk/schematics/ng-update/migrations/symbol-removal.js +6 -10
  357. package/schematics/cdk/schematics/ng-update/migrations/symbol-removal.mjs +6 -10
  358. package/schematics/cdk/schematics/ng-update/public-api.d.ts +2 -0
  359. package/schematics/cdk/schematics/ng-update/public-api.js +3 -1
  360. package/schematics/cdk/schematics/ng-update/public-api.mjs +3 -1
  361. package/schematics/cdk/schematics/ng-update/upgrade-data.js +4 -1
  362. package/schematics/cdk/schematics/ng-update/upgrade-data.mjs +4 -1
  363. package/schematics/cdk/schematics/tsconfig.json +1 -0
  364. package/schematics/cdk/schematics/update-tool/component-resource-collector.d.ts +1 -0
  365. package/schematics/cdk/schematics/update-tool/component-resource-collector.js +34 -15
  366. package/schematics/cdk/schematics/update-tool/component-resource-collector.mjs +34 -15
  367. package/schematics/cdk/schematics/update-tool/file-system.d.ts +3 -3
  368. package/schematics/cdk/schematics/update-tool/file-system.js +1 -1
  369. package/schematics/cdk/schematics/update-tool/file-system.mjs +1 -1
  370. package/schematics/cdk/schematics/update-tool/index.d.ts +6 -2
  371. package/schematics/cdk/schematics/update-tool/index.js +27 -11
  372. package/schematics/cdk/schematics/update-tool/index.mjs +27 -11
  373. package/schematics/cdk/schematics/update-tool/migration.d.ts +13 -7
  374. package/schematics/cdk/schematics/update-tool/migration.js +14 -4
  375. package/schematics/cdk/schematics/update-tool/migration.mjs +14 -4
  376. package/schematics/cdk/schematics/update-tool/public-api.d.ts +1 -0
  377. package/schematics/cdk/schematics/update-tool/public-api.js +2 -1
  378. package/schematics/cdk/schematics/update-tool/public-api.mjs +2 -1
  379. package/schematics/cdk/schematics/update-tool/target-version.d.ts +1 -8
  380. package/schematics/cdk/schematics/update-tool/target-version.js +3 -10
  381. package/schematics/cdk/schematics/update-tool/target-version.mjs +3 -10
  382. package/schematics/cdk/schematics/update-tool/utils/decorators.d.ts +1 -1
  383. package/schematics/cdk/schematics/update-tool/utils/diagnostics.d.ts +11 -0
  384. package/schematics/cdk/schematics/update-tool/utils/diagnostics.js +19 -0
  385. package/schematics/cdk/schematics/update-tool/utils/diagnostics.mjs +19 -0
  386. package/schematics/cdk/schematics/update-tool/utils/parse-tsconfig.d.ts +8 -0
  387. package/schematics/cdk/schematics/update-tool/utils/parse-tsconfig.js +30 -4
  388. package/schematics/cdk/schematics/update-tool/utils/parse-tsconfig.mjs +30 -4
  389. package/schematics/cdk/schematics/update-tool/utils/property-name.d.ts +1 -1
  390. package/schematics/cdk/schematics/update-tool/utils/virtual-host.d.ts +2 -0
  391. package/schematics/cdk/schematics/update-tool/utils/virtual-host.js +13 -3
  392. package/schematics/cdk/schematics/update-tool/utils/virtual-host.mjs +13 -3
  393. package/schematics/cdk/schematics/update-tool/version-changes.d.ts +3 -3
  394. package/schematics/cdk/schematics/utils/ast.d.ts +2 -2
  395. package/schematics/cdk/schematics/utils/ast.js +15 -25
  396. package/schematics/cdk/schematics/utils/ast.mjs +15 -25
  397. package/schematics/cdk/schematics/utils/build-component.js +22 -27
  398. package/schematics/cdk/schematics/utils/build-component.mjs +22 -27
  399. package/schematics/cdk/schematics/utils/get-project.d.ts +2 -2
  400. package/schematics/cdk/schematics/utils/get-project.js +7 -2
  401. package/schematics/cdk/schematics/utils/get-project.mjs +7 -2
  402. package/schematics/cdk/schematics/utils/html-manipulation.d.ts +1 -1
  403. package/schematics/cdk/schematics/utils/html-manipulation.js +2 -2
  404. package/schematics/cdk/schematics/utils/html-manipulation.mjs +2 -2
  405. package/schematics/cdk/schematics/utils/index.d.ts +1 -0
  406. package/schematics/cdk/schematics/utils/index.js +2 -1
  407. package/schematics/cdk/schematics/utils/index.mjs +2 -1
  408. package/schematics/cdk/schematics/utils/parse5-element.d.ts +3 -1
  409. package/schematics/cdk/schematics/utils/parse5-element.js +1 -1
  410. package/schematics/cdk/schematics/utils/parse5-element.mjs +1 -1
  411. package/schematics/cdk/schematics/utils/project-index-file.d.ts +2 -3
  412. package/schematics/cdk/schematics/utils/project-index-file.js +4 -4
  413. package/schematics/cdk/schematics/utils/project-index-file.mjs +4 -4
  414. package/schematics/cdk/schematics/utils/project-main-file.d.ts +2 -3
  415. package/schematics/cdk/schematics/utils/project-main-file.js +6 -3
  416. package/schematics/cdk/schematics/utils/project-main-file.mjs +6 -3
  417. package/schematics/cdk/schematics/utils/project-style-file.d.ts +2 -2
  418. package/schematics/cdk/schematics/utils/project-style-file.js +4 -3
  419. package/schematics/cdk/schematics/utils/project-style-file.mjs +4 -3
  420. package/schematics/cdk/schematics/utils/project-targets.d.ts +6 -10
  421. package/schematics/cdk/schematics/utils/project-targets.js +18 -13
  422. package/schematics/cdk/schematics/utils/project-targets.mjs +18 -13
  423. package/schematics/cdk/schematics/utils/project-tsconfig-paths.d.ts +3 -3
  424. package/schematics/cdk/schematics/utils/project-tsconfig-paths.js +14 -29
  425. package/schematics/cdk/schematics/utils/project-tsconfig-paths.mjs +14 -29
  426. package/schematics/cdk/schematics/utils/schematic-options.d.ts +5 -2
  427. package/schematics/cdk/schematics/utils/schematic-options.js +25 -5
  428. package/schematics/cdk/schematics/utils/schematic-options.mjs +25 -5
  429. package/schematics/fonts/material-fonts.js +8 -19
  430. package/schematics/fonts/material-fonts.mjs +35 -0
  431. package/schematics/ng-add/schema.json +1 -0
  432. package/schematics/theming/create-custom-theme.d.ts +9 -2
  433. package/schematics/theming/create-custom-theme.js +51 -11
  434. package/schematics/theming/create-custom-theme.mjs +51 -0
  435. package/schematics/theming/theming.d.ts +13 -6
  436. package/schematics/theming/theming.js +167 -179
  437. package/schematics/theming/theming.mjs +152 -0
  438. package/schematics/theming/theming2.js +179 -0
  439. package/schematics/cdk/schematics/ng-update/migrations/tilde-import-v13/tilde-import-migration.d.ts +0 -14
  440. package/schematics/cdk/schematics/ng-update/migrations/tilde-import-v13/tilde-import-migration.js +0 -39
  441. package/schematics/cdk/schematics/ng-update/migrations/tilde-import-v13/tilde-import-migration.mjs +0 -39
  442. package/schematics/cdk/schematics/utils/vendored-ast-utils/index.d.ts +0 -70
  443. package/schematics/cdk/schematics/utils/vendored-ast-utils/index.js +0 -480
  444. package/schematics/cdk/schematics/utils/vendored-ast-utils/index.mjs +0 -480
@@ -16,13 +16,10 @@ const upgrade_data_1 = require("../upgrade-data");
16
16
  * accessed properties that have been updated to a new name.
17
17
  */
18
18
  class PropertyNamesMigration extends migration_1.Migration {
19
- constructor() {
20
- super(...arguments);
21
- /** Change data that upgrades to the specified target version. */
22
- this.data = (0, upgrade_data_1.getVersionUpgradeData)(this, 'propertyNames');
23
- // Only enable the migration rule if there is upgrade data.
24
- this.enabled = this.data.length !== 0;
25
- }
19
+ /** Change data that upgrades to the specified target version. */
20
+ data = (0, upgrade_data_1.getVersionUpgradeData)(this, 'propertyNames');
21
+ // Only enable the migration rule if there is upgrade data.
22
+ enabled = this.data.length !== 0;
26
23
  visitNode(node) {
27
24
  if (ts.isPropertyAccessExpression(node)) {
28
25
  this._visitPropertyAccessExpression(node);
@@ -57,4 +54,4 @@ class PropertyNamesMigration extends migration_1.Migration {
57
54
  }
58
55
  }
59
56
  exports.PropertyNamesMigration = PropertyNamesMigration;
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktbmFtZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2RrL3NjaGVtYXRpY3MvbmctdXBkYXRlL21pZ3JhdGlvbnMvcHJvcGVydHktbmFtZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBRUgsaUNBQWlDO0FBQ2pDLDJEQUFzRDtBQUd0RCxrREFBbUU7QUFFbkU7OztHQUdHO0FBQ0gsTUFBYSxzQkFBdUIsU0FBUSxxQkFBc0I7SUFBbEU7O1FBQ0UsaUVBQWlFO1FBQ2pFLFNBQUksR0FBOEIsSUFBQSxvQ0FBcUIsRUFBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFFL0UsMkRBQTJEO1FBQzNELFlBQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7SUFxQ25DLENBQUM7SUFuQ1UsU0FBUyxDQUFDLElBQWE7UUFDOUIsSUFBSSxFQUFFLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDdkMsSUFBSSxDQUFDLDhCQUE4QixDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzNDO0lBQ0gsQ0FBQztJQUVPLDhCQUE4QixDQUFDLElBQWlDO1FBQ3RFLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sU0FBUyxHQUFhLEVBQUUsQ0FBQztRQUUvQixJQUFJLFFBQVEsRUFBRTtZQUNaLElBQUksUUFBUSxDQUFDLGNBQWMsRUFBRSxFQUFFO2dCQUM3QixRQUFRLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDNUIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO3dCQUNmLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO3FCQUN2QztnQkFDSCxDQUFDLENBQUMsQ0FBQzthQUNKO2lCQUFNLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRTtnQkFDMUIsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7YUFDM0M7U0FDRjtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3ZCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDbkMsT0FBTzthQUNSO1lBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFO2dCQUNwRixJQUFJLENBQUMsVUFBVTtxQkFDWixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO3FCQUM1RCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO3FCQUNsRCxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDeEQ7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQTFDRCx3REEwQ0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5pbXBvcnQge01pZ3JhdGlvbn0gZnJvbSAnLi4vLi4vdXBkYXRlLXRvb2wvbWlncmF0aW9uJztcblxuaW1wb3J0IHtQcm9wZXJ0eU5hbWVVcGdyYWRlRGF0YX0gZnJvbSAnLi4vZGF0YSc7XG5pbXBvcnQge2dldFZlcnNpb25VcGdyYWRlRGF0YSwgVXBncmFkZURhdGF9IGZyb20gJy4uL3VwZ3JhZGUtZGF0YSc7XG5cbi8qKlxuICogTWlncmF0aW9uIHRoYXQgd2Fsa3MgdGhyb3VnaCBldmVyeSBwcm9wZXJ0eSBhY2Nlc3MgZXhwcmVzc2lvbiBhbmQgdXBkYXRlc1xuICogYWNjZXNzZWQgcHJvcGVydGllcyB0aGF0IGhhdmUgYmVlbiB1cGRhdGVkIHRvIGEgbmV3IG5hbWUuXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eU5hbWVzTWlncmF0aW9uIGV4dGVuZHMgTWlncmF0aW9uPFVwZ3JhZGVEYXRhPiB7XG4gIC8qKiBDaGFuZ2UgZGF0YSB0aGF0IHVwZ3JhZGVzIHRvIHRoZSBzcGVjaWZpZWQgdGFyZ2V0IHZlcnNpb24uICovXG4gIGRhdGE6IFByb3BlcnR5TmFtZVVwZ3JhZGVEYXRhW10gPSBnZXRWZXJzaW9uVXBncmFkZURhdGEodGhpcywgJ3Byb3BlcnR5TmFtZXMnKTtcblxuICAvLyBPbmx5IGVuYWJsZSB0aGUgbWlncmF0aW9uIHJ1bGUgaWYgdGhlcmUgaXMgdXBncmFkZSBkYXRhLlxuICBlbmFibGVkID0gdGhpcy5kYXRhLmxlbmd0aCAhPT0gMDtcblxuICBvdmVycmlkZSB2aXNpdE5vZGUobm9kZTogdHMuTm9kZSk6IHZvaWQge1xuICAgIGlmICh0cy5pc1Byb3BlcnR5QWNjZXNzRXhwcmVzc2lvbihub2RlKSkge1xuICAgICAgdGhpcy5fdmlzaXRQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24obm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfdmlzaXRQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24obm9kZTogdHMuUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKSB7XG4gICAgY29uc3QgaG9zdFR5cGUgPSB0aGlzLnR5cGVDaGVja2VyLmdldFR5cGVBdExvY2F0aW9uKG5vZGUuZXhwcmVzc2lvbik7XG4gICAgY29uc3QgdHlwZU5hbWVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgaWYgKGhvc3RUeXBlKSB7XG4gICAgICBpZiAoaG9zdFR5cGUuaXNJbnRlcnNlY3Rpb24oKSkge1xuICAgICAgICBob3N0VHlwZS50eXBlcy5mb3JFYWNoKHR5cGUgPT4ge1xuICAgICAgICAgIGlmICh0eXBlLnN5bWJvbCkge1xuICAgICAgICAgICAgdHlwZU5hbWVzLnB1c2godHlwZS5zeW1ib2wuZ2V0TmFtZSgpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIGlmIChob3N0VHlwZS5zeW1ib2wpIHtcbiAgICAgICAgdHlwZU5hbWVzLnB1c2goaG9zdFR5cGUuc3ltYm9sLmdldE5hbWUoKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5kYXRhLmZvckVhY2goZGF0YSA9PiB7XG4gICAgICBpZiAobm9kZS5uYW1lLnRleHQgIT09IGRhdGEucmVwbGFjZSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICghZGF0YS5saW1pdGVkVG8gfHwgdHlwZU5hbWVzLnNvbWUodHlwZSA9PiBkYXRhLmxpbWl0ZWRUby5jbGFzc2VzLmluY2x1ZGVzKHR5cGUpKSkge1xuICAgICAgICB0aGlzLmZpbGVTeXN0ZW1cbiAgICAgICAgICAuZWRpdCh0aGlzLmZpbGVTeXN0ZW0ucmVzb2x2ZShub2RlLmdldFNvdXJjZUZpbGUoKS5maWxlTmFtZSkpXG4gICAgICAgICAgLnJlbW92ZShub2RlLm5hbWUuZ2V0U3RhcnQoKSwgbm9kZS5uYW1lLmdldFdpZHRoKCkpXG4gICAgICAgICAgLmluc2VydFJpZ2h0KG5vZGUubmFtZS5nZXRTdGFydCgpLCBkYXRhLnJlcGxhY2VXaXRoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktbmFtZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2RrL3NjaGVtYXRpY3MvbmctdXBkYXRlL21pZ3JhdGlvbnMvcHJvcGVydHktbmFtZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBRUgsaUNBQWlDO0FBQ2pDLDJEQUFzRDtBQUd0RCxrREFBbUU7QUFFbkU7OztHQUdHO0FBQ0gsTUFBYSxzQkFBdUIsU0FBUSxxQkFBc0I7SUFDaEUsaUVBQWlFO0lBQ2pFLElBQUksR0FBOEIsSUFBQSxvQ0FBcUIsRUFBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFFL0UsMkRBQTJEO0lBQzNELE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7SUFFeEIsU0FBUyxDQUFDLElBQWE7UUFDOUIsSUFBSSxFQUFFLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDdkMsSUFBSSxDQUFDLDhCQUE4QixDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzNDO0lBQ0gsQ0FBQztJQUVPLDhCQUE4QixDQUFDLElBQWlDO1FBQ3RFLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sU0FBUyxHQUFhLEVBQUUsQ0FBQztRQUUvQixJQUFJLFFBQVEsRUFBRTtZQUNaLElBQUksUUFBUSxDQUFDLGNBQWMsRUFBRSxFQUFFO2dCQUM3QixRQUFRLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDNUIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO3dCQUNmLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO3FCQUN2QztnQkFDSCxDQUFDLENBQUMsQ0FBQzthQUNKO2lCQUFNLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRTtnQkFDMUIsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7YUFDM0M7U0FDRjtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3ZCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDbkMsT0FBTzthQUNSO1lBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFO2dCQUNwRixJQUFJLENBQUMsVUFBVTtxQkFDWixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO3FCQUM1RCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO3FCQUNsRCxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDeEQ7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQTFDRCx3REEwQ0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5pbXBvcnQge01pZ3JhdGlvbn0gZnJvbSAnLi4vLi4vdXBkYXRlLXRvb2wvbWlncmF0aW9uJztcblxuaW1wb3J0IHtQcm9wZXJ0eU5hbWVVcGdyYWRlRGF0YX0gZnJvbSAnLi4vZGF0YSc7XG5pbXBvcnQge2dldFZlcnNpb25VcGdyYWRlRGF0YSwgVXBncmFkZURhdGF9IGZyb20gJy4uL3VwZ3JhZGUtZGF0YSc7XG5cbi8qKlxuICogTWlncmF0aW9uIHRoYXQgd2Fsa3MgdGhyb3VnaCBldmVyeSBwcm9wZXJ0eSBhY2Nlc3MgZXhwcmVzc2lvbiBhbmQgdXBkYXRlc1xuICogYWNjZXNzZWQgcHJvcGVydGllcyB0aGF0IGhhdmUgYmVlbiB1cGRhdGVkIHRvIGEgbmV3IG5hbWUuXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eU5hbWVzTWlncmF0aW9uIGV4dGVuZHMgTWlncmF0aW9uPFVwZ3JhZGVEYXRhPiB7XG4gIC8qKiBDaGFuZ2UgZGF0YSB0aGF0IHVwZ3JhZGVzIHRvIHRoZSBzcGVjaWZpZWQgdGFyZ2V0IHZlcnNpb24uICovXG4gIGRhdGE6IFByb3BlcnR5TmFtZVVwZ3JhZGVEYXRhW10gPSBnZXRWZXJzaW9uVXBncmFkZURhdGEodGhpcywgJ3Byb3BlcnR5TmFtZXMnKTtcblxuICAvLyBPbmx5IGVuYWJsZSB0aGUgbWlncmF0aW9uIHJ1bGUgaWYgdGhlcmUgaXMgdXBncmFkZSBkYXRhLlxuICBlbmFibGVkID0gdGhpcy5kYXRhLmxlbmd0aCAhPT0gMDtcblxuICBvdmVycmlkZSB2aXNpdE5vZGUobm9kZTogdHMuTm9kZSk6IHZvaWQge1xuICAgIGlmICh0cy5pc1Byb3BlcnR5QWNjZXNzRXhwcmVzc2lvbihub2RlKSkge1xuICAgICAgdGhpcy5fdmlzaXRQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24obm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfdmlzaXRQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24obm9kZTogdHMuUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKSB7XG4gICAgY29uc3QgaG9zdFR5cGUgPSB0aGlzLnR5cGVDaGVja2VyLmdldFR5cGVBdExvY2F0aW9uKG5vZGUuZXhwcmVzc2lvbik7XG4gICAgY29uc3QgdHlwZU5hbWVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgaWYgKGhvc3RUeXBlKSB7XG4gICAgICBpZiAoaG9zdFR5cGUuaXNJbnRlcnNlY3Rpb24oKSkge1xuICAgICAgICBob3N0VHlwZS50eXBlcy5mb3JFYWNoKHR5cGUgPT4ge1xuICAgICAgICAgIGlmICh0eXBlLnN5bWJvbCkge1xuICAgICAgICAgICAgdHlwZU5hbWVzLnB1c2godHlwZS5zeW1ib2wuZ2V0TmFtZSgpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIGlmIChob3N0VHlwZS5zeW1ib2wpIHtcbiAgICAgICAgdHlwZU5hbWVzLnB1c2goaG9zdFR5cGUuc3ltYm9sLmdldE5hbWUoKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5kYXRhLmZvckVhY2goZGF0YSA9PiB7XG4gICAgICBpZiAobm9kZS5uYW1lLnRleHQgIT09IGRhdGEucmVwbGFjZSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICghZGF0YS5saW1pdGVkVG8gfHwgdHlwZU5hbWVzLnNvbWUodHlwZSA9PiBkYXRhLmxpbWl0ZWRUby5jbGFzc2VzLmluY2x1ZGVzKHR5cGUpKSkge1xuICAgICAgICB0aGlzLmZpbGVTeXN0ZW1cbiAgICAgICAgICAuZWRpdCh0aGlzLmZpbGVTeXN0ZW0ucmVzb2x2ZShub2RlLmdldFNvdXJjZUZpbGUoKS5maWxlTmFtZSkpXG4gICAgICAgICAgLnJlbW92ZShub2RlLm5hbWUuZ2V0U3RhcnQoKSwgbm9kZS5uYW1lLmdldFdpZHRoKCkpXG4gICAgICAgICAgLmluc2VydFJpZ2h0KG5vZGUubmFtZS5nZXRTdGFydCgpLCBkYXRhLnJlcGxhY2VXaXRoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -13,13 +13,10 @@ const migration_1 = require("../../update-tool/migration");
13
13
  const upgrade_data_1 = require("../upgrade-data");
14
14
  /** Migration that flags imports for symbols that have been removed. */
15
15
  class SymbolRemovalMigration extends migration_1.Migration {
16
- constructor() {
17
- super(...arguments);
18
- /** Change data that upgrades to the specified target version. */
19
- this.data = (0, upgrade_data_1.getVersionUpgradeData)(this, 'symbolRemoval');
20
- // Only enable the migration rule if there is upgrade data.
21
- this.enabled = this.data.length !== 0;
22
- }
16
+ /** Change data that upgrades to the specified target version. */
17
+ data = (0, upgrade_data_1.getVersionUpgradeData)(this, 'symbolRemoval');
18
+ // Only enable the migration rule if there is upgrade data.
19
+ enabled = this.data.length !== 0;
23
20
  visitNode(node) {
24
21
  if (!ts.isImportDeclaration(node) || !ts.isStringLiteral(node.moduleSpecifier)) {
25
22
  return;
@@ -33,8 +30,7 @@ class SymbolRemovalMigration extends migration_1.Migration {
33
30
  return;
34
31
  }
35
32
  namedBindings.elements.forEach(element => {
36
- var _a;
37
- const elementName = ((_a = element.propertyName) === null || _a === void 0 ? void 0 : _a.text) || element.name.text;
33
+ const elementName = element.propertyName?.text || element.name.text;
38
34
  moduleNameMatches.forEach(match => {
39
35
  if (match.name === elementName) {
40
36
  this.createFailureAtNode(element, match.message);
@@ -44,4 +40,4 @@ class SymbolRemovalMigration extends migration_1.Migration {
44
40
  }
45
41
  }
46
42
  exports.SymbolRemovalMigration = SymbolRemovalMigration;
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9sLXJlbW92YWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2RrL3NjaGVtYXRpY3MvbmctdXBkYXRlL21pZ3JhdGlvbnMvc3ltYm9sLXJlbW92YWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBRUgsaUNBQWlDO0FBQ2pDLDJEQUFzRDtBQUV0RCxrREFBbUU7QUFFbkUsdUVBQXVFO0FBQ3ZFLE1BQWEsc0JBQXVCLFNBQVEscUJBQXNCO0lBQWxFOztRQUNFLGlFQUFpRTtRQUNqRSxTQUFJLEdBQStCLElBQUEsb0NBQXFCLEVBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBRWhGLDJEQUEyRDtRQUMzRCxZQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBK0JuQyxDQUFDO0lBN0JVLFNBQVMsQ0FBQyxJQUFhO1FBQzlCLElBQUksQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUM5RSxPQUFPO1NBQ1I7UUFFRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDO1FBRTNFLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQ3ZELE9BQU87U0FDUjtRQUVELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQ3hDLEtBQUssQ0FBQyxFQUFFLENBQUUsSUFBSSxDQUFDLGVBQW9DLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxNQUFNLENBQzFFLENBQUM7UUFFRixJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFO1lBQzdCLE9BQU87U0FDUjtRQUVELGFBQWEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFOztZQUN2QyxNQUFNLFdBQVcsR0FBRyxDQUFBLE1BQUEsT0FBTyxDQUFDLFlBQVksMENBQUUsSUFBSSxLQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBRXBFLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDaEMsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFdBQVcsRUFBRTtvQkFDOUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7aUJBQ2xEO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQXBDRCx3REFvQ0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5pbXBvcnQge01pZ3JhdGlvbn0gZnJvbSAnLi4vLi4vdXBkYXRlLXRvb2wvbWlncmF0aW9uJztcbmltcG9ydCB7U3ltYm9sUmVtb3ZhbFVwZ3JhZGVEYXRhfSBmcm9tICcuLi9kYXRhJztcbmltcG9ydCB7Z2V0VmVyc2lvblVwZ3JhZGVEYXRhLCBVcGdyYWRlRGF0YX0gZnJvbSAnLi4vdXBncmFkZS1kYXRhJztcblxuLyoqIE1pZ3JhdGlvbiB0aGF0IGZsYWdzIGltcG9ydHMgZm9yIHN5bWJvbHMgdGhhdCBoYXZlIGJlZW4gcmVtb3ZlZC4gKi9cbmV4cG9ydCBjbGFzcyBTeW1ib2xSZW1vdmFsTWlncmF0aW9uIGV4dGVuZHMgTWlncmF0aW9uPFVwZ3JhZGVEYXRhPiB7XG4gIC8qKiBDaGFuZ2UgZGF0YSB0aGF0IHVwZ3JhZGVzIHRvIHRoZSBzcGVjaWZpZWQgdGFyZ2V0IHZlcnNpb24uICovXG4gIGRhdGE6IFN5bWJvbFJlbW92YWxVcGdyYWRlRGF0YVtdID0gZ2V0VmVyc2lvblVwZ3JhZGVEYXRhKHRoaXMsICdzeW1ib2xSZW1vdmFsJyk7XG5cbiAgLy8gT25seSBlbmFibGUgdGhlIG1pZ3JhdGlvbiBydWxlIGlmIHRoZXJlIGlzIHVwZ3JhZGUgZGF0YS5cbiAgZW5hYmxlZCA9IHRoaXMuZGF0YS5sZW5ndGggIT09IDA7XG5cbiAgb3ZlcnJpZGUgdmlzaXROb2RlKG5vZGU6IHRzLk5vZGUpOiB2b2lkIHtcbiAgICBpZiAoIXRzLmlzSW1wb3J0RGVjbGFyYXRpb24obm9kZSkgfHwgIXRzLmlzU3RyaW5nTGl0ZXJhbChub2RlLm1vZHVsZVNwZWNpZmllcikpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBuYW1lZEJpbmRpbmdzID0gbm9kZS5pbXBvcnRDbGF1c2UgJiYgbm9kZS5pbXBvcnRDbGF1c2UubmFtZWRCaW5kaW5ncztcblxuICAgIGlmICghbmFtZWRCaW5kaW5ncyB8fCAhdHMuaXNOYW1lZEltcG9ydHMobmFtZWRCaW5kaW5ncykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBtb2R1bGVOYW1lTWF0Y2hlcyA9IHRoaXMuZGF0YS5maWx0ZXIoXG4gICAgICBlbnRyeSA9PiAobm9kZS5tb2R1bGVTcGVjaWZpZXIgYXMgdHMuU3RyaW5nTGl0ZXJhbCkudGV4dCA9PT0gZW50cnkubW9kdWxlLFxuICAgICk7XG5cbiAgICBpZiAoIW1vZHVsZU5hbWVNYXRjaGVzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG5hbWVkQmluZGluZ3MuZWxlbWVudHMuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgIGNvbnN0IGVsZW1lbnROYW1lID0gZWxlbWVudC5wcm9wZXJ0eU5hbWU/LnRleHQgfHwgZWxlbWVudC5uYW1lLnRleHQ7XG5cbiAgICAgIG1vZHVsZU5hbWVNYXRjaGVzLmZvckVhY2gobWF0Y2ggPT4ge1xuICAgICAgICBpZiAobWF0Y2gubmFtZSA9PT0gZWxlbWVudE5hbWUpIHtcbiAgICAgICAgICB0aGlzLmNyZWF0ZUZhaWx1cmVBdE5vZGUoZWxlbWVudCwgbWF0Y2gubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9sLXJlbW92YWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2RrL3NjaGVtYXRpY3MvbmctdXBkYXRlL21pZ3JhdGlvbnMvc3ltYm9sLXJlbW92YWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBRUgsaUNBQWlDO0FBQ2pDLDJEQUFzRDtBQUV0RCxrREFBbUU7QUFFbkUsdUVBQXVFO0FBQ3ZFLE1BQWEsc0JBQXVCLFNBQVEscUJBQXNCO0lBQ2hFLGlFQUFpRTtJQUNqRSxJQUFJLEdBQStCLElBQUEsb0NBQXFCLEVBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBRWhGLDJEQUEyRDtJQUMzRCxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBRXhCLFNBQVMsQ0FBQyxJQUFhO1FBQzlCLElBQUksQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUM5RSxPQUFPO1NBQ1I7UUFFRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDO1FBRTNFLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQ3ZELE9BQU87U0FDUjtRQUVELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQ3hDLEtBQUssQ0FBQyxFQUFFLENBQUUsSUFBSSxDQUFDLGVBQW9DLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxNQUFNLENBQzFFLENBQUM7UUFFRixJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFO1lBQzdCLE9BQU87U0FDUjtRQUVELGFBQWEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3ZDLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxZQUFZLEVBQUUsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBRXBFLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDaEMsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFdBQVcsRUFBRTtvQkFDOUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7aUJBQ2xEO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQXBDRCx3REFvQ0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5pbXBvcnQge01pZ3JhdGlvbn0gZnJvbSAnLi4vLi4vdXBkYXRlLXRvb2wvbWlncmF0aW9uJztcbmltcG9ydCB7U3ltYm9sUmVtb3ZhbFVwZ3JhZGVEYXRhfSBmcm9tICcuLi9kYXRhJztcbmltcG9ydCB7Z2V0VmVyc2lvblVwZ3JhZGVEYXRhLCBVcGdyYWRlRGF0YX0gZnJvbSAnLi4vdXBncmFkZS1kYXRhJztcblxuLyoqIE1pZ3JhdGlvbiB0aGF0IGZsYWdzIGltcG9ydHMgZm9yIHN5bWJvbHMgdGhhdCBoYXZlIGJlZW4gcmVtb3ZlZC4gKi9cbmV4cG9ydCBjbGFzcyBTeW1ib2xSZW1vdmFsTWlncmF0aW9uIGV4dGVuZHMgTWlncmF0aW9uPFVwZ3JhZGVEYXRhPiB7XG4gIC8qKiBDaGFuZ2UgZGF0YSB0aGF0IHVwZ3JhZGVzIHRvIHRoZSBzcGVjaWZpZWQgdGFyZ2V0IHZlcnNpb24uICovXG4gIGRhdGE6IFN5bWJvbFJlbW92YWxVcGdyYWRlRGF0YVtdID0gZ2V0VmVyc2lvblVwZ3JhZGVEYXRhKHRoaXMsICdzeW1ib2xSZW1vdmFsJyk7XG5cbiAgLy8gT25seSBlbmFibGUgdGhlIG1pZ3JhdGlvbiBydWxlIGlmIHRoZXJlIGlzIHVwZ3JhZGUgZGF0YS5cbiAgZW5hYmxlZCA9IHRoaXMuZGF0YS5sZW5ndGggIT09IDA7XG5cbiAgb3ZlcnJpZGUgdmlzaXROb2RlKG5vZGU6IHRzLk5vZGUpOiB2b2lkIHtcbiAgICBpZiAoIXRzLmlzSW1wb3J0RGVjbGFyYXRpb24obm9kZSkgfHwgIXRzLmlzU3RyaW5nTGl0ZXJhbChub2RlLm1vZHVsZVNwZWNpZmllcikpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBuYW1lZEJpbmRpbmdzID0gbm9kZS5pbXBvcnRDbGF1c2UgJiYgbm9kZS5pbXBvcnRDbGF1c2UubmFtZWRCaW5kaW5ncztcblxuICAgIGlmICghbmFtZWRCaW5kaW5ncyB8fCAhdHMuaXNOYW1lZEltcG9ydHMobmFtZWRCaW5kaW5ncykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBtb2R1bGVOYW1lTWF0Y2hlcyA9IHRoaXMuZGF0YS5maWx0ZXIoXG4gICAgICBlbnRyeSA9PiAobm9kZS5tb2R1bGVTcGVjaWZpZXIgYXMgdHMuU3RyaW5nTGl0ZXJhbCkudGV4dCA9PT0gZW50cnkubW9kdWxlLFxuICAgICk7XG5cbiAgICBpZiAoIW1vZHVsZU5hbWVNYXRjaGVzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG5hbWVkQmluZGluZ3MuZWxlbWVudHMuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgIGNvbnN0IGVsZW1lbnROYW1lID0gZWxlbWVudC5wcm9wZXJ0eU5hbWU/LnRleHQgfHwgZWxlbWVudC5uYW1lLnRleHQ7XG5cbiAgICAgIG1vZHVsZU5hbWVNYXRjaGVzLmZvckVhY2gobWF0Y2ggPT4ge1xuICAgICAgICBpZiAobWF0Y2gubmFtZSA9PT0gZWxlbWVudE5hbWUpIHtcbiAgICAgICAgICB0aGlzLmNyZWF0ZUZhaWx1cmVBdE5vZGUoZWxlbWVudCwgbWF0Y2gubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -13,13 +13,10 @@ const migration_1 = require("../../update-tool/migration");
13
13
  const upgrade_data_1 = require("../upgrade-data");
14
14
  /** Migration that flags imports for symbols that have been removed. */
15
15
  class SymbolRemovalMigration extends migration_1.Migration {
16
- constructor() {
17
- super(...arguments);
18
- /** Change data that upgrades to the specified target version. */
19
- this.data = (0, upgrade_data_1.getVersionUpgradeData)(this, 'symbolRemoval');
20
- // Only enable the migration rule if there is upgrade data.
21
- this.enabled = this.data.length !== 0;
22
- }
16
+ /** Change data that upgrades to the specified target version. */
17
+ data = (0, upgrade_data_1.getVersionUpgradeData)(this, 'symbolRemoval');
18
+ // Only enable the migration rule if there is upgrade data.
19
+ enabled = this.data.length !== 0;
23
20
  visitNode(node) {
24
21
  if (!ts.isImportDeclaration(node) || !ts.isStringLiteral(node.moduleSpecifier)) {
25
22
  return;
@@ -33,8 +30,7 @@ class SymbolRemovalMigration extends migration_1.Migration {
33
30
  return;
34
31
  }
35
32
  namedBindings.elements.forEach(element => {
36
- var _a;
37
- const elementName = ((_a = element.propertyName) === null || _a === void 0 ? void 0 : _a.text) || element.name.text;
33
+ const elementName = element.propertyName?.text || element.name.text;
38
34
  moduleNameMatches.forEach(match => {
39
35
  if (match.name === elementName) {
40
36
  this.createFailureAtNode(element, match.message);
@@ -44,4 +40,4 @@ class SymbolRemovalMigration extends migration_1.Migration {
44
40
  }
45
41
  }
46
42
  exports.SymbolRemovalMigration = SymbolRemovalMigration;
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9sLXJlbW92YWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2RrL3NjaGVtYXRpY3MvbmctdXBkYXRlL21pZ3JhdGlvbnMvc3ltYm9sLXJlbW92YWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBRUgsaUNBQWlDO0FBQ2pDLDJEQUFzRDtBQUV0RCxrREFBbUU7QUFFbkUsdUVBQXVFO0FBQ3ZFLE1BQWEsc0JBQXVCLFNBQVEscUJBQXNCO0lBQWxFOztRQUNFLGlFQUFpRTtRQUNqRSxTQUFJLEdBQStCLElBQUEsb0NBQXFCLEVBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBRWhGLDJEQUEyRDtRQUMzRCxZQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBK0JuQyxDQUFDO0lBN0JVLFNBQVMsQ0FBQyxJQUFhO1FBQzlCLElBQUksQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUM5RSxPQUFPO1NBQ1I7UUFFRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDO1FBRTNFLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQ3ZELE9BQU87U0FDUjtRQUVELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQ3hDLEtBQUssQ0FBQyxFQUFFLENBQUUsSUFBSSxDQUFDLGVBQW9DLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxNQUFNLENBQzFFLENBQUM7UUFFRixJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFO1lBQzdCLE9BQU87U0FDUjtRQUVELGFBQWEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFOztZQUN2QyxNQUFNLFdBQVcsR0FBRyxDQUFBLE1BQUEsT0FBTyxDQUFDLFlBQVksMENBQUUsSUFBSSxLQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBRXBFLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDaEMsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFdBQVcsRUFBRTtvQkFDOUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7aUJBQ2xEO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQXBDRCx3REFvQ0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5pbXBvcnQge01pZ3JhdGlvbn0gZnJvbSAnLi4vLi4vdXBkYXRlLXRvb2wvbWlncmF0aW9uJztcbmltcG9ydCB7U3ltYm9sUmVtb3ZhbFVwZ3JhZGVEYXRhfSBmcm9tICcuLi9kYXRhJztcbmltcG9ydCB7Z2V0VmVyc2lvblVwZ3JhZGVEYXRhLCBVcGdyYWRlRGF0YX0gZnJvbSAnLi4vdXBncmFkZS1kYXRhJztcblxuLyoqIE1pZ3JhdGlvbiB0aGF0IGZsYWdzIGltcG9ydHMgZm9yIHN5bWJvbHMgdGhhdCBoYXZlIGJlZW4gcmVtb3ZlZC4gKi9cbmV4cG9ydCBjbGFzcyBTeW1ib2xSZW1vdmFsTWlncmF0aW9uIGV4dGVuZHMgTWlncmF0aW9uPFVwZ3JhZGVEYXRhPiB7XG4gIC8qKiBDaGFuZ2UgZGF0YSB0aGF0IHVwZ3JhZGVzIHRvIHRoZSBzcGVjaWZpZWQgdGFyZ2V0IHZlcnNpb24uICovXG4gIGRhdGE6IFN5bWJvbFJlbW92YWxVcGdyYWRlRGF0YVtdID0gZ2V0VmVyc2lvblVwZ3JhZGVEYXRhKHRoaXMsICdzeW1ib2xSZW1vdmFsJyk7XG5cbiAgLy8gT25seSBlbmFibGUgdGhlIG1pZ3JhdGlvbiBydWxlIGlmIHRoZXJlIGlzIHVwZ3JhZGUgZGF0YS5cbiAgZW5hYmxlZCA9IHRoaXMuZGF0YS5sZW5ndGggIT09IDA7XG5cbiAgb3ZlcnJpZGUgdmlzaXROb2RlKG5vZGU6IHRzLk5vZGUpOiB2b2lkIHtcbiAgICBpZiAoIXRzLmlzSW1wb3J0RGVjbGFyYXRpb24obm9kZSkgfHwgIXRzLmlzU3RyaW5nTGl0ZXJhbChub2RlLm1vZHVsZVNwZWNpZmllcikpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBuYW1lZEJpbmRpbmdzID0gbm9kZS5pbXBvcnRDbGF1c2UgJiYgbm9kZS5pbXBvcnRDbGF1c2UubmFtZWRCaW5kaW5ncztcblxuICAgIGlmICghbmFtZWRCaW5kaW5ncyB8fCAhdHMuaXNOYW1lZEltcG9ydHMobmFtZWRCaW5kaW5ncykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBtb2R1bGVOYW1lTWF0Y2hlcyA9IHRoaXMuZGF0YS5maWx0ZXIoXG4gICAgICBlbnRyeSA9PiAobm9kZS5tb2R1bGVTcGVjaWZpZXIgYXMgdHMuU3RyaW5nTGl0ZXJhbCkudGV4dCA9PT0gZW50cnkubW9kdWxlLFxuICAgICk7XG5cbiAgICBpZiAoIW1vZHVsZU5hbWVNYXRjaGVzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG5hbWVkQmluZGluZ3MuZWxlbWVudHMuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgIGNvbnN0IGVsZW1lbnROYW1lID0gZWxlbWVudC5wcm9wZXJ0eU5hbWU/LnRleHQgfHwgZWxlbWVudC5uYW1lLnRleHQ7XG5cbiAgICAgIG1vZHVsZU5hbWVNYXRjaGVzLmZvckVhY2gobWF0Y2ggPT4ge1xuICAgICAgICBpZiAobWF0Y2gubmFtZSA9PT0gZWxlbWVudE5hbWUpIHtcbiAgICAgICAgICB0aGlzLmNyZWF0ZUZhaWx1cmVBdE5vZGUoZWxlbWVudCwgbWF0Y2gubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9sLXJlbW92YWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2RrL3NjaGVtYXRpY3MvbmctdXBkYXRlL21pZ3JhdGlvbnMvc3ltYm9sLXJlbW92YWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBRUgsaUNBQWlDO0FBQ2pDLDJEQUFzRDtBQUV0RCxrREFBbUU7QUFFbkUsdUVBQXVFO0FBQ3ZFLE1BQWEsc0JBQXVCLFNBQVEscUJBQXNCO0lBQ2hFLGlFQUFpRTtJQUNqRSxJQUFJLEdBQStCLElBQUEsb0NBQXFCLEVBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBRWhGLDJEQUEyRDtJQUMzRCxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBRXhCLFNBQVMsQ0FBQyxJQUFhO1FBQzlCLElBQUksQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUM5RSxPQUFPO1NBQ1I7UUFFRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDO1FBRTNFLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQ3ZELE9BQU87U0FDUjtRQUVELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQ3hDLEtBQUssQ0FBQyxFQUFFLENBQUUsSUFBSSxDQUFDLGVBQW9DLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxNQUFNLENBQzFFLENBQUM7UUFFRixJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFO1lBQzdCLE9BQU87U0FDUjtRQUVELGFBQWEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3ZDLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxZQUFZLEVBQUUsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBRXBFLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDaEMsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFdBQVcsRUFBRTtvQkFDOUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7aUJBQ2xEO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQXBDRCx3REFvQ0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5pbXBvcnQge01pZ3JhdGlvbn0gZnJvbSAnLi4vLi4vdXBkYXRlLXRvb2wvbWlncmF0aW9uJztcbmltcG9ydCB7U3ltYm9sUmVtb3ZhbFVwZ3JhZGVEYXRhfSBmcm9tICcuLi9kYXRhJztcbmltcG9ydCB7Z2V0VmVyc2lvblVwZ3JhZGVEYXRhLCBVcGdyYWRlRGF0YX0gZnJvbSAnLi4vdXBncmFkZS1kYXRhJztcblxuLyoqIE1pZ3JhdGlvbiB0aGF0IGZsYWdzIGltcG9ydHMgZm9yIHN5bWJvbHMgdGhhdCBoYXZlIGJlZW4gcmVtb3ZlZC4gKi9cbmV4cG9ydCBjbGFzcyBTeW1ib2xSZW1vdmFsTWlncmF0aW9uIGV4dGVuZHMgTWlncmF0aW9uPFVwZ3JhZGVEYXRhPiB7XG4gIC8qKiBDaGFuZ2UgZGF0YSB0aGF0IHVwZ3JhZGVzIHRvIHRoZSBzcGVjaWZpZWQgdGFyZ2V0IHZlcnNpb24uICovXG4gIGRhdGE6IFN5bWJvbFJlbW92YWxVcGdyYWRlRGF0YVtdID0gZ2V0VmVyc2lvblVwZ3JhZGVEYXRhKHRoaXMsICdzeW1ib2xSZW1vdmFsJyk7XG5cbiAgLy8gT25seSBlbmFibGUgdGhlIG1pZ3JhdGlvbiBydWxlIGlmIHRoZXJlIGlzIHVwZ3JhZGUgZGF0YS5cbiAgZW5hYmxlZCA9IHRoaXMuZGF0YS5sZW5ndGggIT09IDA7XG5cbiAgb3ZlcnJpZGUgdmlzaXROb2RlKG5vZGU6IHRzLk5vZGUpOiB2b2lkIHtcbiAgICBpZiAoIXRzLmlzSW1wb3J0RGVjbGFyYXRpb24obm9kZSkgfHwgIXRzLmlzU3RyaW5nTGl0ZXJhbChub2RlLm1vZHVsZVNwZWNpZmllcikpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBuYW1lZEJpbmRpbmdzID0gbm9kZS5pbXBvcnRDbGF1c2UgJiYgbm9kZS5pbXBvcnRDbGF1c2UubmFtZWRCaW5kaW5ncztcblxuICAgIGlmICghbmFtZWRCaW5kaW5ncyB8fCAhdHMuaXNOYW1lZEltcG9ydHMobmFtZWRCaW5kaW5ncykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBtb2R1bGVOYW1lTWF0Y2hlcyA9IHRoaXMuZGF0YS5maWx0ZXIoXG4gICAgICBlbnRyeSA9PiAobm9kZS5tb2R1bGVTcGVjaWZpZXIgYXMgdHMuU3RyaW5nTGl0ZXJhbCkudGV4dCA9PT0gZW50cnkubW9kdWxlLFxuICAgICk7XG5cbiAgICBpZiAoIW1vZHVsZU5hbWVNYXRjaGVzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG5hbWVkQmluZGluZ3MuZWxlbWVudHMuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgIGNvbnN0IGVsZW1lbnROYW1lID0gZWxlbWVudC5wcm9wZXJ0eU5hbWU/LnRleHQgfHwgZWxlbWVudC5uYW1lLnRleHQ7XG5cbiAgICAgIG1vZHVsZU5hbWVNYXRjaGVzLmZvckVhY2gobWF0Y2ggPT4ge1xuICAgICAgICBpZiAobWF0Y2gubmFtZSA9PT0gZWxlbWVudE5hbWUpIHtcbiAgICAgICAgICB0aGlzLmNyZWF0ZUZhaWx1cmVBdE5vZGUoZWxlbWVudCwgbWF0Y2gubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -8,10 +8,12 @@
8
8
  export * from './data/index';
9
9
  export * from './devkit-migration';
10
10
  export * from './devkit-migration-rule';
11
+ export * from './devkit-file-system';
11
12
  export * from './html-parsing/angular';
12
13
  export * from './html-parsing/elements';
13
14
  export * from './typescript/base-types';
14
15
  export * from './typescript/imports';
15
16
  export * from './typescript/literal';
16
17
  export * from './typescript/module-specifiers';
18
+ export * from './find-stylesheets';
17
19
  export * from './upgrade-data';
@@ -24,11 +24,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
24
24
  __exportStar(require("./data/index"), exports);
25
25
  __exportStar(require("./devkit-migration"), exports);
26
26
  __exportStar(require("./devkit-migration-rule"), exports);
27
+ __exportStar(require("./devkit-file-system"), exports);
27
28
  __exportStar(require("./html-parsing/angular"), exports);
28
29
  __exportStar(require("./html-parsing/elements"), exports);
29
30
  __exportStar(require("./typescript/base-types"), exports);
30
31
  __exportStar(require("./typescript/imports"), exports);
31
32
  __exportStar(require("./typescript/literal"), exports);
32
33
  __exportStar(require("./typescript/module-specifiers"), exports);
34
+ __exportStar(require("./find-stylesheets"), exports);
33
35
  __exportStar(require("./upgrade-data"), exports);
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jZGsvc2NoZW1hdGljcy9uZy11cGRhdGUvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7Ozs7O0FBRUgsK0NBQTZCO0FBQzdCLHFEQUFtQztBQUNuQywwREFBd0M7QUFDeEMseURBQXVDO0FBQ3ZDLDBEQUF3QztBQUN4QywwREFBd0M7QUFDeEMsdURBQXFDO0FBQ3JDLHVEQUFxQztBQUNyQyxpRUFBK0M7QUFDL0MsaURBQStCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vZGF0YS9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2RldmtpdC1taWdyYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9kZXZraXQtbWlncmF0aW9uLXJ1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9odG1sLXBhcnNpbmcvYW5ndWxhcic7XG5leHBvcnQgKiBmcm9tICcuL2h0bWwtcGFyc2luZy9lbGVtZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzY3JpcHQvYmFzZS10eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzY3JpcHQvaW1wb3J0cyc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzY3JpcHQvbGl0ZXJhbCc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzY3JpcHQvbW9kdWxlLXNwZWNpZmllcnMnO1xuZXhwb3J0ICogZnJvbSAnLi91cGdyYWRlLWRhdGEnO1xuIl19
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jZGsvc2NoZW1hdGljcy9uZy11cGRhdGUvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7Ozs7O0FBRUgsK0NBQTZCO0FBQzdCLHFEQUFtQztBQUNuQywwREFBd0M7QUFDeEMsdURBQXFDO0FBQ3JDLHlEQUF1QztBQUN2QywwREFBd0M7QUFDeEMsMERBQXdDO0FBQ3hDLHVEQUFxQztBQUNyQyx1REFBcUM7QUFDckMsaUVBQStDO0FBQy9DLHFEQUFtQztBQUNuQyxpREFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9kYXRhL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vZGV2a2l0LW1pZ3JhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2RldmtpdC1taWdyYXRpb24tcnVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2RldmtpdC1maWxlLXN5c3RlbSc7XG5leHBvcnQgKiBmcm9tICcuL2h0bWwtcGFyc2luZy9hbmd1bGFyJztcbmV4cG9ydCAqIGZyb20gJy4vaHRtbC1wYXJzaW5nL2VsZW1lbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXNjcmlwdC9iYXNlLXR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXNjcmlwdC9pbXBvcnRzJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXNjcmlwdC9saXRlcmFsJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXNjcmlwdC9tb2R1bGUtc3BlY2lmaWVycyc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbmQtc3R5bGVzaGVldHMnO1xuZXhwb3J0ICogZnJvbSAnLi91cGdyYWRlLWRhdGEnO1xuIl19
@@ -24,11 +24,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
24
24
  __exportStar(require("./data/index"), exports);
25
25
  __exportStar(require("./devkit-migration"), exports);
26
26
  __exportStar(require("./devkit-migration-rule"), exports);
27
+ __exportStar(require("./devkit-file-system"), exports);
27
28
  __exportStar(require("./html-parsing/angular"), exports);
28
29
  __exportStar(require("./html-parsing/elements"), exports);
29
30
  __exportStar(require("./typescript/base-types"), exports);
30
31
  __exportStar(require("./typescript/imports"), exports);
31
32
  __exportStar(require("./typescript/literal"), exports);
32
33
  __exportStar(require("./typescript/module-specifiers"), exports);
34
+ __exportStar(require("./find-stylesheets"), exports);
33
35
  __exportStar(require("./upgrade-data"), exports);
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jZGsvc2NoZW1hdGljcy9uZy11cGRhdGUvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7Ozs7O0FBRUgsK0NBQTZCO0FBQzdCLHFEQUFtQztBQUNuQywwREFBd0M7QUFDeEMseURBQXVDO0FBQ3ZDLDBEQUF3QztBQUN4QywwREFBd0M7QUFDeEMsdURBQXFDO0FBQ3JDLHVEQUFxQztBQUNyQyxpRUFBK0M7QUFDL0MsaURBQStCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vZGF0YS9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2RldmtpdC1taWdyYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9kZXZraXQtbWlncmF0aW9uLXJ1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9odG1sLXBhcnNpbmcvYW5ndWxhcic7XG5leHBvcnQgKiBmcm9tICcuL2h0bWwtcGFyc2luZy9lbGVtZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzY3JpcHQvYmFzZS10eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzY3JpcHQvaW1wb3J0cyc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzY3JpcHQvbGl0ZXJhbCc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzY3JpcHQvbW9kdWxlLXNwZWNpZmllcnMnO1xuZXhwb3J0ICogZnJvbSAnLi91cGdyYWRlLWRhdGEnO1xuIl19
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jZGsvc2NoZW1hdGljcy9uZy11cGRhdGUvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7Ozs7O0FBRUgsK0NBQTZCO0FBQzdCLHFEQUFtQztBQUNuQywwREFBd0M7QUFDeEMsdURBQXFDO0FBQ3JDLHlEQUF1QztBQUN2QywwREFBd0M7QUFDeEMsMERBQXdDO0FBQ3hDLHVEQUFxQztBQUNyQyx1REFBcUM7QUFDckMsaUVBQStDO0FBQy9DLHFEQUFtQztBQUNuQyxpREFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9kYXRhL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vZGV2a2l0LW1pZ3JhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2RldmtpdC1taWdyYXRpb24tcnVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2RldmtpdC1maWxlLXN5c3RlbSc7XG5leHBvcnQgKiBmcm9tICcuL2h0bWwtcGFyc2luZy9hbmd1bGFyJztcbmV4cG9ydCAqIGZyb20gJy4vaHRtbC1wYXJzaW5nL2VsZW1lbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXNjcmlwdC9iYXNlLXR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXNjcmlwdC9pbXBvcnRzJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXNjcmlwdC9saXRlcmFsJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXNjcmlwdC9tb2R1bGUtc3BlY2lmaWVycyc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbmQtc3R5bGVzaGVldHMnO1xuZXhwb3J0ICogZnJvbSAnLi91cGdyYWRlLWRhdGEnO1xuIl19
@@ -29,8 +29,11 @@ exports.cdkUpgradeData = {
29
29
  * data portion that is specifically tied to the target version.
30
30
  */
31
31
  function getVersionUpgradeData(migration, dataName) {
32
+ if (migration.targetVersion === null) {
33
+ return [];
34
+ }
32
35
  // Note that below we need to cast to `unknown` first TS doesn't infer the type of T correctly.
33
36
  return (0, version_changes_1.getChangesForTarget)(migration.targetVersion, migration.upgradeData[dataName]);
34
37
  }
35
38
  exports.getVersionUpgradeData = getVersionUpgradeData;
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBncmFkZS1kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Nkay9zY2hlbWF0aWNzL25nLXVwZGF0ZS91cGdyYWRlLWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBR0gsb0VBQW1HO0FBQ25HLGlDQXFCZ0I7QUFFaEIsd0NBQXdDO0FBQzNCLFFBQUEsY0FBYyxHQUFnQjtJQUN6QyxrQkFBa0IsRUFBbEIseUJBQWtCO0lBQ2xCLFVBQVUsRUFBVixpQkFBVTtJQUNWLGlCQUFpQixFQUFqQix3QkFBaUI7SUFDakIsWUFBWSxFQUFaLG1CQUFZO0lBQ1osZ0JBQWdCLEVBQWhCLHVCQUFnQjtJQUNoQixVQUFVLEVBQVYsaUJBQVU7SUFDVixnQkFBZ0IsRUFBaEIsdUJBQWdCO0lBQ2hCLFdBQVcsRUFBWCxrQkFBVztJQUNYLGFBQWEsRUFBYixvQkFBYTtJQUNiLGFBQWEsRUFBYixvQkFBYTtDQUNkLENBQUM7QUFtQkY7Ozs7R0FJRztBQUNILFNBQWdCLHFCQUFxQixDQUduQyxTQUFpQyxFQUFFLFFBQVc7SUFDOUMsK0ZBQStGO0lBQy9GLE9BQU8sSUFBQSxxQ0FBbUIsRUFDeEIsU0FBUyxDQUFDLGFBQWEsRUFDdkIsU0FBUyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQWlDLENBQ2hFLENBQUM7QUFDSixDQUFDO0FBVEQsc0RBU0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtNaWdyYXRpb259IGZyb20gJy4uL3VwZGF0ZS10b29sL21pZ3JhdGlvbic7XG5pbXBvcnQge2dldENoYW5nZXNGb3JUYXJnZXQsIFZhbHVlT2ZDaGFuZ2VzLCBWZXJzaW9uQ2hhbmdlc30gZnJvbSAnLi4vdXBkYXRlLXRvb2wvdmVyc2lvbi1jaGFuZ2VzJztcbmltcG9ydCB7XG4gIGF0dHJpYnV0ZVNlbGVjdG9ycyxcbiAgQXR0cmlidXRlU2VsZWN0b3JVcGdyYWRlRGF0YSxcbiAgY2xhc3NOYW1lcyxcbiAgQ2xhc3NOYW1lVXBncmFkZURhdGEsXG4gIGNvbnN0cnVjdG9yQ2hlY2tzLFxuICBDb25zdHJ1Y3RvckNoZWNrc1VwZ3JhZGVEYXRhLFxuICBjc3NTZWxlY3RvcnMsXG4gIENzc1NlbGVjdG9yVXBncmFkZURhdGEsXG4gIGVsZW1lbnRTZWxlY3RvcnMsXG4gIEVsZW1lbnRTZWxlY3RvclVwZ3JhZGVEYXRhLFxuICBpbnB1dE5hbWVzLFxuICBJbnB1dE5hbWVVcGdyYWRlRGF0YSxcbiAgbWV0aG9kQ2FsbENoZWNrcyxcbiAgTWV0aG9kQ2FsbFVwZ3JhZGVEYXRhLFxuICBvdXRwdXROYW1lcyxcbiAgT3V0cHV0TmFtZVVwZ3JhZGVEYXRhLFxuICBwcm9wZXJ0eU5hbWVzLFxuICBQcm9wZXJ0eU5hbWVVcGdyYWRlRGF0YSxcbiAgU3ltYm9sUmVtb3ZhbFVwZ3JhZGVEYXRhLFxuICBzeW1ib2xSZW1vdmFsLFxufSBmcm9tICcuL2RhdGEnO1xuXG4vKiogVXBncmFkZSBkYXRhIGZvciB0aGUgQW5ndWxhciBDREsuICovXG5leHBvcnQgY29uc3QgY2RrVXBncmFkZURhdGE6IFVwZ3JhZGVEYXRhID0ge1xuICBhdHRyaWJ1dGVTZWxlY3RvcnMsXG4gIGNsYXNzTmFtZXMsXG4gIGNvbnN0cnVjdG9yQ2hlY2tzLFxuICBjc3NTZWxlY3RvcnMsXG4gIGVsZW1lbnRTZWxlY3RvcnMsXG4gIGlucHV0TmFtZXMsXG4gIG1ldGhvZENhbGxDaGVja3MsXG4gIG91dHB1dE5hbWVzLFxuICBwcm9wZXJ0eU5hbWVzLFxuICBzeW1ib2xSZW1vdmFsLFxufTtcblxuLyoqXG4gKiBJbnRlcmZhY2UgdGhhdCBkZXNjcmliZXMgdGhlIHVwZ3JhZGUgZGF0YSB0aGF0IG5lZWRzIHRvIGJlIGRlZmluZWQgd2hlbiB1c2luZyB0aGUgQ0RLXG4gKiB1cGdyYWRlIHJ1bGVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVwZ3JhZGVEYXRhIHtcbiAgYXR0cmlidXRlU2VsZWN0b3JzOiBWZXJzaW9uQ2hhbmdlczxBdHRyaWJ1dGVTZWxlY3RvclVwZ3JhZGVEYXRhPjtcbiAgY2xhc3NOYW1lczogVmVyc2lvbkNoYW5nZXM8Q2xhc3NOYW1lVXBncmFkZURhdGE+O1xuICBjb25zdHJ1Y3RvckNoZWNrczogVmVyc2lvbkNoYW5nZXM8Q29uc3RydWN0b3JDaGVja3NVcGdyYWRlRGF0YT47XG4gIGNzc1NlbGVjdG9yczogVmVyc2lvbkNoYW5nZXM8Q3NzU2VsZWN0b3JVcGdyYWRlRGF0YT47XG4gIGVsZW1lbnRTZWxlY3RvcnM6IFZlcnNpb25DaGFuZ2VzPEVsZW1lbnRTZWxlY3RvclVwZ3JhZGVEYXRhPjtcbiAgaW5wdXROYW1lczogVmVyc2lvbkNoYW5nZXM8SW5wdXROYW1lVXBncmFkZURhdGE+O1xuICBtZXRob2RDYWxsQ2hlY2tzOiBWZXJzaW9uQ2hhbmdlczxNZXRob2RDYWxsVXBncmFkZURhdGE+O1xuICBvdXRwdXROYW1lczogVmVyc2lvbkNoYW5nZXM8T3V0cHV0TmFtZVVwZ3JhZGVEYXRhPjtcbiAgcHJvcGVydHlOYW1lczogVmVyc2lvbkNoYW5nZXM8UHJvcGVydHlOYW1lVXBncmFkZURhdGE+O1xuICBzeW1ib2xSZW1vdmFsOiBWZXJzaW9uQ2hhbmdlczxTeW1ib2xSZW1vdmFsVXBncmFkZURhdGE+O1xufVxuXG4vKipcbiAqIEdldHMgdGhlIHJlZHVjZWQgdXBncmFkZSBkYXRhIGZvciB0aGUgc3BlY2lmaWVkIGRhdGEga2V5LiBUaGUgZnVuY3Rpb24gcmVhZHMgb3V0IHRoZVxuICogdGFyZ2V0IHZlcnNpb24gYW5kIHVwZ3JhZGUgZGF0YSBvYmplY3QgZnJvbSB0aGUgbWlncmF0aW9uIGFuZCByZXNvbHZlcyB0aGUgc3BlY2lmaWVkXG4gKiBkYXRhIHBvcnRpb24gdGhhdCBpcyBzcGVjaWZpY2FsbHkgdGllZCB0byB0aGUgdGFyZ2V0IHZlcnNpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRWZXJzaW9uVXBncmFkZURhdGE8XG4gIFQgZXh0ZW5kcyBrZXlvZiBVcGdyYWRlRGF0YSxcbiAgVSA9IFZhbHVlT2ZDaGFuZ2VzPFVwZ3JhZGVEYXRhW1RdPixcbj4obWlncmF0aW9uOiBNaWdyYXRpb248VXBncmFkZURhdGE+LCBkYXRhTmFtZTogVCk6IFVbXSB7XG4gIC8vIE5vdGUgdGhhdCBiZWxvdyB3ZSBuZWVkIHRvIGNhc3QgdG8gYHVua25vd25gIGZpcnN0IFRTIGRvZXNuJ3QgaW5mZXIgdGhlIHR5cGUgb2YgVCBjb3JyZWN0bHkuXG4gIHJldHVybiBnZXRDaGFuZ2VzRm9yVGFyZ2V0PFU+KFxuICAgIG1pZ3JhdGlvbi50YXJnZXRWZXJzaW9uLFxuICAgIG1pZ3JhdGlvbi51cGdyYWRlRGF0YVtkYXRhTmFtZV0gYXMgdW5rbm93biBhcyBWZXJzaW9uQ2hhbmdlczxVPixcbiAgKTtcbn1cbiJdfQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBncmFkZS1kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Nkay9zY2hlbWF0aWNzL25nLXVwZGF0ZS91cGdyYWRlLWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBR0gsb0VBQW1HO0FBQ25HLGlDQXFCZ0I7QUFFaEIsd0NBQXdDO0FBQzNCLFFBQUEsY0FBYyxHQUFnQjtJQUN6QyxrQkFBa0IsRUFBbEIseUJBQWtCO0lBQ2xCLFVBQVUsRUFBVixpQkFBVTtJQUNWLGlCQUFpQixFQUFqQix3QkFBaUI7SUFDakIsWUFBWSxFQUFaLG1CQUFZO0lBQ1osZ0JBQWdCLEVBQWhCLHVCQUFnQjtJQUNoQixVQUFVLEVBQVYsaUJBQVU7SUFDVixnQkFBZ0IsRUFBaEIsdUJBQWdCO0lBQ2hCLFdBQVcsRUFBWCxrQkFBVztJQUNYLGFBQWEsRUFBYixvQkFBYTtJQUNiLGFBQWEsRUFBYixvQkFBYTtDQUNkLENBQUM7QUFtQkY7Ozs7R0FJRztBQUNILFNBQWdCLHFCQUFxQixDQUduQyxTQUFpQyxFQUFFLFFBQVc7SUFDOUMsSUFBSSxTQUFTLENBQUMsYUFBYSxLQUFLLElBQUksRUFBRTtRQUNwQyxPQUFPLEVBQUUsQ0FBQztLQUNYO0lBRUQsK0ZBQStGO0lBQy9GLE9BQU8sSUFBQSxxQ0FBbUIsRUFDeEIsU0FBUyxDQUFDLGFBQWEsRUFDdkIsU0FBUyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQWlDLENBQ2hFLENBQUM7QUFDSixDQUFDO0FBYkQsc0RBYUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtNaWdyYXRpb259IGZyb20gJy4uL3VwZGF0ZS10b29sL21pZ3JhdGlvbic7XG5pbXBvcnQge2dldENoYW5nZXNGb3JUYXJnZXQsIFZhbHVlT2ZDaGFuZ2VzLCBWZXJzaW9uQ2hhbmdlc30gZnJvbSAnLi4vdXBkYXRlLXRvb2wvdmVyc2lvbi1jaGFuZ2VzJztcbmltcG9ydCB7XG4gIGF0dHJpYnV0ZVNlbGVjdG9ycyxcbiAgQXR0cmlidXRlU2VsZWN0b3JVcGdyYWRlRGF0YSxcbiAgY2xhc3NOYW1lcyxcbiAgQ2xhc3NOYW1lVXBncmFkZURhdGEsXG4gIGNvbnN0cnVjdG9yQ2hlY2tzLFxuICBDb25zdHJ1Y3RvckNoZWNrc1VwZ3JhZGVEYXRhLFxuICBjc3NTZWxlY3RvcnMsXG4gIENzc1NlbGVjdG9yVXBncmFkZURhdGEsXG4gIGVsZW1lbnRTZWxlY3RvcnMsXG4gIEVsZW1lbnRTZWxlY3RvclVwZ3JhZGVEYXRhLFxuICBpbnB1dE5hbWVzLFxuICBJbnB1dE5hbWVVcGdyYWRlRGF0YSxcbiAgbWV0aG9kQ2FsbENoZWNrcyxcbiAgTWV0aG9kQ2FsbFVwZ3JhZGVEYXRhLFxuICBvdXRwdXROYW1lcyxcbiAgT3V0cHV0TmFtZVVwZ3JhZGVEYXRhLFxuICBwcm9wZXJ0eU5hbWVzLFxuICBQcm9wZXJ0eU5hbWVVcGdyYWRlRGF0YSxcbiAgU3ltYm9sUmVtb3ZhbFVwZ3JhZGVEYXRhLFxuICBzeW1ib2xSZW1vdmFsLFxufSBmcm9tICcuL2RhdGEnO1xuXG4vKiogVXBncmFkZSBkYXRhIGZvciB0aGUgQW5ndWxhciBDREsuICovXG5leHBvcnQgY29uc3QgY2RrVXBncmFkZURhdGE6IFVwZ3JhZGVEYXRhID0ge1xuICBhdHRyaWJ1dGVTZWxlY3RvcnMsXG4gIGNsYXNzTmFtZXMsXG4gIGNvbnN0cnVjdG9yQ2hlY2tzLFxuICBjc3NTZWxlY3RvcnMsXG4gIGVsZW1lbnRTZWxlY3RvcnMsXG4gIGlucHV0TmFtZXMsXG4gIG1ldGhvZENhbGxDaGVja3MsXG4gIG91dHB1dE5hbWVzLFxuICBwcm9wZXJ0eU5hbWVzLFxuICBzeW1ib2xSZW1vdmFsLFxufTtcblxuLyoqXG4gKiBJbnRlcmZhY2UgdGhhdCBkZXNjcmliZXMgdGhlIHVwZ3JhZGUgZGF0YSB0aGF0IG5lZWRzIHRvIGJlIGRlZmluZWQgd2hlbiB1c2luZyB0aGUgQ0RLXG4gKiB1cGdyYWRlIHJ1bGVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVwZ3JhZGVEYXRhIHtcbiAgYXR0cmlidXRlU2VsZWN0b3JzOiBWZXJzaW9uQ2hhbmdlczxBdHRyaWJ1dGVTZWxlY3RvclVwZ3JhZGVEYXRhPjtcbiAgY2xhc3NOYW1lczogVmVyc2lvbkNoYW5nZXM8Q2xhc3NOYW1lVXBncmFkZURhdGE+O1xuICBjb25zdHJ1Y3RvckNoZWNrczogVmVyc2lvbkNoYW5nZXM8Q29uc3RydWN0b3JDaGVja3NVcGdyYWRlRGF0YT47XG4gIGNzc1NlbGVjdG9yczogVmVyc2lvbkNoYW5nZXM8Q3NzU2VsZWN0b3JVcGdyYWRlRGF0YT47XG4gIGVsZW1lbnRTZWxlY3RvcnM6IFZlcnNpb25DaGFuZ2VzPEVsZW1lbnRTZWxlY3RvclVwZ3JhZGVEYXRhPjtcbiAgaW5wdXROYW1lczogVmVyc2lvbkNoYW5nZXM8SW5wdXROYW1lVXBncmFkZURhdGE+O1xuICBtZXRob2RDYWxsQ2hlY2tzOiBWZXJzaW9uQ2hhbmdlczxNZXRob2RDYWxsVXBncmFkZURhdGE+O1xuICBvdXRwdXROYW1lczogVmVyc2lvbkNoYW5nZXM8T3V0cHV0TmFtZVVwZ3JhZGVEYXRhPjtcbiAgcHJvcGVydHlOYW1lczogVmVyc2lvbkNoYW5nZXM8UHJvcGVydHlOYW1lVXBncmFkZURhdGE+O1xuICBzeW1ib2xSZW1vdmFsOiBWZXJzaW9uQ2hhbmdlczxTeW1ib2xSZW1vdmFsVXBncmFkZURhdGE+O1xufVxuXG4vKipcbiAqIEdldHMgdGhlIHJlZHVjZWQgdXBncmFkZSBkYXRhIGZvciB0aGUgc3BlY2lmaWVkIGRhdGEga2V5LiBUaGUgZnVuY3Rpb24gcmVhZHMgb3V0IHRoZVxuICogdGFyZ2V0IHZlcnNpb24gYW5kIHVwZ3JhZGUgZGF0YSBvYmplY3QgZnJvbSB0aGUgbWlncmF0aW9uIGFuZCByZXNvbHZlcyB0aGUgc3BlY2lmaWVkXG4gKiBkYXRhIHBvcnRpb24gdGhhdCBpcyBzcGVjaWZpY2FsbHkgdGllZCB0byB0aGUgdGFyZ2V0IHZlcnNpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRWZXJzaW9uVXBncmFkZURhdGE8XG4gIFQgZXh0ZW5kcyBrZXlvZiBVcGdyYWRlRGF0YSxcbiAgVSA9IFZhbHVlT2ZDaGFuZ2VzPFVwZ3JhZGVEYXRhW1RdPixcbj4obWlncmF0aW9uOiBNaWdyYXRpb248VXBncmFkZURhdGE+LCBkYXRhTmFtZTogVCk6IFVbXSB7XG4gIGlmIChtaWdyYXRpb24udGFyZ2V0VmVyc2lvbiA9PT0gbnVsbCkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIC8vIE5vdGUgdGhhdCBiZWxvdyB3ZSBuZWVkIHRvIGNhc3QgdG8gYHVua25vd25gIGZpcnN0IFRTIGRvZXNuJ3QgaW5mZXIgdGhlIHR5cGUgb2YgVCBjb3JyZWN0bHkuXG4gIHJldHVybiBnZXRDaGFuZ2VzRm9yVGFyZ2V0PFU+KFxuICAgIG1pZ3JhdGlvbi50YXJnZXRWZXJzaW9uLFxuICAgIG1pZ3JhdGlvbi51cGdyYWRlRGF0YVtkYXRhTmFtZV0gYXMgdW5rbm93biBhcyBWZXJzaW9uQ2hhbmdlczxVPixcbiAgKTtcbn1cbiJdfQ==
@@ -29,8 +29,11 @@ exports.cdkUpgradeData = {
29
29
  * data portion that is specifically tied to the target version.
30
30
  */
31
31
  function getVersionUpgradeData(migration, dataName) {
32
+ if (migration.targetVersion === null) {
33
+ return [];
34
+ }
32
35
  // Note that below we need to cast to `unknown` first TS doesn't infer the type of T correctly.
33
36
  return (0, version_changes_1.getChangesForTarget)(migration.targetVersion, migration.upgradeData[dataName]);
34
37
  }
35
38
  exports.getVersionUpgradeData = getVersionUpgradeData;
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBncmFkZS1kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Nkay9zY2hlbWF0aWNzL25nLXVwZGF0ZS91cGdyYWRlLWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBR0gsb0VBQW1HO0FBQ25HLGlDQXFCZ0I7QUFFaEIsd0NBQXdDO0FBQzNCLFFBQUEsY0FBYyxHQUFnQjtJQUN6QyxrQkFBa0IsRUFBbEIseUJBQWtCO0lBQ2xCLFVBQVUsRUFBVixpQkFBVTtJQUNWLGlCQUFpQixFQUFqQix3QkFBaUI7SUFDakIsWUFBWSxFQUFaLG1CQUFZO0lBQ1osZ0JBQWdCLEVBQWhCLHVCQUFnQjtJQUNoQixVQUFVLEVBQVYsaUJBQVU7SUFDVixnQkFBZ0IsRUFBaEIsdUJBQWdCO0lBQ2hCLFdBQVcsRUFBWCxrQkFBVztJQUNYLGFBQWEsRUFBYixvQkFBYTtJQUNiLGFBQWEsRUFBYixvQkFBYTtDQUNkLENBQUM7QUFtQkY7Ozs7R0FJRztBQUNILFNBQWdCLHFCQUFxQixDQUduQyxTQUFpQyxFQUFFLFFBQVc7SUFDOUMsK0ZBQStGO0lBQy9GLE9BQU8sSUFBQSxxQ0FBbUIsRUFDeEIsU0FBUyxDQUFDLGFBQWEsRUFDdkIsU0FBUyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQWlDLENBQ2hFLENBQUM7QUFDSixDQUFDO0FBVEQsc0RBU0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtNaWdyYXRpb259IGZyb20gJy4uL3VwZGF0ZS10b29sL21pZ3JhdGlvbic7XG5pbXBvcnQge2dldENoYW5nZXNGb3JUYXJnZXQsIFZhbHVlT2ZDaGFuZ2VzLCBWZXJzaW9uQ2hhbmdlc30gZnJvbSAnLi4vdXBkYXRlLXRvb2wvdmVyc2lvbi1jaGFuZ2VzJztcbmltcG9ydCB7XG4gIGF0dHJpYnV0ZVNlbGVjdG9ycyxcbiAgQXR0cmlidXRlU2VsZWN0b3JVcGdyYWRlRGF0YSxcbiAgY2xhc3NOYW1lcyxcbiAgQ2xhc3NOYW1lVXBncmFkZURhdGEsXG4gIGNvbnN0cnVjdG9yQ2hlY2tzLFxuICBDb25zdHJ1Y3RvckNoZWNrc1VwZ3JhZGVEYXRhLFxuICBjc3NTZWxlY3RvcnMsXG4gIENzc1NlbGVjdG9yVXBncmFkZURhdGEsXG4gIGVsZW1lbnRTZWxlY3RvcnMsXG4gIEVsZW1lbnRTZWxlY3RvclVwZ3JhZGVEYXRhLFxuICBpbnB1dE5hbWVzLFxuICBJbnB1dE5hbWVVcGdyYWRlRGF0YSxcbiAgbWV0aG9kQ2FsbENoZWNrcyxcbiAgTWV0aG9kQ2FsbFVwZ3JhZGVEYXRhLFxuICBvdXRwdXROYW1lcyxcbiAgT3V0cHV0TmFtZVVwZ3JhZGVEYXRhLFxuICBwcm9wZXJ0eU5hbWVzLFxuICBQcm9wZXJ0eU5hbWVVcGdyYWRlRGF0YSxcbiAgU3ltYm9sUmVtb3ZhbFVwZ3JhZGVEYXRhLFxuICBzeW1ib2xSZW1vdmFsLFxufSBmcm9tICcuL2RhdGEnO1xuXG4vKiogVXBncmFkZSBkYXRhIGZvciB0aGUgQW5ndWxhciBDREsuICovXG5leHBvcnQgY29uc3QgY2RrVXBncmFkZURhdGE6IFVwZ3JhZGVEYXRhID0ge1xuICBhdHRyaWJ1dGVTZWxlY3RvcnMsXG4gIGNsYXNzTmFtZXMsXG4gIGNvbnN0cnVjdG9yQ2hlY2tzLFxuICBjc3NTZWxlY3RvcnMsXG4gIGVsZW1lbnRTZWxlY3RvcnMsXG4gIGlucHV0TmFtZXMsXG4gIG1ldGhvZENhbGxDaGVja3MsXG4gIG91dHB1dE5hbWVzLFxuICBwcm9wZXJ0eU5hbWVzLFxuICBzeW1ib2xSZW1vdmFsLFxufTtcblxuLyoqXG4gKiBJbnRlcmZhY2UgdGhhdCBkZXNjcmliZXMgdGhlIHVwZ3JhZGUgZGF0YSB0aGF0IG5lZWRzIHRvIGJlIGRlZmluZWQgd2hlbiB1c2luZyB0aGUgQ0RLXG4gKiB1cGdyYWRlIHJ1bGVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVwZ3JhZGVEYXRhIHtcbiAgYXR0cmlidXRlU2VsZWN0b3JzOiBWZXJzaW9uQ2hhbmdlczxBdHRyaWJ1dGVTZWxlY3RvclVwZ3JhZGVEYXRhPjtcbiAgY2xhc3NOYW1lczogVmVyc2lvbkNoYW5nZXM8Q2xhc3NOYW1lVXBncmFkZURhdGE+O1xuICBjb25zdHJ1Y3RvckNoZWNrczogVmVyc2lvbkNoYW5nZXM8Q29uc3RydWN0b3JDaGVja3NVcGdyYWRlRGF0YT47XG4gIGNzc1NlbGVjdG9yczogVmVyc2lvbkNoYW5nZXM8Q3NzU2VsZWN0b3JVcGdyYWRlRGF0YT47XG4gIGVsZW1lbnRTZWxlY3RvcnM6IFZlcnNpb25DaGFuZ2VzPEVsZW1lbnRTZWxlY3RvclVwZ3JhZGVEYXRhPjtcbiAgaW5wdXROYW1lczogVmVyc2lvbkNoYW5nZXM8SW5wdXROYW1lVXBncmFkZURhdGE+O1xuICBtZXRob2RDYWxsQ2hlY2tzOiBWZXJzaW9uQ2hhbmdlczxNZXRob2RDYWxsVXBncmFkZURhdGE+O1xuICBvdXRwdXROYW1lczogVmVyc2lvbkNoYW5nZXM8T3V0cHV0TmFtZVVwZ3JhZGVEYXRhPjtcbiAgcHJvcGVydHlOYW1lczogVmVyc2lvbkNoYW5nZXM8UHJvcGVydHlOYW1lVXBncmFkZURhdGE+O1xuICBzeW1ib2xSZW1vdmFsOiBWZXJzaW9uQ2hhbmdlczxTeW1ib2xSZW1vdmFsVXBncmFkZURhdGE+O1xufVxuXG4vKipcbiAqIEdldHMgdGhlIHJlZHVjZWQgdXBncmFkZSBkYXRhIGZvciB0aGUgc3BlY2lmaWVkIGRhdGEga2V5LiBUaGUgZnVuY3Rpb24gcmVhZHMgb3V0IHRoZVxuICogdGFyZ2V0IHZlcnNpb24gYW5kIHVwZ3JhZGUgZGF0YSBvYmplY3QgZnJvbSB0aGUgbWlncmF0aW9uIGFuZCByZXNvbHZlcyB0aGUgc3BlY2lmaWVkXG4gKiBkYXRhIHBvcnRpb24gdGhhdCBpcyBzcGVjaWZpY2FsbHkgdGllZCB0byB0aGUgdGFyZ2V0IHZlcnNpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRWZXJzaW9uVXBncmFkZURhdGE8XG4gIFQgZXh0ZW5kcyBrZXlvZiBVcGdyYWRlRGF0YSxcbiAgVSA9IFZhbHVlT2ZDaGFuZ2VzPFVwZ3JhZGVEYXRhW1RdPixcbj4obWlncmF0aW9uOiBNaWdyYXRpb248VXBncmFkZURhdGE+LCBkYXRhTmFtZTogVCk6IFVbXSB7XG4gIC8vIE5vdGUgdGhhdCBiZWxvdyB3ZSBuZWVkIHRvIGNhc3QgdG8gYHVua25vd25gIGZpcnN0IFRTIGRvZXNuJ3QgaW5mZXIgdGhlIHR5cGUgb2YgVCBjb3JyZWN0bHkuXG4gIHJldHVybiBnZXRDaGFuZ2VzRm9yVGFyZ2V0PFU+KFxuICAgIG1pZ3JhdGlvbi50YXJnZXRWZXJzaW9uLFxuICAgIG1pZ3JhdGlvbi51cGdyYWRlRGF0YVtkYXRhTmFtZV0gYXMgdW5rbm93biBhcyBWZXJzaW9uQ2hhbmdlczxVPixcbiAgKTtcbn1cbiJdfQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBncmFkZS1kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Nkay9zY2hlbWF0aWNzL25nLXVwZGF0ZS91cGdyYWRlLWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBR0gsb0VBQW1HO0FBQ25HLGlDQXFCZ0I7QUFFaEIsd0NBQXdDO0FBQzNCLFFBQUEsY0FBYyxHQUFnQjtJQUN6QyxrQkFBa0IsRUFBbEIseUJBQWtCO0lBQ2xCLFVBQVUsRUFBVixpQkFBVTtJQUNWLGlCQUFpQixFQUFqQix3QkFBaUI7SUFDakIsWUFBWSxFQUFaLG1CQUFZO0lBQ1osZ0JBQWdCLEVBQWhCLHVCQUFnQjtJQUNoQixVQUFVLEVBQVYsaUJBQVU7SUFDVixnQkFBZ0IsRUFBaEIsdUJBQWdCO0lBQ2hCLFdBQVcsRUFBWCxrQkFBVztJQUNYLGFBQWEsRUFBYixvQkFBYTtJQUNiLGFBQWEsRUFBYixvQkFBYTtDQUNkLENBQUM7QUFtQkY7Ozs7R0FJRztBQUNILFNBQWdCLHFCQUFxQixDQUduQyxTQUFpQyxFQUFFLFFBQVc7SUFDOUMsSUFBSSxTQUFTLENBQUMsYUFBYSxLQUFLLElBQUksRUFBRTtRQUNwQyxPQUFPLEVBQUUsQ0FBQztLQUNYO0lBRUQsK0ZBQStGO0lBQy9GLE9BQU8sSUFBQSxxQ0FBbUIsRUFDeEIsU0FBUyxDQUFDLGFBQWEsRUFDdkIsU0FBUyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQWlDLENBQ2hFLENBQUM7QUFDSixDQUFDO0FBYkQsc0RBYUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtNaWdyYXRpb259IGZyb20gJy4uL3VwZGF0ZS10b29sL21pZ3JhdGlvbic7XG5pbXBvcnQge2dldENoYW5nZXNGb3JUYXJnZXQsIFZhbHVlT2ZDaGFuZ2VzLCBWZXJzaW9uQ2hhbmdlc30gZnJvbSAnLi4vdXBkYXRlLXRvb2wvdmVyc2lvbi1jaGFuZ2VzJztcbmltcG9ydCB7XG4gIGF0dHJpYnV0ZVNlbGVjdG9ycyxcbiAgQXR0cmlidXRlU2VsZWN0b3JVcGdyYWRlRGF0YSxcbiAgY2xhc3NOYW1lcyxcbiAgQ2xhc3NOYW1lVXBncmFkZURhdGEsXG4gIGNvbnN0cnVjdG9yQ2hlY2tzLFxuICBDb25zdHJ1Y3RvckNoZWNrc1VwZ3JhZGVEYXRhLFxuICBjc3NTZWxlY3RvcnMsXG4gIENzc1NlbGVjdG9yVXBncmFkZURhdGEsXG4gIGVsZW1lbnRTZWxlY3RvcnMsXG4gIEVsZW1lbnRTZWxlY3RvclVwZ3JhZGVEYXRhLFxuICBpbnB1dE5hbWVzLFxuICBJbnB1dE5hbWVVcGdyYWRlRGF0YSxcbiAgbWV0aG9kQ2FsbENoZWNrcyxcbiAgTWV0aG9kQ2FsbFVwZ3JhZGVEYXRhLFxuICBvdXRwdXROYW1lcyxcbiAgT3V0cHV0TmFtZVVwZ3JhZGVEYXRhLFxuICBwcm9wZXJ0eU5hbWVzLFxuICBQcm9wZXJ0eU5hbWVVcGdyYWRlRGF0YSxcbiAgU3ltYm9sUmVtb3ZhbFVwZ3JhZGVEYXRhLFxuICBzeW1ib2xSZW1vdmFsLFxufSBmcm9tICcuL2RhdGEnO1xuXG4vKiogVXBncmFkZSBkYXRhIGZvciB0aGUgQW5ndWxhciBDREsuICovXG5leHBvcnQgY29uc3QgY2RrVXBncmFkZURhdGE6IFVwZ3JhZGVEYXRhID0ge1xuICBhdHRyaWJ1dGVTZWxlY3RvcnMsXG4gIGNsYXNzTmFtZXMsXG4gIGNvbnN0cnVjdG9yQ2hlY2tzLFxuICBjc3NTZWxlY3RvcnMsXG4gIGVsZW1lbnRTZWxlY3RvcnMsXG4gIGlucHV0TmFtZXMsXG4gIG1ldGhvZENhbGxDaGVja3MsXG4gIG91dHB1dE5hbWVzLFxuICBwcm9wZXJ0eU5hbWVzLFxuICBzeW1ib2xSZW1vdmFsLFxufTtcblxuLyoqXG4gKiBJbnRlcmZhY2UgdGhhdCBkZXNjcmliZXMgdGhlIHVwZ3JhZGUgZGF0YSB0aGF0IG5lZWRzIHRvIGJlIGRlZmluZWQgd2hlbiB1c2luZyB0aGUgQ0RLXG4gKiB1cGdyYWRlIHJ1bGVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVwZ3JhZGVEYXRhIHtcbiAgYXR0cmlidXRlU2VsZWN0b3JzOiBWZXJzaW9uQ2hhbmdlczxBdHRyaWJ1dGVTZWxlY3RvclVwZ3JhZGVEYXRhPjtcbiAgY2xhc3NOYW1lczogVmVyc2lvbkNoYW5nZXM8Q2xhc3NOYW1lVXBncmFkZURhdGE+O1xuICBjb25zdHJ1Y3RvckNoZWNrczogVmVyc2lvbkNoYW5nZXM8Q29uc3RydWN0b3JDaGVja3NVcGdyYWRlRGF0YT47XG4gIGNzc1NlbGVjdG9yczogVmVyc2lvbkNoYW5nZXM8Q3NzU2VsZWN0b3JVcGdyYWRlRGF0YT47XG4gIGVsZW1lbnRTZWxlY3RvcnM6IFZlcnNpb25DaGFuZ2VzPEVsZW1lbnRTZWxlY3RvclVwZ3JhZGVEYXRhPjtcbiAgaW5wdXROYW1lczogVmVyc2lvbkNoYW5nZXM8SW5wdXROYW1lVXBncmFkZURhdGE+O1xuICBtZXRob2RDYWxsQ2hlY2tzOiBWZXJzaW9uQ2hhbmdlczxNZXRob2RDYWxsVXBncmFkZURhdGE+O1xuICBvdXRwdXROYW1lczogVmVyc2lvbkNoYW5nZXM8T3V0cHV0TmFtZVVwZ3JhZGVEYXRhPjtcbiAgcHJvcGVydHlOYW1lczogVmVyc2lvbkNoYW5nZXM8UHJvcGVydHlOYW1lVXBncmFkZURhdGE+O1xuICBzeW1ib2xSZW1vdmFsOiBWZXJzaW9uQ2hhbmdlczxTeW1ib2xSZW1vdmFsVXBncmFkZURhdGE+O1xufVxuXG4vKipcbiAqIEdldHMgdGhlIHJlZHVjZWQgdXBncmFkZSBkYXRhIGZvciB0aGUgc3BlY2lmaWVkIGRhdGEga2V5LiBUaGUgZnVuY3Rpb24gcmVhZHMgb3V0IHRoZVxuICogdGFyZ2V0IHZlcnNpb24gYW5kIHVwZ3JhZGUgZGF0YSBvYmplY3QgZnJvbSB0aGUgbWlncmF0aW9uIGFuZCByZXNvbHZlcyB0aGUgc3BlY2lmaWVkXG4gKiBkYXRhIHBvcnRpb24gdGhhdCBpcyBzcGVjaWZpY2FsbHkgdGllZCB0byB0aGUgdGFyZ2V0IHZlcnNpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRWZXJzaW9uVXBncmFkZURhdGE8XG4gIFQgZXh0ZW5kcyBrZXlvZiBVcGdyYWRlRGF0YSxcbiAgVSA9IFZhbHVlT2ZDaGFuZ2VzPFVwZ3JhZGVEYXRhW1RdPixcbj4obWlncmF0aW9uOiBNaWdyYXRpb248VXBncmFkZURhdGE+LCBkYXRhTmFtZTogVCk6IFVbXSB7XG4gIGlmIChtaWdyYXRpb24udGFyZ2V0VmVyc2lvbiA9PT0gbnVsbCkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIC8vIE5vdGUgdGhhdCBiZWxvdyB3ZSBuZWVkIHRvIGNhc3QgdG8gYHVua25vd25gIGZpcnN0IFRTIGRvZXNuJ3QgaW5mZXIgdGhlIHR5cGUgb2YgVCBjb3JyZWN0bHkuXG4gIHJldHVybiBnZXRDaGFuZ2VzRm9yVGFyZ2V0PFU+KFxuICAgIG1pZ3JhdGlvbi50YXJnZXRWZXJzaW9uLFxuICAgIG1pZ3JhdGlvbi51cGdyYWRlRGF0YVtkYXRhTmFtZV0gYXMgdW5rbm93biBhcyBWZXJzaW9uQ2hhbmdlczxVPixcbiAgKTtcbn1cbiJdfQ==
@@ -7,6 +7,7 @@
7
7
  "outDir": "../../../dist/packages/cdk/schematics",
8
8
  "noEmitOnError": false,
9
9
  "strictNullChecks": true,
10
+ "noPropertyAccessFromIndexSignature": true,
10
11
  "useUnknownInCatchVariables": true,
11
12
  "noImplicitOverride": true,
12
13
  "noImplicitReturns": true,
@@ -40,4 +40,5 @@ export declare class ComponentResourceCollector {
40
40
  private _visitClassDeclaration;
41
41
  /** Resolves an external stylesheet by reading its content and computing line mappings. */
42
42
  resolveExternalStylesheet(filePath: WorkspacePath, container: ts.ClassDeclaration | null): ResolvedResource | null;
43
+ private _trackExternalStylesheet;
43
44
  }
@@ -19,11 +19,13 @@ const property_name_1 = require("./utils/property-name");
19
19
  * given TypeScript source files (inline or external referenced files)
20
20
  */
21
21
  class ComponentResourceCollector {
22
+ typeChecker;
23
+ _fileSystem;
24
+ resolvedTemplates = [];
25
+ resolvedStylesheets = [];
22
26
  constructor(typeChecker, _fileSystem) {
23
27
  this.typeChecker = typeChecker;
24
28
  this._fileSystem = _fileSystem;
25
- this.resolvedTemplates = [];
26
- this.resolvedStylesheets = [];
27
29
  }
28
30
  visitNode(node) {
29
31
  if (node.kind === ts.SyntaxKind.ClassDeclaration) {
@@ -31,10 +33,11 @@ class ComponentResourceCollector {
31
33
  }
32
34
  }
33
35
  _visitClassDeclaration(node) {
34
- if (!node.decorators || !node.decorators.length) {
36
+ const decorators = ts.getDecorators(node);
37
+ if (!decorators || !decorators.length) {
35
38
  return;
36
39
  }
37
- const ngDecorators = (0, decorators_1.getAngularDecorators)(this.typeChecker, node.decorators);
40
+ const ngDecorators = (0, decorators_1.getAngularDecorators)(this.typeChecker, decorators);
38
41
  const componentDecorator = ngDecorators.find(dec => dec.name === 'Component');
39
42
  // In case no "@Component" decorator could be found on the current class, skip.
40
43
  if (!componentDecorator) {
@@ -60,16 +63,20 @@ class ComponentResourceCollector {
60
63
  return;
61
64
  }
62
65
  const propertyName = (0, property_name_1.getPropertyNameText)(property.name);
63
- if (propertyName === 'styles' && ts.isArrayLiteralExpression(property.initializer)) {
64
- property.initializer.elements.forEach(el => {
66
+ if (propertyName === 'styles') {
67
+ const elements = ts.isArrayLiteralExpression(property.initializer)
68
+ ? property.initializer.elements
69
+ : [property.initializer];
70
+ elements.forEach(el => {
65
71
  if (ts.isStringLiteralLike(el)) {
66
72
  // Need to add an offset of one to the start because the template quotes are
67
73
  // not part of the template content.
68
74
  const templateStartIdx = el.getStart() + 1;
75
+ const content = stripBom(el.text);
69
76
  this.resolvedStylesheets.push({
70
77
  filePath,
71
78
  container: node,
72
- content: el.text,
79
+ content,
73
80
  inline: true,
74
81
  start: templateStartIdx,
75
82
  getCharacterAndLineOfPosition: pos => ts.getLineAndCharacterOfPosition(sourceFile, pos + templateStartIdx),
@@ -95,14 +102,13 @@ class ComponentResourceCollector {
95
102
  if (propertyName === 'styleUrls' && ts.isArrayLiteralExpression(property.initializer)) {
96
103
  property.initializer.elements.forEach(el => {
97
104
  if (ts.isStringLiteralLike(el)) {
98
- const stylesheetPath = this._fileSystem.resolve(sourceFileDirPath, el.text);
99
- const stylesheet = this.resolveExternalStylesheet(stylesheetPath, node);
100
- if (stylesheet) {
101
- this.resolvedStylesheets.push(stylesheet);
102
- }
105
+ this._trackExternalStylesheet(sourceFileDirPath, el, node);
103
106
  }
104
107
  });
105
108
  }
109
+ if (propertyName === 'styleUrl' && ts.isStringLiteralLike(property.initializer)) {
110
+ this._trackExternalStylesheet(sourceFileDirPath, property.initializer, node);
111
+ }
106
112
  if (propertyName === 'templateUrl' && ts.isStringLiteralLike(property.initializer)) {
107
113
  const templateUrl = property.initializer.text;
108
114
  const templatePath = this._fileSystem.resolve(sourceFileDirPath, templateUrl);
@@ -111,7 +117,7 @@ class ComponentResourceCollector {
111
117
  if (!this._fileSystem.fileExists(templatePath)) {
112
118
  return;
113
119
  }
114
- const fileContent = this._fileSystem.read(templatePath);
120
+ const fileContent = stripBom(this._fileSystem.read(templatePath) || '');
115
121
  if (fileContent) {
116
122
  const lineStartsMap = (0, line_mappings_1.computeLineStartsMap)(fileContent);
117
123
  this.resolvedTemplates.push({
@@ -128,7 +134,9 @@ class ComponentResourceCollector {
128
134
  }
129
135
  /** Resolves an external stylesheet by reading its content and computing line mappings. */
130
136
  resolveExternalStylesheet(filePath, container) {
131
- const fileContent = this._fileSystem.read(filePath);
137
+ // Strip the BOM to avoid issues with the Sass compiler. See:
138
+ // https://github.com/angular/components/issues/24227#issuecomment-1200934258
139
+ const fileContent = stripBom(this._fileSystem.read(filePath) || '');
132
140
  if (!fileContent) {
133
141
  return null;
134
142
  }
@@ -142,6 +150,17 @@ class ComponentResourceCollector {
142
150
  getCharacterAndLineOfPosition: pos => (0, line_mappings_1.getLineAndCharacterFromPosition)(lineStartsMap, pos),
143
151
  };
144
152
  }
153
+ _trackExternalStylesheet(sourceFileDirPath, node, container) {
154
+ const stylesheetPath = this._fileSystem.resolve(sourceFileDirPath, node.text);
155
+ const stylesheet = this.resolveExternalStylesheet(stylesheetPath, container);
156
+ if (stylesheet) {
157
+ this.resolvedStylesheets.push(stylesheet);
158
+ }
159
+ }
145
160
  }
146
161
  exports.ComponentResourceCollector = ComponentResourceCollector;
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LXJlc291cmNlLWNvbGxlY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jZGsvc2NoZW1hdGljcy91cGRhdGUtdG9vbC9jb21wb25lbnQtcmVzb3VyY2UtY29sbGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7OztBQUVILCtCQUE2QjtBQUM3QixpQ0FBaUM7QUFFakMsbURBQXdEO0FBQ3hELGlEQUFtRDtBQUNuRCx5REFJK0I7QUFDL0IseURBQTBEO0FBcUIxRDs7O0dBR0c7QUFDSCxNQUFhLDBCQUEwQjtJQUlyQyxZQUFtQixXQUEyQixFQUFVLFdBQXVCO1FBQTVELGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBSC9FLHNCQUFpQixHQUF1QixFQUFFLENBQUM7UUFDM0Msd0JBQW1CLEdBQXVCLEVBQUUsQ0FBQztJQUVxQyxDQUFDO0lBRW5GLFNBQVMsQ0FBQyxJQUFhO1FBQ3JCLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUMsVUFBVSxDQUFDLGdCQUFnQixFQUFFO1lBQ2hELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUEyQixDQUFDLENBQUM7U0FDMUQ7SUFDSCxDQUFDO0lBRU8sc0JBQXNCLENBQUMsSUFBeUI7UUFDdEQsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRTtZQUMvQyxPQUFPO1NBQ1I7UUFFRCxNQUFNLFlBQVksR0FBRyxJQUFBLGlDQUFvQixFQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdFLE1BQU0sa0JBQWtCLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLENB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QUMsQ0FBQztvQkFFeEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQzt3QkFDMUIsUUFBUSxFQUFFLFlBQVk7d0JBQ3RCLFNBQVMsRUFBRSxJQUFJO3dCQUNmLE9BQU8sRUFBRSxXQUFXO3dCQUNwQixNQUFNLEVBQUUsS0FBSzt3QkFDYixLQUFLLEVBQUUsQ0FBQzt3QkFDUiw2QkFBNkIsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUEsK0NBQStCLEVBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztxQkFDdEYsQ0FBQyxDQUFDO2lCQUNKO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCwwRkFBMEY7SUFDMUYseUJBQXlCLENBQ3ZCLFFBQXVCLEVBQ3ZCLFNBQXFDO1FBRXJDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXBELElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDaEIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE1BQU0sYUFBYSxHQUFHLElBQUEsb0NBQW9CLEVBQUMsV0FBVyxDQUFDLENBQUM7UUFFeEQsT0FBTztZQUNMLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLE9BQU8sRUFBRSxXQUFXO1lBQ3BCLE1BQU0sRUFBRSxLQUFLO1lBQ2IsS0FBSyxFQUFFLENBQUM7WUFDUiw2QkFBNkIsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUEsK0NBQStCLEVBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQztTQUMxRixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBdkpELGdFQXVKQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge2Rpcm5hbWV9IGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5pbXBvcnQge0ZpbGVTeXN0ZW0sIFdvcmtzcGFjZVBhdGh9IGZyb20gJy4vZmlsZS1zeXN0ZW0nO1xuaW1wb3J0IHtnZXRBbmd1bGFyRGVjb3JhdG9yc30gZnJvbSAnLi91dGlscy9kZWNvcmF0b3JzJztcbmltcG9ydCB7dW53cmFwRXhwcmVzc2lvbn0gZnJvbSAnLi91dGlscy9mdW5jdGlvbnMnO1xuaW1wb3J0IHtcbiAgY29tcHV0ZUxpbmVTdGFydHNNYXAsXG4gIGdldExpbmVBbmRDaGFyYWN0ZXJGcm9tUG9zaXRpb24sXG4gIExpbmVBbmRDaGFyYWN0ZXIsXG59IGZyb20gJy4vdXRpbHMvbGluZS1tYXBwaW5ncyc7XG5pbXBvcnQge2dldFByb3BlcnR5TmFtZVRleHR9IGZyb20gJy4vdXRpbHMvcHJvcGVydHktbmFtZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb2x2ZWRSZXNvdXJjZSB7XG4gIC8qKiBDbGFzcyBkZWNsYXJhdGlvbiB0aGF0IGNvbnRhaW5zIHRoaXMgcmVzb3VyY2UuICovXG4gIGNvbnRhaW5lcjogdHMuQ2xhc3NEZWNsYXJhdGlvbiB8IG51bGw7XG4gIC8qKiBGaWxlIGNvbnRlbnQgb2YgdGhlIGdpdmVuIHRlbXBsYXRlLiAqL1xuICBjb250ZW50OiBzdHJpbmc7XG4gIC8qKiBTdGFydCBvZmZzZXQgb2YgdGhlIHJlc291cmNlIGNvbnRlbnQgKGUuZy4gaW4gdGhlIGlubGluZSBzb3VyY2UgZmlsZSkgKi9cbiAgc3RhcnQ6IG51bWJlcjtcbiAgLyoqIFdoZXRoZXIgdGhlIGdpdmVuIHJlc291cmNlIGlzIGlubGluZSBvciBub3QuICovXG4gIGlubGluZTogYm9vbGVhbjtcbiAgLyoqIFBhdGggdG8gdGhlIGZpbGUgdGhhdCBjb250YWlucyB0aGlzIHJlc291cmNlLiAqL1xuICBmaWxlUGF0aDogV29ya3NwYWNlUGF0aDtcbiAgLyoqXG4gICAqIEdldHMgdGhlIGNoYXJhY3RlciBhbmQgbGluZSBvZiBhIGdpdmVuIHBvc2l0aW9uIGluZGV4IGluIHRoZSByZXNvdXJjZS5cbiAgICogSWYgdGhlIHJlc291cmNlIGlzIGRlY2xhcmVkIGlubGluZSB3aXRoaW4gYSBUeXBlU2NyaXB0IHNvdXJjZSBmaWxlLCB0aGUgbGluZSBhbmRcbiAgICogY2hhcmFjdGVyIGFyZSBiYXNlZCBvbiB0aGUgZnVsbCBzb3VyY2UgZmlsZSBjb250ZW50LlxuICAgKi9cbiAgZ2V0Q2hhcmFjdGVyQW5kTGluZU9mUG9zaXRpb246IChwb3M6IG51bWJlcikgPT4gTGluZUFuZENoYXJhY3Rlcjtcbn1cblxuLyoqXG4gKiBDb2xsZWN0b3IgdGhhdCBjYW4gYmUgdXNlZCB0byBmaW5kIEFuZ3VsYXIgdGVtcGxhdGVzIGFuZCBzdHlsZXNoZWV0cyByZWZlcmVuY2VkIHdpdGhpblxuICogZ2l2ZW4gVHlwZVNjcmlwdCBzb3VyY2UgZmlsZXMgKGlubGluZSBvciBleHRlcm5hbCByZWZlcmVuY2VkIGZpbGVzKVxuICovXG5leHBvcnQgY2xhc3MgQ29tcG9uZW50UmVzb3VyY2VDb2xsZWN0b3Ige1xuICByZXNvbHZlZFRlbXBsYXRlczogUmVzb2x2ZWRSZXNvdXJjZVtdID0gW107XG4gIHJlc29sdmVkU3R5bGVzaGVldHM6IFJlc29sdmVkUmVzb3VyY2VbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0eXBlQ2hlY2tlcjogdHMuVHlwZUNoZWNrZXIsIHByaXZhdGUgX2ZpbGVTeXN0ZW06IEZpbGVTeXN0ZW0pIHt9XG5cbiAgdmlzaXROb2RlKG5vZGU6IHRzLk5vZGUpIHtcbiAgICBpZiAobm9kZS5raW5kID09PSB0cy5TeW50YXhLaW5kLkNsYXNzRGVjbGFyYXRpb24pIHtcbiAgICAgIHRoaXMuX3Zpc2l0Q2xhc3NEZWNsYXJhdGlvbihub2RlIGFzIHRzLkNsYXNzRGVjbGFyYXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3Zpc2l0Q2xhc3NEZWNsYXJhdGlvbihub2RlOiB0cy5DbGFzc0RlY2xhcmF0aW9uKSB7XG4gICAgaWYgKCFub2RlLmRlY29yYXRvcnMgfHwgIW5vZGUuZGVjb3JhdG9ycy5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBuZ0RlY29yYXRvcnMgPSBnZXRBbmd1bGFyRGVjb3JhdG9ycyh0aGlzLnR5cGVDaGVja2VyLCBub2RlLmRlY29yYXRvcnMpO1xuICAgIGNvbnN0IGNvbXBvbmVudERlY29yYXRvciA9IG5nRGVjb3JhdG9ycy5maW5kKGRlYyA9PiBkZWMubmFtZSA9PT0gJ0NvbXBvbmVudCcpO1xuXG4gICAgLy8gSW4gY2FzZSBubyBcIkBDb21wb25lbnRcIiBkZWNvcmF0b3IgY291bGQgYmUgZm91bmQgb24gdGhlIGN1cnJlbnQgY2xhc3MsIHNraXAuXG4gICAgaWYgKCFjb21wb25lbnREZWNvcmF0b3IpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZWNvcmF0b3JDYWxsID0gY29tcG9uZW50RGVjb3JhdG9yLm5vZGUuZXhwcmVzc2lvbjtcblxuICAgIC8vIEluIGNhc2UgdGhlIGNvbXBvbmVudCBkZWNvcmF0b3IgY2FsbCBpcyBub3QgdmFsaWQsIHNraXAgdGhpcyBjbGFzcyBkZWNsYXJhdGlvbi5cbiAgICBpZiAoZGVjb3JhdG9yQ2FsbC5hcmd1bWVudHMubGVuZ3RoICE9PSAxKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY29tcG9uZW50TWV0YWRhdGEgPSB1bndyYXBFeHByZXNzaW9uKGRlY29yYXRvckNhbGwuYXJndW1lbnRzWzBdKTtcblxuICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBjb21wb25lbnQgbWV0YWRhdGEgaXMgYW4gb2JqZWN0IGxpdGVyYWwgZXhwcmVzc2lvbi5cbiAgICBpZiAoIXRzLmlzT2JqZWN0TGl0ZXJhbEV4cHJlc3Npb24oY29tcG9uZW50TWV0YWRhdGEpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc291cmNlRmlsZSA9IG5vZGUuZ2V0U291cmNlRmlsZSgpO1xuICAgIGNvbnN0IGZpbGVQYXRoID0gdGhpcy5fZmlsZVN5c3RlbS5yZXNvbHZlKHNvdXJjZUZpbGUuZmlsZU5hbWUpO1xuICAgIGNvbnN0IHNvdXJjZUZpbGVEaXJQYXRoID0gZGlybmFtZShzb3VyY2VGaWxlLmZpbGVOYW1lKTtcblxuICAgIC8vIFdhbGsgdGhyb3VnaCBhbGwgY29tcG9uZW50IG1ldGFkYXRhIHByb3BlcnRpZXMgYW5kIGRldGVybWluZSB0aGUgcmVmZXJlbmNlZFxuICAgIC8vIEhUTUwgdGVtcGxhdGVzIChlaXRoZXIgZXh0ZXJuYWwgb3IgaW5saW5lKVxuICAgIGNvbXBvbmVudE1ldGFkYXRhLnByb3BlcnRpZXMuZm9yRWFjaChwcm9wZXJ0eSA9PiB7XG4gICAgICBpZiAoIXRzLmlzUHJvcGVydHlBc3NpZ25tZW50KHByb3BlcnR5KSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHByb3BlcnR5TmFtZSA9IGdldFByb3BlcnR5TmFtZVRleHQocHJvcGVydHkubmFtZSk7XG5cbiAgICAgIGlmIChwcm9wZXJ0eU5hbWUgPT09ICdzdHlsZXMnICYmIHRzLmlzQXJyYXlMaXRlcmFsRXhwcmVzc2lvbihwcm9wZXJ0eS5pbml0aWFsaXplcikpIHtcbiAgICAgICAgcHJvcGVydHkuaW5pdGlhbGl6ZXIuZWxlbWVudHMuZm9yRWFjaChlbCA9PiB7XG4gICAgICAgICAgaWYgKHRzLmlzU3RyaW5nTGl0ZXJhbExpa2UoZWwpKSB7XG4gICAgICAgICAgICAvLyBOZWVkIHRvIGFkZCBhbiBvZmZzZXQgb2Ygb25lIHRvIHRoZSBzdGFydCBiZWNhdXNlIHRoZSB0ZW1wbGF0ZSBxdW90ZXMgYXJlXG4gICAgICAgICAgICAvLyBub3QgcGFydCBvZiB0aGUgdGVtcGxhdGUgY29udGVudC5cbiAgICAgICAgICAgIGNvbnN0IHRlbXBsYXRlU3RhcnRJZHggPSBlbC5nZXRTdGFydCgpICsgMTtcbiAgICAgICAgICAgIHRoaXMucmVzb2x2ZWRTdHlsZXNoZWV0cy5wdXNoKHtcbiAgICAgICAgICAgICAgZmlsZVBhdGgsXG4gICAgICAgICAgICAgIGNvbnRhaW5lcjogbm9kZSxcbiAgICAgICAgICAgICAgY29udGVudDogZWwudGV4dCxcbiAgICAgICAgICAgICAgaW5saW5lOiB0cnVlLFxuICAgICAgICAgICAgICBzdGFydDogdGVtcGxhdGVTdGFydElkeCxcbiAgICAgICAgICAgICAgZ2V0Q2hhcmFjdGVyQW5kTGluZU9mUG9zaXRpb246IHBvcyA9PlxuICAgICAgICAgICAgICAgIHRzLmdldExpbmVBbmRDaGFyYWN0ZXJPZlBvc2l0aW9uKHNvdXJjZUZpbGUsIHBvcyArIHRlbXBsYXRlU3RhcnRJZHgpLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgLy8gSW4gY2FzZSB0aGVyZSBpcyBhbiBpbmxpbmUgdGVtcGxhdGUgc3BlY2lmaWVkLCBlbnN1cmUgdGhhdCB0aGUgdmFsdWUgaXMgc3RhdGljYWxseVxuICAgICAgLy8gYW5hbHl6YWJsZSBieSBjaGVja2luZyBpZiB0aGUgaW5pdGlhbGl6ZXIgaXMgYSBzdHJpbmcgbGl0ZXJhbC1saWtlIG5vZGUuXG4gICAgICBpZiAocHJvcGVydHlOYW1lID09PSAndGVtcGxhdGUnICYmIHRzLmlzU3RyaW5nTGl0ZXJhbExpa2UocHJvcGVydHkuaW5pdGlhbGl6ZXIpKSB7XG4gICAgICAgIC8vIE5lZWQgdG8gYWRkIGFuIG9mZnNldCBvZiBvbmUgdG8gdGhlIHN0YXJ0IGJlY2F1c2UgdGhlIHRlbXBsYXRlIHF1b3RlcyBhcmVcbiAgICAgICAgLy8gbm90IHBhcnQgb2YgdGhlIHRlbXBsYXRlIGNvbnRlbnQuXG4gICAgICAgIGNvbnN0IHRlbXBsYXRlU3RhcnRJZHggPSBwcm9wZXJ0eS5pbml0aWFsaXplci5nZXRTdGFydCgpICsgMTtcbiAgICAgICAgdGhpcy5yZXNvbHZlZFRlbXBsYXRlcy5wdXNoKHtcbiAgICAgICAgICBmaWxlUGF0aCxcbiAgICAgICAgICBjb250YWluZXI6IG5vZGUsXG4gICAgICAgICAgY29udGVudDogcHJvcGVydHkuaW5pdGlhbGl6ZXIudGV4dCxcbiAgICAgICAgICBpbmxpbmU6IHRydWUsXG4gICAgICAgICAgc3RhcnQ6IHRlbXBsYXRlU3RhcnRJZHgsXG4gICAgICAgICAgZ2V0Q2hhcmFjdGVyQW5kTGluZU9mUG9zaXRpb246IHBvcyA9PlxuICAgICAgICAgICAgdHMuZ2V0TGluZUFuZENoYXJhY3Rlck9mUG9zaXRpb24oc291cmNlRmlsZSwgcG9zICsgdGVtcGxhdGVTdGFydElkeCksXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAocHJvcGVydHlOYW1lID09PSAnc3R5bGVVcmxzJyAmJiB0cy5pc0FycmF5TGl0ZXJhbEV4cHJlc3Npb24ocHJvcGVydHkuaW5pdGlhbGl6ZXIpKSB7XG4gICAgICAgIHByb3BlcnR5LmluaXRpYWxpemVyLmVsZW1lbnRzLmZvckVhY2goZWwgPT4ge1xuICAgICAgICAgIGlmICh0cy5pc1N0cmluZ0xpdGVyYWxMaWtlKGVsKSkge1xuICAgICAgICAgICAgY29uc3Qgc3R5bGVzaGVldFBhdGggPSB0aGlzLl9maWxlU3lzdGVtLnJlc29sdmUoc291cmNlRmlsZURpclBhdGgsIGVsLnRleHQpO1xuICAgICAgICAgICAgY29uc3Qgc3R5bGVzaGVldCA9IHRoaXMucmVzb2x2ZUV4dGVybmFsU3R5bGVzaGVldChzdHlsZXNoZWV0UGF0aCwgbm9kZSk7XG5cbiAgICAgICAgICAgIGlmIChzdHlsZXNoZWV0KSB7XG4gICAgICAgICAgICAgIHRoaXMucmVzb2x2ZWRTdHlsZXNoZWV0cy5wdXNoKHN0eWxlc2hlZXQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChwcm9wZXJ0eU5hbWUgPT09ICd0ZW1wbGF0ZVVybCcgJiYgdHMuaXNTdHJpbmdMaXRlcmFsTGlrZShwcm9wZXJ0eS5pbml0aWFsaXplcikpIHtcbiAgICAgICAgY29uc3QgdGVtcGxhdGVVcmwgPSBwcm9wZXJ0eS5pbml0aWFsaXplci50ZXh0O1xuICAgICAgICBjb25zdCB0ZW1wbGF0ZVBhdGggPSB0aGlzLl9maWxlU3lzdGVtLnJlc29sdmUoc291cmNlRmlsZURpclBhdGgsIHRlbXBsYXRlVXJsKTtcblxuICAgICAgICAvLyBJbiBjYXNlIHRoZSB0ZW1wbGF0ZSBkb2VzIG5vdCBleGlzdCBpbiB0aGUgZmlsZSBzeXN0ZW0sIHNraXAgdGhpc1xuICAgICAgICAvLyBleHRlcm5hbCB0ZW1wbGF0ZS5cbiAgICAgICAgaWYgKCF0aGlzLl9maWxlU3lzdGVtLmZpbGVFeGlzdHModGVtcGxhdGVQYXRoKSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZpbGVDb250ZW50ID0gdGhpcy5fZmlsZVN5c3RlbS5yZWFkKHRlbXBsYXRlUGF0aCk7XG5cbiAgICAgICAgaWYgKGZpbGVDb250ZW50KSB7XG4gICAgICAgICAgY29uc3QgbGluZVN0YXJ0c01hcCA9IGNvbXB1dGVMaW5lU3RhcnRzTWFwKGZpbGVDb250ZW50KTtcblxuICAgICAgICAgIHRoaXMucmVzb2x2ZWRUZW1wbGF0ZXMucHVzaCh7XG4gICAgICAgICAgICBmaWxlUGF0aDogdGVtcGxhdGVQYXRoLFxuICAgICAgICAgICAgY29udGFpbmVyOiBub2RlLFxuICAgICAgICAgICAgY29udGVudDogZmlsZUNvbnRlbnQsXG4gICAgICAgICAgICBpbmxpbmU6IGZhbHNlLFxuICAgICAgICAgICAgc3RhcnQ6IDAsXG4gICAgICAgICAgICBnZXRDaGFyYWN0ZXJBbmRMaW5lT2ZQb3NpdGlvbjogcCA9PiBnZXRMaW5lQW5kQ2hhcmFjdGVyRnJvbVBvc2l0aW9uKGxpbmVTdGFydHNNYXAsIHApLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKiogUmVzb2x2ZXMgYW4gZXh0ZXJuYWwgc3R5bGVzaGVldCBieSByZWFkaW5nIGl0cyBjb250ZW50IGFuZCBjb21wdXRpbmcgbGluZSBtYXBwaW5ncy4gKi9cbiAgcmVzb2x2ZUV4dGVybmFsU3R5bGVzaGVldChcbiAgICBmaWxlUGF0aDogV29ya3NwYWNlUGF0aCxcbiAgICBjb250YWluZXI6IHRzLkNsYXNzRGVjbGFyYXRpb24gfCBudWxsLFxuICApOiBSZXNvbHZlZFJlc291cmNlIHwgbnVsbCB7XG4gICAgY29uc3QgZmlsZUNvbnRlbnQgPSB0aGlzLl9maWxlU3lzdGVtLnJlYWQoZmlsZVBhdGgpO1xuXG4gICAgaWYgKCFmaWxlQ29udGVudCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgbGluZVN0YXJ0c01hcCA9IGNvbXB1dGVMaW5lU3RhcnRzTWFwKGZpbGVDb250ZW50KTtcblxuICAgIHJldHVybiB7XG4gICAgICBmaWxlUGF0aDogZmlsZVBhdGgsXG4gICAgICBjb250YWluZXI6IGNvbnRhaW5lcixcbiAgICAgIGNvbnRlbnQ6IGZpbGVDb250ZW50LFxuICAgICAgaW5saW5lOiBmYWxzZSxcbiAgICAgIHN0YXJ0OiAwLFxuICAgICAgZ2V0Q2hhcmFjdGVyQW5kTGluZU9mUG9zaXRpb246IHBvcyA9PiBnZXRMaW5lQW5kQ2hhcmFjdGVyRnJvbVBvc2l0aW9uKGxpbmVTdGFydHNNYXAsIHBvcyksXG4gICAgfTtcbiAgfVxufVxuIl19
162
+ /** Strips the BOM from a string. */
163
+ function stripBom(content) {
164
+ return content.replace(/\uFEFF/g, '');
165
+ }
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LXJlc291cmNlLWNvbGxlY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jZGsvc2NoZW1hdGljcy91cGRhdGUtdG9vbC9jb21wb25lbnQtcmVzb3VyY2UtY29sbGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7OztBQUVILCtCQUE2QjtBQUM3QixpQ0FBaUM7QUFFakMsbURBQXdEO0FBQ3hELGlEQUFtRDtBQUNuRCx5REFJK0I7QUFDL0IseURBQTBEO0FBcUIxRDs7O0dBR0c7QUFDSCxNQUFhLDBCQUEwQjtJQUs1QjtJQUNDO0lBTFYsaUJBQWlCLEdBQXVCLEVBQUUsQ0FBQztJQUMzQyxtQkFBbUIsR0FBdUIsRUFBRSxDQUFDO0lBRTdDLFlBQ1MsV0FBMkIsRUFDMUIsV0FBdUI7UUFEeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQzFCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO0lBQzlCLENBQUM7SUFFSixTQUFTLENBQUMsSUFBYTtRQUNyQixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRTtZQUNoRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBMkIsQ0FBQyxDQUFDO1NBQzFEO0lBQ0gsQ0FBQztJQUVPLHNCQUFzQixDQUFDLElBQXlCO1FBQ3RELE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFMUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUU7WUFDckMsT0FBTztTQUNSO1FBRUQsTUFBTSxZQUFZLEdBQUcsSUFBQSxpQ0FBb0IsRUFBQyxJQUFJLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3hFLE1BQU0sa0JBQWtCLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxD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RUFBRSxHQUFHLENBQUM7U0FDMUYsQ0FBQztJQUNKLENBQUM7SUFFTyx3QkFBd0IsQ0FDOUIsaUJBQXlCLEVBQ3pCLElBQTBCLEVBQzFCLFNBQThCO1FBRTlCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5RSxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsY0FBYyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRTdFLElBQUksVUFBVSxFQUFFO1lBQ2QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUMzQztJQUNILENBQUM7Q0FDRjtBQS9LRCxnRUErS0M7QUFFRCxvQ0FBb0M7QUFDcEMsU0FBUyxRQUFRLENBQUMsT0FBZTtJQUMvQixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ3hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtkaXJuYW1lfSBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuaW1wb3J0IHtGaWxlU3lzdGVtLCBXb3Jrc3BhY2VQYXRofSBmcm9tICcuL2ZpbGUtc3lzdGVtJztcbmltcG9ydCB7Z2V0QW5ndWxhckRlY29yYXRvcnN9IGZyb20gJy4vdXRpbHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQge3Vud3JhcEV4cHJlc3Npb259IGZyb20gJy4vdXRpbHMvZnVuY3Rpb25zJztcbmltcG9ydCB7XG4gIGNvbXB1dGVMaW5lU3RhcnRzTWFwLFxuICBnZXRMaW5lQW5kQ2hhcmFjdGVyRnJvbVBvc2l0aW9uLFxuICBMaW5lQW5kQ2hhcmFjdGVyLFxufSBmcm9tICcuL3V0aWxzL2xpbmUtbWFwcGluZ3MnO1xuaW1wb3J0IHtnZXRQcm9wZXJ0eU5hbWVUZXh0fSBmcm9tICcuL3V0aWxzL3Byb3BlcnR5LW5hbWUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlc29sdmVkUmVzb3VyY2Uge1xuICAvKiogQ2xhc3MgZGVjbGFyYXRpb24gdGhhdCBjb250YWlucyB0aGlzIHJlc291cmNlLiAqL1xuICBjb250YWluZXI6IHRzLkNsYXNzRGVjbGFyYXRpb24gfCBudWxsO1xuICAvKiogRmlsZSBjb250ZW50IG9mIHRoZSBnaXZlbiB0ZW1wbGF0ZS4gKi9cbiAgY29udGVudDogc3RyaW5nO1xuICAvKiogU3RhcnQgb2Zmc2V0IG9mIHRoZSByZXNvdXJjZSBjb250ZW50IChlLmcuIGluIHRoZSBpbmxpbmUgc291cmNlIGZpbGUpICovXG4gIHN0YXJ0OiBudW1iZXI7XG4gIC8qKiBXaGV0aGVyIHRoZSBnaXZlbiByZXNvdXJjZSBpcyBpbmxpbmUgb3Igbm90LiAqL1xuICBpbmxpbmU6IGJvb2xlYW47XG4gIC8qKiBQYXRoIHRvIHRoZSBmaWxlIHRoYXQgY29udGFpbnMgdGhpcyByZXNvdXJjZS4gKi9cbiAgZmlsZVBhdGg6IFdvcmtzcGFjZVBhdGg7XG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjaGFyYWN0ZXIgYW5kIGxpbmUgb2YgYSBnaXZlbiBwb3NpdGlvbiBpbmRleCBpbiB0aGUgcmVzb3VyY2UuXG4gICAqIElmIHRoZSByZXNvdXJjZSBpcyBkZWNsYXJlZCBpbmxpbmUgd2l0aGluIGEgVHlwZVNjcmlwdCBzb3VyY2UgZmlsZSwgdGhlIGxpbmUgYW5kXG4gICAqIGNoYXJhY3RlciBhcmUgYmFzZWQgb24gdGhlIGZ1bGwgc291cmNlIGZpbGUgY29udGVudC5cbiAgICovXG4gIGdldENoYXJhY3RlckFuZExpbmVPZlBvc2l0aW9uOiAocG9zOiBudW1iZXIpID0+IExpbmVBbmRDaGFyYWN0ZXI7XG59XG5cbi8qKlxuICogQ29sbGVjdG9yIHRoYXQgY2FuIGJlIHVzZWQgdG8gZmluZCBBbmd1bGFyIHRlbXBsYXRlcyBhbmQgc3R5bGVzaGVldHMgcmVmZXJlbmNlZCB3aXRoaW5cbiAqIGdpdmVuIFR5cGVTY3JpcHQgc291cmNlIGZpbGVzIChpbmxpbmUgb3IgZXh0ZXJuYWwgcmVmZXJlbmNlZCBmaWxlcylcbiAqL1xuZXhwb3J0IGNsYXNzIENvbXBvbmVudFJlc291cmNlQ29sbGVjdG9yIHtcbiAgcmVzb2x2ZWRUZW1wbGF0ZXM6IFJlc29sdmVkUmVzb3VyY2VbXSA9IFtdO1xuICByZXNvbHZlZFN0eWxlc2hlZXRzOiBSZXNvbHZlZFJlc291cmNlW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgdHlwZUNoZWNrZXI6IHRzLlR5cGVDaGVja2VyLFxuICAgIHByaXZhdGUgX2ZpbGVTeXN0ZW06IEZpbGVTeXN0ZW0sXG4gICkge31cblxuICB2aXNpdE5vZGUobm9kZTogdHMuTm9kZSkge1xuICAgIGlmIChub2RlLmtpbmQgPT09IHRzLlN5bnRheEtpbmQuQ2xhc3NEZWNsYXJhdGlvbikge1xuICAgICAgdGhpcy5fdmlzaXRDbGFzc0RlY2xhcmF0aW9uKG5vZGUgYXMgdHMuQ2xhc3NEZWNsYXJhdGlvbik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfdmlzaXRDbGFzc0RlY2xhcmF0aW9uKG5vZGU6IHRzLkNsYXNzRGVjbGFyYXRpb24pIHtcbiAgICBjb25zdCBkZWNvcmF0b3JzID0gdHMuZ2V0RGVjb3JhdG9ycyhub2RlKTtcblxuICAgIGlmICghZGVjb3JhdG9ycyB8fCAhZGVjb3JhdG9ycy5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBuZ0RlY29yYXRvcnMgPSBnZXRBbmd1bGFyRGVjb3JhdG9ycyh0aGlzLnR5cGVDaGVja2VyLCBkZWNvcmF0b3JzKTtcbiAgICBjb25zdCBjb21wb25lbnREZWNvcmF0b3IgPSBuZ0RlY29yYXRvcnMuZmluZChkZWMgPT4gZGVjLm5hbWUgPT09ICdDb21wb25lbnQnKTtcblxuICAgIC8vIEluIGNhc2Ugbm8gXCJAQ29tcG9uZW50XCIgZGVjb3JhdG9yIGNvdWxkIGJlIGZvdW5kIG9uIHRoZSBjdXJyZW50IGNsYXNzLCBza2lwLlxuICAgIGlmICghY29tcG9uZW50RGVjb3JhdG9yKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVjb3JhdG9yQ2FsbCA9IGNvbXBvbmVudERlY29yYXRvci5ub2RlLmV4cHJlc3Npb247XG5cbiAgICAvLyBJbiBjYXNlIHRoZSBjb21wb25lbnQgZGVjb3JhdG9yIGNhbGwgaXMgbm90IHZhbGlkLCBza2lwIHRoaXMgY2xhc3MgZGVjbGFyYXRpb24uXG4gICAgaWYgKGRlY29yYXRvckNhbGwuYXJndW1lbnRzLmxlbmd0aCAhPT0gMSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbXBvbmVudE1ldGFkYXRhID0gdW53cmFwRXhwcmVzc2lvbihkZWNvcmF0b3JDYWxsLmFyZ3VtZW50c1swXSk7XG5cbiAgICAvLyBFbnN1cmUgdGhhdCB0aGUgY29tcG9uZW50IG1ldGFkYXRhIGlzIGFuIG9iamVjdCBsaXRlcmFsIGV4cHJlc3Npb24uXG4gICAgaWYgKCF0cy5pc09iamVjdExpdGVyYWxFeHByZXNzaW9uKGNvbXBvbmVudE1ldGFkYXRhKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHNvdXJjZUZpbGUgPSBub2RlLmdldFNvdXJjZUZpbGUoKTtcbiAgICBjb25zdCBmaWxlUGF0aCA9IHRoaXMuX2ZpbGVTeXN0ZW0ucmVzb2x2ZShzb3VyY2VGaWxlLmZpbGVOYW1lKTtcbiAgICBjb25zdCBzb3VyY2VGaWxlRGlyUGF0aCA9IGRpcm5hbWUoc291cmNlRmlsZS5maWxlTmFtZSk7XG5cbiAgICAvLyBXYWxrIHRocm91Z2ggYWxsIGNvbXBvbmVudCBtZXRhZGF0YSBwcm9wZXJ0aWVzIGFuZCBkZXRlcm1pbmUgdGhlIHJlZmVyZW5jZWRcbiAgICAvLyBIVE1MIHRlbXBsYXRlcyAoZWl0aGVyIGV4dGVybmFsIG9yIGlubGluZSlcbiAgICBjb21wb25lbnRNZXRhZGF0YS5wcm9wZXJ0aWVzLmZvckVhY2gocHJvcGVydHkgPT4ge1xuICAgICAgaWYgKCF0cy5pc1Byb3BlcnR5QXNzaWdubWVudChwcm9wZXJ0eSkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBwcm9wZXJ0eU5hbWUgPSBnZXRQcm9wZXJ0eU5hbWVUZXh0KHByb3BlcnR5Lm5hbWUpO1xuXG4gICAgICBpZiAocHJvcGVydHlOYW1lID09PSAnc3R5bGVzJykge1xuICAgICAgICBjb25zdCBlbGVtZW50cyA9IHRzLmlzQXJyYXlMaXRlcmFsRXhwcmVzc2lvbihwcm9wZXJ0eS5pbml0aWFsaXplcilcbiAgICAgICAgICA/IHByb3BlcnR5LmluaXRpYWxpemVyLmVsZW1lbnRzXG4gICAgICAgICAgOiBbcHJvcGVydHkuaW5pdGlhbGl6ZXJdO1xuXG4gICAgICAgIGVsZW1lbnRzLmZvckVhY2goZWwgPT4ge1xuICAgICAgICAgIGlmICh0cy5pc1N0cmluZ0xpdGVyYWxMaWtlKGVsKSkge1xuICAgICAgICAgICAgLy8gTmVlZCB0byBhZGQgYW4gb2Zmc2V0IG9mIG9uZSB0byB0aGUgc3RhcnQgYmVjYXVzZSB0aGUgdGVtcGxhdGUgcXVvdGVzIGFyZVxuICAgICAgICAgICAgLy8gbm90IHBhcnQgb2YgdGhlIHRlbXBsYXRlIGNvbnRlbnQuXG4gICAgICAgICAgICBjb25zdCB0ZW1wbGF0ZVN0YXJ0SWR4ID0gZWwuZ2V0U3RhcnQoKSArIDE7XG4gICAgICAgICAgICBjb25zdCBjb250ZW50ID0gc3RyaXBCb20oZWwudGV4dCk7XG4gICAgICAgICAgICB0aGlzLnJlc29sdmVkU3R5bGVzaGVldHMucHVzaCh7XG4gICAgICAgICAgICAgIGZpbGVQYXRoLFxuICAgICAgICAgICAgICBjb250YWluZXI6IG5vZGUsXG4gICAgICAgICAgICAgIGNvbnRlbnQsXG4gICAgICAgICAgICAgIGlubGluZTogdHJ1ZSxcbiAgICAgICAgICAgICAgc3RhcnQ6IHRlbXBsYXRlU3RhcnRJZHgsXG4gICAgICAgICAgICAgIGdldENoYXJhY3RlckFuZExpbmVPZlBvc2l0aW9uOiBwb3MgPT5cbiAgICAgICAgICAgICAgICB0cy5nZXRMaW5lQW5kQ2hhcmFjdGVyT2ZQb3NpdGlvbihzb3VyY2VGaWxlLCBwb3MgKyB0ZW1wbGF0ZVN0YXJ0SWR4KSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIC8vIEluIGNhc2UgdGhlcmUgaXMgYW4gaW5saW5lIHRlbXBsYXRlIHNwZWNpZmllZCwgZW5zdXJlIHRoYXQgdGhlIHZhbHVlIGlzIHN0YXRpY2FsbHlcbiAgICAgIC8vIGFuYWx5emFibGUgYnkgY2hlY2tpbmcgaWYgdGhlIGluaXRpYWxpemVyIGlzIGEgc3RyaW5nIGxpdGVyYWwtbGlrZSBub2RlLlxuICAgICAgaWYgKHByb3BlcnR5TmFtZSA9PT0gJ3RlbXBsYXRlJyAmJiB0cy5pc1N0cmluZ0xpdGVyYWxMaWtlKHByb3BlcnR5LmluaXRpYWxpemVyKSkge1xuICAgICAgICAvLyBOZWVkIHRvIGFkZCBhbiBvZmZzZXQgb2Ygb25lIHRvIHRoZSBzdGFydCBiZWNhdXNlIHRoZSB0ZW1wbGF0ZSBxdW90ZXMgYXJlXG4gICAgICAgIC8vIG5vdCBwYXJ0IG9mIHRoZSB0ZW1wbGF0ZSBjb250ZW50LlxuICAgICAgICBjb25zdCB0ZW1wbGF0ZVN0YXJ0SWR4ID0gcHJvcGVydHkuaW5pdGlhbGl6ZXIuZ2V0U3RhcnQoKSArIDE7XG4gICAgICAgIHRoaXMucmVzb2x2ZWRUZW1wbGF0ZXMucHVzaCh7XG4gICAgICAgICAgZmlsZVBhdGgsXG4gICAgICAgICAgY29udGFpbmVyOiBub2RlLFxuICAgICAgICAgIGNvbnRlbnQ6IHByb3BlcnR5LmluaXRpYWxpemVyLnRleHQsXG4gICAgICAgICAgaW5saW5lOiB0cnVlLFxuICAgICAgICAgIHN0YXJ0OiB0ZW1wbGF0ZVN0YXJ0SWR4LFxuICAgICAgICAgIGdldENoYXJhY3RlckFuZExpbmVPZlBvc2l0aW9uOiBwb3MgPT5cbiAgICAgICAgICAgIHRzLmdldExpbmVBbmRDaGFyYWN0ZXJPZlBvc2l0aW9uKHNvdXJjZUZpbGUsIHBvcyArIHRlbXBsYXRlU3RhcnRJZHgpLFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKHByb3BlcnR5TmFtZSA9PT0gJ3N0eWxlVXJscycgJiYgdHMuaXNBcnJheUxpdGVyYWxFeHByZXNzaW9uKHByb3BlcnR5LmluaXRpYWxpemVyKSkge1xuICAgICAgICBwcm9wZXJ0eS5pbml0aWFsaXplci5lbGVtZW50cy5mb3JFYWNoKGVsID0+IHtcbiAgICAgICAgICBpZiAodHMuaXNTdHJpbmdMaXRlcmFsTGlrZShlbCkpIHtcbiAgICAgICAgICAgIHRoaXMuX3RyYWNrRXh0ZXJuYWxTdHlsZXNoZWV0KHNvdXJjZUZpbGVEaXJQYXRoLCBlbCwgbm9kZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKHByb3BlcnR5TmFtZSA9PT0gJ3N0eWxlVXJsJyAmJiB0cy5pc1N0cmluZ0xpdGVyYWxMaWtlKHByb3BlcnR5LmluaXRpYWxpemVyKSkge1xuICAgICAgICB0aGlzLl90cmFja0V4dGVybmFsU3R5bGVzaGVldChzb3VyY2VGaWxlRGlyUGF0aCwgcHJvcGVydHkuaW5pdGlhbGl6ZXIsIG5vZGUpO1xuICAgICAgfVxuXG4gICAgICBpZiAocHJvcGVydHlOYW1lID09PSAndGVtcGxhdGVVcmwnICYmIHRzLmlzU3RyaW5nTGl0ZXJhbExpa2UocHJvcGVydHkuaW5pdGlhbGl6ZXIpKSB7XG4gICAgICAgIGNvbnN0IHRlbXBsYXRlVXJsID0gcHJvcGVydHkuaW5pdGlhbGl6ZXIudGV4dDtcbiAgICAgICAgY29uc3QgdGVtcGxhdGVQYXRoID0gdGhpcy5fZmlsZVN5c3RlbS5yZXNvbHZlKHNvdXJjZUZpbGVEaXJQYXRoLCB0ZW1wbGF0ZVVybCk7XG5cbiAgICAgICAgLy8gSW4gY2FzZSB0aGUgdGVtcGxhdGUgZG9lcyBub3QgZXhpc3QgaW4gdGhlIGZpbGUgc3lzdGVtLCBza2lwIHRoaXNcbiAgICAgICAgLy8gZXh0ZXJuYWwgdGVtcGxhdGUuXG4gICAgICAgIGlmICghdGhpcy5fZmlsZVN5c3RlbS5maWxlRXhpc3RzKHRlbXBsYXRlUGF0aCkpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmaWxlQ29udGVudCA9IHN0cmlwQm9tKHRoaXMuX2ZpbGVTeXN0ZW0ucmVhZCh0ZW1wbGF0ZVBhdGgpIHx8ICcnKTtcblxuICAgICAgICBpZiAoZmlsZUNvbnRlbnQpIHtcbiAgICAgICAgICBjb25zdCBsaW5lU3RhcnRzTWFwID0gY29tcHV0ZUxpbmVTdGFydHNNYXAoZmlsZUNvbnRlbnQpO1xuXG4gICAgICAgICAgdGhpcy5yZXNvbHZlZFRlbXBsYXRlcy5wdXNoKHtcbiAgICAgICAgICAgIGZpbGVQYXRoOiB0ZW1wbGF0ZVBhdGgsXG4gICAgICAgICAgICBjb250YWluZXI6IG5vZGUsXG4gICAgICAgICAgICBjb250ZW50OiBmaWxlQ29udGVudCxcbiAgICAgICAgICAgIGlubGluZTogZmFsc2UsXG4gICAgICAgICAgICBzdGFydDogMCxcbiAgICAgICAgICAgIGdldENoYXJhY3RlckFuZExpbmVPZlBvc2l0aW9uOiBwID0+IGdldExpbmVBbmRDaGFyYWN0ZXJGcm9tUG9zaXRpb24obGluZVN0YXJ0c01hcCwgcCksXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBSZXNvbHZlcyBhbiBleHRlcm5hbCBzdHlsZXNoZWV0IGJ5IHJlYWRpbmcgaXRzIGNvbnRlbnQgYW5kIGNvbXB1dGluZyBsaW5lIG1hcHBpbmdzLiAqL1xuICByZXNvbHZlRXh0ZXJuYWxTdHlsZXNoZWV0KFxuICAgIGZpbGVQYXRoOiBXb3Jrc3BhY2VQYXRoLFxuICAgIGNvbnRhaW5lcjogdHMuQ2xhc3NEZWNsYXJhdGlvbiB8IG51bGwsXG4gICk6IFJlc29sdmVkUmVzb3VyY2UgfCBudWxsIHtcbiAgICAvLyBTdHJpcCB0aGUgQk9NIHRvIGF2b2lkIGlzc3VlcyB3aXRoIHRoZSBTYXNzIGNvbXBpbGVyLiBTZWU6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvY29tcG9uZW50cy9pc3N1ZXMvMjQyMjcjaXNzdWVjb21tZW50LTEyMDA5MzQyNThcbiAgICBjb25zdCBmaWxlQ29udGVudCA9IHN0cmlwQm9tKHRoaXMuX2ZpbGVTeXN0ZW0ucmVhZChmaWxlUGF0aCkgfHwgJycpO1xuXG4gICAgaWYgKCFmaWxlQ29udGVudCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgbGluZVN0YXJ0c01hcCA9IGNvbXB1dGVMaW5lU3RhcnRzTWFwKGZpbGVDb250ZW50KTtcblxuICAgIHJldHVybiB7XG4gICAgICBmaWxlUGF0aDogZmlsZVBhdGgsXG4gICAgICBjb250YWluZXI6IGNvbnRhaW5lcixcbiAgICAgIGNvbnRlbnQ6IGZpbGVDb250ZW50LFxuICAgICAgaW5saW5lOiBmYWxzZSxcbiAgICAgIHN0YXJ0OiAwLFxuICAgICAgZ2V0Q2hhcmFjdGVyQW5kTGluZU9mUG9zaXRpb246IHBvcyA9PiBnZXRMaW5lQW5kQ2hhcmFjdGVyRnJvbVBvc2l0aW9uKGxpbmVTdGFydHNNYXAsIHBvcyksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgX3RyYWNrRXh0ZXJuYWxTdHlsZXNoZWV0KFxuICAgIHNvdXJjZUZpbGVEaXJQYXRoOiBzdHJpbmcsXG4gICAgbm9kZTogdHMuU3RyaW5nTGl0ZXJhbExpa2UsXG4gICAgY29udGFpbmVyOiB0cy5DbGFzc0RlY2xhcmF0aW9uLFxuICApIHtcbiAgICBjb25zdCBzdHlsZXNoZWV0UGF0aCA9IHRoaXMuX2ZpbGVTeXN0ZW0ucmVzb2x2ZShzb3VyY2VGaWxlRGlyUGF0aCwgbm9kZS50ZXh0KTtcbiAgICBjb25zdCBzdHlsZXNoZWV0ID0gdGhpcy5yZXNvbHZlRXh0ZXJuYWxTdHlsZXNoZWV0KHN0eWxlc2hlZXRQYXRoLCBjb250YWluZXIpO1xuXG4gICAgaWYgKHN0eWxlc2hlZXQpIHtcbiAgICAgIHRoaXMucmVzb2x2ZWRTdHlsZXNoZWV0cy5wdXNoKHN0eWxlc2hlZXQpO1xuICAgIH1cbiAgfVxufVxuXG4vKiogU3RyaXBzIHRoZSBCT00gZnJvbSBhIHN0cmluZy4gKi9cbmZ1bmN0aW9uIHN0cmlwQm9tKGNvbnRlbnQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBjb250ZW50LnJlcGxhY2UoL1xcdUZFRkYvZywgJycpO1xufVxuIl19