jqwidgets-ng 23.0.6 → 23.0.8

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 (549) hide show
  1. package/jqwidgets/jqx-all.js +4 -28
  2. package/jqwidgets/jqxbarcode.js +0 -6
  3. package/jqwidgets/jqxchart.core.js +1 -1
  4. package/jqwidgets/jqxchart.js +1 -1
  5. package/jqwidgets/jqxcheckboxgroup.js +0 -6
  6. package/jqwidgets/jqxdatatable.js +1 -1
  7. package/jqwidgets/jqxgrid.js +1 -1
  8. package/jqwidgets/jqxqrcode.js +0 -6
  9. package/jqwidgets/jqxradiobuttongroup.js +0 -6
  10. package/jqwidgets/jqxscheduler.js +1 -1
  11. package/jqwidgets/jqxsplitlayout.js +2 -2455
  12. package/jqwidgets/modules/jqxbarcode.js +15 -135
  13. package/jqwidgets/modules/jqxbargauge.js +17 -137
  14. package/jqwidgets/modules/jqxbulletchart.js +19 -139
  15. package/jqwidgets/modules/jqxbuttongroup.js +17 -137
  16. package/jqwidgets/modules/jqxbuttons.js +15 -135
  17. package/jqwidgets/modules/jqxcalendar.js +21 -141
  18. package/jqwidgets/modules/jqxchart.js +29 -149
  19. package/jqwidgets/modules/jqxcheckbox.js +19 -139
  20. package/jqwidgets/modules/jqxcheckboxgroup.js +19 -139
  21. package/jqwidgets/modules/jqxcolorpicker.js +21 -141
  22. package/jqwidgets/modules/jqxcombobox.js +25 -145
  23. package/jqwidgets/modules/jqxcomplexinput.js +17 -137
  24. package/jqwidgets/modules/jqxdatatable.js +45 -165
  25. package/jqwidgets/modules/jqxdatetimeinput.js +39 -159
  26. package/jqwidgets/modules/jqxdocking.js +19 -139
  27. package/jqwidgets/modules/jqxdockinglayout.js +27 -147
  28. package/jqwidgets/modules/jqxdockpanel.js +17 -137
  29. package/jqwidgets/modules/jqxdragdrop.js +19 -139
  30. package/jqwidgets/modules/jqxdraw.js +15 -135
  31. package/jqwidgets/modules/jqxdropdownbutton.js +17 -137
  32. package/jqwidgets/modules/jqxdropdownlist.js +37 -157
  33. package/jqwidgets/modules/jqxeditor.js +49 -169
  34. package/jqwidgets/modules/jqxexpander.js +23 -143
  35. package/jqwidgets/modules/jqxfileupload.js +19 -139
  36. package/jqwidgets/modules/jqxform.js +48 -168
  37. package/jqwidgets/modules/jqxformattedinput.js +39 -159
  38. package/jqwidgets/modules/jqxgantt.js +17 -137
  39. package/jqwidgets/modules/jqxgauge.js +21 -141
  40. package/jqwidgets/modules/jqxgrid.js +94 -191
  41. package/jqwidgets/modules/jqxheatmap.js +17 -137
  42. package/jqwidgets/modules/jqxinput.js +19 -139
  43. package/jqwidgets/modules/jqxkanban.js +49 -169
  44. package/jqwidgets/modules/jqxknob.js +19 -139
  45. package/jqwidgets/modules/jqxlayout.js +27 -147
  46. package/jqwidgets/modules/jqxlineargauge.js +21 -141
  47. package/jqwidgets/modules/jqxlinkbutton.js +15 -135
  48. package/jqwidgets/modules/jqxlistbox.js +29 -149
  49. package/jqwidgets/modules/jqxlistmenu.js +45 -165
  50. package/jqwidgets/modules/jqxloader.js +15 -135
  51. package/jqwidgets/modules/jqxmaskedinput.js +15 -135
  52. package/jqwidgets/modules/jqxmenu.js +27 -147
  53. package/jqwidgets/modules/jqxnavbar.js +23 -143
  54. package/jqwidgets/modules/jqxnavigationbar.js +31 -151
  55. package/jqwidgets/modules/jqxnotification.js +23 -143
  56. package/jqwidgets/modules/jqxnumberinput.js +29 -149
  57. package/jqwidgets/modules/jqxpanel.js +21 -141
  58. package/jqwidgets/modules/jqxpasswordinput.js +23 -143
  59. package/jqwidgets/modules/jqxpivotdesigner.js +53 -173
  60. package/jqwidgets/modules/jqxpivotgrid.js +53 -173
  61. package/jqwidgets/modules/jqxpopover.js +17 -137
  62. package/jqwidgets/modules/jqxprogressbar.js +15 -135
  63. package/jqwidgets/modules/jqxqrcode.js +23 -143
  64. package/jqwidgets/modules/jqxradiobutongroup.js +19 -139
  65. package/jqwidgets/modules/jqxradiobutton.js +17 -137
  66. package/jqwidgets/modules/jqxrangeselector.js +19 -139
  67. package/jqwidgets/modules/jqxrating.js +17 -137
  68. package/jqwidgets/modules/jqxrepeatbutton.js +15 -135
  69. package/jqwidgets/modules/jqxresponsivepanel.js +17 -137
  70. package/jqwidgets/modules/jqxribbon.js +19 -139
  71. package/jqwidgets/modules/jqxscheduler.js +55 -175
  72. package/jqwidgets/modules/jqxscrollbar.js +17 -137
  73. package/jqwidgets/modules/jqxscrollview.js +17 -137
  74. package/jqwidgets/modules/jqxslider.js +17 -127
  75. package/jqwidgets/modules/jqxsortable.js +14104 -68
  76. package/jqwidgets/modules/jqxsplitlayout.js +11472 -71
  77. package/jqwidgets/modules/jqxsplitter.js +13453 -68
  78. package/jqwidgets/modules/jqxswitchbutton.js +21 -131
  79. package/jqwidgets/modules/jqxtabs.js +29 -139
  80. package/jqwidgets/modules/jqxtagcloud.js +23 -133
  81. package/jqwidgets/modules/jqxtextarea.js +23 -133
  82. package/jqwidgets/modules/jqxtimeline.js +15 -125
  83. package/jqwidgets/modules/jqxtimepicker.js +17 -127
  84. package/jqwidgets/modules/jqxtogglebutton.js +15 -125
  85. package/jqwidgets/modules/jqxtoolbar.js +47 -157
  86. package/jqwidgets/modules/jqxtooltip.js +15 -125
  87. package/jqwidgets/modules/jqxtree.js +27 -137
  88. package/jqwidgets/modules/jqxtreegrid.js +47 -157
  89. package/jqwidgets/modules/jqxtreemap.js +19 -129
  90. package/jqwidgets/modules/jqxvalidator.js +21 -131
  91. package/jqwidgets/modules/jqxwindow.js +17 -127
  92. package/package.json +1 -1
  93. package/schematics/cdk/schematics/index.d.ts +1 -1
  94. package/schematics/cdk/schematics/index.js +2 -2
  95. package/schematics/cdk/schematics/index.js.map +1 -0
  96. package/schematics/cdk/schematics/migration.json +4 -4
  97. package/schematics/cdk/schematics/ng-add/index.d.ts +1 -1
  98. package/schematics/cdk/schematics/ng-add/index.js +13 -21
  99. package/schematics/cdk/schematics/ng-add/index.js.map +1 -0
  100. package/schematics/cdk/schematics/ng-add/schema.d.ts +1 -1
  101. package/schematics/cdk/schematics/ng-add/schema.js +2 -2
  102. package/schematics/cdk/schematics/ng-add/schema.js.map +1 -0
  103. package/schematics/cdk/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +6 -2
  104. package/schematics/cdk/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +1 -1
  105. package/schematics/cdk/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +5 -5
  106. package/schematics/cdk/schematics/ng-generate/drag-drop/index.d.ts +1 -1
  107. package/schematics/cdk/schematics/ng-generate/drag-drop/index.js +17 -8
  108. package/schematics/cdk/schematics/ng-generate/drag-drop/index.js.map +1 -0
  109. package/schematics/cdk/schematics/ng-generate/drag-drop/schema.d.ts +1 -1
  110. package/schematics/cdk/schematics/ng-generate/drag-drop/schema.js +2 -2
  111. package/schematics/cdk/schematics/ng-generate/drag-drop/schema.js.map +1 -0
  112. package/schematics/cdk/schematics/ng-update/data/attribute-selectors.d.ts +1 -1
  113. package/schematics/cdk/schematics/ng-update/data/attribute-selectors.js +2 -2
  114. package/schematics/cdk/schematics/ng-update/data/attribute-selectors.js.map +1 -0
  115. package/schematics/cdk/schematics/ng-update/data/class-names.d.ts +1 -1
  116. package/schematics/cdk/schematics/ng-update/data/class-names.js +2 -2
  117. package/schematics/cdk/schematics/ng-update/data/class-names.js.map +1 -0
  118. package/schematics/cdk/schematics/ng-update/data/constructor-checks.d.ts +1 -1
  119. package/schematics/cdk/schematics/ng-update/data/constructor-checks.js +2 -2
  120. package/schematics/cdk/schematics/ng-update/data/constructor-checks.js.map +1 -0
  121. package/schematics/cdk/schematics/ng-update/data/css-selectors.d.ts +1 -1
  122. package/schematics/cdk/schematics/ng-update/data/css-selectors.js +2 -2
  123. package/schematics/cdk/schematics/ng-update/data/css-selectors.js.map +1 -0
  124. package/schematics/cdk/schematics/ng-update/data/css-tokens.d.ts +27 -0
  125. package/schematics/cdk/schematics/ng-update/data/css-tokens.js +12 -0
  126. package/schematics/cdk/schematics/ng-update/data/css-tokens.js.map +1 -0
  127. package/schematics/cdk/schematics/ng-update/data/element-selectors.d.ts +1 -1
  128. package/schematics/cdk/schematics/ng-update/data/element-selectors.js +2 -2
  129. package/schematics/cdk/schematics/ng-update/data/element-selectors.js.map +1 -0
  130. package/schematics/cdk/schematics/ng-update/data/index.d.ts +2 -1
  131. package/schematics/cdk/schematics/ng-update/data/index.js +3 -2
  132. package/schematics/cdk/schematics/ng-update/data/index.js.map +1 -0
  133. package/schematics/cdk/schematics/ng-update/data/input-names.d.ts +1 -1
  134. package/schematics/cdk/schematics/ng-update/data/input-names.js +2 -2
  135. package/schematics/cdk/schematics/ng-update/data/input-names.js.map +1 -0
  136. package/schematics/cdk/schematics/ng-update/data/method-call-checks.d.ts +1 -1
  137. package/schematics/cdk/schematics/ng-update/data/method-call-checks.js +2 -2
  138. package/schematics/cdk/schematics/ng-update/data/method-call-checks.js.map +1 -0
  139. package/schematics/cdk/schematics/ng-update/data/output-names.d.ts +1 -1
  140. package/schematics/cdk/schematics/ng-update/data/output-names.js +2 -2
  141. package/schematics/cdk/schematics/ng-update/data/output-names.js.map +1 -0
  142. package/schematics/cdk/schematics/ng-update/data/property-names.d.ts +1 -1
  143. package/schematics/cdk/schematics/ng-update/data/property-names.js +2 -2
  144. package/schematics/cdk/schematics/ng-update/data/property-names.js.map +1 -0
  145. package/schematics/cdk/schematics/ng-update/data/symbol-removal.d.ts +1 -1
  146. package/schematics/cdk/schematics/ng-update/data/symbol-removal.js +2 -2
  147. package/schematics/cdk/schematics/ng-update/data/symbol-removal.js.map +1 -0
  148. package/schematics/cdk/schematics/ng-update/devkit-file-system.d.ts +1 -1
  149. package/schematics/cdk/schematics/ng-update/devkit-file-system.js +3 -4
  150. package/schematics/cdk/schematics/ng-update/devkit-file-system.js.map +1 -0
  151. package/schematics/cdk/schematics/ng-update/devkit-migration-rule.d.ts +1 -1
  152. package/schematics/cdk/schematics/ng-update/devkit-migration-rule.js +19 -8
  153. package/schematics/cdk/schematics/ng-update/devkit-migration-rule.js.map +1 -0
  154. package/schematics/cdk/schematics/ng-update/devkit-migration.d.ts +3 -3
  155. package/schematics/cdk/schematics/ng-update/devkit-migration.js +2 -2
  156. package/schematics/cdk/schematics/ng-update/devkit-migration.js.map +1 -0
  157. package/schematics/cdk/schematics/ng-update/find-stylesheets.d.ts +1 -1
  158. package/schematics/cdk/schematics/ng-update/find-stylesheets.js +3 -4
  159. package/schematics/cdk/schematics/ng-update/find-stylesheets.js.map +1 -0
  160. package/schematics/cdk/schematics/ng-update/html-parsing/angular.d.ts +1 -1
  161. package/schematics/cdk/schematics/ng-update/html-parsing/angular.js +7 -8
  162. package/schematics/cdk/schematics/ng-update/html-parsing/angular.js.map +1 -0
  163. package/schematics/cdk/schematics/ng-update/html-parsing/elements.d.ts +1 -1
  164. package/schematics/cdk/schematics/ng-update/html-parsing/elements.js +8 -8
  165. package/schematics/cdk/schematics/ng-update/html-parsing/elements.js.map +1 -0
  166. package/schematics/cdk/schematics/ng-update/index.d.ts +3 -3
  167. package/schematics/cdk/schematics/ng-update/index.js +6 -7
  168. package/schematics/cdk/schematics/ng-update/index.js.map +1 -0
  169. package/schematics/cdk/schematics/ng-update/migrations/attribute-selectors.d.ts +1 -1
  170. package/schematics/cdk/schematics/ng-update/migrations/attribute-selectors.js +9 -6
  171. package/schematics/cdk/schematics/ng-update/migrations/attribute-selectors.js.map +1 -0
  172. package/schematics/cdk/schematics/ng-update/migrations/class-inheritance.d.ts +1 -1
  173. package/schematics/cdk/schematics/ng-update/migrations/class-inheritance.js +12 -9
  174. package/schematics/cdk/schematics/ng-update/migrations/class-inheritance.js.map +1 -0
  175. package/schematics/cdk/schematics/ng-update/migrations/class-names.d.ts +1 -1
  176. package/schematics/cdk/schematics/ng-update/migrations/class-names.js +16 -13
  177. package/schematics/cdk/schematics/ng-update/migrations/class-names.js.map +1 -0
  178. package/schematics/cdk/schematics/ng-update/migrations/constructor-signature.d.ts +1 -1
  179. package/schematics/cdk/schematics/ng-update/migrations/constructor-signature.js +11 -8
  180. package/schematics/cdk/schematics/ng-update/migrations/constructor-signature.js.map +1 -0
  181. package/schematics/cdk/schematics/ng-update/migrations/css-selectors.d.ts +1 -1
  182. package/schematics/cdk/schematics/ng-update/migrations/css-selectors.js +9 -6
  183. package/schematics/cdk/schematics/ng-update/migrations/css-selectors.js.map +1 -0
  184. package/schematics/cdk/schematics/ng-update/migrations/css-tokens.d.ts +26 -0
  185. package/schematics/cdk/schematics/ng-update/migrations/css-tokens.js +83 -0
  186. package/schematics/cdk/schematics/ng-update/migrations/css-tokens.js.map +1 -0
  187. package/schematics/cdk/schematics/ng-update/migrations/element-selectors.d.ts +1 -1
  188. package/schematics/cdk/schematics/ng-update/migrations/element-selectors.js +9 -6
  189. package/schematics/cdk/schematics/ng-update/migrations/element-selectors.js.map +1 -0
  190. package/schematics/cdk/schematics/ng-update/migrations/input-names.d.ts +1 -1
  191. package/schematics/cdk/schematics/ng-update/migrations/input-names.js +9 -6
  192. package/schematics/cdk/schematics/ng-update/migrations/input-names.js.map +1 -0
  193. package/schematics/cdk/schematics/ng-update/migrations/method-call-arguments.d.ts +1 -1
  194. package/schematics/cdk/schematics/ng-update/migrations/method-call-arguments.js +9 -6
  195. package/schematics/cdk/schematics/ng-update/migrations/method-call-arguments.js.map +1 -0
  196. package/schematics/cdk/schematics/ng-update/migrations/misc-template.d.ts +1 -1
  197. package/schematics/cdk/schematics/ng-update/migrations/misc-template.js +7 -4
  198. package/schematics/cdk/schematics/ng-update/migrations/misc-template.js.map +1 -0
  199. package/schematics/cdk/schematics/ng-update/migrations/output-names.d.ts +1 -1
  200. package/schematics/cdk/schematics/ng-update/migrations/output-names.js +9 -6
  201. package/schematics/cdk/schematics/ng-update/migrations/output-names.js.map +1 -0
  202. package/schematics/cdk/schematics/ng-update/migrations/property-names.d.ts +1 -1
  203. package/schematics/cdk/schematics/ng-update/migrations/property-names.js +9 -6
  204. package/schematics/cdk/schematics/ng-update/migrations/property-names.js.map +1 -0
  205. package/schematics/cdk/schematics/ng-update/migrations/symbol-removal.d.ts +1 -1
  206. package/schematics/cdk/schematics/ng-update/migrations/symbol-removal.js +11 -7
  207. package/schematics/cdk/schematics/ng-update/migrations/symbol-removal.js.map +1 -0
  208. package/schematics/cdk/schematics/ng-update/public-api.d.ts +1 -1
  209. package/schematics/cdk/schematics/ng-update/public-api.js +2 -2
  210. package/schematics/cdk/schematics/ng-update/public-api.js.map +1 -0
  211. package/schematics/cdk/schematics/ng-update/typescript/base-types.d.ts +1 -1
  212. package/schematics/cdk/schematics/ng-update/typescript/base-types.js +3 -4
  213. package/schematics/cdk/schematics/ng-update/typescript/base-types.js.map +1 -0
  214. package/schematics/cdk/schematics/ng-update/typescript/imports.d.ts +1 -1
  215. package/schematics/cdk/schematics/ng-update/typescript/imports.js +7 -8
  216. package/schematics/cdk/schematics/ng-update/typescript/imports.js.map +1 -0
  217. package/schematics/cdk/schematics/ng-update/typescript/literal.d.ts +1 -1
  218. package/schematics/cdk/schematics/ng-update/typescript/literal.js +4 -5
  219. package/schematics/cdk/schematics/ng-update/typescript/literal.js.map +1 -0
  220. package/schematics/cdk/schematics/ng-update/typescript/module-specifiers.d.ts +1 -1
  221. package/schematics/cdk/schematics/ng-update/typescript/module-specifiers.js +5 -5
  222. package/schematics/cdk/schematics/ng-update/typescript/module-specifiers.js.map +1 -0
  223. package/schematics/cdk/schematics/ng-update/upgrade-data.d.ts +3 -2
  224. package/schematics/cdk/schematics/ng-update/upgrade-data.js +5 -4
  225. package/schematics/cdk/schematics/ng-update/upgrade-data.js.map +1 -0
  226. package/schematics/cdk/schematics/paths.d.ts +1 -1
  227. package/schematics/cdk/schematics/paths.js +2 -2
  228. package/schematics/cdk/schematics/paths.js.map +1 -0
  229. package/schematics/cdk/schematics/update-tool/component-resource-collector.d.ts +1 -1
  230. package/schematics/cdk/schematics/update-tool/component-resource-collector.js +4 -6
  231. package/schematics/cdk/schematics/update-tool/component-resource-collector.js.map +1 -0
  232. package/schematics/cdk/schematics/update-tool/file-system.d.ts +1 -1
  233. package/schematics/cdk/schematics/update-tool/file-system.js +2 -2
  234. package/schematics/cdk/schematics/update-tool/file-system.js.map +1 -0
  235. package/schematics/cdk/schematics/update-tool/index.d.ts +2 -2
  236. package/schematics/cdk/schematics/update-tool/index.js +4 -10
  237. package/schematics/cdk/schematics/update-tool/index.js.map +1 -0
  238. package/schematics/cdk/schematics/update-tool/logger.d.ts +1 -1
  239. package/schematics/cdk/schematics/update-tool/logger.js +2 -2
  240. package/schematics/cdk/schematics/update-tool/logger.js.map +1 -0
  241. package/schematics/cdk/schematics/update-tool/migration.d.ts +1 -1
  242. package/schematics/cdk/schematics/update-tool/migration.js +4 -11
  243. package/schematics/cdk/schematics/update-tool/migration.js.map +1 -0
  244. package/schematics/cdk/schematics/update-tool/public-api.d.ts +1 -1
  245. package/schematics/cdk/schematics/update-tool/public-api.js +2 -2
  246. package/schematics/cdk/schematics/update-tool/public-api.js.map +1 -0
  247. package/schematics/cdk/schematics/update-tool/target-version.d.ts +2 -2
  248. package/schematics/cdk/schematics/update-tool/target-version.js +5 -6
  249. package/schematics/cdk/schematics/update-tool/target-version.js.map +1 -0
  250. package/schematics/cdk/schematics/update-tool/update-recorder.d.ts +1 -1
  251. package/schematics/cdk/schematics/update-tool/update-recorder.js +2 -2
  252. package/schematics/cdk/schematics/update-tool/update-recorder.js.map +1 -0
  253. package/schematics/cdk/schematics/update-tool/utils/decorators.d.ts +1 -1
  254. package/schematics/cdk/schematics/update-tool/utils/decorators.js +4 -5
  255. package/schematics/cdk/schematics/update-tool/utils/decorators.js.map +1 -0
  256. package/schematics/cdk/schematics/update-tool/utils/diagnostics.d.ts +1 -1
  257. package/schematics/cdk/schematics/update-tool/utils/diagnostics.js +3 -4
  258. package/schematics/cdk/schematics/update-tool/utils/diagnostics.js.map +1 -0
  259. package/schematics/cdk/schematics/update-tool/utils/functions.d.ts +1 -1
  260. package/schematics/cdk/schematics/update-tool/utils/functions.js +3 -4
  261. package/schematics/cdk/schematics/update-tool/utils/functions.js.map +1 -0
  262. package/schematics/cdk/schematics/update-tool/utils/imports.d.ts +1 -1
  263. package/schematics/cdk/schematics/update-tool/utils/imports.js +3 -4
  264. package/schematics/cdk/schematics/update-tool/utils/imports.js.map +1 -0
  265. package/schematics/cdk/schematics/update-tool/utils/line-mappings.d.ts +1 -1
  266. package/schematics/cdk/schematics/update-tool/utils/line-mappings.js +4 -5
  267. package/schematics/cdk/schematics/update-tool/utils/line-mappings.js.map +1 -0
  268. package/schematics/cdk/schematics/update-tool/utils/parse-tsconfig.d.ts +1 -1
  269. package/schematics/cdk/schematics/update-tool/utils/parse-tsconfig.js +4 -4
  270. package/schematics/cdk/schematics/update-tool/utils/parse-tsconfig.js.map +1 -0
  271. package/schematics/cdk/schematics/update-tool/utils/property-name.d.ts +1 -1
  272. package/schematics/cdk/schematics/update-tool/utils/property-name.js +4 -5
  273. package/schematics/cdk/schematics/update-tool/utils/property-name.js.map +1 -0
  274. package/schematics/cdk/schematics/update-tool/utils/virtual-host.d.ts +1 -1
  275. package/schematics/cdk/schematics/update-tool/utils/virtual-host.js +6 -7
  276. package/schematics/cdk/schematics/update-tool/utils/virtual-host.js.map +1 -0
  277. package/schematics/cdk/schematics/update-tool/version-changes.d.ts +1 -1
  278. package/schematics/cdk/schematics/update-tool/version-changes.js +4 -5
  279. package/schematics/cdk/schematics/update-tool/version-changes.js.map +1 -0
  280. package/schematics/cdk/schematics/utils/ast/ng-module-imports.d.ts +1 -1
  281. package/schematics/cdk/schematics/utils/ast/ng-module-imports.js +3 -4
  282. package/schematics/cdk/schematics/utils/ast/ng-module-imports.js.map +1 -0
  283. package/schematics/cdk/schematics/utils/ast.d.ts +3 -3
  284. package/schematics/cdk/schematics/utils/ast.js +28 -18
  285. package/schematics/cdk/schematics/utils/ast.js.map +1 -0
  286. package/schematics/cdk/schematics/utils/build-component.d.ts +1 -1
  287. package/schematics/cdk/schematics/utils/build-component.js +24 -20
  288. package/schematics/cdk/schematics/utils/build-component.js.map +1 -0
  289. package/schematics/cdk/schematics/utils/get-project.d.ts +3 -3
  290. package/schematics/cdk/schematics/utils/get-project.js +3 -4
  291. package/schematics/cdk/schematics/utils/get-project.js.map +1 -0
  292. package/schematics/cdk/schematics/utils/html-manipulation.d.ts +1 -1
  293. package/schematics/cdk/schematics/utils/html-manipulation.js +5 -6
  294. package/schematics/cdk/schematics/utils/html-manipulation.js.map +1 -0
  295. package/schematics/cdk/schematics/utils/index.d.ts +1 -1
  296. package/schematics/cdk/schematics/utils/index.js +2 -2
  297. package/schematics/cdk/schematics/utils/index.js.map +1 -0
  298. package/schematics/cdk/schematics/utils/parse5-element.d.ts +1 -1
  299. package/schematics/cdk/schematics/utils/parse5-element.js +3 -4
  300. package/schematics/cdk/schematics/utils/parse5-element.js.map +1 -0
  301. package/schematics/cdk/schematics/utils/project-index-file.d.ts +7 -4
  302. package/schematics/cdk/schematics/utils/project-index-file.js +32 -10
  303. package/schematics/cdk/schematics/utils/project-index-file.js.map +1 -0
  304. package/schematics/cdk/schematics/utils/project-main-file.d.ts +4 -3
  305. package/schematics/cdk/schematics/utils/project-main-file.js +3 -4
  306. package/schematics/cdk/schematics/utils/project-main-file.js.map +1 -0
  307. package/schematics/cdk/schematics/utils/project-style-file.d.ts +3 -3
  308. package/schematics/cdk/schematics/utils/project-style-file.js +3 -4
  309. package/schematics/cdk/schematics/utils/project-style-file.js.map +1 -0
  310. package/schematics/cdk/schematics/utils/project-targets.d.ts +6 -5
  311. package/schematics/cdk/schematics/utils/project-targets.js +19 -12
  312. package/schematics/cdk/schematics/utils/project-targets.js.map +1 -0
  313. package/schematics/cdk/schematics/utils/project-tsconfig-paths.d.ts +4 -4
  314. package/schematics/cdk/schematics/utils/project-tsconfig-paths.js +29 -18
  315. package/schematics/cdk/schematics/utils/project-tsconfig-paths.js.map +1 -0
  316. package/schematics/cdk/schematics/utils/schematic-options.d.ts +3 -3
  317. package/schematics/cdk/schematics/utils/schematic-options.js +30 -19
  318. package/schematics/cdk/schematics/utils/schematic-options.js.map +1 -0
  319. package/schematics/cdk2/schematics/collection.json +18 -0
  320. package/schematics/cdk2/schematics/index.d.ts +14 -0
  321. package/schematics/cdk2/schematics/index.mjs +37 -0
  322. package/schematics/cdk2/schematics/migration.json +15 -0
  323. package/schematics/cdk2/schematics/ng-add/index.d.ts +17 -0
  324. package/schematics/cdk2/schematics/ng-add/index.mjs +39 -0
  325. package/schematics/cdk2/schematics/ng-add/schema.d.ts +11 -0
  326. package/schematics/cdk2/schematics/ng-add/schema.json +16 -0
  327. package/schematics/cdk2/schematics/ng-add/schema.mjs +10 -0
  328. package/schematics/cdk2/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.__style__.template +53 -0
  329. package/schematics/cdk2/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +17 -0
  330. package/schematics/cdk2/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +25 -0
  331. package/schematics/cdk2/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +45 -0
  332. package/schematics/cdk2/schematics/ng-generate/drag-drop/index.d.ts +11 -0
  333. package/schematics/cdk2/schematics/ng-generate/drag-drop/index.mjs +33 -0
  334. package/schematics/cdk2/schematics/ng-generate/drag-drop/schema.d.ts +10 -0
  335. package/schematics/cdk2/schematics/ng-generate/drag-drop/schema.json +100 -0
  336. package/schematics/cdk2/schematics/ng-generate/drag-drop/schema.mjs +10 -0
  337. package/schematics/cdk2/schematics/ng-update/data/attribute-selectors.d.ts +15 -0
  338. package/schematics/cdk2/schematics/ng-update/data/attribute-selectors.mjs +12 -0
  339. package/schematics/cdk2/schematics/ng-update/data/class-names.d.ts +15 -0
  340. package/schematics/cdk2/schematics/ng-update/data/class-names.mjs +12 -0
  341. package/schematics/cdk2/schematics/ng-update/data/constructor-checks.d.ts +15 -0
  342. package/schematics/cdk2/schematics/ng-update/data/constructor-checks.mjs +17 -0
  343. package/schematics/cdk2/schematics/ng-update/data/css-selectors.d.ts +27 -0
  344. package/schematics/cdk2/schematics/ng-update/data/css-selectors.mjs +12 -0
  345. package/schematics/cdk2/schematics/ng-update/data/element-selectors.d.ts +15 -0
  346. package/schematics/cdk2/schematics/ng-update/data/element-selectors.mjs +12 -0
  347. package/schematics/cdk2/schematics/ng-update/data/index.d.ts +17 -0
  348. package/schematics/cdk2/schematics/ng-update/data/index.mjs +34 -0
  349. package/schematics/cdk2/schematics/ng-update/data/input-names.d.ts +22 -0
  350. package/schematics/cdk2/schematics/ng-update/data/input-names.mjs +12 -0
  351. package/schematics/cdk2/schematics/ng-update/data/method-call-checks.d.ts +17 -0
  352. package/schematics/cdk2/schematics/ng-update/data/method-call-checks.mjs +12 -0
  353. package/schematics/cdk2/schematics/ng-update/data/output-names.d.ts +22 -0
  354. package/schematics/cdk2/schematics/ng-update/data/output-names.mjs +12 -0
  355. package/schematics/cdk2/schematics/ng-update/data/property-names.d.ts +20 -0
  356. package/schematics/cdk2/schematics/ng-update/data/property-names.mjs +12 -0
  357. package/schematics/cdk2/schematics/ng-update/data/symbol-removal.d.ts +17 -0
  358. package/schematics/cdk2/schematics/ng-update/data/symbol-removal.mjs +12 -0
  359. package/schematics/cdk2/schematics/ng-update/devkit-file-system.d.ts +30 -0
  360. package/schematics/cdk2/schematics/ng-update/devkit-file-system.mjs +84 -0
  361. package/schematics/cdk2/schematics/ng-update/devkit-migration-rule.d.ts +24 -0
  362. package/schematics/cdk2/schematics/ng-update/devkit-migration-rule.mjs +131 -0
  363. package/schematics/cdk2/schematics/ng-update/devkit-migration.d.ts +35 -0
  364. package/schematics/cdk2/schematics/ng-update/devkit-migration.mjs +20 -0
  365. package/schematics/cdk2/schematics/ng-update/find-stylesheets.d.ts +16 -0
  366. package/schematics/cdk2/schematics/ng-update/find-stylesheets.mjs +42 -0
  367. package/schematics/cdk2/schematics/ng-update/html-parsing/angular.d.ts +15 -0
  368. package/schematics/cdk2/schematics/ng-update/html-parsing/angular.mjs +52 -0
  369. package/schematics/cdk2/schematics/ng-update/html-parsing/elements.d.ts +24 -0
  370. package/schematics/cdk2/schematics/ng-update/html-parsing/elements.mjs +63 -0
  371. package/schematics/cdk2/schematics/ng-update/index.d.ts +10 -0
  372. package/schematics/cdk2/schematics/ng-update/index.mjs +30 -0
  373. package/schematics/cdk2/schematics/ng-update/migrations/attribute-selectors.d.ts +26 -0
  374. package/schematics/cdk2/schematics/ng-update/migrations/attribute-selectors.mjs +68 -0
  375. package/schematics/cdk2/schematics/ng-update/migrations/class-inheritance.d.ts +26 -0
  376. package/schematics/cdk2/schematics/ng-update/migrations/class-inheritance.mjs +55 -0
  377. package/schematics/cdk2/schematics/ng-update/migrations/class-names.d.ts +32 -0
  378. package/schematics/cdk2/schematics/ng-update/migrations/class-names.mjs +88 -0
  379. package/schematics/cdk2/schematics/ng-update/migrations/constructor-signature.d.ts +29 -0
  380. package/schematics/cdk2/schematics/ng-update/migrations/constructor-signature.mjs +136 -0
  381. package/schematics/cdk2/schematics/ng-update/migrations/css-selectors.d.ts +26 -0
  382. package/schematics/cdk2/schematics/ng-update/migrations/css-selectors.mjs +72 -0
  383. package/schematics/cdk2/schematics/ng-update/migrations/element-selectors.d.ts +26 -0
  384. package/schematics/cdk2/schematics/ng-update/migrations/element-selectors.mjs +63 -0
  385. package/schematics/cdk2/schematics/ng-update/migrations/input-names.d.ts +26 -0
  386. package/schematics/cdk2/schematics/ng-update/migrations/input-names.mjs +56 -0
  387. package/schematics/cdk2/schematics/ng-update/migrations/method-call-arguments.d.ts +22 -0
  388. package/schematics/cdk2/schematics/ng-update/migrations/method-call-arguments.mjs +59 -0
  389. package/schematics/cdk2/schematics/ng-update/migrations/misc-template.d.ts +18 -0
  390. package/schematics/cdk2/schematics/ng-update/migrations/misc-template.mjs +22 -0
  391. package/schematics/cdk2/schematics/ng-update/migrations/output-names.d.ts +22 -0
  392. package/schematics/cdk2/schematics/ng-update/migrations/output-names.mjs +43 -0
  393. package/schematics/cdk2/schematics/ng-update/migrations/property-names.d.ts +22 -0
  394. package/schematics/cdk2/schematics/ng-update/migrations/property-names.mjs +57 -0
  395. package/schematics/cdk2/schematics/ng-update/migrations/symbol-removal.d.ts +18 -0
  396. package/schematics/cdk2/schematics/ng-update/migrations/symbol-removal.mjs +43 -0
  397. package/schematics/cdk2/schematics/ng-update/public-api.d.ts +19 -0
  398. package/schematics/cdk2/schematics/ng-update/public-api.mjs +36 -0
  399. package/schematics/cdk2/schematics/ng-update/typescript/base-types.d.ts +10 -0
  400. package/schematics/cdk2/schematics/ng-update/typescript/base-types.mjs +24 -0
  401. package/schematics/cdk2/schematics/ng-update/typescript/imports.d.ts +18 -0
  402. package/schematics/cdk2/schematics/ng-update/typescript/imports.mjs +54 -0
  403. package/schematics/cdk2/schematics/ng-update/typescript/literal.d.ts +18 -0
  404. package/schematics/cdk2/schematics/ng-update/typescript/literal.mjs +33 -0
  405. package/schematics/cdk2/schematics/ng-update/typescript/module-specifiers.d.ts +16 -0
  406. package/schematics/cdk2/schematics/ng-update/typescript/module-specifiers.mjs +35 -0
  407. package/schematics/cdk2/schematics/ng-update/upgrade-data.d.ts +34 -0
  408. package/schematics/cdk2/schematics/ng-update/upgrade-data.mjs +39 -0
  409. package/schematics/cdk2/schematics/package.json +3 -0
  410. package/schematics/cdk2/schematics/paths.d.ts +11 -0
  411. package/schematics/cdk2/schematics/paths.mjs +16 -0
  412. package/schematics/cdk2/schematics/update-tool/component-resource-collector.d.ts +44 -0
  413. package/schematics/cdk2/schematics/update-tool/component-resource-collector.mjs +166 -0
  414. package/schematics/cdk2/schematics/update-tool/file-system.d.ts +72 -0
  415. package/schematics/cdk2/schematics/update-tool/file-system.mjs +18 -0
  416. package/schematics/cdk2/schematics/update-tool/index.d.ts +74 -0
  417. package/schematics/cdk2/schematics/update-tool/index.mjs +178 -0
  418. package/schematics/cdk2/schematics/update-tool/logger.d.ts +15 -0
  419. package/schematics/cdk2/schematics/update-tool/logger.mjs +18 -0
  420. package/schematics/cdk2/schematics/update-tool/migration.d.ts +87 -0
  421. package/schematics/cdk2/schematics/update-tool/migration.mjs +77 -0
  422. package/schematics/cdk2/schematics/update-tool/public-api.d.ts +16 -0
  423. package/schematics/cdk2/schematics/update-tool/public-api.mjs +33 -0
  424. package/schematics/cdk2/schematics/update-tool/target-version.d.ts +16 -0
  425. package/schematics/cdk2/schematics/update-tool/target-version.mjs +28 -0
  426. package/schematics/cdk2/schematics/update-tool/update-recorder.d.ts +13 -0
  427. package/schematics/cdk2/schematics/update-tool/update-recorder.mjs +10 -0
  428. package/schematics/cdk2/schematics/update-tool/utils/decorators.d.ts +22 -0
  429. package/schematics/cdk2/schematics/update-tool/utils/decorators.mjs +42 -0
  430. package/schematics/cdk2/schematics/update-tool/utils/diagnostics.d.ts +11 -0
  431. package/schematics/cdk2/schematics/update-tool/utils/diagnostics.mjs +19 -0
  432. package/schematics/cdk2/schematics/update-tool/utils/functions.d.ts +14 -0
  433. package/schematics/cdk2/schematics/update-tool/utils/functions.mjs +21 -0
  434. package/schematics/cdk2/schematics/update-tool/utils/imports.d.ts +17 -0
  435. package/schematics/cdk2/schematics/update-tool/utils/imports.mjs +111 -0
  436. package/schematics/cdk2/schematics/update-tool/utils/line-mappings.d.ts +21 -0
  437. package/schematics/cdk2/schematics/update-tool/utils/line-mappings.mjs +76 -0
  438. package/schematics/cdk2/schematics/update-tool/utils/parse-tsconfig.d.ts +18 -0
  439. package/schematics/cdk2/schematics/update-tool/utils/parse-tsconfig.mjs +45 -0
  440. package/schematics/cdk2/schematics/update-tool/utils/property-name.d.ts +18 -0
  441. package/schematics/cdk2/schematics/update-tool/utils/property-name.mjs +28 -0
  442. package/schematics/cdk2/schematics/update-tool/utils/virtual-host.d.ts +36 -0
  443. package/schematics/cdk2/schematics/update-tool/utils/virtual-host.mjs +72 -0
  444. package/schematics/cdk2/schematics/update-tool/version-changes.d.ts +32 -0
  445. package/schematics/cdk2/schematics/update-tool/version-changes.mjs +39 -0
  446. package/schematics/cdk2/schematics/utils/ast/ng-module-imports.d.ts +12 -0
  447. package/schematics/cdk2/schematics/utils/ast/ng-module-imports.mjs +83 -0
  448. package/schematics/cdk2/schematics/utils/ast.d.ts +25 -0
  449. package/schematics/cdk2/schematics/utils/ast.mjs +69 -0
  450. package/schematics/cdk2/schematics/utils/build-component.d.ts +20 -0
  451. package/schematics/cdk2/schematics/utils/build-component.mjs +184 -0
  452. package/schematics/cdk2/schematics/utils/get-project.d.ts +13 -0
  453. package/schematics/cdk2/schematics/utils/get-project.mjs +29 -0
  454. package/schematics/cdk2/schematics/utils/html-manipulation.d.ts +15 -0
  455. package/schematics/cdk2/schematics/utils/html-manipulation.mjs +92 -0
  456. package/schematics/cdk2/schematics/utils/index.d.ts +19 -0
  457. package/schematics/cdk2/schematics/utils/index.mjs +36 -0
  458. package/schematics/cdk2/schematics/utils/parse5-element.d.ts +12 -0
  459. package/schematics/cdk2/schematics/utils/parse5-element.mjs +31 -0
  460. package/schematics/cdk2/schematics/utils/project-index-file.d.ts +10 -0
  461. package/schematics/cdk2/schematics/utils/project-index-file.mjs +21 -0
  462. package/schematics/cdk2/schematics/utils/project-main-file.d.ts +10 -0
  463. package/schematics/cdk2/schematics/utils/project-main-file.mjs +26 -0
  464. package/schematics/cdk2/schematics/utils/project-style-file.d.ts +13 -0
  465. package/schematics/cdk2/schematics/utils/project-style-file.mjs +43 -0
  466. package/schematics/cdk2/schematics/utils/project-targets.d.ts +14 -0
  467. package/schematics/cdk2/schematics/utils/project-targets.mjs +39 -0
  468. package/schematics/cdk2/schematics/utils/project-tsconfig-paths.d.ts +14 -0
  469. package/schematics/cdk2/schematics/utils/project-tsconfig-paths.mjs +35 -0
  470. package/schematics/cdk2/schematics/utils/schematic-options.d.ts +20 -0
  471. package/schematics/cdk2/schematics/utils/schematic-options.mjs +78 -0
  472. /package/schematics/{cdk/schematics/index.mjs → cdk2/schematics/index.js} +0 -0
  473. /package/schematics/{cdk/schematics/ng-add/index.mjs → cdk2/schematics/ng-add/index.js} +0 -0
  474. /package/schematics/{cdk → cdk2}/schematics/ng-add/package-config.d.ts +0 -0
  475. /package/schematics/{cdk → cdk2}/schematics/ng-add/package-config.js +0 -0
  476. /package/schematics/{cdk → cdk2}/schematics/ng-add/package-config.mjs +0 -0
  477. /package/schematics/{cdk/schematics/ng-add/schema.mjs → cdk2/schematics/ng-add/schema.js} +0 -0
  478. /package/schematics/{cdk/schematics/ng-generate/drag-drop/index.mjs → cdk2/schematics/ng-generate/drag-drop/index.js} +0 -0
  479. /package/schematics/{cdk/schematics/ng-generate/drag-drop/schema.mjs → cdk2/schematics/ng-generate/drag-drop/schema.js} +0 -0
  480. /package/schematics/{cdk/schematics/ng-update/data/attribute-selectors.mjs → cdk2/schematics/ng-update/data/attribute-selectors.js} +0 -0
  481. /package/schematics/{cdk/schematics/ng-update/data/class-names.mjs → cdk2/schematics/ng-update/data/class-names.js} +0 -0
  482. /package/schematics/{cdk/schematics/ng-update/data/constructor-checks.mjs → cdk2/schematics/ng-update/data/constructor-checks.js} +0 -0
  483. /package/schematics/{cdk/schematics/ng-update/data/css-selectors.mjs → cdk2/schematics/ng-update/data/css-selectors.js} +0 -0
  484. /package/schematics/{cdk/schematics/ng-update/data/element-selectors.mjs → cdk2/schematics/ng-update/data/element-selectors.js} +0 -0
  485. /package/schematics/{cdk/schematics/ng-update/data/index.mjs → cdk2/schematics/ng-update/data/index.js} +0 -0
  486. /package/schematics/{cdk/schematics/ng-update/data/input-names.mjs → cdk2/schematics/ng-update/data/input-names.js} +0 -0
  487. /package/schematics/{cdk/schematics/ng-update/data/method-call-checks.mjs → cdk2/schematics/ng-update/data/method-call-checks.js} +0 -0
  488. /package/schematics/{cdk/schematics/ng-update/data/output-names.mjs → cdk2/schematics/ng-update/data/output-names.js} +0 -0
  489. /package/schematics/{cdk/schematics/ng-update/data/property-names.mjs → cdk2/schematics/ng-update/data/property-names.js} +0 -0
  490. /package/schematics/{cdk/schematics/ng-update/data/symbol-removal.mjs → cdk2/schematics/ng-update/data/symbol-removal.js} +0 -0
  491. /package/schematics/{cdk/schematics/ng-update/devkit-file-system.mjs → cdk2/schematics/ng-update/devkit-file-system.js} +0 -0
  492. /package/schematics/{cdk/schematics/ng-update/devkit-migration-rule.mjs → cdk2/schematics/ng-update/devkit-migration-rule.js} +0 -0
  493. /package/schematics/{cdk/schematics/ng-update/devkit-migration.mjs → cdk2/schematics/ng-update/devkit-migration.js} +0 -0
  494. /package/schematics/{cdk/schematics/ng-update/find-stylesheets.mjs → cdk2/schematics/ng-update/find-stylesheets.js} +0 -0
  495. /package/schematics/{cdk/schematics/ng-update/html-parsing/angular.mjs → cdk2/schematics/ng-update/html-parsing/angular.js} +0 -0
  496. /package/schematics/{cdk/schematics/ng-update/html-parsing/elements.mjs → cdk2/schematics/ng-update/html-parsing/elements.js} +0 -0
  497. /package/schematics/{cdk/schematics/ng-update/index.mjs → cdk2/schematics/ng-update/index.js} +0 -0
  498. /package/schematics/{cdk/schematics/ng-update/migrations/attribute-selectors.mjs → cdk2/schematics/ng-update/migrations/attribute-selectors.js} +0 -0
  499. /package/schematics/{cdk/schematics/ng-update/migrations/class-inheritance.mjs → cdk2/schematics/ng-update/migrations/class-inheritance.js} +0 -0
  500. /package/schematics/{cdk/schematics/ng-update/migrations/class-names.mjs → cdk2/schematics/ng-update/migrations/class-names.js} +0 -0
  501. /package/schematics/{cdk/schematics/ng-update/migrations/constructor-signature.mjs → cdk2/schematics/ng-update/migrations/constructor-signature.js} +0 -0
  502. /package/schematics/{cdk/schematics/ng-update/migrations/css-selectors.mjs → cdk2/schematics/ng-update/migrations/css-selectors.js} +0 -0
  503. /package/schematics/{cdk/schematics/ng-update/migrations/element-selectors.mjs → cdk2/schematics/ng-update/migrations/element-selectors.js} +0 -0
  504. /package/schematics/{cdk/schematics/ng-update/migrations/input-names.mjs → cdk2/schematics/ng-update/migrations/input-names.js} +0 -0
  505. /package/schematics/{cdk/schematics/ng-update/migrations/method-call-arguments.mjs → cdk2/schematics/ng-update/migrations/method-call-arguments.js} +0 -0
  506. /package/schematics/{cdk/schematics/ng-update/migrations/misc-template.mjs → cdk2/schematics/ng-update/migrations/misc-template.js} +0 -0
  507. /package/schematics/{cdk/schematics/ng-update/migrations/output-names.mjs → cdk2/schematics/ng-update/migrations/output-names.js} +0 -0
  508. /package/schematics/{cdk/schematics/ng-update/migrations/property-names.mjs → cdk2/schematics/ng-update/migrations/property-names.js} +0 -0
  509. /package/schematics/{cdk/schematics/ng-update/migrations/symbol-removal.mjs → cdk2/schematics/ng-update/migrations/symbol-removal.js} +0 -0
  510. /package/schematics/{cdk/schematics/ng-update/public-api.mjs → cdk2/schematics/ng-update/public-api.js} +0 -0
  511. /package/schematics/{cdk/schematics/ng-update/typescript/base-types.mjs → cdk2/schematics/ng-update/typescript/base-types.js} +0 -0
  512. /package/schematics/{cdk/schematics/ng-update/typescript/imports.mjs → cdk2/schematics/ng-update/typescript/imports.js} +0 -0
  513. /package/schematics/{cdk/schematics/ng-update/typescript/literal.mjs → cdk2/schematics/ng-update/typescript/literal.js} +0 -0
  514. /package/schematics/{cdk/schematics/ng-update/typescript/module-specifiers.mjs → cdk2/schematics/ng-update/typescript/module-specifiers.js} +0 -0
  515. /package/schematics/{cdk/schematics/ng-update/upgrade-data.mjs → cdk2/schematics/ng-update/upgrade-data.js} +0 -0
  516. /package/schematics/{cdk/schematics/paths.mjs → cdk2/schematics/paths.js} +0 -0
  517. /package/schematics/{cdk → cdk2}/schematics/schematics.externs.js +0 -0
  518. /package/schematics/{cdk → cdk2}/schematics/tsconfig.json +0 -0
  519. /package/schematics/{cdk/schematics/update-tool/component-resource-collector.mjs → cdk2/schematics/update-tool/component-resource-collector.js} +0 -0
  520. /package/schematics/{cdk/schematics/update-tool/file-system.mjs → cdk2/schematics/update-tool/file-system.js} +0 -0
  521. /package/schematics/{cdk/schematics/update-tool/index.mjs → cdk2/schematics/update-tool/index.js} +0 -0
  522. /package/schematics/{cdk/schematics/update-tool/logger.mjs → cdk2/schematics/update-tool/logger.js} +0 -0
  523. /package/schematics/{cdk/schematics/update-tool/migration.mjs → cdk2/schematics/update-tool/migration.js} +0 -0
  524. /package/schematics/{cdk/schematics/update-tool/public-api.mjs → cdk2/schematics/update-tool/public-api.js} +0 -0
  525. /package/schematics/{cdk/schematics/update-tool/target-version.mjs → cdk2/schematics/update-tool/target-version.js} +0 -0
  526. /package/schematics/{cdk/schematics/update-tool/update-recorder.mjs → cdk2/schematics/update-tool/update-recorder.js} +0 -0
  527. /package/schematics/{cdk → cdk2}/schematics/update-tool/update-tool.externs.js +0 -0
  528. /package/schematics/{cdk/schematics/update-tool/utils/decorators.mjs → cdk2/schematics/update-tool/utils/decorators.js} +0 -0
  529. /package/schematics/{cdk/schematics/update-tool/utils/diagnostics.mjs → cdk2/schematics/update-tool/utils/diagnostics.js} +0 -0
  530. /package/schematics/{cdk/schematics/update-tool/utils/functions.mjs → cdk2/schematics/update-tool/utils/functions.js} +0 -0
  531. /package/schematics/{cdk/schematics/update-tool/utils/imports.mjs → cdk2/schematics/update-tool/utils/imports.js} +0 -0
  532. /package/schematics/{cdk/schematics/update-tool/utils/line-mappings.mjs → cdk2/schematics/update-tool/utils/line-mappings.js} +0 -0
  533. /package/schematics/{cdk/schematics/update-tool/utils/parse-tsconfig.mjs → cdk2/schematics/update-tool/utils/parse-tsconfig.js} +0 -0
  534. /package/schematics/{cdk/schematics/update-tool/utils/property-name.mjs → cdk2/schematics/update-tool/utils/property-name.js} +0 -0
  535. /package/schematics/{cdk/schematics/update-tool/utils/virtual-host.mjs → cdk2/schematics/update-tool/utils/virtual-host.js} +0 -0
  536. /package/schematics/{cdk/schematics/update-tool/version-changes.mjs → cdk2/schematics/update-tool/version-changes.js} +0 -0
  537. /package/schematics/{cdk/schematics/utils/ast/ng-module-imports.mjs → cdk2/schematics/utils/ast/ng-module-imports.js} +0 -0
  538. /package/schematics/{cdk/schematics/utils/ast.mjs → cdk2/schematics/utils/ast.js} +0 -0
  539. /package/schematics/{cdk/schematics/utils/build-component.mjs → cdk2/schematics/utils/build-component.js} +0 -0
  540. /package/schematics/{cdk/schematics/utils/get-project.mjs → cdk2/schematics/utils/get-project.js} +0 -0
  541. /package/schematics/{cdk/schematics/utils/html-manipulation.mjs → cdk2/schematics/utils/html-manipulation.js} +0 -0
  542. /package/schematics/{cdk/schematics/utils/index.mjs → cdk2/schematics/utils/index.js} +0 -0
  543. /package/schematics/{cdk/schematics/utils/parse5-element.mjs → cdk2/schematics/utils/parse5-element.js} +0 -0
  544. /package/schematics/{cdk/schematics/utils/project-index-file.mjs → cdk2/schematics/utils/project-index-file.js} +0 -0
  545. /package/schematics/{cdk/schematics/utils/project-main-file.mjs → cdk2/schematics/utils/project-main-file.js} +0 -0
  546. /package/schematics/{cdk/schematics/utils/project-style-file.mjs → cdk2/schematics/utils/project-style-file.js} +0 -0
  547. /package/schematics/{cdk/schematics/utils/project-targets.mjs → cdk2/schematics/utils/project-targets.js} +0 -0
  548. /package/schematics/{cdk/schematics/utils/project-tsconfig-paths.mjs → cdk2/schematics/utils/project-tsconfig-paths.js} +0 -0
  549. /package/schematics/{cdk/schematics/utils/schematic-options.mjs → cdk2/schematics/utils/schematic-options.js} +0 -0
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ /**
3
+ * @license
4
+ * Copyright Google LLC All Rights Reserved.
5
+ *
6
+ * Use of this source code is governed by an MIT-style license that can be
7
+ * found in the LICENSE file at https://angular.io/license
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.updateToV17 = void 0;
11
+ const target_version_1 = require("../update-tool/target-version");
12
+ const upgrade_data_1 = require("./upgrade-data");
13
+ const devkit_migration_rule_1 = require("./devkit-migration-rule");
14
+ const cdkMigrations = [];
15
+ /** Entry point for the migration schematics with target of Angular CDK 17.0.0 */
16
+ function updateToV17() {
17
+ return (0, devkit_migration_rule_1.createMigrationSchematicRule)(target_version_1.TargetVersion.V17, cdkMigrations, upgrade_data_1.cdkUpgradeData, onMigrationComplete);
18
+ }
19
+ exports.updateToV17 = updateToV17;
20
+ /** Function that will be called when the migration completed. */
21
+ function onMigrationComplete(context, targetVersion, hasFailures) {
22
+ context.logger.info('');
23
+ context.logger.info(` ✓ Updated Angular CDK to ${targetVersion}`);
24
+ context.logger.info('');
25
+ if (hasFailures) {
26
+ context.logger.warn(' ⚠ Some issues were detected but could not be fixed automatically. Please check the ' +
27
+ 'output above and fix these issues manually.');
28
+ }
29
+ }
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2RrL3NjaGVtYXRpY3MvbmctdXBkYXRlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7OztBQUdILGtFQUE0RDtBQUM1RCxpREFBOEM7QUFDOUMsbUVBQThGO0FBRTlGLE1BQU0sYUFBYSxHQUE4QixFQUFFLENBQUM7QUFFcEQsaUZBQWlGO0FBQ2pGLFNBQWdCLFdBQVc7SUFDekIsT0FBTyxJQUFBLG9EQUE0QixFQUNqQyw4QkFBYSxDQUFDLEdBQUcsRUFDakIsYUFBYSxFQUNiLDZCQUFjLEVBQ2QsbUJBQW1CLENBQ3BCLENBQUM7QUFDSixDQUFDO0FBUEQsa0NBT0M7QUFFRCxpRUFBaUU7QUFDakUsU0FBUyxtQkFBbUIsQ0FDMUIsT0FBeUIsRUFDekIsYUFBNEIsRUFDNUIsV0FBb0I7SUFFcEIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDeEIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsK0JBQStCLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDcEUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFeEIsSUFBSSxXQUFXLEVBQUU7UUFDZixPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDakIsd0ZBQXdGO1lBQ3RGLDZDQUE2QyxDQUNoRCxDQUFDO0tBQ0g7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7UnVsZSwgU2NoZW1hdGljQ29udGV4dH0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L3NjaGVtYXRpY3MnO1xuaW1wb3J0IHtUYXJnZXRWZXJzaW9ufSBmcm9tICcuLi91cGRhdGUtdG9vbC90YXJnZXQtdmVyc2lvbic7XG5pbXBvcnQge2Nka1VwZ3JhZGVEYXRhfSBmcm9tICcuL3VwZ3JhZGUtZGF0YSc7XG5pbXBvcnQge2NyZWF0ZU1pZ3JhdGlvblNjaGVtYXRpY1J1bGUsIE51bGxhYmxlRGV2a2l0TWlncmF0aW9ufSBmcm9tICcuL2RldmtpdC1taWdyYXRpb24tcnVsZSc7XG5cbmNvbnN0IGNka01pZ3JhdGlvbnM6IE51bGxhYmxlRGV2a2l0TWlncmF0aW9uW10gPSBbXTtcblxuLyoqIEVudHJ5IHBvaW50IGZvciB0aGUgbWlncmF0aW9uIHNjaGVtYXRpY3Mgd2l0aCB0YXJnZXQgb2YgQW5ndWxhciBDREsgMTcuMC4wICovXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlVG9WMTcoKTogUnVsZSB7XG4gIHJldHVybiBjcmVhdGVNaWdyYXRpb25TY2hlbWF0aWNSdWxlKFxuICAgIFRhcmdldFZlcnNpb24uVjE3LFxuICAgIGNka01pZ3JhdGlvbnMsXG4gICAgY2RrVXBncmFkZURhdGEsXG4gICAgb25NaWdyYXRpb25Db21wbGV0ZSxcbiAgKTtcbn1cblxuLyoqIEZ1bmN0aW9uIHRoYXQgd2lsbCBiZSBjYWxsZWQgd2hlbiB0aGUgbWlncmF0aW9uIGNvbXBsZXRlZC4gKi9cbmZ1bmN0aW9uIG9uTWlncmF0aW9uQ29tcGxldGUoXG4gIGNvbnRleHQ6IFNjaGVtYXRpY0NvbnRleHQsXG4gIHRhcmdldFZlcnNpb246IFRhcmdldFZlcnNpb24sXG4gIGhhc0ZhaWx1cmVzOiBib29sZWFuLFxuKSB7XG4gIGNvbnRleHQubG9nZ2VyLmluZm8oJycpO1xuICBjb250ZXh0LmxvZ2dlci5pbmZvKGAgIOKckyAgVXBkYXRlZCBBbmd1bGFyIENESyB0byAke3RhcmdldFZlcnNpb259YCk7XG4gIGNvbnRleHQubG9nZ2VyLmluZm8oJycpO1xuXG4gIGlmIChoYXNGYWlsdXJlcykge1xuICAgIGNvbnRleHQubG9nZ2VyLndhcm4oXG4gICAgICAnICDimqAgIFNvbWUgaXNzdWVzIHdlcmUgZGV0ZWN0ZWQgYnV0IGNvdWxkIG5vdCBiZSBmaXhlZCBhdXRvbWF0aWNhbGx5LiBQbGVhc2UgY2hlY2sgdGhlICcgK1xuICAgICAgICAnb3V0cHV0IGFib3ZlIGFuZCBmaXggdGhlc2UgaXNzdWVzIG1hbnVhbGx5LicsXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ import * as ts from 'typescript';
9
+ import { ResolvedResource } from '../../update-tool/component-resource-collector';
10
+ import { Migration } from '../../update-tool/migration';
11
+ import { AttributeSelectorUpgradeData } from '../data/attribute-selectors';
12
+ import { UpgradeData } from '../upgrade-data';
13
+ /**
14
+ * Migration that walks through every string literal, template and stylesheet
15
+ * in order to switch deprecated attribute selectors to the updated selector.
16
+ */
17
+ export declare class AttributeSelectorsMigration extends Migration<UpgradeData> {
18
+ /** Required upgrade changes for specified target version. */
19
+ data: AttributeSelectorUpgradeData[];
20
+ enabled: boolean;
21
+ visitNode(node: ts.Node): void;
22
+ visitTemplate(template: ResolvedResource): void;
23
+ visitStylesheet(stylesheet: ResolvedResource): void;
24
+ private _visitStringLiteralLike;
25
+ private _replaceSelector;
26
+ }
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ /**
3
+ * @license
4
+ * Copyright Google LLC All Rights Reserved.
5
+ *
6
+ * Use of this source code is governed by an MIT-style license that can be
7
+ * found in the LICENSE file at https://angular.io/license
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.AttributeSelectorsMigration = void 0;
11
+ const ts = require("typescript");
12
+ const migration_1 = require("../../update-tool/migration");
13
+ const literal_1 = require("../typescript/literal");
14
+ const upgrade_data_1 = require("../upgrade-data");
15
+ /**
16
+ * Migration that walks through every string literal, template and stylesheet
17
+ * in order to switch deprecated attribute selectors to the updated selector.
18
+ */
19
+ class AttributeSelectorsMigration extends migration_1.Migration {
20
+ /** Required upgrade changes for specified target version. */
21
+ data = (0, upgrade_data_1.getVersionUpgradeData)(this, 'attributeSelectors');
22
+ // Only enable the migration rule if there is upgrade data.
23
+ enabled = this.data.length !== 0;
24
+ visitNode(node) {
25
+ if (ts.isStringLiteralLike(node)) {
26
+ this._visitStringLiteralLike(node);
27
+ }
28
+ }
29
+ visitTemplate(template) {
30
+ this.data.forEach(selector => {
31
+ (0, literal_1.findAllSubstringIndices)(template.content, selector.replace)
32
+ .map(offset => template.start + offset)
33
+ .forEach(start => this._replaceSelector(template.filePath, start, selector));
34
+ });
35
+ }
36
+ visitStylesheet(stylesheet) {
37
+ this.data.forEach(selector => {
38
+ const currentSelector = `[${selector.replace}]`;
39
+ const updatedSelector = `[${selector.replaceWith}]`;
40
+ (0, literal_1.findAllSubstringIndices)(stylesheet.content, currentSelector)
41
+ .map(offset => stylesheet.start + offset)
42
+ .forEach(start => this._replaceSelector(stylesheet.filePath, start, {
43
+ replace: currentSelector,
44
+ replaceWith: updatedSelector,
45
+ }));
46
+ });
47
+ }
48
+ _visitStringLiteralLike(literal) {
49
+ if (literal.parent && literal.parent.kind !== ts.SyntaxKind.CallExpression) {
50
+ return;
51
+ }
52
+ const literalText = literal.getText();
53
+ const filePath = this.fileSystem.resolve(literal.getSourceFile().fileName);
54
+ this.data.forEach(selector => {
55
+ (0, literal_1.findAllSubstringIndices)(literalText, selector.replace)
56
+ .map(offset => literal.getStart() + offset)
57
+ .forEach(start => this._replaceSelector(filePath, start, selector));
58
+ });
59
+ }
60
+ _replaceSelector(filePath, start, data) {
61
+ this.fileSystem
62
+ .edit(filePath)
63
+ .remove(start, data.replace.length)
64
+ .insertRight(start, data.replaceWith);
65
+ }
66
+ }
67
+ exports.AttributeSelectorsMigration = AttributeSelectorsMigration;
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLXNlbGVjdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jZGsvc2NoZW1hdGljcy9uZy11cGRhdGUvbWlncmF0aW9ucy9hdHRyaWJ1dGUtc2VsZWN0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7OztBQUVILGlDQUFpQztBQUdqQywyREFBc0Q7QUFFdEQsbURBQThEO0FBQzlELGtEQUFtRTtBQUVuRTs7O0dBR0c7QUFDSCxNQUFhLDJCQUE0QixTQUFRLHFCQUFzQjtJQUNyRSw2REFBNkQ7SUFDN0QsSUFBSSxHQUFHLElBQUEsb0NBQXFCLEVBQUMsSUFBSSxFQUFFLG9CQUFvQixDQUFDLENBQUM7SUFFekQsMkRBQTJEO0lBQzNELE9BQU8sR0FBWSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7SUFFakMsU0FBUyxDQUFDLElBQWE7UUFDOUIsSUFBSSxFQUFFLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDaEMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3BDO0lBQ0gsQ0FBQztJQUVRLGFBQWEsQ0FBQyxRQUEwQjtRQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUMzQixJQUFBLGlDQUF1QixFQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQztpQkFDeEQsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7aUJBQ3RDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ2pGLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVRLGVBQWUsQ0FBQyxVQUE0QjtRQUNuRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUMzQixNQUFNLGVBQWUsR0FBRyxJQUFJLFFBQVEsQ0FBQyxPQUFPLEdBQUcsQ0FBQztZQUNoRCxNQUFNLGVBQWUsR0FBRyxJQUFJLFFBQVEsQ0FBQyxXQUFXLEdBQUcsQ0FBQztZQUVwRCxJQUFBLGlDQUF1QixFQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDO2lCQUN6RCxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztpQkFDeEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQ2YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFO2dCQUNoRCxPQUFPLEVBQUUsZUFBZTtnQkFDeEIsV0FBVyxFQUFFLGVBQWU7YUFDN0IsQ0FBQyxDQUNILENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyx1QkFBdUIsQ0FBQyxPQUE2QjtRQUMzRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUU7WUFDMUUsT0FBTztTQUNSO1FBRUQsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3RDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUUzRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUMzQixJQUFBLGlDQUF1QixFQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDO2lCQUNuRCxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEdBQUcsTUFBTSxDQUFDO2lCQUMxQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3hFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGdCQUFnQixDQUN0QixRQUF1QixFQUN2QixLQUFhLEVBQ2IsSUFBa0M7UUFFbEMsSUFBSSxDQUFDLFVBQVU7YUFDWixJQUFJLENBQUMsUUFBUSxDQUFDO2FBQ2QsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQzthQUNsQyxXQUFXLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMxQyxDQUFDO0NBQ0Y7QUE5REQsa0VBOERDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCAqIGFzIHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuaW1wb3J0IHtXb3Jrc3BhY2VQYXRofSBmcm9tICcuLi8uLi91cGRhdGUtdG9vbC9maWxlLXN5c3RlbSc7XG5pbXBvcnQge1Jlc29sdmVkUmVzb3VyY2V9IGZyb20gJy4uLy4uL3VwZGF0ZS10b29sL2NvbXBvbmVudC1yZXNvdXJjZS1jb2xsZWN0b3InO1xuaW1wb3J0IHtNaWdyYXRpb259IGZyb20gJy4uLy4uL3VwZGF0ZS10b29sL21pZ3JhdGlvbic7XG5pbXBvcnQge0F0dHJpYnV0ZVNlbGVjdG9yVXBncmFkZURhdGF9IGZyb20gJy4uL2RhdGEvYXR0cmlidXRlLXNlbGVjdG9ycyc7XG5pbXBvcnQge2ZpbmRBbGxTdWJzdHJpbmdJbmRpY2VzfSBmcm9tICcuLi90eXBlc2NyaXB0L2xpdGVyYWwnO1xuaW1wb3J0IHtnZXRWZXJzaW9uVXBncmFkZURhdGEsIFVwZ3JhZGVEYXRhfSBmcm9tICcuLi91cGdyYWRlLWRhdGEnO1xuXG4vKipcbiAqIE1pZ3JhdGlvbiB0aGF0IHdhbGtzIHRocm91Z2ggZXZlcnkgc3RyaW5nIGxpdGVyYWwsIHRlbXBsYXRlIGFuZCBzdHlsZXNoZWV0XG4gKiBpbiBvcmRlciB0byBzd2l0Y2ggZGVwcmVjYXRlZCBhdHRyaWJ1dGUgc2VsZWN0b3JzIHRvIHRoZSB1cGRhdGVkIHNlbGVjdG9yLlxuICovXG5leHBvcnQgY2xhc3MgQXR0cmlidXRlU2VsZWN0b3JzTWlncmF0aW9uIGV4dGVuZHMgTWlncmF0aW9uPFVwZ3JhZGVEYXRhPiB7XG4gIC8qKiBSZXF1aXJlZCB1cGdyYWRlIGNoYW5nZXMgZm9yIHNwZWNpZmllZCB0YXJnZXQgdmVyc2lvbi4gKi9cbiAgZGF0YSA9IGdldFZlcnNpb25VcGdyYWRlRGF0YSh0aGlzLCAnYXR0cmlidXRlU2VsZWN0b3JzJyk7XG5cbiAgLy8gT25seSBlbmFibGUgdGhlIG1pZ3JhdGlvbiBydWxlIGlmIHRoZXJlIGlzIHVwZ3JhZGUgZGF0YS5cbiAgZW5hYmxlZDogYm9vbGVhbiA9IHRoaXMuZGF0YS5sZW5ndGggIT09IDA7XG5cbiAgb3ZlcnJpZGUgdmlzaXROb2RlKG5vZGU6IHRzLk5vZGUpIHtcbiAgICBpZiAodHMuaXNTdHJpbmdMaXRlcmFsTGlrZShub2RlKSkge1xuICAgICAgdGhpcy5fdmlzaXRTdHJpbmdMaXRlcmFsTGlrZShub2RlKTtcbiAgICB9XG4gIH1cblxuICBvdmVycmlkZSB2aXNpdFRlbXBsYXRlKHRlbXBsYXRlOiBSZXNvbHZlZFJlc291cmNlKSB7XG4gICAgdGhpcy5kYXRhLmZvckVhY2goc2VsZWN0b3IgPT4ge1xuICAgICAgZmluZEFsbFN1YnN0cmluZ0luZGljZXModGVtcGxhdGUuY29udGVudCwgc2VsZWN0b3IucmVwbGFjZSlcbiAgICAgICAgLm1hcChvZmZzZXQgPT4gdGVtcGxhdGUuc3RhcnQgKyBvZmZzZXQpXG4gICAgICAgIC5mb3JFYWNoKHN0YXJ0ID0+IHRoaXMuX3JlcGxhY2VTZWxlY3Rvcih0ZW1wbGF0ZS5maWxlUGF0aCwgc3RhcnQsIHNlbGVjdG9yKSk7XG4gICAgfSk7XG4gIH1cblxuICBvdmVycmlkZSB2aXNpdFN0eWxlc2hlZXQoc3R5bGVzaGVldDogUmVzb2x2ZWRSZXNvdXJjZSk6IHZvaWQge1xuICAgIHRoaXMuZGF0YS5mb3JFYWNoKHNlbGVjdG9yID0+IHtcbiAgICAgIGNvbnN0IGN1cnJlbnRTZWxlY3RvciA9IGBbJHtzZWxlY3Rvci5yZXBsYWNlfV1gO1xuICAgICAgY29uc3QgdXBkYXRlZFNlbGVjdG9yID0gYFske3NlbGVjdG9yLnJlcGxhY2VXaXRofV1gO1xuXG4gICAgICBmaW5kQWxsU3Vic3RyaW5nSW5kaWNlcyhzdHlsZXNoZWV0LmNvbnRlbnQsIGN1cnJlbnRTZWxlY3RvcilcbiAgICAgICAgLm1hcChvZmZzZXQgPT4gc3R5bGVzaGVldC5zdGFydCArIG9mZnNldClcbiAgICAgICAgLmZvckVhY2goc3RhcnQgPT5cbiAgICAgICAgICB0aGlzLl9yZXBsYWNlU2VsZWN0b3Ioc3R5bGVzaGVldC5maWxlUGF0aCwgc3RhcnQsIHtcbiAgICAgICAgICAgIHJlcGxhY2U6IGN1cnJlbnRTZWxlY3RvcixcbiAgICAgICAgICAgIHJlcGxhY2VXaXRoOiB1cGRhdGVkU2VsZWN0b3IsXG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF92aXNpdFN0cmluZ0xpdGVyYWxMaWtlKGxpdGVyYWw6IHRzLlN0cmluZ0xpdGVyYWxMaWtlKSB7XG4gICAgaWYgKGxpdGVyYWwucGFyZW50ICYmIGxpdGVyYWwucGFyZW50LmtpbmQgIT09IHRzLlN5bnRheEtpbmQuQ2FsbEV4cHJlc3Npb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBsaXRlcmFsVGV4dCA9IGxpdGVyYWwuZ2V0VGV4dCgpO1xuICAgIGNvbnN0IGZpbGVQYXRoID0gdGhpcy5maWxlU3lzdGVtLnJlc29sdmUobGl0ZXJhbC5nZXRTb3VyY2VGaWxlKCkuZmlsZU5hbWUpO1xuXG4gICAgdGhpcy5kYXRhLmZvckVhY2goc2VsZWN0b3IgPT4ge1xuICAgICAgZmluZEFsbFN1YnN0cmluZ0luZGljZXMobGl0ZXJhbFRleHQsIHNlbGVjdG9yLnJlcGxhY2UpXG4gICAgICAgIC5tYXAob2Zmc2V0ID0+IGxpdGVyYWwuZ2V0U3RhcnQoKSArIG9mZnNldClcbiAgICAgICAgLmZvckVhY2goc3RhcnQgPT4gdGhpcy5fcmVwbGFjZVNlbGVjdG9yKGZpbGVQYXRoLCBzdGFydCwgc2VsZWN0b3IpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlcGxhY2VTZWxlY3RvcihcbiAgICBmaWxlUGF0aDogV29ya3NwYWNlUGF0aCxcbiAgICBzdGFydDogbnVtYmVyLFxuICAgIGRhdGE6IEF0dHJpYnV0ZVNlbGVjdG9yVXBncmFkZURhdGEsXG4gICkge1xuICAgIHRoaXMuZmlsZVN5c3RlbVxuICAgICAgLmVkaXQoZmlsZVBhdGgpXG4gICAgICAucmVtb3ZlKHN0YXJ0LCBkYXRhLnJlcGxhY2UubGVuZ3RoKVxuICAgICAgLmluc2VydFJpZ2h0KHN0YXJ0LCBkYXRhLnJlcGxhY2VXaXRoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ import * as ts from 'typescript';
9
+ import { Migration } from '../../update-tool/migration';
10
+ import { PropertyNameUpgradeData } from '../data/property-names';
11
+ import { UpgradeData } from '../upgrade-data';
12
+ /**
13
+ * Migration that identifies class declarations that extend CDK or Material classes
14
+ * which had a public property change.
15
+ */
16
+ export declare class ClassInheritanceMigration extends Migration<UpgradeData> {
17
+ /**
18
+ * Map of classes that have been updated. Each class name maps to the according property
19
+ * change data.
20
+ */
21
+ propertyNames: Map<string, PropertyNameUpgradeData>;
22
+ enabled: boolean;
23
+ init(): void;
24
+ visitNode(node: ts.Node): void;
25
+ private _visitClassDeclaration;
26
+ }
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ /**
3
+ * @license
4
+ * Copyright Google LLC All Rights Reserved.
5
+ *
6
+ * Use of this source code is governed by an MIT-style license that can be
7
+ * found in the LICENSE file at https://angular.io/license
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.ClassInheritanceMigration = void 0;
11
+ const ts = require("typescript");
12
+ const migration_1 = require("../../update-tool/migration");
13
+ const base_types_1 = require("../typescript/base-types");
14
+ const upgrade_data_1 = require("../upgrade-data");
15
+ /**
16
+ * Migration that identifies class declarations that extend CDK or Material classes
17
+ * which had a public property change.
18
+ */
19
+ class ClassInheritanceMigration extends migration_1.Migration {
20
+ /**
21
+ * Map of classes that have been updated. Each class name maps to the according property
22
+ * change data.
23
+ */
24
+ propertyNames = new Map();
25
+ // Only enable the migration rule if there is upgrade data.
26
+ enabled = this.propertyNames.size !== 0;
27
+ init() {
28
+ (0, upgrade_data_1.getVersionUpgradeData)(this, 'propertyNames')
29
+ .filter(data => data.limitedTo && data.limitedTo.classes)
30
+ .forEach(data => data.limitedTo.classes.forEach(name => this.propertyNames.set(name, data)));
31
+ }
32
+ visitNode(node) {
33
+ if (ts.isClassDeclaration(node)) {
34
+ this._visitClassDeclaration(node);
35
+ }
36
+ }
37
+ _visitClassDeclaration(node) {
38
+ const baseTypes = (0, base_types_1.determineBaseTypes)(node);
39
+ const className = node.name ? node.name.text : '{unknown-name}';
40
+ if (!baseTypes) {
41
+ return;
42
+ }
43
+ baseTypes.forEach(typeName => {
44
+ const data = this.propertyNames.get(typeName);
45
+ if (data) {
46
+ this.createFailureAtNode(node, `Found class "${className}" which extends class ` +
47
+ `"${typeName}". Please note that the base class property ` +
48
+ `"${data.replace}" has changed to "${data.replaceWith}". ` +
49
+ `You may need to update your class as well.`);
50
+ }
51
+ });
52
+ }
53
+ }
54
+ exports.ClassInheritanceMigration = ClassInheritanceMigration;
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3MtaW5oZXJpdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2RrL3NjaGVtYXRpY3MvbmctdXBkYXRlL21pZ3JhdGlvbnMvY2xhc3MtaW5oZXJpdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBRUgsaUNBQWlDO0FBQ2pDLDJEQUFzRDtBQUV0RCx5REFBNEQ7QUFDNUQsa0RBQW1FO0FBRW5FOzs7R0FHRztBQUNILE1BQWEseUJBQTBCLFNBQVEscUJBQXNCO0lBQ25FOzs7T0FHRztJQUNILGFBQWEsR0FBRyxJQUFJLEdBQUcsRUFBbUMsQ0FBQztJQUUzRCwyREFBMkQ7SUFDM0QsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQztJQUUvQixJQUFJO1FBQ1gsSUFBQSxvQ0FBcUIsRUFBQyxJQUFJLEVBQUUsZUFBZSxDQUFDO2FBQ3pDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUM7YUFDeEQsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRyxDQUFDO0lBRVEsU0FBUyxDQUFDLElBQWE7UUFDOUIsSUFBSSxFQUFFLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDL0IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ25DO0lBQ0gsQ0FBQztJQUVPLHNCQUFzQixDQUFDLElBQXlCO1FBQ3RELE1BQU0sU0FBUyxHQUFHLElBQUEsK0JBQWtCLEVBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0MsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDO1FBRWhFLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDZCxPQUFPO1NBQ1I7UUFFRCxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzNCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRTlDLElBQUksSUFBSSxFQUFFO2dCQUNSLElBQUksQ0FBQyxtQkFBbUIsQ0FDdEIsSUFBSSxFQUNKLGdCQUFnQixTQUFTLHdCQUF3QjtvQkFDL0MsSUFBSSxRQUFRLDhDQUE4QztvQkFDMUQsSUFBSSxJQUFJLENBQUMsT0FBTyxxQkFBcUIsSUFBSSxDQUFDLFdBQVcsS0FBSztvQkFDMUQsNENBQTRDLENBQy9DLENBQUM7YUFDSDtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBNUNELDhEQTRDQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgKiBhcyB0cyBmcm9tICd0eXBlc2NyaXB0JztcbmltcG9ydCB7TWlncmF0aW9ufSBmcm9tICcuLi8uLi91cGRhdGUtdG9vbC9taWdyYXRpb24nO1xuaW1wb3J0IHtQcm9wZXJ0eU5hbWVVcGdyYWRlRGF0YX0gZnJvbSAnLi4vZGF0YS9wcm9wZXJ0eS1uYW1lcyc7XG5pbXBvcnQge2RldGVybWluZUJhc2VUeXBlc30gZnJvbSAnLi4vdHlwZXNjcmlwdC9iYXNlLXR5cGVzJztcbmltcG9ydCB7Z2V0VmVyc2lvblVwZ3JhZGVEYXRhLCBVcGdyYWRlRGF0YX0gZnJvbSAnLi4vdXBncmFkZS1kYXRhJztcblxuLyoqXG4gKiBNaWdyYXRpb24gdGhhdCBpZGVudGlmaWVzIGNsYXNzIGRlY2xhcmF0aW9ucyB0aGF0IGV4dGVuZCBDREsgb3IgTWF0ZXJpYWwgY2xhc3Nlc1xuICogd2hpY2ggaGFkIGEgcHVibGljIHByb3BlcnR5IGNoYW5nZS5cbiAqL1xuZXhwb3J0IGNsYXNzIENsYXNzSW5oZXJpdGFuY2VNaWdyYXRpb24gZXh0ZW5kcyBNaWdyYXRpb248VXBncmFkZURhdGE+IHtcbiAgLyoqXG4gICAqIE1hcCBvZiBjbGFzc2VzIHRoYXQgaGF2ZSBiZWVuIHVwZGF0ZWQuIEVhY2ggY2xhc3MgbmFtZSBtYXBzIHRvIHRoZSBhY2NvcmRpbmcgcHJvcGVydHlcbiAgICogY2hhbmdlIGRhdGEuXG4gICAqL1xuICBwcm9wZXJ0eU5hbWVzID0gbmV3IE1hcDxzdHJpbmcsIFByb3BlcnR5TmFtZVVwZ3JhZGVEYXRhPigpO1xuXG4gIC8vIE9ubHkgZW5hYmxlIHRoZSBtaWdyYXRpb24gcnVsZSBpZiB0aGVyZSBpcyB1cGdyYWRlIGRhdGEuXG4gIGVuYWJsZWQgPSB0aGlzLnByb3BlcnR5TmFtZXMuc2l6ZSAhPT0gMDtcblxuICBvdmVycmlkZSBpbml0KCk6IHZvaWQge1xuICAgIGdldFZlcnNpb25VcGdyYWRlRGF0YSh0aGlzLCAncHJvcGVydHlOYW1lcycpXG4gICAgICAuZmlsdGVyKGRhdGEgPT4gZGF0YS5saW1pdGVkVG8gJiYgZGF0YS5saW1pdGVkVG8uY2xhc3NlcylcbiAgICAgIC5mb3JFYWNoKGRhdGEgPT4gZGF0YS5saW1pdGVkVG8uY2xhc3Nlcy5mb3JFYWNoKG5hbWUgPT4gdGhpcy5wcm9wZXJ0eU5hbWVzLnNldChuYW1lLCBkYXRhKSkpO1xuICB9XG5cbiAgb3ZlcnJpZGUgdmlzaXROb2RlKG5vZGU6IHRzLk5vZGUpOiB2b2lkIHtcbiAgICBpZiAodHMuaXNDbGFzc0RlY2xhcmF0aW9uKG5vZGUpKSB7XG4gICAgICB0aGlzLl92aXNpdENsYXNzRGVjbGFyYXRpb24obm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfdmlzaXRDbGFzc0RlY2xhcmF0aW9uKG5vZGU6IHRzLkNsYXNzRGVjbGFyYXRpb24pIHtcbiAgICBjb25zdCBiYXNlVHlwZXMgPSBkZXRlcm1pbmVCYXNlVHlwZXMobm9kZSk7XG4gICAgY29uc3QgY2xhc3NOYW1lID0gbm9kZS5uYW1lID8gbm9kZS5uYW1lLnRleHQgOiAne3Vua25vd24tbmFtZX0nO1xuXG4gICAgaWYgKCFiYXNlVHlwZXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBiYXNlVHlwZXMuZm9yRWFjaCh0eXBlTmFtZSA9PiB7XG4gICAgICBjb25zdCBkYXRhID0gdGhpcy5wcm9wZXJ0eU5hbWVzLmdldCh0eXBlTmFtZSk7XG5cbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIHRoaXMuY3JlYXRlRmFpbHVyZUF0Tm9kZShcbiAgICAgICAgICBub2RlLFxuICAgICAgICAgIGBGb3VuZCBjbGFzcyBcIiR7Y2xhc3NOYW1lfVwiIHdoaWNoIGV4dGVuZHMgY2xhc3MgYCArXG4gICAgICAgICAgICBgXCIke3R5cGVOYW1lfVwiLiBQbGVhc2Ugbm90ZSB0aGF0IHRoZSBiYXNlIGNsYXNzIHByb3BlcnR5IGAgK1xuICAgICAgICAgICAgYFwiJHtkYXRhLnJlcGxhY2V9XCIgaGFzIGNoYW5nZWQgdG8gXCIke2RhdGEucmVwbGFjZVdpdGh9XCIuIGAgK1xuICAgICAgICAgICAgYFlvdSBtYXkgbmVlZCB0byB1cGRhdGUgeW91ciBjbGFzcyBhcyB3ZWxsLmAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ import * as ts from 'typescript';
9
+ import { Migration } from '../../update-tool/migration';
10
+ import { ClassNameUpgradeData } from '../data';
11
+ import { UpgradeData } from '../upgrade-data';
12
+ /**
13
+ * Migration that walks through every identifier that is part of Angular Material or thr CDK
14
+ * and replaces the outdated name with the new one if specified in the upgrade data.
15
+ */
16
+ export declare class ClassNamesMigration extends Migration<UpgradeData> {
17
+ /** Change data that upgrades to the specified target version. */
18
+ data: ClassNameUpgradeData[];
19
+ /**
20
+ * List of identifier names that have been imported from `@angular/material` or `@angular/cdk`
21
+ * in the current source file and therefore can be considered trusted.
22
+ */
23
+ trustedIdentifiers: Set<string>;
24
+ /** List of namespaces that have been imported from `@angular/material` or `@angular/cdk`. */
25
+ trustedNamespaces: Set<string>;
26
+ enabled: boolean;
27
+ visitNode(node: ts.Node): void;
28
+ /** Method that is called for every identifier inside of the specified project. */
29
+ private _visitIdentifier;
30
+ /** Creates a failure and replacement for the specified identifier. */
31
+ private _createFailureWithReplacement;
32
+ }
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ /**
3
+ * @license
4
+ * Copyright Google LLC All Rights Reserved.
5
+ *
6
+ * Use of this source code is governed by an MIT-style license that can be
7
+ * found in the LICENSE file at https://angular.io/license
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.ClassNamesMigration = void 0;
11
+ const ts = require("typescript");
12
+ const migration_1 = require("../../update-tool/migration");
13
+ const imports_1 = require("../typescript/imports");
14
+ const module_specifiers_1 = require("../typescript/module-specifiers");
15
+ const upgrade_data_1 = require("../upgrade-data");
16
+ /**
17
+ * Migration that walks through every identifier that is part of Angular Material or thr CDK
18
+ * and replaces the outdated name with the new one if specified in the upgrade data.
19
+ */
20
+ // TODO: rework this rule to identify symbols using the import identifier resolver. This
21
+ // makes it more robust, less AST convoluted and is more TypeScript AST idiomatic. COMP-300.
22
+ class ClassNamesMigration extends migration_1.Migration {
23
+ /** Change data that upgrades to the specified target version. */
24
+ data = (0, upgrade_data_1.getVersionUpgradeData)(this, 'classNames');
25
+ /**
26
+ * List of identifier names that have been imported from `@angular/material` or `@angular/cdk`
27
+ * in the current source file and therefore can be considered trusted.
28
+ */
29
+ trustedIdentifiers = new Set();
30
+ /** List of namespaces that have been imported from `@angular/material` or `@angular/cdk`. */
31
+ trustedNamespaces = new Set();
32
+ // Only enable the migration rule if there is upgrade data.
33
+ enabled = this.data.length !== 0;
34
+ visitNode(node) {
35
+ if (ts.isIdentifier(node)) {
36
+ this._visitIdentifier(node);
37
+ }
38
+ }
39
+ /** Method that is called for every identifier inside of the specified project. */
40
+ _visitIdentifier(identifier) {
41
+ // For identifiers that aren't listed in the className data, the whole check can be
42
+ // skipped safely.
43
+ if (!this.data.some(data => data.replace === identifier.text)) {
44
+ return;
45
+ }
46
+ // For namespace imports that are referring to Angular Material or the CDK, we store the
47
+ // namespace name in order to be able to safely find identifiers that don't belong to the
48
+ // developer's application.
49
+ if ((0, imports_1.isNamespaceImportNode)(identifier) && (0, module_specifiers_1.isMaterialImportDeclaration)(identifier)) {
50
+ this.trustedNamespaces.add(identifier.text);
51
+ return this._createFailureWithReplacement(identifier);
52
+ }
53
+ // For export declarations that are referring to Angular Material or the CDK, the identifier
54
+ // can be immediately updated to the new name.
55
+ if ((0, imports_1.isExportSpecifierNode)(identifier) && (0, module_specifiers_1.isMaterialExportDeclaration)(identifier)) {
56
+ return this._createFailureWithReplacement(identifier);
57
+ }
58
+ // For import declarations that are referring to Angular Material or the CDK, the name of
59
+ // the import identifiers. This allows us to identify identifiers that belong to Material and
60
+ // the CDK, and we won't accidentally touch a developer's identifier.
61
+ if ((0, imports_1.isImportSpecifierNode)(identifier) && (0, module_specifiers_1.isMaterialImportDeclaration)(identifier)) {
62
+ this.trustedIdentifiers.add(identifier.text);
63
+ return this._createFailureWithReplacement(identifier);
64
+ }
65
+ // In case the identifier is part of a property access expression, we need to verify that the
66
+ // property access originates from a namespace that has been imported from Material or the CDK.
67
+ if (ts.isPropertyAccessExpression(identifier.parent)) {
68
+ const expression = identifier.parent.expression;
69
+ if (ts.isIdentifier(expression) && this.trustedNamespaces.has(expression.text)) {
70
+ return this._createFailureWithReplacement(identifier);
71
+ }
72
+ }
73
+ else if (this.trustedIdentifiers.has(identifier.text)) {
74
+ return this._createFailureWithReplacement(identifier);
75
+ }
76
+ }
77
+ /** Creates a failure and replacement for the specified identifier. */
78
+ _createFailureWithReplacement(identifier) {
79
+ const classData = this.data.find(data => data.replace === identifier.text);
80
+ const filePath = this.fileSystem.resolve(identifier.getSourceFile().fileName);
81
+ this.fileSystem
82
+ .edit(filePath)
83
+ .remove(identifier.getStart(), identifier.getWidth())
84
+ .insertRight(identifier.getStart(), classData.replaceWith);
85
+ }
86
+ }
87
+ exports.ClassNamesMigration = ClassNamesMigration;
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3MtbmFtZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2RrL3NjaGVtYXRpY3MvbmctdXBkYXRlL21pZ3JhdGlvbnMvY2xhc3MtbmFtZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBRUgsaUNBQWlDO0FBQ2pDLDJEQUFzRDtBQUd0RCxtREFJK0I7QUFDL0IsdUVBR3lDO0FBQ3pDLGtEQUFtRTtBQUVuRTs7O0dBR0c7QUFDSCx3RkFBd0Y7QUFDeEYsNEZBQTRGO0FBQzVGLE1BQWEsbUJBQW9CLFNBQVEscUJBQXNCO0lBQzdELGlFQUFpRTtJQUNqRSxJQUFJLEdBQTJCLElBQUEsb0NBQXFCLEVBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBRXpFOzs7T0FHRztJQUNILGtCQUFrQixHQUFnQixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRTVDLDZGQUE2RjtJQUM3RixpQkFBaUIsR0FBZ0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUUzQywyREFBMkQ7SUFDM0QsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztJQUV4QixTQUFTLENBQUMsSUFBYTtRQUM5QixJQUFJLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDekIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzdCO0lBQ0gsQ0FBQztJQUVELGtGQUFrRjtJQUMxRSxnQkFBZ0IsQ0FBQyxVQUF5QjtRQUNoRCxtRkFBbUY7UUFDbkYsa0JBQWtCO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzdELE9BQU87U0FDUjtRQUVELHdGQUF3RjtRQUN4Rix5RkFBeUY7UUFDekYsMkJBQTJCO1FBQzNCLElBQUksSUFBQSwrQkFBcUIsRUFBQyxVQUFVLENBQUMsSUFBSSxJQUFBLCtDQUEyQixFQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ2hGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRTVDLE9BQU8sSUFBSSxDQUFDLDZCQUE2QixDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3ZEO1FBRUQsNEZBQTRGO1FBQzVGLDhDQUE4QztRQUM5QyxJQUFJLElBQUEsK0JBQXFCLEVBQUMsVUFBVSxDQUFDLElBQUksSUFBQSwrQ0FBMkIsRUFBQyxVQUFVLENBQUMsRUFBRTtZQUNoRixPQUFPLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUN2RDtRQUVELHlGQUF5RjtRQUN6Riw2RkFBNkY7UUFDN0YscUVBQXFFO1FBQ3JFLElBQUksSUFBQSwrQkFBcUIsRUFBQyxVQUFVLENBQUMsSUFBSSxJQUFBLCtDQUEyQixFQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ2hGLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRTdDLE9BQU8sSUFBSSxDQUFDLDZCQUE2QixDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3ZEO1FBRUQsNkZBQTZGO1FBQzdGLCtGQUErRjtRQUMvRixJQUFJLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDcEQsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7WUFFaEQsSUFBSSxFQUFFLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUM5RSxPQUFPLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUN2RDtTQUNGO2FBQU0sSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN2RCxPQUFPLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUN2RDtJQUNILENBQUM7SUFFRCxzRUFBc0U7SUFDOUQsNkJBQTZCLENBQUMsVUFBeUI7UUFDN0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLFVBQVUsQ0FBQyxJQUFJLENBQUUsQ0FBQztRQUM1RSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFOUUsSUFBSSxDQUFDLFVBQVU7YUFDWixJQUFJLENBQUMsUUFBUSxDQUFDO2FBQ2QsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7YUFDcEQsV0FBVyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0QsQ0FBQztDQUNGO0FBN0VELGtEQTZFQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgKiBhcyB0cyBmcm9tICd0eXBlc2NyaXB0JztcbmltcG9ydCB7TWlncmF0aW9ufSBmcm9tICcuLi8uLi91cGRhdGUtdG9vbC9taWdyYXRpb24nO1xuXG5pbXBvcnQge0NsYXNzTmFtZVVwZ3JhZGVEYXRhfSBmcm9tICcuLi9kYXRhJztcbmltcG9ydCB7XG4gIGlzRXhwb3J0U3BlY2lmaWVyTm9kZSxcbiAgaXNJbXBvcnRTcGVjaWZpZXJOb2RlLFxuICBpc05hbWVzcGFjZUltcG9ydE5vZGUsXG59IGZyb20gJy4uL3R5cGVzY3JpcHQvaW1wb3J0cyc7XG5pbXBvcnQge1xuICBpc01hdGVyaWFsRXhwb3J0RGVjbGFyYXRpb24sXG4gIGlzTWF0ZXJpYWxJbXBvcnREZWNsYXJhdGlvbixcbn0gZnJvbSAnLi4vdHlwZXNjcmlwdC9tb2R1bGUtc3BlY2lmaWVycyc7XG5pbXBvcnQge2dldFZlcnNpb25VcGdyYWRlRGF0YSwgVXBncmFkZURhdGF9IGZyb20gJy4uL3VwZ3JhZGUtZGF0YSc7XG5cbi8qKlxuICogTWlncmF0aW9uIHRoYXQgd2Fsa3MgdGhyb3VnaCBldmVyeSBpZGVudGlmaWVyIHRoYXQgaXMgcGFydCBvZiBBbmd1bGFyIE1hdGVyaWFsIG9yIHRociBDREtcbiAqIGFuZCByZXBsYWNlcyB0aGUgb3V0ZGF0ZWQgbmFtZSB3aXRoIHRoZSBuZXcgb25lIGlmIHNwZWNpZmllZCBpbiB0aGUgdXBncmFkZSBkYXRhLlxuICovXG4vLyBUT0RPOiByZXdvcmsgdGhpcyBydWxlIHRvIGlkZW50aWZ5IHN5bWJvbHMgdXNpbmcgdGhlIGltcG9ydCBpZGVudGlmaWVyIHJlc29sdmVyLiBUaGlzXG4vLyBtYWtlcyBpdCBtb3JlIHJvYnVzdCwgbGVzcyBBU1QgY29udm9sdXRlZCBhbmQgaXMgbW9yZSBUeXBlU2NyaXB0IEFTVCBpZGlvbWF0aWMuIENPTVAtMzAwLlxuZXhwb3J0IGNsYXNzIENsYXNzTmFtZXNNaWdyYXRpb24gZXh0ZW5kcyBNaWdyYXRpb248VXBncmFkZURhdGE+IHtcbiAgLyoqIENoYW5nZSBkYXRhIHRoYXQgdXBncmFkZXMgdG8gdGhlIHNwZWNpZmllZCB0YXJnZXQgdmVyc2lvbi4gKi9cbiAgZGF0YTogQ2xhc3NOYW1lVXBncmFkZURhdGFbXSA9IGdldFZlcnNpb25VcGdyYWRlRGF0YSh0aGlzLCAnY2xhc3NOYW1lcycpO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGlkZW50aWZpZXIgbmFtZXMgdGhhdCBoYXZlIGJlZW4gaW1wb3J0ZWQgZnJvbSBgQGFuZ3VsYXIvbWF0ZXJpYWxgIG9yIGBAYW5ndWxhci9jZGtgXG4gICAqIGluIHRoZSBjdXJyZW50IHNvdXJjZSBmaWxlIGFuZCB0aGVyZWZvcmUgY2FuIGJlIGNvbnNpZGVyZWQgdHJ1c3RlZC5cbiAgICovXG4gIHRydXN0ZWRJZGVudGlmaWVyczogU2V0PHN0cmluZz4gPSBuZXcgU2V0KCk7XG5cbiAgLyoqIExpc3Qgb2YgbmFtZXNwYWNlcyB0aGF0IGhhdmUgYmVlbiBpbXBvcnRlZCBmcm9tIGBAYW5ndWxhci9tYXRlcmlhbGAgb3IgYEBhbmd1bGFyL2Nka2AuICovXG4gIHRydXN0ZWROYW1lc3BhY2VzOiBTZXQ8c3RyaW5nPiA9IG5ldyBTZXQoKTtcblxuICAvLyBPbmx5IGVuYWJsZSB0aGUgbWlncmF0aW9uIHJ1bGUgaWYgdGhlcmUgaXMgdXBncmFkZSBkYXRhLlxuICBlbmFibGVkID0gdGhpcy5kYXRhLmxlbmd0aCAhPT0gMDtcblxuICBvdmVycmlkZSB2aXNpdE5vZGUobm9kZTogdHMuTm9kZSk6IHZvaWQge1xuICAgIGlmICh0cy5pc0lkZW50aWZpZXIobm9kZSkpIHtcbiAgICAgIHRoaXMuX3Zpc2l0SWRlbnRpZmllcihub2RlKTtcbiAgICB9XG4gIH1cblxuICAvKiogTWV0aG9kIHRoYXQgaXMgY2FsbGVkIGZvciBldmVyeSBpZGVudGlmaWVyIGluc2lkZSBvZiB0aGUgc3BlY2lmaWVkIHByb2plY3QuICovXG4gIHByaXZhdGUgX3Zpc2l0SWRlbnRpZmllcihpZGVudGlmaWVyOiB0cy5JZGVudGlmaWVyKSB7XG4gICAgLy8gRm9yIGlkZW50aWZpZXJzIHRoYXQgYXJlbid0IGxpc3RlZCBpbiB0aGUgY2xhc3NOYW1lIGRhdGEsIHRoZSB3aG9sZSBjaGVjayBjYW4gYmVcbiAgICAvLyBza2lwcGVkIHNhZmVseS5cbiAgICBpZiAoIXRoaXMuZGF0YS5zb21lKGRhdGEgPT4gZGF0YS5yZXBsYWNlID09PSBpZGVudGlmaWVyLnRleHQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gRm9yIG5hbWVzcGFjZSBpbXBvcnRzIHRoYXQgYXJlIHJlZmVycmluZyB0byBBbmd1bGFyIE1hdGVyaWFsIG9yIHRoZSBDREssIHdlIHN0b3JlIHRoZVxuICAgIC8vIG5hbWVzcGFjZSBuYW1lIGluIG9yZGVyIHRvIGJlIGFibGUgdG8gc2FmZWx5IGZpbmQgaWRlbnRpZmllcnMgdGhhdCBkb24ndCBiZWxvbmcgdG8gdGhlXG4gICAgLy8gZGV2ZWxvcGVyJ3MgYXBwbGljYXRpb24uXG4gICAgaWYgKGlzTmFtZXNwYWNlSW1wb3J0Tm9kZShpZGVudGlmaWVyKSAmJiBpc01hdGVyaWFsSW1wb3J0RGVjbGFyYXRpb24oaWRlbnRpZmllcikpIHtcbiAgICAgIHRoaXMudHJ1c3RlZE5hbWVzcGFjZXMuYWRkKGlkZW50aWZpZXIudGV4dCk7XG5cbiAgICAgIHJldHVybiB0aGlzLl9jcmVhdGVGYWlsdXJlV2l0aFJlcGxhY2VtZW50KGlkZW50aWZpZXIpO1xuICAgIH1cblxuICAgIC8vIEZvciBleHBvcnQgZGVjbGFyYXRpb25zIHRoYXQgYXJlIHJlZmVycmluZyB0byBBbmd1bGFyIE1hdGVyaWFsIG9yIHRoZSBDREssIHRoZSBpZGVudGlmaWVyXG4gICAgLy8gY2FuIGJlIGltbWVkaWF0ZWx5IHVwZGF0ZWQgdG8gdGhlIG5ldyBuYW1lLlxuICAgIGlmIChpc0V4cG9ydFNwZWNpZmllck5vZGUoaWRlbnRpZmllcikgJiYgaXNNYXRlcmlhbEV4cG9ydERlY2xhcmF0aW9uKGlkZW50aWZpZXIpKSB7XG4gICAgICByZXR1cm4gdGhpcy5fY3JlYXRlRmFpbHVyZVdpdGhSZXBsYWNlbWVudChpZGVudGlmaWVyKTtcbiAgICB9XG5cbiAgICAvLyBGb3IgaW1wb3J0IGRlY2xhcmF0aW9ucyB0aGF0IGFyZSByZWZlcnJpbmcgdG8gQW5ndWxhciBNYXRlcmlhbCBvciB0aGUgQ0RLLCB0aGUgbmFtZSBvZlxuICAgIC8vIHRoZSBpbXBvcnQgaWRlbnRpZmllcnMuIFRoaXMgYWxsb3dzIHVzIHRvIGlkZW50aWZ5IGlkZW50aWZpZXJzIHRoYXQgYmVsb25nIHRvIE1hdGVyaWFsIGFuZFxuICAgIC8vIHRoZSBDREssIGFuZCB3ZSB3b24ndCBhY2NpZGVudGFsbHkgdG91Y2ggYSBkZXZlbG9wZXIncyBpZGVudGlmaWVyLlxuICAgIGlmIChpc0ltcG9ydFNwZWNpZmllck5vZGUoaWRlbnRpZmllcikgJiYgaXNNYXRlcmlhbEltcG9ydERlY2xhcmF0aW9uKGlkZW50aWZpZXIpKSB7XG4gICAgICB0aGlzLnRydXN0ZWRJZGVudGlmaWVycy5hZGQoaWRlbnRpZmllci50ZXh0KTtcblxuICAgICAgcmV0dXJuIHRoaXMuX2NyZWF0ZUZhaWx1cmVXaXRoUmVwbGFjZW1lbnQoaWRlbnRpZmllcik7XG4gICAgfVxuXG4gICAgLy8gSW4gY2FzZSB0aGUgaWRlbnRpZmllciBpcyBwYXJ0IG9mIGEgcHJvcGVydHkgYWNjZXNzIGV4cHJlc3Npb24sIHdlIG5lZWQgdG8gdmVyaWZ5IHRoYXQgdGhlXG4gICAgLy8gcHJvcGVydHkgYWNjZXNzIG9yaWdpbmF0ZXMgZnJvbSBhIG5hbWVzcGFjZSB0aGF0IGhhcyBiZWVuIGltcG9ydGVkIGZyb20gTWF0ZXJpYWwgb3IgdGhlIENESy5cbiAgICBpZiAodHMuaXNQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24oaWRlbnRpZmllci5wYXJlbnQpKSB7XG4gICAgICBjb25zdCBleHByZXNzaW9uID0gaWRlbnRpZmllci5wYXJlbnQuZXhwcmVzc2lvbjtcblxuICAgICAgaWYgKHRzLmlzSWRlbnRpZmllcihleHByZXNzaW9uKSAmJiB0aGlzLnRydXN0ZWROYW1lc3BhY2VzLmhhcyhleHByZXNzaW9uLnRleHQpKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jcmVhdGVGYWlsdXJlV2l0aFJlcGxhY2VtZW50KGlkZW50aWZpZXIpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy50cnVzdGVkSWRlbnRpZmllcnMuaGFzKGlkZW50aWZpZXIudGV4dCkpIHtcbiAgICAgIHJldHVybiB0aGlzLl9jcmVhdGVGYWlsdXJlV2l0aFJlcGxhY2VtZW50KGlkZW50aWZpZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBDcmVhdGVzIGEgZmFpbHVyZSBhbmQgcmVwbGFjZW1lbnQgZm9yIHRoZSBzcGVjaWZpZWQgaWRlbnRpZmllci4gKi9cbiAgcHJpdmF0ZSBfY3JlYXRlRmFpbHVyZVdpdGhSZXBsYWNlbWVudChpZGVudGlmaWVyOiB0cy5JZGVudGlmaWVyKSB7XG4gICAgY29uc3QgY2xhc3NEYXRhID0gdGhpcy5kYXRhLmZpbmQoZGF0YSA9PiBkYXRhLnJlcGxhY2UgPT09IGlkZW50aWZpZXIudGV4dCkhO1xuICAgIGNvbnN0IGZpbGVQYXRoID0gdGhpcy5maWxlU3lzdGVtLnJlc29sdmUoaWRlbnRpZmllci5nZXRTb3VyY2VGaWxlKCkuZmlsZU5hbWUpO1xuXG4gICAgdGhpcy5maWxlU3lzdGVtXG4gICAgICAuZWRpdChmaWxlUGF0aClcbiAgICAgIC5yZW1vdmUoaWRlbnRpZmllci5nZXRTdGFydCgpLCBpZGVudGlmaWVyLmdldFdpZHRoKCkpXG4gICAgICAuaW5zZXJ0UmlnaHQoaWRlbnRpZmllci5nZXRTdGFydCgpLCBjbGFzc0RhdGEucmVwbGFjZVdpdGgpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ import * as ts from 'typescript';
9
+ import { Migration } from '../../update-tool/migration';
10
+ import { UpgradeData } from '../upgrade-data';
11
+ /**
12
+ * Migration that visits every TypeScript new expression or super call and checks if
13
+ * the parameter type signature is invalid and needs to be updated manually.
14
+ */
15
+ export declare class ConstructorSignatureMigration extends Migration<UpgradeData> {
16
+ data: string[];
17
+ enabled: boolean;
18
+ visitNode(node: ts.Node): void;
19
+ /**
20
+ * Method that will be called for each source file of the upgrade project. In order to
21
+ * properly determine invalid constructor signatures, we take advantage of the pre-emit
22
+ * diagnostics from TypeScript.
23
+ *
24
+ * By using the diagnostics, the migration can handle type assignability. Not using
25
+ * diagnostics would mean that we need to use simple type equality checking which is
26
+ * too strict. See related issue: https://github.com/Microsoft/TypeScript/issues/9879
27
+ */
28
+ private _visitSourceFile;
29
+ }
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+ /**
3
+ * @license
4
+ * Copyright Google LLC All Rights Reserved.
5
+ *
6
+ * Use of this source code is governed by an MIT-style license that can be
7
+ * found in the LICENSE file at https://angular.io/license
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.ConstructorSignatureMigration = void 0;
11
+ const ts = require("typescript");
12
+ const migration_1 = require("../../update-tool/migration");
13
+ const version_changes_1 = require("../../update-tool/version-changes");
14
+ /**
15
+ * List of diagnostic codes that refer to pre-emit diagnostics which indicate invalid
16
+ * new expression or super call signatures. See the list of diagnostics here:
17
+ *
18
+ * https://github.com/Microsoft/TypeScript/blob/master/src/compiler/diagnosticMessages.json
19
+ */
20
+ const signatureErrorDiagnostics = [
21
+ // Type not assignable error diagnostic.
22
+ 2345,
23
+ // Constructor argument length invalid diagnostics
24
+ 2554, 2555, 2556, 2557,
25
+ ];
26
+ /**
27
+ * Migration that visits every TypeScript new expression or super call and checks if
28
+ * the parameter type signature is invalid and needs to be updated manually.
29
+ */
30
+ class ConstructorSignatureMigration extends migration_1.Migration {
31
+ // Note that the data for this rule is not distinguished based on the target version because
32
+ // we don't keep track of the new signature and don't want to update incrementally.
33
+ // See: https://github.com/angular/components/pull/12970#issuecomment-418337566
34
+ data = (0, version_changes_1.getAllChanges)(this.upgradeData.constructorChecks);
35
+ // Only enable the migration rule if there is upgrade data.
36
+ enabled = this.data.length !== 0;
37
+ visitNode(node) {
38
+ if (ts.isSourceFile(node)) {
39
+ this._visitSourceFile(node);
40
+ }
41
+ }
42
+ /**
43
+ * Method that will be called for each source file of the upgrade project. In order to
44
+ * properly determine invalid constructor signatures, we take advantage of the pre-emit
45
+ * diagnostics from TypeScript.
46
+ *
47
+ * By using the diagnostics, the migration can handle type assignability. Not using
48
+ * diagnostics would mean that we need to use simple type equality checking which is
49
+ * too strict. See related issue: https://github.com/Microsoft/TypeScript/issues/9879
50
+ */
51
+ _visitSourceFile(sourceFile) {
52
+ // List of classes of which the constructor signature has changed.
53
+ const diagnostics = ts
54
+ .getPreEmitDiagnostics(this.program, sourceFile)
55
+ .filter(diagnostic => signatureErrorDiagnostics.includes(diagnostic.code))
56
+ .filter(diagnostic => diagnostic.start !== undefined);
57
+ for (const diagnostic of diagnostics) {
58
+ const node = findConstructorNode(diagnostic, sourceFile);
59
+ if (!node) {
60
+ continue;
61
+ }
62
+ const classType = this.typeChecker.getTypeAtLocation(node.expression);
63
+ const className = classType.symbol && classType.symbol.name;
64
+ const isNewExpression = ts.isNewExpression(node);
65
+ // Determine the class names of the actual construct signatures because we cannot assume that
66
+ // the diagnostic refers to a constructor of the actual expression. In case the constructor
67
+ // is inherited, we need to detect that the owner-class of the constructor is added to the
68
+ // constructor checks upgrade data. e.g. `class CustomCalendar extends MatCalendar {}`.
69
+ const signatureClassNames = classType
70
+ .getConstructSignatures()
71
+ .map(signature => getClassDeclarationOfSignature(signature))
72
+ .map(declaration => (declaration && declaration.name ? declaration.name.text : null))
73
+ .filter(Boolean);
74
+ // Besides checking the signature class names, we need to check the actual class name because
75
+ // there can be classes without an explicit constructor.
76
+ if (!this.data.includes(className) &&
77
+ !signatureClassNames.some(name => this.data.includes(name))) {
78
+ continue;
79
+ }
80
+ const classSignatures = classType
81
+ .getConstructSignatures()
82
+ .map(signature => getParameterTypesFromSignature(signature, this.typeChecker));
83
+ const expressionName = isNewExpression ? `new ${className}` : 'super';
84
+ const signatures = classSignatures
85
+ .map(signature => signature.map(t => (t === null ? 'any' : this.typeChecker.typeToString(t))))
86
+ .map(signature => `${expressionName}(${signature.join(', ')})`)
87
+ .join(' or ');
88
+ this.createFailureAtNode(node, `Found "${className}" constructed with ` +
89
+ `an invalid signature. Please manually update the ${expressionName} expression to ` +
90
+ `match the new signature${classSignatures.length > 1 ? 's' : ''}: ${signatures}`);
91
+ }
92
+ }
93
+ }
94
+ exports.ConstructorSignatureMigration = ConstructorSignatureMigration;
95
+ /** Resolves the type for each parameter in the specified signature. */
96
+ function getParameterTypesFromSignature(signature, typeChecker) {
97
+ return signature
98
+ .getParameters()
99
+ .map(param => param.declarations ? typeChecker.getTypeAtLocation(param.declarations[0]) : null);
100
+ }
101
+ /**
102
+ * Walks through each node of a source file in order to find a new-expression node or super-call
103
+ * expression node that is captured by the specified diagnostic.
104
+ */
105
+ function findConstructorNode(diagnostic, sourceFile) {
106
+ let resolvedNode = null;
107
+ const _visitNode = (node) => {
108
+ // Check whether the current node contains the diagnostic. If the node contains the diagnostic,
109
+ // walk deeper in order to find all constructor expression nodes.
110
+ if (node.getStart() <= diagnostic.start && node.getEnd() >= diagnostic.start) {
111
+ if (ts.isNewExpression(node) ||
112
+ (ts.isCallExpression(node) && node.expression.kind === ts.SyntaxKind.SuperKeyword)) {
113
+ resolvedNode = node;
114
+ }
115
+ ts.forEachChild(node, _visitNode);
116
+ }
117
+ };
118
+ ts.forEachChild(sourceFile, _visitNode);
119
+ return resolvedNode;
120
+ }
121
+ /** Determines the class declaration of the specified construct signature. */
122
+ function getClassDeclarationOfSignature(signature) {
123
+ let node = signature.getDeclaration();
124
+ // Handle signatures which don't have an actual declaration. This happens if a class
125
+ // does not have an explicitly written constructor.
126
+ if (!node) {
127
+ return null;
128
+ }
129
+ while (!ts.isSourceFile((node = node.parent))) {
130
+ if (ts.isClassDeclaration(node)) {
131
+ return node;
132
+ }
133
+ }
134
+ return null;
135
+ }
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RydWN0b3Itc2lnbmF0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Nkay9zY2hlbWF0aWNzL25nLXVwZGF0ZS9taWdyYXRpb25zL2NvbnN0cnVjdG9yLXNpZ25hdHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7QUFFSCxpQ0FBaUM7QUFDakMsMkRBQXNEO0FBQ3RELHVFQUFnRTtBQUdoRTs7Ozs7R0FLRztBQUNILE1BQU0seUJBQXlCLEdBQUc7SUFDaEMsd0NBQXdDO0lBQ3hDLElBQUk7SUFDSixrREFBa0Q7SUFDbEQsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSTtDQUN2QixDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBYSw2QkFBOEIsU0FBUSxxQkFBc0I7SUFDdkUsNEZBQTRGO0lBQzVGLG1GQUFtRjtJQUNuRiwrRUFBK0U7SUFDL0UsSUFBSSxHQUFHLElBQUEsK0JBQWEsRUFBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFFekQsMkRBQTJEO0lBQzNELE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7SUFFeEIsU0FBUyxDQUFDLElBQWE7UUFDOUIsSUFBSSxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM3QjtJQUNILENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNLLGdCQUFnQixDQUFDLFVBQXlCO1FBQ2hELGtFQUFrRTtRQUNsRSxNQUFNLFdBQVcsR0FBRyxFQUFFO2FBQ25CLHFCQUFxQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDO2FBQy9DLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLHlCQUF5QixDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDekUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQztRQUV4RCxLQUFLLE1BQU0sVUFBVSxJQUFJLFdBQVcsRUFBRTtZQUNwQyxNQUFNLElBQUksR0FBRyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFFekQsSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDVCxTQUFTO2FBQ1Y7WUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN0RSxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1lBQzVELE1BQU0sZUFBZSxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFakQsNkZBQTZGO1lBQzdGLDJGQUEyRjtZQUMzRiwwRkFBMEY7WUFDMUYsdUZBQXVGO1lBQ3ZGLE1BQU0sbUJBQW1CLEdBQUcsU0FBUztpQkFDbEMsc0JBQXNCLEVBQUU7aUJBQ3hCLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLDhCQUE4QixDQUFDLFNBQVMsQ0FBQyxDQUFDO2lCQUMzRCxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFdBQVcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ3BGLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUVuQiw2RkFBNkY7WUFDN0Ysd0RBQXdEO1lBQ3hELElBQ0UsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7Z0JBQzlCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSyxDQUFDLENBQUMsRUFDNUQ7Z0JBQ0EsU0FBUzthQUNWO1lBRUQsTUFBTSxlQUFlLEdBQUcsU0FBUztpQkFDOUIsc0JBQXNCLEVBQUU7aUJBQ3hCLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLDhCQUE4QixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUVqRixNQUFNLGNBQWMsR0FBRyxlQUFlLENBQUMsQ0FBQyxDQUFDLE9BQU8sU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUN0RSxNQUFNLFVBQVUsR0FBRyxlQUFlO2lCQUMvQixHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FDZixTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDNUU7aUJBQ0EsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsR0FBRyxjQUFjLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO2lCQUM5RCxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFaEIsSUFBSSxDQUFDLG1CQUFtQixDQUN0QixJQUFJLEVBQ0osVUFBVSxTQUFTLHFCQUFxQjtnQkFDdEMsb0RBQW9ELGNBQWMsaUJBQWlCO2dCQUNuRiwwQkFBMEIsZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLFVBQVUsRUFBRSxDQUNuRixDQUFDO1NBQ0g7SUFDSCxDQUFDO0NBQ0Y7QUFqRkQsc0VBaUZDO0FBRUQsdUVBQXVFO0FBQ3ZFLFNBQVMsOEJBQThCLENBQ3JDLFNBQXVCLEVBQ3ZCLFdBQTJCO0lBRTNCLE9BQU8sU0FBUztTQUNiLGFBQWEsRUFBRTtTQUNmLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUNYLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDakYsQ0FBQztBQUNOLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFTLG1CQUFtQixDQUMxQixVQUF5QixFQUN6QixVQUF5QjtJQUV6QixJQUFJLFlBQVksR0FBbUIsSUFBSSxDQUFDO0lBRXhDLE1BQU0sVUFBVSxHQUFHLENBQUMsSUFBYSxFQUFFLEVBQUU7UUFDbkMsK0ZBQStGO1FBQy9GLGlFQUFpRTtRQUNqRSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxVQUFVLENBQUMsS0FBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxVQUFVLENBQUMsS0FBTSxFQUFFO1lBQzlFLElBQ0UsRUFBRSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUM7Z0JBQ3hCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLEVBQ2xGO2dCQUNBLFlBQVksR0FBRyxJQUFJLENBQUM7YUFDckI7WUFFRCxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztTQUNuQztJQUNILENBQUMsQ0FBQztJQUVGLEVBQUUsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBRXhDLE9BQU8sWUFBWSxDQUFDO0FBQ3RCLENBQUM7QUFFRCw2RUFBNkU7QUFDN0UsU0FBUyw4QkFBOEIsQ0FBQyxTQUF1QjtJQUM3RCxJQUFJLElBQUksR0FBWSxTQUFTLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDL0Msb0ZBQW9GO0lBQ3BGLG1EQUFtRDtJQUNuRCxJQUFJLENBQUMsSUFBSSxFQUFFO1FBQ1QsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUNELE9BQU8sQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFO1FBQzdDLElBQUksRUFBRSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFO1lBQy9CLE9BQU8sSUFBSSxDQUFDO1NBQ2I7S0FDRjtJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgKiBhcyB0cyBmcm9tICd0eXBlc2NyaXB0JztcbmltcG9ydCB7TWlncmF0aW9ufSBmcm9tICcuLi8uLi91cGRhdGUtdG9vbC9taWdyYXRpb24nO1xuaW1wb3J0IHtnZXRBbGxDaGFuZ2VzfSBmcm9tICcuLi8uLi91cGRhdGUtdG9vbC92ZXJzaW9uLWNoYW5nZXMnO1xuaW1wb3J0IHtVcGdyYWRlRGF0YX0gZnJvbSAnLi4vdXBncmFkZS1kYXRhJztcblxuLyoqXG4gKiBMaXN0IG9mIGRpYWdub3N0aWMgY29kZXMgdGhhdCByZWZlciB0byBwcmUtZW1pdCBkaWFnbm9zdGljcyB3aGljaCBpbmRpY2F0ZSBpbnZhbGlkXG4gKiBuZXcgZXhwcmVzc2lvbiBvciBzdXBlciBjYWxsIHNpZ25hdHVyZXMuIFNlZSB0aGUgbGlzdCBvZiBkaWFnbm9zdGljcyBoZXJlOlxuICpcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9NaWNyb3NvZnQvVHlwZVNjcmlwdC9ibG9iL21hc3Rlci9zcmMvY29tcGlsZXIvZGlhZ25vc3RpY01lc3NhZ2VzLmpzb25cbiAqL1xuY29uc3Qgc2lnbmF0dXJlRXJyb3JEaWFnbm9zdGljcyA9IFtcbiAgLy8gVHlwZSBub3QgYXNzaWduYWJsZSBlcnJvciBkaWFnbm9zdGljLlxuICAyMzQ1LFxuICAvLyBDb25zdHJ1Y3RvciBhcmd1bWVudCBsZW5ndGggaW52YWxpZCBkaWFnbm9zdGljc1xuICAyNTU0LCAyNTU1LCAyNTU2LCAyNTU3LFxuXTtcblxuLyoqXG4gKiBNaWdyYXRpb24gdGhhdCB2aXNpdHMgZXZlcnkgVHlwZVNjcmlwdCBuZXcgZXhwcmVzc2lvbiBvciBzdXBlciBjYWxsIGFuZCBjaGVja3MgaWZcbiAqIHRoZSBwYXJhbWV0ZXIgdHlwZSBzaWduYXR1cmUgaXMgaW52YWxpZCBhbmQgbmVlZHMgdG8gYmUgdXBkYXRlZCBtYW51YWxseS5cbiAqL1xuZXhwb3J0IGNsYXNzIENvbnN0cnVjdG9yU2lnbmF0dXJlTWlncmF0aW9uIGV4dGVuZHMgTWlncmF0aW9uPFVwZ3JhZGVEYXRhPiB7XG4gIC8vIE5vdGUgdGhhdCB0aGUgZGF0YSBmb3IgdGhpcyBydWxlIGlzIG5vdCBkaXN0aW5ndWlzaGVkIGJhc2VkIG9uIHRoZSB0YXJnZXQgdmVyc2lvbiBiZWNhdXNlXG4gIC8vIHdlIGRvbid0IGtlZXAgdHJhY2sgb2YgdGhlIG5ldyBzaWduYXR1cmUgYW5kIGRvbid0IHdhbnQgdG8gdXBkYXRlIGluY3JlbWVudGFsbHkuXG4gIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvY29tcG9uZW50cy9wdWxsLzEyOTcwI2lzc3VlY29tbWVudC00MTgzMzc1NjZcbiAgZGF0YSA9IGdldEFsbENoYW5nZXModGhpcy51cGdyYWRlRGF0YS5jb25zdHJ1Y3RvckNoZWNrcyk7XG5cbiAgLy8gT25seSBlbmFibGUgdGhlIG1pZ3JhdGlvbiBydWxlIGlmIHRoZXJlIGlzIHVwZ3JhZGUgZGF0YS5cbiAgZW5hYmxlZCA9IHRoaXMuZGF0YS5sZW5ndGggIT09IDA7XG5cbiAgb3ZlcnJpZGUgdmlzaXROb2RlKG5vZGU6IHRzLk5vZGUpOiB2b2lkIHtcbiAgICBpZiAodHMuaXNTb3VyY2VGaWxlKG5vZGUpKSB7XG4gICAgICB0aGlzLl92aXNpdFNvdXJjZUZpbGUobm9kZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE1ldGhvZCB0aGF0IHdpbGwgYmUgY2FsbGVkIGZvciBlYWNoIHNvdXJjZSBmaWxlIG9mIHRoZSB1cGdyYWRlIHByb2plY3QuIEluIG9yZGVyIHRvXG4gICAqIHByb3Blcmx5IGRldGVybWluZSBpbnZhbGlkIGNvbnN0cnVjdG9yIHNpZ25hdHVyZXMsIHdlIHRha2UgYWR2YW50YWdlIG9mIHRoZSBwcmUtZW1pdFxuICAgKiBkaWFnbm9zdGljcyBmcm9tIFR5cGVTY3JpcHQuXG4gICAqXG4gICAqIEJ5IHVzaW5nIHRoZSBkaWFnbm9zdGljcywgdGhlIG1pZ3JhdGlvbiBjYW4gaGFuZGxlIHR5cGUgYXNzaWduYWJpbGl0eS4gTm90IHVzaW5nXG4gICAqIGRpYWdub3N0aWNzIHdvdWxkIG1lYW4gdGhhdCB3ZSBuZWVkIHRvIHVzZSBzaW1wbGUgdHlwZSBlcXVhbGl0eSBjaGVja2luZyB3aGljaCBpc1xuICAgKiB0b28gc3RyaWN0LiBTZWUgcmVsYXRlZCBpc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL01pY3Jvc29mdC9UeXBlU2NyaXB0L2lzc3Vlcy85ODc5XG4gICAqL1xuICBwcml2YXRlIF92aXNpdFNvdXJjZUZpbGUoc291cmNlRmlsZTogdHMuU291cmNlRmlsZSkge1xuICAgIC8vIExpc3Qgb2YgY2xhc3NlcyBvZiB3aGljaCB0aGUgY29uc3RydWN0b3Igc2lnbmF0dXJlIGhhcyBjaGFuZ2VkLlxuICAgIGNvbnN0IGRpYWdub3N0aWNzID0gdHNcbiAgICAgIC5nZXRQcmVFbWl0RGlhZ25vc3RpY3ModGhpcy5wcm9ncmFtLCBzb3VyY2VGaWxlKVxuICAgICAgLmZpbHRlcihkaWFnbm9zdGljID0+IHNpZ25hdHVyZUVycm9yRGlhZ25vc3RpY3MuaW5jbHVkZXMoZGlhZ25vc3RpYy5jb2RlKSlcbiAgICAgIC5maWx0ZXIoZGlhZ25vc3RpYyA9PiBkaWFnbm9zdGljLnN0YXJ0ICE9PSB1bmRlZmluZWQpO1xuXG4gICAgZm9yIChjb25zdCBkaWFnbm9zdGljIG9mIGRpYWdub3N0aWNzKSB7XG4gICAgICBjb25zdCBub2RlID0gZmluZENvbnN0cnVjdG9yTm9kZShkaWFnbm9zdGljLCBzb3VyY2VGaWxlKTtcblxuICAgICAgaWYgKCFub2RlKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBjbGFzc1R5cGUgPSB0aGlzLnR5cGVDaGVja2VyLmdldFR5cGVBdExvY2F0aW9uKG5vZGUuZXhwcmVzc2lvbik7XG4gICAgICBjb25zdCBjbGFzc05hbWUgPSBjbGFzc1R5cGUuc3ltYm9sICYmIGNsYXNzVHlwZS5zeW1ib2wubmFtZTtcbiAgICAgIGNvbnN0IGlzTmV3RXhwcmVzc2lvbiA9IHRzLmlzTmV3RXhwcmVzc2lvbihub2RlKTtcblxuICAgICAgLy8gRGV0ZXJtaW5lIHRoZSBjbGFzcyBuYW1lcyBvZiB0aGUgYWN0dWFsIGNvbnN0cnVjdCBzaWduYXR1cmVzIGJlY2F1c2Ugd2UgY2Fubm90IGFzc3VtZSB0aGF0XG4gICAgICAvLyB0aGUgZGlhZ25vc3RpYyByZWZlcnMgdG8gYSBjb25zdHJ1Y3RvciBvZiB0aGUgYWN0dWFsIGV4cHJlc3Npb24uIEluIGNhc2UgdGhlIGNvbnN0cnVjdG9yXG4gICAgICAvLyBpcyBpbmhlcml0ZWQsIHdlIG5lZWQgdG8gZGV0ZWN0IHRoYXQgdGhlIG93bmVyLWNsYXNzIG9mIHRoZSBjb25zdHJ1Y3RvciBpcyBhZGRlZCB0byB0aGVcbiAgICAgIC8vIGNvbnN0cnVjdG9yIGNoZWNrcyB1cGdyYWRlIGRhdGEuIGUuZy4gYGNsYXNzIEN1c3RvbUNhbGVuZGFyIGV4dGVuZHMgTWF0Q2FsZW5kYXIge31gLlxuICAgICAgY29uc3Qgc2lnbmF0dXJlQ2xhc3NOYW1lcyA9IGNsYXNzVHlwZVxuICAgICAgICAuZ2V0Q29uc3RydWN0U2lnbmF0dXJlcygpXG4gICAgICAgIC5tYXAoc2lnbmF0dXJlID0+IGdldENsYXNzRGVjbGFyYXRpb25PZlNpZ25hdHVyZShzaWduYXR1cmUpKVxuICAgICAgICAubWFwKGRlY2xhcmF0aW9uID0+IChkZWNsYXJhdGlvbiAmJiBkZWNsYXJhdGlvbi5uYW1lID8gZGVjbGFyYXRpb24ubmFtZS50ZXh0IDogbnVsbCkpXG4gICAgICAgIC5maWx0ZXIoQm9vbGVhbik7XG5cbiAgICAgIC8vIEJlc2lkZXMgY2hlY2tpbmcgdGhlIHNpZ25hdHVyZSBjbGFzcyBuYW1lcywgd2UgbmVlZCB0byBjaGVjayB0aGUgYWN0dWFsIGNsYXNzIG5hbWUgYmVjYXVzZVxuICAgICAgLy8gdGhlcmUgY2FuIGJlIGNsYXNzZXMgd2l0aG91dCBhbiBleHBsaWNpdCBjb25zdHJ1Y3Rvci5cbiAgICAgIGlmIChcbiAgICAgICAgIXRoaXMuZGF0YS5pbmNsdWRlcyhjbGFzc05hbWUpICYmXG4gICAgICAgICFzaWduYXR1cmVDbGFzc05hbWVzLnNvbWUobmFtZSA9PiB0aGlzLmRhdGEuaW5jbHVkZXMobmFtZSEpKVxuICAgICAgKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBjbGFzc1NpZ25hdHVyZXMgPSBjbGFzc1R5cGVcbiAgICAgICAgLmdldENvbnN0cnVjdFNpZ25hdHVyZXMoKVxuICAgICAgICAubWFwKHNpZ25hdHVyZSA9PiBnZXRQYXJhbWV0ZXJUeXBlc0Zyb21TaWduYXR1cmUoc2lnbmF0dXJlLCB0aGlzLnR5cGVDaGVja2VyKSk7XG5cbiAgICAgIGNvbnN0IGV4cHJlc3Npb25OYW1lID0gaXNOZXdFeHByZXNzaW9uID8gYG5ldyAke2NsYXNzTmFtZX1gIDogJ3N1cGVyJztcbiAgICAgIGNvbnN0IHNpZ25hdHVyZXMgPSBjbGFzc1NpZ25hdHVyZXNcbiAgICAgICAgLm1hcChzaWduYXR1cmUgPT5cbiAgICAgICAgICBzaWduYXR1cmUubWFwKHQgPT4gKHQgPT09IG51bGwgPyAnYW55JyA6IHRoaXMudHlwZUNoZWNrZXIudHlwZVRvU3RyaW5nKHQpKSksXG4gICAgICAgIClcbiAgICAgICAgLm1hcChzaWduYXR1cmUgPT4gYCR7ZXhwcmVzc2lvbk5hbWV9KCR7c2lnbmF0dXJlLmpvaW4oJywgJyl9KWApXG4gICAgICAgIC5qb2luKCcgb3IgJyk7XG5cbiAgICAgIHRoaXMuY3JlYXRlRmFpbHVyZUF0Tm9kZShcbiAgICAgICAgbm9kZSxcbiAgICAgICAgYEZvdW5kIFwiJHtjbGFzc05hbWV9XCIgY29uc3RydWN0ZWQgd2l0aCBgICtcbiAgICAgICAgICBgYW4gaW52YWxpZCBzaWduYXR1cmUuIFBsZWFzZSBtYW51YWxseSB1cGRhdGUgdGhlICR7ZXhwcmVzc2lvbk5hbWV9IGV4cHJlc3Npb24gdG8gYCArXG4gICAgICAgICAgYG1hdGNoIHRoZSBuZXcgc2lnbmF0dXJlJHtjbGFzc1NpZ25hdHVyZXMubGVuZ3RoID4gMSA/ICdzJyA6ICcnfTogJHtzaWduYXR1cmVzfWAsXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuXG4vKiogUmVzb2x2ZXMgdGhlIHR5cGUgZm9yIGVhY2ggcGFyYW1ldGVyIGluIHRoZSBzcGVjaWZpZWQgc2lnbmF0dXJlLiAqL1xuZnVuY3Rpb24gZ2V0UGFyYW1ldGVyVHlwZXNGcm9tU2lnbmF0dXJlKFxuICBzaWduYXR1cmU6IHRzLlNpZ25hdHVyZSxcbiAgdHlwZUNoZWNrZXI6IHRzLlR5cGVDaGVja2VyLFxuKTogKHRzLlR5cGUgfCBudWxsKVtdIHtcbiAgcmV0dXJuIHNpZ25hdHVyZVxuICAgIC5nZXRQYXJhbWV0ZXJzKClcbiAgICAubWFwKHBhcmFtID0+XG4gICAgICBwYXJhbS5kZWNsYXJhdGlvbnMgPyB0eXBlQ2hlY2tlci5nZXRUeXBlQXRMb2NhdGlvbihwYXJhbS5kZWNsYXJhdGlvbnNbMF0pIDogbnVsbCxcbiAgICApO1xufVxuXG4vKipcbiAqIFdhbGtzIHRocm91Z2ggZWFjaCBub2RlIG9mIGEgc291cmNlIGZpbGUgaW4gb3JkZXIgdG8gZmluZCBhIG5ldy1leHByZXNzaW9uIG5vZGUgb3Igc3VwZXItY2FsbFxuICogZXhwcmVzc2lvbiBub2RlIHRoYXQgaXMgY2FwdHVyZWQgYnkgdGhlIHNwZWNpZmllZCBkaWFnbm9zdGljLlxuICovXG5mdW5jdGlvbiBmaW5kQ29uc3RydWN0b3JOb2RlKFxuICBkaWFnbm9zdGljOiB0cy5EaWFnbm9zdGljLFxuICBzb3VyY2VGaWxlOiB0cy5Tb3VyY2VGaWxlLFxuKTogdHMuQ2FsbEV4cHJlc3Npb24gfCB0cy5OZXdFeHByZXNzaW9uIHwgbnVsbCB7XG4gIGxldCByZXNvbHZlZE5vZGU6IHRzLk5vZGUgfCBudWxsID0gbnVsbDtcblxuICBjb25zdCBfdmlzaXROb2RlID0gKG5vZGU6IHRzLk5vZGUpID0+IHtcbiAgICAvLyBDaGVjayB3aGV0aGVyIHRoZSBjdXJyZW50IG5vZGUgY29udGFpbnMgdGhlIGRpYWdub3N0aWMuIElmIHRoZSBub2RlIGNvbnRhaW5zIHRoZSBkaWFnbm9zdGljLFxuICAgIC8vIHdhbGsgZGVlcGVyIGluIG9yZGVyIHRvIGZpbmQgYWxsIGNvbnN0cnVjdG9yIGV4cHJlc3Npb24gbm9kZXMuXG4gICAgaWYgKG5vZGUuZ2V0U3RhcnQoKSA8PSBkaWFnbm9zdGljLnN0YXJ0ISAmJiBub2RlLmdldEVuZCgpID49IGRpYWdub3N0aWMuc3RhcnQhKSB7XG4gICAgICBpZiAoXG4gICAgICAgIHRzLmlzTmV3RXhwcmVzc2lvbihub2RlKSB8fFxuICAgICAgICAodHMuaXNDYWxsRXhwcmVzc2lvbihub2RlKSAmJiBub2RlLmV4cHJlc3Npb24ua2luZCA9PT0gdHMuU3ludGF4S2luZC5TdXBlcktleXdvcmQpXG4gICAgICApIHtcbiAgICAgICAgcmVzb2x2ZWROb2RlID0gbm9kZTtcbiAgICAgIH1cblxuICAgICAgdHMuZm9yRWFjaENoaWxkKG5vZGUsIF92aXNpdE5vZGUpO1xuICAgIH1cbiAgfTtcblxuICB0cy5mb3JFYWNoQ2hpbGQoc291cmNlRmlsZSwgX3Zpc2l0Tm9kZSk7XG5cbiAgcmV0dXJuIHJlc29sdmVkTm9kZTtcbn1cblxuLyoqIERldGVybWluZXMgdGhlIGNsYXNzIGRlY2xhcmF0aW9uIG9mIHRoZSBzcGVjaWZpZWQgY29uc3RydWN0IHNpZ25hdHVyZS4gKi9cbmZ1bmN0aW9uIGdldENsYXNzRGVjbGFyYXRpb25PZlNpZ25hdHVyZShzaWduYXR1cmU6IHRzLlNpZ25hdHVyZSk6IHRzLkNsYXNzRGVjbGFyYXRpb24gfCBudWxsIHtcbiAgbGV0IG5vZGU6IHRzLk5vZGUgPSBzaWduYXR1cmUuZ2V0RGVjbGFyYXRpb24oKTtcbiAgLy8gSGFuZGxlIHNpZ25hdHVyZXMgd2hpY2ggZG9uJ3QgaGF2ZSBhbiBhY3R1YWwgZGVjbGFyYXRpb24uIFRoaXMgaGFwcGVucyBpZiBhIGNsYXNzXG4gIC8vIGRvZXMgbm90IGhhdmUgYW4gZXhwbGljaXRseSB3cml0dGVuIGNvbnN0cnVjdG9yLlxuICBpZiAoIW5vZGUpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICB3aGlsZSAoIXRzLmlzU291cmNlRmlsZSgobm9kZSA9IG5vZGUucGFyZW50KSkpIHtcbiAgICBpZiAodHMuaXNDbGFzc0RlY2xhcmF0aW9uKG5vZGUpKSB7XG4gICAgICByZXR1cm4gbm9kZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG4iXX0=
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ import * as ts from 'typescript';
9
+ import { ResolvedResource } from '../../update-tool/component-resource-collector';
10
+ import { Migration } from '../../update-tool/migration';
11
+ import { CssSelectorUpgradeData } from '../data/css-selectors';
12
+ import { UpgradeData } from '../upgrade-data';
13
+ /**
14
+ * Migration that walks through every string literal, template and stylesheet in
15
+ * order to migrate outdated CSS selectors to the new selector.
16
+ */
17
+ export declare class CssSelectorsMigration extends Migration<UpgradeData> {
18
+ /** Change data that upgrades to the specified target version. */
19
+ data: CssSelectorUpgradeData[];
20
+ enabled: boolean;
21
+ visitNode(node: ts.Node): void;
22
+ visitTemplate(template: ResolvedResource): void;
23
+ visitStylesheet(stylesheet: ResolvedResource): void;
24
+ private _visitStringLiteralLike;
25
+ private _replaceSelector;
26
+ }