jqwidgets-ng 23.0.7 → 23.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (641) hide show
  1. package/jqwidgets/jqx-all.js +17 -9
  2. package/jqwidgets/jqxangular.js +1 -1
  3. package/jqwidgets/jqxbarcode.js +3 -1
  4. package/jqwidgets/jqxbargauge.js +1 -1
  5. package/jqwidgets/jqxbulletchart.js +1 -1
  6. package/jqwidgets/jqxbuttongroup.js +1 -1
  7. package/jqwidgets/jqxbuttons.js +1 -1
  8. package/jqwidgets/jqxcalendar.js +1 -1
  9. package/jqwidgets/jqxchart.annotations.js +1 -1
  10. package/jqwidgets/jqxchart.api.js +1 -1
  11. package/jqwidgets/jqxchart.core.js +2 -2
  12. package/jqwidgets/jqxchart.js +2 -2
  13. package/jqwidgets/jqxchart.rangeselector.js +1 -1
  14. package/jqwidgets/jqxchart.waterfall.js +1 -1
  15. package/jqwidgets/jqxcheckbox.js +1 -1
  16. package/jqwidgets/jqxcheckboxgroup.js +3 -1
  17. package/jqwidgets/jqxcolorpicker.js +1 -1
  18. package/jqwidgets/jqxcombobox.js +1 -1
  19. package/jqwidgets/jqxcomplexinput.js +1 -1
  20. package/jqwidgets/jqxcore.js +1 -1
  21. package/jqwidgets/jqxdata.export.js +1 -1
  22. package/jqwidgets/jqxdata.js +1 -1
  23. package/jqwidgets/jqxdatatable.js +2 -2
  24. package/jqwidgets/jqxdate.js +1 -1
  25. package/jqwidgets/jqxdatetimeinput.js +1 -1
  26. package/jqwidgets/jqxdocking.js +1 -1
  27. package/jqwidgets/jqxdockinglayout.js +1 -1
  28. package/jqwidgets/jqxdockpanel.js +1 -1
  29. package/jqwidgets/jqxdragdrop.js +1 -1
  30. package/jqwidgets/jqxdraw.js +1 -1
  31. package/jqwidgets/jqxdropdownbutton.js +1 -1
  32. package/jqwidgets/jqxdropdownlist.js +1 -1
  33. package/jqwidgets/jqxeditor.js +1 -1
  34. package/jqwidgets/jqxexpander.js +1 -1
  35. package/jqwidgets/jqxfileupload.js +1 -1
  36. package/jqwidgets/jqxform.js +1 -1
  37. package/jqwidgets/jqxformattedinput.js +1 -1
  38. package/jqwidgets/jqxgantt.js +1 -1
  39. package/jqwidgets/jqxgauge.js +1 -1
  40. package/jqwidgets/jqxgrid.aggregates.js +1 -1
  41. package/jqwidgets/jqxgrid.columnsreorder.js +1 -1
  42. package/jqwidgets/jqxgrid.columnsresize.js +2 -2
  43. package/jqwidgets/jqxgrid.edit.js +1 -1
  44. package/jqwidgets/jqxgrid.export.js +1 -1
  45. package/jqwidgets/jqxgrid.filter.js +2 -2
  46. package/jqwidgets/jqxgrid.grouping.js +1 -1
  47. package/jqwidgets/jqxgrid.js +2 -2
  48. package/jqwidgets/jqxgrid.pager.js +1 -1
  49. package/jqwidgets/jqxgrid.selection.js +1 -1
  50. package/jqwidgets/jqxgrid.sort.js +1 -1
  51. package/jqwidgets/jqxgrid.storage.js +2 -2
  52. package/jqwidgets/jqxheatmap.js +1 -1
  53. package/jqwidgets/jqxinput.js +1 -1
  54. package/jqwidgets/jqxkanban.js +1 -1
  55. package/jqwidgets/jqxknob.js +1 -1
  56. package/jqwidgets/jqxknockout.js +1 -1
  57. package/jqwidgets/jqxlayout.js +1 -1
  58. package/jqwidgets/jqxlistbox.js +1 -1
  59. package/jqwidgets/jqxlistmenu.js +1 -1
  60. package/jqwidgets/jqxloader.js +1 -1
  61. package/jqwidgets/jqxmaskedinput.js +1 -1
  62. package/jqwidgets/jqxmenu.js +1 -1
  63. package/jqwidgets/jqxnavbar.js +1 -1
  64. package/jqwidgets/jqxnavigationbar.js +1 -1
  65. package/jqwidgets/jqxnotification.js +1 -1
  66. package/jqwidgets/jqxnumberinput.js +1 -1
  67. package/jqwidgets/jqxpanel.js +1 -1
  68. package/jqwidgets/jqxpasswordinput.js +1 -1
  69. package/jqwidgets/jqxpivot.js +1 -1
  70. package/jqwidgets/jqxpivotdesigner.js +1 -1
  71. package/jqwidgets/jqxpivotgrid.js +1 -1
  72. package/jqwidgets/jqxpopover.js +1 -1
  73. package/jqwidgets/jqxprogressbar.js +1 -1
  74. package/jqwidgets/jqxqrcode.js +3 -1
  75. package/jqwidgets/jqxradiobutton.js +1 -1
  76. package/jqwidgets/jqxradiobuttongroup.js +3 -1
  77. package/jqwidgets/jqxrangeselector.js +1 -1
  78. package/jqwidgets/jqxrating.js +1 -1
  79. package/jqwidgets/jqxresponsivepanel.js +1 -1
  80. package/jqwidgets/jqxribbon.js +1 -1
  81. package/jqwidgets/jqxscheduler.api.js +1 -1
  82. package/jqwidgets/jqxscheduler.js +2 -2
  83. package/jqwidgets/jqxscrollbar.js +1 -1
  84. package/jqwidgets/jqxscrollview.js +1 -1
  85. package/jqwidgets/jqxslider.js +1 -1
  86. package/jqwidgets/jqxsortable.js +1 -1
  87. package/jqwidgets/jqxsplitlayout.js +1 -1
  88. package/jqwidgets/jqxsplitter.js +1 -1
  89. package/jqwidgets/jqxswitchbutton.js +1 -1
  90. package/jqwidgets/jqxtabs.js +1 -1
  91. package/jqwidgets/jqxtagcloud.js +1 -1
  92. package/jqwidgets/jqxtextarea.js +1 -1
  93. package/jqwidgets/jqxtimeline.js +1 -1
  94. package/jqwidgets/jqxtimepicker.js +1 -1
  95. package/jqwidgets/jqxtoolbar.js +1 -1
  96. package/jqwidgets/jqxtooltip.js +1 -1
  97. package/jqwidgets/jqxtouch.js +1 -1
  98. package/jqwidgets/jqxtree.js +1 -1
  99. package/jqwidgets/jqxtreegrid.js +1 -1
  100. package/jqwidgets/jqxtreemap.js +1 -1
  101. package/jqwidgets/jqxvalidator.js +1 -1
  102. package/jqwidgets/jqxwindow.js +2 -2
  103. package/jqwidgets/modules/jqxbarcode.js +6 -2
  104. package/jqwidgets/modules/jqxbargauge.js +8 -2
  105. package/jqwidgets/modules/jqxbulletchart.js +11 -3
  106. package/jqwidgets/modules/jqxbuttongroup.js +9 -3
  107. package/jqwidgets/modules/jqxbuttons.js +6 -2
  108. package/jqwidgets/modules/jqxcalendar.js +11 -3
  109. package/jqwidgets/modules/jqxchart.js +35 -5
  110. package/jqwidgets/modules/jqxcheckbox.js +12 -4
  111. package/jqwidgets/modules/jqxcheckboxgroup.js +12 -4
  112. package/jqwidgets/modules/jqxcolorpicker.js +15 -5
  113. package/jqwidgets/modules/jqxcombobox.js +20 -6
  114. package/jqwidgets/modules/jqxcomplexinput.js +9 -3
  115. package/jqwidgets/modules/jqxdatatable.js +70 -14
  116. package/jqwidgets/modules/jqxdatetimeinput.js +36 -10
  117. package/jqwidgets/modules/jqxdocking.js +19 -5
  118. package/jqwidgets/modules/jqxdockinglayout.js +30 -8
  119. package/jqwidgets/modules/jqxdockpanel.js +9 -3
  120. package/jqwidgets/modules/jqxdragdrop.js +10 -2
  121. package/jqwidgets/modules/jqxdraw.js +5 -1
  122. package/jqwidgets/modules/jqxdropdownbutton.js +9 -3
  123. package/jqwidgets/modules/jqxdropdownlist.js +34 -10
  124. package/jqwidgets/modules/jqxeditor.js +57 -15
  125. package/jqwidgets/modules/jqxexpander.js +15 -5
  126. package/jqwidgets/modules/jqxfileupload.js +12 -4
  127. package/jqwidgets/modules/jqxform.js +45 -13
  128. package/jqwidgets/modules/jqxformattedinput.js +35 -11
  129. package/jqwidgets/modules/jqxgantt.js +6 -2
  130. package/jqwidgets/modules/jqxgauge.js +14 -4
  131. package/jqwidgets/modules/jqxgrid.js +652 -571
  132. package/jqwidgets/modules/jqxheatmap.js +9 -3
  133. package/jqwidgets/modules/jqxinput.js +11 -3
  134. package/jqwidgets/modules/jqxkanban.js +47 -13
  135. package/jqwidgets/modules/jqxknob.js +11 -3
  136. package/jqwidgets/modules/jqxlayout.js +30 -8
  137. package/jqwidgets/modules/jqxlineargauge.js +14 -4
  138. package/jqwidgets/modules/jqxlinkbutton.js +6 -2
  139. package/jqwidgets/modules/jqxlistbox.js +22 -6
  140. package/jqwidgets/modules/jqxlistmenu.js +43 -13
  141. package/jqwidgets/modules/jqxloader.js +6 -2
  142. package/jqwidgets/modules/jqxmaskedinput.js +6 -2
  143. package/jqwidgets/modules/jqxmenu.js +20 -6
  144. package/jqwidgets/modules/jqxnavbar.js +15 -5
  145. package/jqwidgets/modules/jqxnavigationbar.js +26 -8
  146. package/jqwidgets/modules/jqxnotification.js +17 -5
  147. package/jqwidgets/modules/jqxnumberinput.js +26 -8
  148. package/jqwidgets/modules/jqxpanel.js +14 -4
  149. package/jqwidgets/modules/jqxpasswordinput.js +16 -4
  150. package/jqwidgets/modules/jqxpivotdesigner.js +60 -16
  151. package/jqwidgets/modules/jqxpivotgrid.js +60 -16
  152. package/jqwidgets/modules/jqxpopover.js +9 -3
  153. package/jqwidgets/modules/jqxprogressbar.js +6 -2
  154. package/jqwidgets/modules/jqxqrcode.js +14 -4
  155. package/jqwidgets/modules/jqxradiobutongroup.js +12 -4
  156. package/jqwidgets/modules/jqxradiobutton.js +9 -3
  157. package/jqwidgets/modules/jqxrangeselector.js +11 -3
  158. package/jqwidgets/modules/jqxrating.js +9 -3
  159. package/jqwidgets/modules/jqxrepeatbutton.js +6 -2
  160. package/jqwidgets/modules/jqxresponsivepanel.js +9 -3
  161. package/jqwidgets/modules/jqxribbon.js +12 -4
  162. package/jqwidgets/modules/jqxscheduler.js +94 -20
  163. package/jqwidgets/modules/jqxscrollbar.js +8 -2
  164. package/jqwidgets/modules/jqxscrollview.js +8 -2
  165. package/jqwidgets/modules/jqxslider.js +8 -2
  166. package/jqwidgets/modules/jqxsortable.js +8 -2
  167. package/jqwidgets/modules/jqxsplitlayout.js +7 -1
  168. package/jqwidgets/modules/jqxsplitter.js +8 -2
  169. package/jqwidgets/modules/jqxswitchbutton.js +13 -3
  170. package/jqwidgets/modules/jqxtabs.js +22 -6
  171. package/jqwidgets/modules/jqxtagcloud.js +16 -4
  172. package/jqwidgets/modules/jqxtextarea.js +16 -4
  173. package/jqwidgets/modules/jqxtimeline.js +6 -2
  174. package/jqwidgets/modules/jqxtimepicker.js +7 -1
  175. package/jqwidgets/modules/jqxtogglebutton.js +6 -2
  176. package/jqwidgets/modules/jqxtoolbar.js +45 -13
  177. package/jqwidgets/modules/jqxtooltip.js +5 -1
  178. package/jqwidgets/modules/jqxtree.js +21 -5
  179. package/jqwidgets/modules/jqxtreegrid.js +72 -14
  180. package/jqwidgets/modules/jqxtreemap.js +10 -2
  181. package/jqwidgets/modules/jqxvalidator.js +13 -3
  182. package/jqwidgets/modules/jqxwindow.js +16 -4
  183. package/jqwidgets/styles/jqx.base.css +5 -1
  184. package/package.json +1 -1
  185. package/schematics/cdk/schematics/index.d.ts +1 -1
  186. package/schematics/cdk/schematics/index.js +2 -2
  187. package/schematics/cdk/schematics/index.js.map +1 -0
  188. package/schematics/cdk/schematics/migration.json +4 -4
  189. package/schematics/cdk/schematics/ng-add/index.d.ts +1 -1
  190. package/schematics/cdk/schematics/ng-add/index.js +13 -21
  191. package/schematics/cdk/schematics/ng-add/index.js.map +1 -0
  192. package/schematics/cdk/schematics/ng-add/schema.d.ts +1 -1
  193. package/schematics/cdk/schematics/ng-add/schema.js +2 -2
  194. package/schematics/cdk/schematics/ng-add/schema.js.map +1 -0
  195. package/schematics/cdk/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +6 -2
  196. package/schematics/cdk/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +1 -1
  197. package/schematics/cdk/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +5 -5
  198. package/schematics/cdk/schematics/ng-generate/drag-drop/index.d.ts +1 -1
  199. package/schematics/cdk/schematics/ng-generate/drag-drop/index.js +17 -8
  200. package/schematics/cdk/schematics/ng-generate/drag-drop/index.js.map +1 -0
  201. package/schematics/cdk/schematics/ng-generate/drag-drop/schema.d.ts +1 -1
  202. package/schematics/cdk/schematics/ng-generate/drag-drop/schema.js +2 -2
  203. package/schematics/cdk/schematics/ng-generate/drag-drop/schema.js.map +1 -0
  204. package/schematics/cdk/schematics/ng-update/data/attribute-selectors.d.ts +1 -1
  205. package/schematics/cdk/schematics/ng-update/data/attribute-selectors.js +2 -2
  206. package/schematics/cdk/schematics/ng-update/data/attribute-selectors.js.map +1 -0
  207. package/schematics/cdk/schematics/ng-update/data/class-names.d.ts +1 -1
  208. package/schematics/cdk/schematics/ng-update/data/class-names.js +2 -2
  209. package/schematics/cdk/schematics/ng-update/data/class-names.js.map +1 -0
  210. package/schematics/cdk/schematics/ng-update/data/constructor-checks.d.ts +1 -1
  211. package/schematics/cdk/schematics/ng-update/data/constructor-checks.js +2 -2
  212. package/schematics/cdk/schematics/ng-update/data/constructor-checks.js.map +1 -0
  213. package/schematics/cdk/schematics/ng-update/data/css-selectors.d.ts +1 -1
  214. package/schematics/cdk/schematics/ng-update/data/css-selectors.js +2 -2
  215. package/schematics/cdk/schematics/ng-update/data/css-selectors.js.map +1 -0
  216. package/schematics/cdk/schematics/ng-update/data/css-tokens.d.ts +27 -0
  217. package/schematics/cdk/schematics/ng-update/data/css-tokens.js +12 -0
  218. package/schematics/cdk/schematics/ng-update/data/css-tokens.js.map +1 -0
  219. package/schematics/cdk/schematics/ng-update/data/element-selectors.d.ts +1 -1
  220. package/schematics/cdk/schematics/ng-update/data/element-selectors.js +2 -2
  221. package/schematics/cdk/schematics/ng-update/data/element-selectors.js.map +1 -0
  222. package/schematics/cdk/schematics/ng-update/data/index.d.ts +2 -1
  223. package/schematics/cdk/schematics/ng-update/data/index.js +3 -2
  224. package/schematics/cdk/schematics/ng-update/data/index.js.map +1 -0
  225. package/schematics/cdk/schematics/ng-update/data/input-names.d.ts +1 -1
  226. package/schematics/cdk/schematics/ng-update/data/input-names.js +2 -2
  227. package/schematics/cdk/schematics/ng-update/data/input-names.js.map +1 -0
  228. package/schematics/cdk/schematics/ng-update/data/method-call-checks.d.ts +1 -1
  229. package/schematics/cdk/schematics/ng-update/data/method-call-checks.js +2 -2
  230. package/schematics/cdk/schematics/ng-update/data/method-call-checks.js.map +1 -0
  231. package/schematics/cdk/schematics/ng-update/data/output-names.d.ts +1 -1
  232. package/schematics/cdk/schematics/ng-update/data/output-names.js +2 -2
  233. package/schematics/cdk/schematics/ng-update/data/output-names.js.map +1 -0
  234. package/schematics/cdk/schematics/ng-update/data/property-names.d.ts +1 -1
  235. package/schematics/cdk/schematics/ng-update/data/property-names.js +2 -2
  236. package/schematics/cdk/schematics/ng-update/data/property-names.js.map +1 -0
  237. package/schematics/cdk/schematics/ng-update/data/symbol-removal.d.ts +1 -1
  238. package/schematics/cdk/schematics/ng-update/data/symbol-removal.js +2 -2
  239. package/schematics/cdk/schematics/ng-update/data/symbol-removal.js.map +1 -0
  240. package/schematics/cdk/schematics/ng-update/devkit-file-system.d.ts +1 -1
  241. package/schematics/cdk/schematics/ng-update/devkit-file-system.js +3 -4
  242. package/schematics/cdk/schematics/ng-update/devkit-file-system.js.map +1 -0
  243. package/schematics/cdk/schematics/ng-update/devkit-migration-rule.d.ts +1 -1
  244. package/schematics/cdk/schematics/ng-update/devkit-migration-rule.js +19 -8
  245. package/schematics/cdk/schematics/ng-update/devkit-migration-rule.js.map +1 -0
  246. package/schematics/cdk/schematics/ng-update/devkit-migration.d.ts +3 -3
  247. package/schematics/cdk/schematics/ng-update/devkit-migration.js +2 -2
  248. package/schematics/cdk/schematics/ng-update/devkit-migration.js.map +1 -0
  249. package/schematics/cdk/schematics/ng-update/find-stylesheets.d.ts +1 -1
  250. package/schematics/cdk/schematics/ng-update/find-stylesheets.js +3 -4
  251. package/schematics/cdk/schematics/ng-update/find-stylesheets.js.map +1 -0
  252. package/schematics/cdk/schematics/ng-update/html-parsing/angular.d.ts +1 -1
  253. package/schematics/cdk/schematics/ng-update/html-parsing/angular.js +7 -8
  254. package/schematics/cdk/schematics/ng-update/html-parsing/angular.js.map +1 -0
  255. package/schematics/cdk/schematics/ng-update/html-parsing/elements.d.ts +1 -1
  256. package/schematics/cdk/schematics/ng-update/html-parsing/elements.js +8 -8
  257. package/schematics/cdk/schematics/ng-update/html-parsing/elements.js.map +1 -0
  258. package/schematics/cdk/schematics/ng-update/index.d.ts +3 -3
  259. package/schematics/cdk/schematics/ng-update/index.js +6 -7
  260. package/schematics/cdk/schematics/ng-update/index.js.map +1 -0
  261. package/schematics/cdk/schematics/ng-update/migrations/attribute-selectors.d.ts +1 -1
  262. package/schematics/cdk/schematics/ng-update/migrations/attribute-selectors.js +9 -6
  263. package/schematics/cdk/schematics/ng-update/migrations/attribute-selectors.js.map +1 -0
  264. package/schematics/cdk/schematics/ng-update/migrations/class-inheritance.d.ts +1 -1
  265. package/schematics/cdk/schematics/ng-update/migrations/class-inheritance.js +12 -9
  266. package/schematics/cdk/schematics/ng-update/migrations/class-inheritance.js.map +1 -0
  267. package/schematics/cdk/schematics/ng-update/migrations/class-names.d.ts +1 -1
  268. package/schematics/cdk/schematics/ng-update/migrations/class-names.js +16 -13
  269. package/schematics/cdk/schematics/ng-update/migrations/class-names.js.map +1 -0
  270. package/schematics/cdk/schematics/ng-update/migrations/constructor-signature.d.ts +1 -1
  271. package/schematics/cdk/schematics/ng-update/migrations/constructor-signature.js +11 -8
  272. package/schematics/cdk/schematics/ng-update/migrations/constructor-signature.js.map +1 -0
  273. package/schematics/cdk/schematics/ng-update/migrations/css-selectors.d.ts +1 -1
  274. package/schematics/cdk/schematics/ng-update/migrations/css-selectors.js +9 -6
  275. package/schematics/cdk/schematics/ng-update/migrations/css-selectors.js.map +1 -0
  276. package/schematics/cdk/schematics/ng-update/migrations/css-tokens.d.ts +26 -0
  277. package/schematics/cdk/schematics/ng-update/migrations/css-tokens.js +83 -0
  278. package/schematics/cdk/schematics/ng-update/migrations/css-tokens.js.map +1 -0
  279. package/schematics/cdk/schematics/ng-update/migrations/element-selectors.d.ts +1 -1
  280. package/schematics/cdk/schematics/ng-update/migrations/element-selectors.js +9 -6
  281. package/schematics/cdk/schematics/ng-update/migrations/element-selectors.js.map +1 -0
  282. package/schematics/cdk/schematics/ng-update/migrations/input-names.d.ts +1 -1
  283. package/schematics/cdk/schematics/ng-update/migrations/input-names.js +9 -6
  284. package/schematics/cdk/schematics/ng-update/migrations/input-names.js.map +1 -0
  285. package/schematics/cdk/schematics/ng-update/migrations/method-call-arguments.d.ts +1 -1
  286. package/schematics/cdk/schematics/ng-update/migrations/method-call-arguments.js +9 -6
  287. package/schematics/cdk/schematics/ng-update/migrations/method-call-arguments.js.map +1 -0
  288. package/schematics/cdk/schematics/ng-update/migrations/misc-template.d.ts +1 -1
  289. package/schematics/cdk/schematics/ng-update/migrations/misc-template.js +7 -4
  290. package/schematics/cdk/schematics/ng-update/migrations/misc-template.js.map +1 -0
  291. package/schematics/cdk/schematics/ng-update/migrations/output-names.d.ts +1 -1
  292. package/schematics/cdk/schematics/ng-update/migrations/output-names.js +9 -6
  293. package/schematics/cdk/schematics/ng-update/migrations/output-names.js.map +1 -0
  294. package/schematics/cdk/schematics/ng-update/migrations/property-names.d.ts +1 -1
  295. package/schematics/cdk/schematics/ng-update/migrations/property-names.js +9 -6
  296. package/schematics/cdk/schematics/ng-update/migrations/property-names.js.map +1 -0
  297. package/schematics/cdk/schematics/ng-update/migrations/symbol-removal.d.ts +1 -1
  298. package/schematics/cdk/schematics/ng-update/migrations/symbol-removal.js +11 -7
  299. package/schematics/cdk/schematics/ng-update/migrations/symbol-removal.js.map +1 -0
  300. package/schematics/cdk/schematics/ng-update/public-api.d.ts +1 -1
  301. package/schematics/cdk/schematics/ng-update/public-api.js +2 -2
  302. package/schematics/cdk/schematics/ng-update/public-api.js.map +1 -0
  303. package/schematics/cdk/schematics/ng-update/typescript/base-types.d.ts +1 -1
  304. package/schematics/cdk/schematics/ng-update/typescript/base-types.js +3 -4
  305. package/schematics/cdk/schematics/ng-update/typescript/base-types.js.map +1 -0
  306. package/schematics/cdk/schematics/ng-update/typescript/imports.d.ts +1 -1
  307. package/schematics/cdk/schematics/ng-update/typescript/imports.js +7 -8
  308. package/schematics/cdk/schematics/ng-update/typescript/imports.js.map +1 -0
  309. package/schematics/cdk/schematics/ng-update/typescript/literal.d.ts +1 -1
  310. package/schematics/cdk/schematics/ng-update/typescript/literal.js +4 -5
  311. package/schematics/cdk/schematics/ng-update/typescript/literal.js.map +1 -0
  312. package/schematics/cdk/schematics/ng-update/typescript/module-specifiers.d.ts +1 -1
  313. package/schematics/cdk/schematics/ng-update/typescript/module-specifiers.js +5 -5
  314. package/schematics/cdk/schematics/ng-update/typescript/module-specifiers.js.map +1 -0
  315. package/schematics/cdk/schematics/ng-update/upgrade-data.d.ts +3 -2
  316. package/schematics/cdk/schematics/ng-update/upgrade-data.js +5 -4
  317. package/schematics/cdk/schematics/ng-update/upgrade-data.js.map +1 -0
  318. package/schematics/cdk/schematics/paths.d.ts +1 -1
  319. package/schematics/cdk/schematics/paths.js +2 -2
  320. package/schematics/cdk/schematics/paths.js.map +1 -0
  321. package/schematics/cdk/schematics/update-tool/component-resource-collector.d.ts +1 -1
  322. package/schematics/cdk/schematics/update-tool/component-resource-collector.js +4 -6
  323. package/schematics/cdk/schematics/update-tool/component-resource-collector.js.map +1 -0
  324. package/schematics/cdk/schematics/update-tool/file-system.d.ts +1 -1
  325. package/schematics/cdk/schematics/update-tool/file-system.js +2 -2
  326. package/schematics/cdk/schematics/update-tool/file-system.js.map +1 -0
  327. package/schematics/cdk/schematics/update-tool/index.d.ts +2 -2
  328. package/schematics/cdk/schematics/update-tool/index.js +4 -10
  329. package/schematics/cdk/schematics/update-tool/index.js.map +1 -0
  330. package/schematics/cdk/schematics/update-tool/logger.d.ts +1 -1
  331. package/schematics/cdk/schematics/update-tool/logger.js +2 -2
  332. package/schematics/cdk/schematics/update-tool/logger.js.map +1 -0
  333. package/schematics/cdk/schematics/update-tool/migration.d.ts +1 -1
  334. package/schematics/cdk/schematics/update-tool/migration.js +4 -11
  335. package/schematics/cdk/schematics/update-tool/migration.js.map +1 -0
  336. package/schematics/cdk/schematics/update-tool/public-api.d.ts +1 -1
  337. package/schematics/cdk/schematics/update-tool/public-api.js +2 -2
  338. package/schematics/cdk/schematics/update-tool/public-api.js.map +1 -0
  339. package/schematics/cdk/schematics/update-tool/target-version.d.ts +2 -2
  340. package/schematics/cdk/schematics/update-tool/target-version.js +5 -6
  341. package/schematics/cdk/schematics/update-tool/target-version.js.map +1 -0
  342. package/schematics/cdk/schematics/update-tool/update-recorder.d.ts +1 -1
  343. package/schematics/cdk/schematics/update-tool/update-recorder.js +2 -2
  344. package/schematics/cdk/schematics/update-tool/update-recorder.js.map +1 -0
  345. package/schematics/cdk/schematics/update-tool/utils/decorators.d.ts +1 -1
  346. package/schematics/cdk/schematics/update-tool/utils/decorators.js +4 -5
  347. package/schematics/cdk/schematics/update-tool/utils/decorators.js.map +1 -0
  348. package/schematics/cdk/schematics/update-tool/utils/diagnostics.d.ts +1 -1
  349. package/schematics/cdk/schematics/update-tool/utils/diagnostics.js +3 -4
  350. package/schematics/cdk/schematics/update-tool/utils/diagnostics.js.map +1 -0
  351. package/schematics/cdk/schematics/update-tool/utils/functions.d.ts +1 -1
  352. package/schematics/cdk/schematics/update-tool/utils/functions.js +3 -4
  353. package/schematics/cdk/schematics/update-tool/utils/functions.js.map +1 -0
  354. package/schematics/cdk/schematics/update-tool/utils/imports.d.ts +1 -1
  355. package/schematics/cdk/schematics/update-tool/utils/imports.js +3 -4
  356. package/schematics/cdk/schematics/update-tool/utils/imports.js.map +1 -0
  357. package/schematics/cdk/schematics/update-tool/utils/line-mappings.d.ts +1 -1
  358. package/schematics/cdk/schematics/update-tool/utils/line-mappings.js +4 -5
  359. package/schematics/cdk/schematics/update-tool/utils/line-mappings.js.map +1 -0
  360. package/schematics/cdk/schematics/update-tool/utils/parse-tsconfig.d.ts +1 -1
  361. package/schematics/cdk/schematics/update-tool/utils/parse-tsconfig.js +4 -4
  362. package/schematics/cdk/schematics/update-tool/utils/parse-tsconfig.js.map +1 -0
  363. package/schematics/cdk/schematics/update-tool/utils/property-name.d.ts +1 -1
  364. package/schematics/cdk/schematics/update-tool/utils/property-name.js +4 -5
  365. package/schematics/cdk/schematics/update-tool/utils/property-name.js.map +1 -0
  366. package/schematics/cdk/schematics/update-tool/utils/virtual-host.d.ts +1 -1
  367. package/schematics/cdk/schematics/update-tool/utils/virtual-host.js +6 -7
  368. package/schematics/cdk/schematics/update-tool/utils/virtual-host.js.map +1 -0
  369. package/schematics/cdk/schematics/update-tool/version-changes.d.ts +1 -1
  370. package/schematics/cdk/schematics/update-tool/version-changes.js +4 -5
  371. package/schematics/cdk/schematics/update-tool/version-changes.js.map +1 -0
  372. package/schematics/cdk/schematics/utils/ast/ng-module-imports.d.ts +1 -1
  373. package/schematics/cdk/schematics/utils/ast/ng-module-imports.js +3 -4
  374. package/schematics/cdk/schematics/utils/ast/ng-module-imports.js.map +1 -0
  375. package/schematics/cdk/schematics/utils/ast.d.ts +3 -3
  376. package/schematics/cdk/schematics/utils/ast.js +28 -18
  377. package/schematics/cdk/schematics/utils/ast.js.map +1 -0
  378. package/schematics/cdk/schematics/utils/build-component.d.ts +1 -1
  379. package/schematics/cdk/schematics/utils/build-component.js +24 -20
  380. package/schematics/cdk/schematics/utils/build-component.js.map +1 -0
  381. package/schematics/cdk/schematics/utils/get-project.d.ts +3 -3
  382. package/schematics/cdk/schematics/utils/get-project.js +3 -4
  383. package/schematics/cdk/schematics/utils/get-project.js.map +1 -0
  384. package/schematics/cdk/schematics/utils/html-manipulation.d.ts +1 -1
  385. package/schematics/cdk/schematics/utils/html-manipulation.js +5 -6
  386. package/schematics/cdk/schematics/utils/html-manipulation.js.map +1 -0
  387. package/schematics/cdk/schematics/utils/index.d.ts +1 -1
  388. package/schematics/cdk/schematics/utils/index.js +2 -2
  389. package/schematics/cdk/schematics/utils/index.js.map +1 -0
  390. package/schematics/cdk/schematics/utils/parse5-element.d.ts +1 -1
  391. package/schematics/cdk/schematics/utils/parse5-element.js +3 -4
  392. package/schematics/cdk/schematics/utils/parse5-element.js.map +1 -0
  393. package/schematics/cdk/schematics/utils/project-index-file.d.ts +7 -4
  394. package/schematics/cdk/schematics/utils/project-index-file.js +32 -10
  395. package/schematics/cdk/schematics/utils/project-index-file.js.map +1 -0
  396. package/schematics/cdk/schematics/utils/project-main-file.d.ts +4 -3
  397. package/schematics/cdk/schematics/utils/project-main-file.js +3 -4
  398. package/schematics/cdk/schematics/utils/project-main-file.js.map +1 -0
  399. package/schematics/cdk/schematics/utils/project-style-file.d.ts +3 -3
  400. package/schematics/cdk/schematics/utils/project-style-file.js +3 -4
  401. package/schematics/cdk/schematics/utils/project-style-file.js.map +1 -0
  402. package/schematics/cdk/schematics/utils/project-targets.d.ts +6 -5
  403. package/schematics/cdk/schematics/utils/project-targets.js +19 -12
  404. package/schematics/cdk/schematics/utils/project-targets.js.map +1 -0
  405. package/schematics/cdk/schematics/utils/project-tsconfig-paths.d.ts +4 -4
  406. package/schematics/cdk/schematics/utils/project-tsconfig-paths.js +29 -18
  407. package/schematics/cdk/schematics/utils/project-tsconfig-paths.js.map +1 -0
  408. package/schematics/cdk/schematics/utils/schematic-options.d.ts +3 -3
  409. package/schematics/cdk/schematics/utils/schematic-options.js +30 -19
  410. package/schematics/cdk/schematics/utils/schematic-options.js.map +1 -0
  411. package/schematics/cdk2/schematics/collection.json +18 -0
  412. package/schematics/cdk2/schematics/index.d.ts +14 -0
  413. package/schematics/cdk2/schematics/index.mjs +37 -0
  414. package/schematics/cdk2/schematics/migration.json +15 -0
  415. package/schematics/cdk2/schematics/ng-add/index.d.ts +17 -0
  416. package/schematics/cdk2/schematics/ng-add/index.mjs +39 -0
  417. package/schematics/cdk2/schematics/ng-add/schema.d.ts +11 -0
  418. package/schematics/cdk2/schematics/ng-add/schema.json +16 -0
  419. package/schematics/cdk2/schematics/ng-add/schema.mjs +10 -0
  420. package/schematics/cdk2/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.__style__.template +53 -0
  421. package/schematics/cdk2/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +17 -0
  422. package/schematics/cdk2/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +25 -0
  423. package/schematics/cdk2/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +45 -0
  424. package/schematics/cdk2/schematics/ng-generate/drag-drop/index.d.ts +11 -0
  425. package/schematics/cdk2/schematics/ng-generate/drag-drop/index.mjs +33 -0
  426. package/schematics/cdk2/schematics/ng-generate/drag-drop/schema.d.ts +10 -0
  427. package/schematics/cdk2/schematics/ng-generate/drag-drop/schema.json +100 -0
  428. package/schematics/cdk2/schematics/ng-generate/drag-drop/schema.mjs +10 -0
  429. package/schematics/cdk2/schematics/ng-update/data/attribute-selectors.d.ts +15 -0
  430. package/schematics/cdk2/schematics/ng-update/data/attribute-selectors.mjs +12 -0
  431. package/schematics/cdk2/schematics/ng-update/data/class-names.d.ts +15 -0
  432. package/schematics/cdk2/schematics/ng-update/data/class-names.mjs +12 -0
  433. package/schematics/cdk2/schematics/ng-update/data/constructor-checks.d.ts +15 -0
  434. package/schematics/cdk2/schematics/ng-update/data/constructor-checks.mjs +17 -0
  435. package/schematics/cdk2/schematics/ng-update/data/css-selectors.d.ts +27 -0
  436. package/schematics/cdk2/schematics/ng-update/data/css-selectors.mjs +12 -0
  437. package/schematics/cdk2/schematics/ng-update/data/element-selectors.d.ts +15 -0
  438. package/schematics/cdk2/schematics/ng-update/data/element-selectors.mjs +12 -0
  439. package/schematics/cdk2/schematics/ng-update/data/index.d.ts +17 -0
  440. package/schematics/cdk2/schematics/ng-update/data/index.mjs +34 -0
  441. package/schematics/cdk2/schematics/ng-update/data/input-names.d.ts +22 -0
  442. package/schematics/cdk2/schematics/ng-update/data/input-names.mjs +12 -0
  443. package/schematics/cdk2/schematics/ng-update/data/method-call-checks.d.ts +17 -0
  444. package/schematics/cdk2/schematics/ng-update/data/method-call-checks.mjs +12 -0
  445. package/schematics/cdk2/schematics/ng-update/data/output-names.d.ts +22 -0
  446. package/schematics/cdk2/schematics/ng-update/data/output-names.mjs +12 -0
  447. package/schematics/cdk2/schematics/ng-update/data/property-names.d.ts +20 -0
  448. package/schematics/cdk2/schematics/ng-update/data/property-names.mjs +12 -0
  449. package/schematics/cdk2/schematics/ng-update/data/symbol-removal.d.ts +17 -0
  450. package/schematics/cdk2/schematics/ng-update/data/symbol-removal.mjs +12 -0
  451. package/schematics/cdk2/schematics/ng-update/devkit-file-system.d.ts +30 -0
  452. package/schematics/cdk2/schematics/ng-update/devkit-file-system.mjs +84 -0
  453. package/schematics/cdk2/schematics/ng-update/devkit-migration-rule.d.ts +24 -0
  454. package/schematics/cdk2/schematics/ng-update/devkit-migration-rule.mjs +131 -0
  455. package/schematics/cdk2/schematics/ng-update/devkit-migration.d.ts +35 -0
  456. package/schematics/cdk2/schematics/ng-update/devkit-migration.mjs +20 -0
  457. package/schematics/cdk2/schematics/ng-update/find-stylesheets.d.ts +16 -0
  458. package/schematics/cdk2/schematics/ng-update/find-stylesheets.mjs +42 -0
  459. package/schematics/cdk2/schematics/ng-update/html-parsing/angular.d.ts +15 -0
  460. package/schematics/cdk2/schematics/ng-update/html-parsing/angular.mjs +52 -0
  461. package/schematics/cdk2/schematics/ng-update/html-parsing/elements.d.ts +24 -0
  462. package/schematics/cdk2/schematics/ng-update/html-parsing/elements.mjs +63 -0
  463. package/schematics/cdk2/schematics/ng-update/index.d.ts +10 -0
  464. package/schematics/cdk2/schematics/ng-update/index.mjs +30 -0
  465. package/schematics/cdk2/schematics/ng-update/migrations/attribute-selectors.d.ts +26 -0
  466. package/schematics/cdk2/schematics/ng-update/migrations/attribute-selectors.mjs +68 -0
  467. package/schematics/cdk2/schematics/ng-update/migrations/class-inheritance.d.ts +26 -0
  468. package/schematics/cdk2/schematics/ng-update/migrations/class-inheritance.mjs +55 -0
  469. package/schematics/cdk2/schematics/ng-update/migrations/class-names.d.ts +32 -0
  470. package/schematics/cdk2/schematics/ng-update/migrations/class-names.mjs +88 -0
  471. package/schematics/cdk2/schematics/ng-update/migrations/constructor-signature.d.ts +29 -0
  472. package/schematics/cdk2/schematics/ng-update/migrations/constructor-signature.mjs +136 -0
  473. package/schematics/cdk2/schematics/ng-update/migrations/css-selectors.d.ts +26 -0
  474. package/schematics/cdk2/schematics/ng-update/migrations/css-selectors.mjs +72 -0
  475. package/schematics/cdk2/schematics/ng-update/migrations/element-selectors.d.ts +26 -0
  476. package/schematics/cdk2/schematics/ng-update/migrations/element-selectors.mjs +63 -0
  477. package/schematics/cdk2/schematics/ng-update/migrations/input-names.d.ts +26 -0
  478. package/schematics/cdk2/schematics/ng-update/migrations/input-names.mjs +56 -0
  479. package/schematics/cdk2/schematics/ng-update/migrations/method-call-arguments.d.ts +22 -0
  480. package/schematics/cdk2/schematics/ng-update/migrations/method-call-arguments.mjs +59 -0
  481. package/schematics/cdk2/schematics/ng-update/migrations/misc-template.d.ts +18 -0
  482. package/schematics/cdk2/schematics/ng-update/migrations/misc-template.mjs +22 -0
  483. package/schematics/cdk2/schematics/ng-update/migrations/output-names.d.ts +22 -0
  484. package/schematics/cdk2/schematics/ng-update/migrations/output-names.mjs +43 -0
  485. package/schematics/cdk2/schematics/ng-update/migrations/property-names.d.ts +22 -0
  486. package/schematics/cdk2/schematics/ng-update/migrations/property-names.mjs +57 -0
  487. package/schematics/cdk2/schematics/ng-update/migrations/symbol-removal.d.ts +18 -0
  488. package/schematics/cdk2/schematics/ng-update/migrations/symbol-removal.mjs +43 -0
  489. package/schematics/cdk2/schematics/ng-update/public-api.d.ts +19 -0
  490. package/schematics/cdk2/schematics/ng-update/public-api.mjs +36 -0
  491. package/schematics/cdk2/schematics/ng-update/typescript/base-types.d.ts +10 -0
  492. package/schematics/cdk2/schematics/ng-update/typescript/base-types.mjs +24 -0
  493. package/schematics/cdk2/schematics/ng-update/typescript/imports.d.ts +18 -0
  494. package/schematics/cdk2/schematics/ng-update/typescript/imports.mjs +54 -0
  495. package/schematics/cdk2/schematics/ng-update/typescript/literal.d.ts +18 -0
  496. package/schematics/cdk2/schematics/ng-update/typescript/literal.mjs +33 -0
  497. package/schematics/cdk2/schematics/ng-update/typescript/module-specifiers.d.ts +16 -0
  498. package/schematics/cdk2/schematics/ng-update/typescript/module-specifiers.mjs +35 -0
  499. package/schematics/cdk2/schematics/ng-update/upgrade-data.d.ts +34 -0
  500. package/schematics/cdk2/schematics/ng-update/upgrade-data.mjs +39 -0
  501. package/schematics/cdk2/schematics/package.json +3 -0
  502. package/schematics/cdk2/schematics/paths.d.ts +11 -0
  503. package/schematics/cdk2/schematics/paths.mjs +16 -0
  504. package/schematics/cdk2/schematics/update-tool/component-resource-collector.d.ts +44 -0
  505. package/schematics/cdk2/schematics/update-tool/component-resource-collector.mjs +166 -0
  506. package/schematics/cdk2/schematics/update-tool/file-system.d.ts +72 -0
  507. package/schematics/cdk2/schematics/update-tool/file-system.mjs +18 -0
  508. package/schematics/cdk2/schematics/update-tool/index.d.ts +74 -0
  509. package/schematics/cdk2/schematics/update-tool/index.mjs +178 -0
  510. package/schematics/cdk2/schematics/update-tool/logger.d.ts +15 -0
  511. package/schematics/cdk2/schematics/update-tool/logger.mjs +18 -0
  512. package/schematics/cdk2/schematics/update-tool/migration.d.ts +87 -0
  513. package/schematics/cdk2/schematics/update-tool/migration.mjs +77 -0
  514. package/schematics/cdk2/schematics/update-tool/public-api.d.ts +16 -0
  515. package/schematics/cdk2/schematics/update-tool/public-api.mjs +33 -0
  516. package/schematics/cdk2/schematics/update-tool/target-version.d.ts +16 -0
  517. package/schematics/cdk2/schematics/update-tool/target-version.mjs +28 -0
  518. package/schematics/cdk2/schematics/update-tool/update-recorder.d.ts +13 -0
  519. package/schematics/cdk2/schematics/update-tool/update-recorder.mjs +10 -0
  520. package/schematics/cdk2/schematics/update-tool/utils/decorators.d.ts +22 -0
  521. package/schematics/cdk2/schematics/update-tool/utils/decorators.mjs +42 -0
  522. package/schematics/cdk2/schematics/update-tool/utils/diagnostics.d.ts +11 -0
  523. package/schematics/cdk2/schematics/update-tool/utils/diagnostics.mjs +19 -0
  524. package/schematics/cdk2/schematics/update-tool/utils/functions.d.ts +14 -0
  525. package/schematics/cdk2/schematics/update-tool/utils/functions.mjs +21 -0
  526. package/schematics/cdk2/schematics/update-tool/utils/imports.d.ts +17 -0
  527. package/schematics/cdk2/schematics/update-tool/utils/imports.mjs +111 -0
  528. package/schematics/cdk2/schematics/update-tool/utils/line-mappings.d.ts +21 -0
  529. package/schematics/cdk2/schematics/update-tool/utils/line-mappings.mjs +76 -0
  530. package/schematics/cdk2/schematics/update-tool/utils/parse-tsconfig.d.ts +18 -0
  531. package/schematics/cdk2/schematics/update-tool/utils/parse-tsconfig.mjs +45 -0
  532. package/schematics/cdk2/schematics/update-tool/utils/property-name.d.ts +18 -0
  533. package/schematics/cdk2/schematics/update-tool/utils/property-name.mjs +28 -0
  534. package/schematics/cdk2/schematics/update-tool/utils/virtual-host.d.ts +36 -0
  535. package/schematics/cdk2/schematics/update-tool/utils/virtual-host.mjs +72 -0
  536. package/schematics/cdk2/schematics/update-tool/version-changes.d.ts +32 -0
  537. package/schematics/cdk2/schematics/update-tool/version-changes.mjs +39 -0
  538. package/schematics/cdk2/schematics/utils/ast/ng-module-imports.d.ts +12 -0
  539. package/schematics/cdk2/schematics/utils/ast/ng-module-imports.mjs +83 -0
  540. package/schematics/cdk2/schematics/utils/ast.d.ts +25 -0
  541. package/schematics/cdk2/schematics/utils/ast.mjs +69 -0
  542. package/schematics/cdk2/schematics/utils/build-component.d.ts +20 -0
  543. package/schematics/cdk2/schematics/utils/build-component.mjs +184 -0
  544. package/schematics/cdk2/schematics/utils/get-project.d.ts +13 -0
  545. package/schematics/cdk2/schematics/utils/get-project.mjs +29 -0
  546. package/schematics/cdk2/schematics/utils/html-manipulation.d.ts +15 -0
  547. package/schematics/cdk2/schematics/utils/html-manipulation.mjs +92 -0
  548. package/schematics/cdk2/schematics/utils/index.d.ts +19 -0
  549. package/schematics/cdk2/schematics/utils/index.mjs +36 -0
  550. package/schematics/cdk2/schematics/utils/parse5-element.d.ts +12 -0
  551. package/schematics/cdk2/schematics/utils/parse5-element.mjs +31 -0
  552. package/schematics/cdk2/schematics/utils/project-index-file.d.ts +10 -0
  553. package/schematics/cdk2/schematics/utils/project-index-file.mjs +21 -0
  554. package/schematics/cdk2/schematics/utils/project-main-file.d.ts +10 -0
  555. package/schematics/cdk2/schematics/utils/project-main-file.mjs +26 -0
  556. package/schematics/cdk2/schematics/utils/project-style-file.d.ts +13 -0
  557. package/schematics/cdk2/schematics/utils/project-style-file.mjs +43 -0
  558. package/schematics/cdk2/schematics/utils/project-targets.d.ts +14 -0
  559. package/schematics/cdk2/schematics/utils/project-targets.mjs +39 -0
  560. package/schematics/cdk2/schematics/utils/project-tsconfig-paths.d.ts +14 -0
  561. package/schematics/cdk2/schematics/utils/project-tsconfig-paths.mjs +35 -0
  562. package/schematics/cdk2/schematics/utils/schematic-options.d.ts +20 -0
  563. package/schematics/cdk2/schematics/utils/schematic-options.mjs +78 -0
  564. /package/schematics/{cdk/schematics/index.mjs → cdk2/schematics/index.js} +0 -0
  565. /package/schematics/{cdk/schematics/ng-add/index.mjs → cdk2/schematics/ng-add/index.js} +0 -0
  566. /package/schematics/{cdk → cdk2}/schematics/ng-add/package-config.d.ts +0 -0
  567. /package/schematics/{cdk → cdk2}/schematics/ng-add/package-config.js +0 -0
  568. /package/schematics/{cdk → cdk2}/schematics/ng-add/package-config.mjs +0 -0
  569. /package/schematics/{cdk/schematics/ng-add/schema.mjs → cdk2/schematics/ng-add/schema.js} +0 -0
  570. /package/schematics/{cdk/schematics/ng-generate/drag-drop/index.mjs → cdk2/schematics/ng-generate/drag-drop/index.js} +0 -0
  571. /package/schematics/{cdk/schematics/ng-generate/drag-drop/schema.mjs → cdk2/schematics/ng-generate/drag-drop/schema.js} +0 -0
  572. /package/schematics/{cdk/schematics/ng-update/data/attribute-selectors.mjs → cdk2/schematics/ng-update/data/attribute-selectors.js} +0 -0
  573. /package/schematics/{cdk/schematics/ng-update/data/class-names.mjs → cdk2/schematics/ng-update/data/class-names.js} +0 -0
  574. /package/schematics/{cdk/schematics/ng-update/data/constructor-checks.mjs → cdk2/schematics/ng-update/data/constructor-checks.js} +0 -0
  575. /package/schematics/{cdk/schematics/ng-update/data/css-selectors.mjs → cdk2/schematics/ng-update/data/css-selectors.js} +0 -0
  576. /package/schematics/{cdk/schematics/ng-update/data/element-selectors.mjs → cdk2/schematics/ng-update/data/element-selectors.js} +0 -0
  577. /package/schematics/{cdk/schematics/ng-update/data/index.mjs → cdk2/schematics/ng-update/data/index.js} +0 -0
  578. /package/schematics/{cdk/schematics/ng-update/data/input-names.mjs → cdk2/schematics/ng-update/data/input-names.js} +0 -0
  579. /package/schematics/{cdk/schematics/ng-update/data/method-call-checks.mjs → cdk2/schematics/ng-update/data/method-call-checks.js} +0 -0
  580. /package/schematics/{cdk/schematics/ng-update/data/output-names.mjs → cdk2/schematics/ng-update/data/output-names.js} +0 -0
  581. /package/schematics/{cdk/schematics/ng-update/data/property-names.mjs → cdk2/schematics/ng-update/data/property-names.js} +0 -0
  582. /package/schematics/{cdk/schematics/ng-update/data/symbol-removal.mjs → cdk2/schematics/ng-update/data/symbol-removal.js} +0 -0
  583. /package/schematics/{cdk/schematics/ng-update/devkit-file-system.mjs → cdk2/schematics/ng-update/devkit-file-system.js} +0 -0
  584. /package/schematics/{cdk/schematics/ng-update/devkit-migration-rule.mjs → cdk2/schematics/ng-update/devkit-migration-rule.js} +0 -0
  585. /package/schematics/{cdk/schematics/ng-update/devkit-migration.mjs → cdk2/schematics/ng-update/devkit-migration.js} +0 -0
  586. /package/schematics/{cdk/schematics/ng-update/find-stylesheets.mjs → cdk2/schematics/ng-update/find-stylesheets.js} +0 -0
  587. /package/schematics/{cdk/schematics/ng-update/html-parsing/angular.mjs → cdk2/schematics/ng-update/html-parsing/angular.js} +0 -0
  588. /package/schematics/{cdk/schematics/ng-update/html-parsing/elements.mjs → cdk2/schematics/ng-update/html-parsing/elements.js} +0 -0
  589. /package/schematics/{cdk/schematics/ng-update/index.mjs → cdk2/schematics/ng-update/index.js} +0 -0
  590. /package/schematics/{cdk/schematics/ng-update/migrations/attribute-selectors.mjs → cdk2/schematics/ng-update/migrations/attribute-selectors.js} +0 -0
  591. /package/schematics/{cdk/schematics/ng-update/migrations/class-inheritance.mjs → cdk2/schematics/ng-update/migrations/class-inheritance.js} +0 -0
  592. /package/schematics/{cdk/schematics/ng-update/migrations/class-names.mjs → cdk2/schematics/ng-update/migrations/class-names.js} +0 -0
  593. /package/schematics/{cdk/schematics/ng-update/migrations/constructor-signature.mjs → cdk2/schematics/ng-update/migrations/constructor-signature.js} +0 -0
  594. /package/schematics/{cdk/schematics/ng-update/migrations/css-selectors.mjs → cdk2/schematics/ng-update/migrations/css-selectors.js} +0 -0
  595. /package/schematics/{cdk/schematics/ng-update/migrations/element-selectors.mjs → cdk2/schematics/ng-update/migrations/element-selectors.js} +0 -0
  596. /package/schematics/{cdk/schematics/ng-update/migrations/input-names.mjs → cdk2/schematics/ng-update/migrations/input-names.js} +0 -0
  597. /package/schematics/{cdk/schematics/ng-update/migrations/method-call-arguments.mjs → cdk2/schematics/ng-update/migrations/method-call-arguments.js} +0 -0
  598. /package/schematics/{cdk/schematics/ng-update/migrations/misc-template.mjs → cdk2/schematics/ng-update/migrations/misc-template.js} +0 -0
  599. /package/schematics/{cdk/schematics/ng-update/migrations/output-names.mjs → cdk2/schematics/ng-update/migrations/output-names.js} +0 -0
  600. /package/schematics/{cdk/schematics/ng-update/migrations/property-names.mjs → cdk2/schematics/ng-update/migrations/property-names.js} +0 -0
  601. /package/schematics/{cdk/schematics/ng-update/migrations/symbol-removal.mjs → cdk2/schematics/ng-update/migrations/symbol-removal.js} +0 -0
  602. /package/schematics/{cdk/schematics/ng-update/public-api.mjs → cdk2/schematics/ng-update/public-api.js} +0 -0
  603. /package/schematics/{cdk/schematics/ng-update/typescript/base-types.mjs → cdk2/schematics/ng-update/typescript/base-types.js} +0 -0
  604. /package/schematics/{cdk/schematics/ng-update/typescript/imports.mjs → cdk2/schematics/ng-update/typescript/imports.js} +0 -0
  605. /package/schematics/{cdk/schematics/ng-update/typescript/literal.mjs → cdk2/schematics/ng-update/typescript/literal.js} +0 -0
  606. /package/schematics/{cdk/schematics/ng-update/typescript/module-specifiers.mjs → cdk2/schematics/ng-update/typescript/module-specifiers.js} +0 -0
  607. /package/schematics/{cdk/schematics/ng-update/upgrade-data.mjs → cdk2/schematics/ng-update/upgrade-data.js} +0 -0
  608. /package/schematics/{cdk/schematics/paths.mjs → cdk2/schematics/paths.js} +0 -0
  609. /package/schematics/{cdk → cdk2}/schematics/schematics.externs.js +0 -0
  610. /package/schematics/{cdk → cdk2}/schematics/tsconfig.json +0 -0
  611. /package/schematics/{cdk/schematics/update-tool/component-resource-collector.mjs → cdk2/schematics/update-tool/component-resource-collector.js} +0 -0
  612. /package/schematics/{cdk/schematics/update-tool/file-system.mjs → cdk2/schematics/update-tool/file-system.js} +0 -0
  613. /package/schematics/{cdk/schematics/update-tool/index.mjs → cdk2/schematics/update-tool/index.js} +0 -0
  614. /package/schematics/{cdk/schematics/update-tool/logger.mjs → cdk2/schematics/update-tool/logger.js} +0 -0
  615. /package/schematics/{cdk/schematics/update-tool/migration.mjs → cdk2/schematics/update-tool/migration.js} +0 -0
  616. /package/schematics/{cdk/schematics/update-tool/public-api.mjs → cdk2/schematics/update-tool/public-api.js} +0 -0
  617. /package/schematics/{cdk/schematics/update-tool/target-version.mjs → cdk2/schematics/update-tool/target-version.js} +0 -0
  618. /package/schematics/{cdk/schematics/update-tool/update-recorder.mjs → cdk2/schematics/update-tool/update-recorder.js} +0 -0
  619. /package/schematics/{cdk → cdk2}/schematics/update-tool/update-tool.externs.js +0 -0
  620. /package/schematics/{cdk/schematics/update-tool/utils/decorators.mjs → cdk2/schematics/update-tool/utils/decorators.js} +0 -0
  621. /package/schematics/{cdk/schematics/update-tool/utils/diagnostics.mjs → cdk2/schematics/update-tool/utils/diagnostics.js} +0 -0
  622. /package/schematics/{cdk/schematics/update-tool/utils/functions.mjs → cdk2/schematics/update-tool/utils/functions.js} +0 -0
  623. /package/schematics/{cdk/schematics/update-tool/utils/imports.mjs → cdk2/schematics/update-tool/utils/imports.js} +0 -0
  624. /package/schematics/{cdk/schematics/update-tool/utils/line-mappings.mjs → cdk2/schematics/update-tool/utils/line-mappings.js} +0 -0
  625. /package/schematics/{cdk/schematics/update-tool/utils/parse-tsconfig.mjs → cdk2/schematics/update-tool/utils/parse-tsconfig.js} +0 -0
  626. /package/schematics/{cdk/schematics/update-tool/utils/property-name.mjs → cdk2/schematics/update-tool/utils/property-name.js} +0 -0
  627. /package/schematics/{cdk/schematics/update-tool/utils/virtual-host.mjs → cdk2/schematics/update-tool/utils/virtual-host.js} +0 -0
  628. /package/schematics/{cdk/schematics/update-tool/version-changes.mjs → cdk2/schematics/update-tool/version-changes.js} +0 -0
  629. /package/schematics/{cdk/schematics/utils/ast/ng-module-imports.mjs → cdk2/schematics/utils/ast/ng-module-imports.js} +0 -0
  630. /package/schematics/{cdk/schematics/utils/ast.mjs → cdk2/schematics/utils/ast.js} +0 -0
  631. /package/schematics/{cdk/schematics/utils/build-component.mjs → cdk2/schematics/utils/build-component.js} +0 -0
  632. /package/schematics/{cdk/schematics/utils/get-project.mjs → cdk2/schematics/utils/get-project.js} +0 -0
  633. /package/schematics/{cdk/schematics/utils/html-manipulation.mjs → cdk2/schematics/utils/html-manipulation.js} +0 -0
  634. /package/schematics/{cdk/schematics/utils/index.mjs → cdk2/schematics/utils/index.js} +0 -0
  635. /package/schematics/{cdk/schematics/utils/parse5-element.mjs → cdk2/schematics/utils/parse5-element.js} +0 -0
  636. /package/schematics/{cdk/schematics/utils/project-index-file.mjs → cdk2/schematics/utils/project-index-file.js} +0 -0
  637. /package/schematics/{cdk/schematics/utils/project-main-file.mjs → cdk2/schematics/utils/project-main-file.js} +0 -0
  638. /package/schematics/{cdk/schematics/utils/project-style-file.mjs → cdk2/schematics/utils/project-style-file.js} +0 -0
  639. /package/schematics/{cdk/schematics/utils/project-targets.mjs → cdk2/schematics/utils/project-targets.js} +0 -0
  640. /package/schematics/{cdk/schematics/utils/project-tsconfig-paths.mjs → cdk2/schematics/utils/project-tsconfig-paths.js} +0 -0
  641. /package/schematics/{cdk/schematics/utils/schematic-options.mjs → cdk2/schematics/utils/schematic-options.js} +0 -0
@@ -0,0 +1,39 @@
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.getAllChanges = exports.getChangesForTarget = void 0;
11
+ const target_version_1 = require("./target-version");
12
+ /**
13
+ * Gets the changes for a given target version from the specified version changes object.
14
+ *
15
+ * For readability and a good overview of breaking changes, the version change data always
16
+ * includes the related Pull Request link. Since this data is not needed when performing the
17
+ * upgrade, this unused data can be removed and the changes data can be flattened into an
18
+ * easy iterable array.
19
+ */
20
+ function getChangesForTarget(target, data) {
21
+ if (!data) {
22
+ const version = target_version_1.TargetVersion[target];
23
+ throw new Error(`No data could be found for target version: ${version}`);
24
+ }
25
+ return (data[target] || []).reduce((result, prData) => result.concat(prData.changes), []);
26
+ }
27
+ exports.getChangesForTarget = getChangesForTarget;
28
+ /**
29
+ * Gets all changes from the specified version changes object. This is helpful in case a migration
30
+ * rule does not distinguish data based on the target version, but for readability the
31
+ * upgrade data is separated for each target version.
32
+ */
33
+ function getAllChanges(data) {
34
+ return Object.keys(data)
35
+ .map(targetVersion => getChangesForTarget(targetVersion, data))
36
+ .reduce((result, versionData) => result.concat(versionData), []);
37
+ }
38
+ exports.getAllChanges = getAllChanges;
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi1jaGFuZ2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Nkay9zY2hlbWF0aWNzL3VwZGF0ZS10b29sL3ZlcnNpb24tY2hhbmdlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7QUFFSCxxREFBK0M7QUFjL0M7Ozs7Ozs7R0FPRztBQUNILFNBQWdCLG1CQUFtQixDQUFJLE1BQXFCLEVBQUUsSUFBdUI7SUFDbkYsSUFBSSxDQUFDLElBQUksRUFBRTtRQUNULE1BQU0sT0FBTyxHQUFJLDhCQUF3QyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sSUFBSSxLQUFLLENBQUMsOENBQThDLE9BQU8sRUFBRSxDQUFDLENBQUM7S0FDMUU7SUFFRCxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQVMsQ0FBQyxDQUFDO0FBQ25HLENBQUM7QUFQRCxrREFPQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixhQUFhLENBQUksSUFBdUI7SUFDdEQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztTQUNyQixHQUFHLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxhQUE4QixFQUFFLElBQUksQ0FBQyxDQUFDO1NBQy9FLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDckUsQ0FBQztBQUpELHNDQUlDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7VGFyZ2V0VmVyc2lvbn0gZnJvbSAnLi90YXJnZXQtdmVyc2lvbic7XG5cbmV4cG9ydCB0eXBlIFZlcnNpb25DaGFuZ2VzPFQ+ID0ge1xuICBbdGFyZ2V0IGluIFRhcmdldFZlcnNpb25dPzogUmVhZGFibGVDaGFuZ2U8VD5bXTtcbn07XG5cbmV4cG9ydCB0eXBlIFJlYWRhYmxlQ2hhbmdlPFQ+ID0ge1xuICBwcjogc3RyaW5nO1xuICBjaGFuZ2VzOiBUW107XG59O1xuXG4vKiogQ29uZGl0aW9uYWwgdHlwZSB0aGF0IHVud3JhcHMgdGhlIHZhbHVlIG9mIGEgdmVyc2lvbiBjaGFuZ2VzIHR5cGUuICovXG5leHBvcnQgdHlwZSBWYWx1ZU9mQ2hhbmdlczxUPiA9IFQgZXh0ZW5kcyBWZXJzaW9uQ2hhbmdlczxpbmZlciBYPiA/IFggOiBudWxsO1xuXG4vKipcbiAqIEdldHMgdGhlIGNoYW5nZXMgZm9yIGEgZ2l2ZW4gdGFyZ2V0IHZlcnNpb24gZnJvbSB0aGUgc3BlY2lmaWVkIHZlcnNpb24gY2hhbmdlcyBvYmplY3QuXG4gKlxuICogRm9yIHJlYWRhYmlsaXR5IGFuZCBhIGdvb2Qgb3ZlcnZpZXcgb2YgYnJlYWtpbmcgY2hhbmdlcywgdGhlIHZlcnNpb24gY2hhbmdlIGRhdGEgYWx3YXlzXG4gKiBpbmNsdWRlcyB0aGUgcmVsYXRlZCBQdWxsIFJlcXVlc3QgbGluay4gU2luY2UgdGhpcyBkYXRhIGlzIG5vdCBuZWVkZWQgd2hlbiBwZXJmb3JtaW5nIHRoZVxuICogdXBncmFkZSwgdGhpcyB1bnVzZWQgZGF0YSBjYW4gYmUgcmVtb3ZlZCBhbmQgdGhlIGNoYW5nZXMgZGF0YSBjYW4gYmUgZmxhdHRlbmVkIGludG8gYW5cbiAqIGVhc3kgaXRlcmFibGUgYXJyYXkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRDaGFuZ2VzRm9yVGFyZ2V0PFQ+KHRhcmdldDogVGFyZ2V0VmVyc2lvbiwgZGF0YTogVmVyc2lvbkNoYW5nZXM8VD4pOiBUW10ge1xuICBpZiAoIWRhdGEpIHtcbiAgICBjb25zdCB2ZXJzaW9uID0gKFRhcmdldFZlcnNpb24gYXMgUmVjb3JkPHN0cmluZywgc3RyaW5nPilbdGFyZ2V0XTtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIGRhdGEgY291bGQgYmUgZm91bmQgZm9yIHRhcmdldCB2ZXJzaW9uOiAke3ZlcnNpb259YCk7XG4gIH1cblxuICByZXR1cm4gKGRhdGFbdGFyZ2V0XSB8fCBbXSkucmVkdWNlKChyZXN1bHQsIHByRGF0YSkgPT4gcmVzdWx0LmNvbmNhdChwckRhdGEuY2hhbmdlcyksIFtdIGFzIFRbXSk7XG59XG5cbi8qKlxuICogR2V0cyBhbGwgY2hhbmdlcyBmcm9tIHRoZSBzcGVjaWZpZWQgdmVyc2lvbiBjaGFuZ2VzIG9iamVjdC4gVGhpcyBpcyBoZWxwZnVsIGluIGNhc2UgYSBtaWdyYXRpb25cbiAqIHJ1bGUgZG9lcyBub3QgZGlzdGluZ3Vpc2ggZGF0YSBiYXNlZCBvbiB0aGUgdGFyZ2V0IHZlcnNpb24sIGJ1dCBmb3IgcmVhZGFiaWxpdHkgdGhlXG4gKiB1cGdyYWRlIGRhdGEgaXMgc2VwYXJhdGVkIGZvciBlYWNoIHRhcmdldCB2ZXJzaW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWxsQ2hhbmdlczxUPihkYXRhOiBWZXJzaW9uQ2hhbmdlczxUPik6IFRbXSB7XG4gIHJldHVybiBPYmplY3Qua2V5cyhkYXRhKVxuICAgIC5tYXAodGFyZ2V0VmVyc2lvbiA9PiBnZXRDaGFuZ2VzRm9yVGFyZ2V0KHRhcmdldFZlcnNpb24gYXMgVGFyZ2V0VmVyc2lvbiwgZGF0YSkpXG4gICAgLnJlZHVjZSgocmVzdWx0LCB2ZXJzaW9uRGF0YSkgPT4gcmVzdWx0LmNvbmNhdCh2ZXJzaW9uRGF0YSksIFtdKTtcbn1cbiJdfQ==
@@ -0,0 +1,12 @@
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 { Tree } from '@angular-devkit/schematics';
9
+ /**
10
+ * Whether the Angular module in the given path imports the specified module class name.
11
+ */
12
+ export declare function hasNgModuleImport(tree: Tree, modulePath: string, className: string): boolean;
@@ -0,0 +1,83 @@
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.hasNgModuleImport = void 0;
11
+ const schematics_1 = require("@angular-devkit/schematics");
12
+ const ts = require("typescript");
13
+ /**
14
+ * Whether the Angular module in the given path imports the specified module class name.
15
+ */
16
+ function hasNgModuleImport(tree, modulePath, className) {
17
+ const moduleFileContent = tree.read(modulePath);
18
+ if (!moduleFileContent) {
19
+ throw new schematics_1.SchematicsException(`Could not read Angular module file: ${modulePath}`);
20
+ }
21
+ const parsedFile = ts.createSourceFile(modulePath, moduleFileContent.toString(), ts.ScriptTarget.Latest, true);
22
+ const ngModuleMetadata = findNgModuleMetadata(parsedFile);
23
+ if (!ngModuleMetadata) {
24
+ throw new schematics_1.SchematicsException(`Could not find NgModule declaration inside: "${modulePath}"`);
25
+ }
26
+ for (let property of ngModuleMetadata.properties) {
27
+ if (!ts.isPropertyAssignment(property) ||
28
+ property.name.getText() !== 'imports' ||
29
+ !ts.isArrayLiteralExpression(property.initializer)) {
30
+ continue;
31
+ }
32
+ if (property.initializer.elements.some(element => element.getText() === className)) {
33
+ return true;
34
+ }
35
+ }
36
+ return false;
37
+ }
38
+ exports.hasNgModuleImport = hasNgModuleImport;
39
+ /**
40
+ * Resolves the last identifier that is part of the given expression. This helps resolving
41
+ * identifiers of nested property access expressions (e.g. myNamespace.core.NgModule).
42
+ */
43
+ function resolveIdentifierOfExpression(expression) {
44
+ if (ts.isIdentifier(expression)) {
45
+ return expression;
46
+ }
47
+ else if (ts.isPropertyAccessExpression(expression) && ts.isIdentifier(expression.name)) {
48
+ return expression.name;
49
+ }
50
+ return null;
51
+ }
52
+ /**
53
+ * Finds a NgModule declaration within the specified TypeScript node and returns the
54
+ * corresponding metadata for it. This function searches breadth first because
55
+ * NgModule's are usually not nested within other expressions or declarations.
56
+ */
57
+ function findNgModuleMetadata(rootNode) {
58
+ // Add immediate child nodes of the root node to the queue.
59
+ const nodeQueue = [...rootNode.getChildren()];
60
+ while (nodeQueue.length) {
61
+ const node = nodeQueue.shift();
62
+ if (ts.isDecorator(node) &&
63
+ ts.isCallExpression(node.expression) &&
64
+ isNgModuleCallExpression(node.expression)) {
65
+ return node.expression.arguments[0];
66
+ }
67
+ else {
68
+ nodeQueue.push(...node.getChildren());
69
+ }
70
+ }
71
+ return null;
72
+ }
73
+ /** Whether the specified call expression is referring to a NgModule definition. */
74
+ function isNgModuleCallExpression(callExpression) {
75
+ if (!callExpression.arguments.length ||
76
+ !ts.isObjectLiteralExpression(callExpression.arguments[0])) {
77
+ return false;
78
+ }
79
+ // The `NgModule` call expression name is never referring to a `PrivateIdentifier`.
80
+ const decoratorIdentifier = resolveIdentifierOfExpression(callExpression.expression);
81
+ return decoratorIdentifier ? decoratorIdentifier.text === 'NgModule' : false;
82
+ }
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctbW9kdWxlLWltcG9ydHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2RrL3NjaGVtYXRpY3MvdXRpbHMvYXN0L25nLW1vZHVsZS1pbXBvcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7OztBQUVILDJEQUFxRTtBQUNyRSxpQ0FBaUM7QUFFakM7O0dBRUc7QUFDSCxTQUFnQixpQkFBaUIsQ0FBQyxJQUFVLEVBQUUsVUFBa0IsRUFBRSxTQUFpQjtJQUNqRixNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFaEQsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1FBQ3RCLE1BQU0sSUFBSSxnQ0FBbUIsQ0FBQyx1Q0FBdUMsVUFBVSxFQUFFLENBQUMsQ0FBQztLQUNwRjtJQUVELE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FDcEMsVUFBVSxFQUNWLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxFQUM1QixFQUFFLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFDdEIsSUFBSSxDQUNMLENBQUM7SUFDRixNQUFNLGdCQUFnQixHQUFHLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRTFELElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtRQUNyQixNQUFNLElBQUksZ0NBQW1CLENBQUMsZ0RBQWdELFVBQVUsR0FBRyxDQUFDLENBQUM7S0FDOUY7SUFFRCxLQUFLLElBQUksUUFBUSxJQUFJLGdCQUFpQixDQUFDLFVBQVUsRUFBRTtRQUNqRCxJQUNFLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQztZQUNsQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLFNBQVM7WUFDckMsQ0FBQyxFQUFFLENBQUMsd0JBQXdCLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUNsRDtZQUNBLFNBQVM7U0FDVjtRQUVELElBQUksUUFBUSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLFNBQVMsQ0FBQyxFQUFFO1lBQ2xGLE9BQU8sSUFBSSxDQUFDO1NBQ2I7S0FDRjtJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQWxDRCw4Q0FrQ0M7QUFFRDs7O0dBR0c7QUFDSCxTQUFTLDZCQUE2QixDQUFDLFVBQXlCO0lBQzlELElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsRUFBRTtRQUMvQixPQUFPLFVBQVUsQ0FBQztLQUNuQjtTQUFNLElBQUksRUFBRSxDQUFDLDBCQUEwQixDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3hGLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQztLQUN4QjtJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFTLG9CQUFvQixDQUFDLFFBQWlCO0lBQzdDLDJEQUEyRDtJQUMzRCxNQUFNLFNBQVMsR0FBYyxDQUFDLEdBQUcsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFFekQsT0FBTyxTQUFTLENBQUMsTUFBTSxFQUFFO1FBQ3ZCLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxLQUFLLEVBQUcsQ0FBQztRQUVoQyxJQUNFLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQ3BCLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ3BDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFDekM7WUFDQSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBK0IsQ0FBQztTQUNuRTthQUFNO1lBQ0wsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1NBQ3ZDO0tBQ0Y7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxtRkFBbUY7QUFDbkYsU0FBUyx3QkFBd0IsQ0FBQyxjQUFpQztJQUNqRSxJQUNFLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxNQUFNO1FBQ2hDLENBQUMsRUFBRSxDQUFDLHlCQUF5QixDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDMUQ7UUFDQSxPQUFPLEtBQUssQ0FBQztLQUNkO0lBRUQsbUZBQW1GO0lBQ25GLE1BQU0sbUJBQW1CLEdBQUcsNkJBQTZCLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3JGLE9BQU8sbUJBQW1CLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLElBQUksS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUMvRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7U2NoZW1hdGljc0V4Y2VwdGlvbiwgVHJlZX0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L3NjaGVtYXRpY3MnO1xuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5cbi8qKlxuICogV2hldGhlciB0aGUgQW5ndWxhciBtb2R1bGUgaW4gdGhlIGdpdmVuIHBhdGggaW1wb3J0cyB0aGUgc3BlY2lmaWVkIG1vZHVsZSBjbGFzcyBuYW1lLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaGFzTmdNb2R1bGVJbXBvcnQodHJlZTogVHJlZSwgbW9kdWxlUGF0aDogc3RyaW5nLCBjbGFzc05hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBjb25zdCBtb2R1bGVGaWxlQ29udGVudCA9IHRyZWUucmVhZChtb2R1bGVQYXRoKTtcblxuICBpZiAoIW1vZHVsZUZpbGVDb250ZW50KSB7XG4gICAgdGhyb3cgbmV3IFNjaGVtYXRpY3NFeGNlcHRpb24oYENvdWxkIG5vdCByZWFkIEFuZ3VsYXIgbW9kdWxlIGZpbGU6ICR7bW9kdWxlUGF0aH1gKTtcbiAgfVxuXG4gIGNvbnN0IHBhcnNlZEZpbGUgPSB0cy5jcmVhdGVTb3VyY2VGaWxlKFxuICAgIG1vZHVsZVBhdGgsXG4gICAgbW9kdWxlRmlsZUNvbnRlbnQudG9TdHJpbmcoKSxcbiAgICB0cy5TY3JpcHRUYXJnZXQuTGF0ZXN0LFxuICAgIHRydWUsXG4gICk7XG4gIGNvbnN0IG5nTW9kdWxlTWV0YWRhdGEgPSBmaW5kTmdNb2R1bGVNZXRhZGF0YShwYXJzZWRGaWxlKTtcblxuICBpZiAoIW5nTW9kdWxlTWV0YWRhdGEpIHtcbiAgICB0aHJvdyBuZXcgU2NoZW1hdGljc0V4Y2VwdGlvbihgQ291bGQgbm90IGZpbmQgTmdNb2R1bGUgZGVjbGFyYXRpb24gaW5zaWRlOiBcIiR7bW9kdWxlUGF0aH1cImApO1xuICB9XG5cbiAgZm9yIChsZXQgcHJvcGVydHkgb2YgbmdNb2R1bGVNZXRhZGF0YSEucHJvcGVydGllcykge1xuICAgIGlmIChcbiAgICAgICF0cy5pc1Byb3BlcnR5QXNzaWdubWVudChwcm9wZXJ0eSkgfHxcbiAgICAgIHByb3BlcnR5Lm5hbWUuZ2V0VGV4dCgpICE9PSAnaW1wb3J0cycgfHxcbiAgICAgICF0cy5pc0FycmF5TGl0ZXJhbEV4cHJlc3Npb24ocHJvcGVydHkuaW5pdGlhbGl6ZXIpXG4gICAgKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAocHJvcGVydHkuaW5pdGlhbGl6ZXIuZWxlbWVudHMuc29tZShlbGVtZW50ID0+IGVsZW1lbnQuZ2V0VGV4dCgpID09PSBjbGFzc05hbWUpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgdGhlIGxhc3QgaWRlbnRpZmllciB0aGF0IGlzIHBhcnQgb2YgdGhlIGdpdmVuIGV4cHJlc3Npb24uIFRoaXMgaGVscHMgcmVzb2x2aW5nXG4gKiBpZGVudGlmaWVycyBvZiBuZXN0ZWQgcHJvcGVydHkgYWNjZXNzIGV4cHJlc3Npb25zIChlLmcuIG15TmFtZXNwYWNlLmNvcmUuTmdNb2R1bGUpLlxuICovXG5mdW5jdGlvbiByZXNvbHZlSWRlbnRpZmllck9mRXhwcmVzc2lvbihleHByZXNzaW9uOiB0cy5FeHByZXNzaW9uKTogdHMuSWRlbnRpZmllciB8IG51bGwge1xuICBpZiAodHMuaXNJZGVudGlmaWVyKGV4cHJlc3Npb24pKSB7XG4gICAgcmV0dXJuIGV4cHJlc3Npb247XG4gIH0gZWxzZSBpZiAodHMuaXNQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24oZXhwcmVzc2lvbikgJiYgdHMuaXNJZGVudGlmaWVyKGV4cHJlc3Npb24ubmFtZSkpIHtcbiAgICByZXR1cm4gZXhwcmVzc2lvbi5uYW1lO1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG4vKipcbiAqIEZpbmRzIGEgTmdNb2R1bGUgZGVjbGFyYXRpb24gd2l0aGluIHRoZSBzcGVjaWZpZWQgVHlwZVNjcmlwdCBub2RlIGFuZCByZXR1cm5zIHRoZVxuICogY29ycmVzcG9uZGluZyBtZXRhZGF0YSBmb3IgaXQuIFRoaXMgZnVuY3Rpb24gc2VhcmNoZXMgYnJlYWR0aCBmaXJzdCBiZWNhdXNlXG4gKiBOZ01vZHVsZSdzIGFyZSB1c3VhbGx5IG5vdCBuZXN0ZWQgd2l0aGluIG90aGVyIGV4cHJlc3Npb25zIG9yIGRlY2xhcmF0aW9ucy5cbiAqL1xuZnVuY3Rpb24gZmluZE5nTW9kdWxlTWV0YWRhdGEocm9vdE5vZGU6IHRzLk5vZGUpOiB0cy5PYmplY3RMaXRlcmFsRXhwcmVzc2lvbiB8IG51bGwge1xuICAvLyBBZGQgaW1tZWRpYXRlIGNoaWxkIG5vZGVzIG9mIHRoZSByb290IG5vZGUgdG8gdGhlIHF1ZXVlLlxuICBjb25zdCBub2RlUXVldWU6IHRzLk5vZGVbXSA9IFsuLi5yb290Tm9kZS5nZXRDaGlsZHJlbigpXTtcblxuICB3aGlsZSAobm9kZVF1ZXVlLmxlbmd0aCkge1xuICAgIGNvbnN0IG5vZGUgPSBub2RlUXVldWUuc2hpZnQoKSE7XG5cbiAgICBpZiAoXG4gICAgICB0cy5pc0RlY29yYXRvcihub2RlKSAmJlxuICAgICAgdHMuaXNDYWxsRXhwcmVzc2lvbihub2RlLmV4cHJlc3Npb24pICYmXG4gICAgICBpc05nTW9kdWxlQ2FsbEV4cHJlc3Npb24obm9kZS5leHByZXNzaW9uKVxuICAgICkge1xuICAgICAgcmV0dXJuIG5vZGUuZXhwcmVzc2lvbi5hcmd1bWVudHNbMF0gYXMgdHMuT2JqZWN0TGl0ZXJhbEV4cHJlc3Npb247XG4gICAgfSBlbHNlIHtcbiAgICAgIG5vZGVRdWV1ZS5wdXNoKC4uLm5vZGUuZ2V0Q2hpbGRyZW4oKSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8qKiBXaGV0aGVyIHRoZSBzcGVjaWZpZWQgY2FsbCBleHByZXNzaW9uIGlzIHJlZmVycmluZyB0byBhIE5nTW9kdWxlIGRlZmluaXRpb24uICovXG5mdW5jdGlvbiBpc05nTW9kdWxlQ2FsbEV4cHJlc3Npb24oY2FsbEV4cHJlc3Npb246IHRzLkNhbGxFeHByZXNzaW9uKTogYm9vbGVhbiB7XG4gIGlmIChcbiAgICAhY2FsbEV4cHJlc3Npb24uYXJndW1lbnRzLmxlbmd0aCB8fFxuICAgICF0cy5pc09iamVjdExpdGVyYWxFeHByZXNzaW9uKGNhbGxFeHByZXNzaW9uLmFyZ3VtZW50c1swXSlcbiAgKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLy8gVGhlIGBOZ01vZHVsZWAgY2FsbCBleHByZXNzaW9uIG5hbWUgaXMgbmV2ZXIgcmVmZXJyaW5nIHRvIGEgYFByaXZhdGVJZGVudGlmaWVyYC5cbiAgY29uc3QgZGVjb3JhdG9ySWRlbnRpZmllciA9IHJlc29sdmVJZGVudGlmaWVyT2ZFeHByZXNzaW9uKGNhbGxFeHByZXNzaW9uLmV4cHJlc3Npb24pO1xuICByZXR1cm4gZGVjb3JhdG9ySWRlbnRpZmllciA/IGRlY29yYXRvcklkZW50aWZpZXIudGV4dCA9PT0gJ05nTW9kdWxlJyA6IGZhbHNlO1xufVxuIl19
@@ -0,0 +1,25 @@
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 { Tree } from '@angular-devkit/schematics';
9
+ import { Schema as ComponentOptions } from '@schematics/angular/component/schema';
10
+ import { workspaces } from '@angular-devkit/core';
11
+ import * as ts from 'typescript';
12
+ /** Reads file given path and returns TypeScript source file. */
13
+ export declare function parseSourceFile(host: Tree, path: string): ts.SourceFile;
14
+ /** Import and add module to root app module. */
15
+ export declare function addModuleImportToRootModule(host: Tree, moduleName: string, src: string, project: workspaces.ProjectDefinition): void;
16
+ /**
17
+ * Import and add module to specific module path.
18
+ * @param host the tree we are updating
19
+ * @param modulePath src location of the module to import
20
+ * @param moduleName name of module to import
21
+ * @param src src location to import
22
+ */
23
+ export declare function addModuleImportToModule(host: Tree, modulePath: string, moduleName: string, src: string): void;
24
+ /** Wraps the internal find module from options with undefined path handling */
25
+ export declare function findModuleFromOptions(host: Tree, options: ComponentOptions): Promise<string | undefined>;
@@ -0,0 +1,69 @@
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.findModuleFromOptions = exports.addModuleImportToModule = exports.addModuleImportToRootModule = exports.parseSourceFile = void 0;
11
+ const schematics_1 = require("@angular-devkit/schematics");
12
+ const change_1 = require("@schematics/angular/utility/change");
13
+ const workspace_1 = require("@schematics/angular/utility/workspace");
14
+ const find_module_1 = require("@schematics/angular/utility/find-module");
15
+ const ast_utils_1 = require("@schematics/angular/utility/ast-utils");
16
+ const ng_ast_utils_1 = require("@schematics/angular/utility/ng-ast-utils");
17
+ const ts = require("typescript");
18
+ const project_main_file_1 = require("./project-main-file");
19
+ /** Reads file given path and returns TypeScript source file. */
20
+ function parseSourceFile(host, path) {
21
+ const buffer = host.read(path);
22
+ if (!buffer) {
23
+ throw new schematics_1.SchematicsException(`Could not find file for path: ${path}`);
24
+ }
25
+ return ts.createSourceFile(path, buffer.toString(), ts.ScriptTarget.Latest, true);
26
+ }
27
+ exports.parseSourceFile = parseSourceFile;
28
+ /** Import and add module to root app module. */
29
+ function addModuleImportToRootModule(host, moduleName, src, project) {
30
+ const modulePath = (0, ng_ast_utils_1.getAppModulePath)(host, (0, project_main_file_1.getProjectMainFile)(project));
31
+ addModuleImportToModule(host, modulePath, moduleName, src);
32
+ }
33
+ exports.addModuleImportToRootModule = addModuleImportToRootModule;
34
+ /**
35
+ * Import and add module to specific module path.
36
+ * @param host the tree we are updating
37
+ * @param modulePath src location of the module to import
38
+ * @param moduleName name of module to import
39
+ * @param src src location to import
40
+ */
41
+ function addModuleImportToModule(host, modulePath, moduleName, src) {
42
+ const moduleSource = parseSourceFile(host, modulePath);
43
+ if (!moduleSource) {
44
+ throw new schematics_1.SchematicsException(`Module not found: ${modulePath}`);
45
+ }
46
+ const changes = (0, ast_utils_1.addImportToModule)(moduleSource, modulePath, moduleName, src);
47
+ const recorder = host.beginUpdate(modulePath);
48
+ changes.forEach(change => {
49
+ if (change instanceof change_1.InsertChange) {
50
+ recorder.insertLeft(change.pos, change.toAdd);
51
+ }
52
+ });
53
+ host.commitUpdate(recorder);
54
+ }
55
+ exports.addModuleImportToModule = addModuleImportToModule;
56
+ /** Wraps the internal find module from options with undefined path handling */
57
+ async function findModuleFromOptions(host, options) {
58
+ const workspace = await (0, workspace_1.getWorkspace)(host);
59
+ if (!options.project) {
60
+ options.project = Array.from(workspace.projects.keys())[0];
61
+ }
62
+ const project = workspace.projects.get(options.project);
63
+ if (options.path === undefined) {
64
+ options.path = `/${project.root}/src/app`;
65
+ }
66
+ return (0, find_module_1.findModuleFromOptions)(host, options);
67
+ }
68
+ exports.findModuleFromOptions = findModuleFromOptions;
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Nkay9zY2hlbWF0aWNzL3V0aWxzL2FzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7QUFFSCwyREFBcUU7QUFFckUsK0RBQWdFO0FBQ2hFLHFFQUFtRTtBQUNuRSx5RUFBb0c7QUFDcEcscUVBQXdFO0FBQ3hFLDJFQUEwRTtBQUUxRSxpQ0FBaUM7QUFDakMsMkRBQXVEO0FBRXZELGdFQUFnRTtBQUNoRSxTQUFnQixlQUFlLENBQUMsSUFBVSxFQUFFLElBQVk7SUFDdEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixJQUFJLENBQUMsTUFBTSxFQUFFO1FBQ1gsTUFBTSxJQUFJLGdDQUFtQixDQUFDLGlDQUFpQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0tBQ3hFO0lBQ0QsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNwRixDQUFDO0FBTkQsMENBTUM7QUFFRCxnREFBZ0Q7QUFDaEQsU0FBZ0IsMkJBQTJCLENBQ3pDLElBQVUsRUFDVixVQUFrQixFQUNsQixHQUFXLEVBQ1gsT0FBcUM7SUFFckMsTUFBTSxVQUFVLEdBQUcsSUFBQSwrQkFBZ0IsRUFBQyxJQUFJLEVBQUUsSUFBQSxzQ0FBa0IsRUFBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLHVCQUF1QixDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQzdELENBQUM7QUFSRCxrRUFRQztBQUVEOzs7Ozs7R0FNRztBQUNILFNBQWdCLHVCQUF1QixDQUNyQyxJQUFVLEVBQ1YsVUFBa0IsRUFDbEIsVUFBa0IsRUFDbEIsR0FBVztJQUVYLE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFFdkQsSUFBSSxDQUFDLFlBQVksRUFBRTtRQUNqQixNQUFNLElBQUksZ0NBQW1CLENBQUMscUJBQXFCLFVBQVUsRUFBRSxDQUFDLENBQUM7S0FDbEU7SUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFBLDZCQUFpQixFQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzdFLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFOUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUN2QixJQUFJLE1BQU0sWUFBWSxxQkFBWSxFQUFFO1lBQ2xDLFFBQVEsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDL0M7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDOUIsQ0FBQztBQXRCRCwwREFzQkM7QUFFRCxnRkFBZ0Y7QUFDekUsS0FBSyxVQUFVLHFCQUFxQixDQUN6QyxJQUFVLEVBQ1YsT0FBeUI7SUFFekIsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFBLHdCQUFZLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFFM0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7UUFDcEIsT0FBTyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUM1RDtJQUVELE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUUsQ0FBQztJQUV6RCxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFO1FBQzlCLE9BQU8sQ0FBQyxJQUFJLEdBQUcsSUFBSSxPQUFPLENBQUMsSUFBSSxVQUFVLENBQUM7S0FDM0M7SUFFRCxPQUFPLElBQUEsbUNBQWtCLEVBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQzNDLENBQUM7QUFqQkQsc0RBaUJDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7U2NoZW1hdGljc0V4Y2VwdGlvbiwgVHJlZX0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L3NjaGVtYXRpY3MnO1xuaW1wb3J0IHtTY2hlbWEgYXMgQ29tcG9uZW50T3B0aW9uc30gZnJvbSAnQHNjaGVtYXRpY3MvYW5ndWxhci9jb21wb25lbnQvc2NoZW1hJztcbmltcG9ydCB7SW5zZXJ0Q2hhbmdlfSBmcm9tICdAc2NoZW1hdGljcy9hbmd1bGFyL3V0aWxpdHkvY2hhbmdlJztcbmltcG9ydCB7Z2V0V29ya3NwYWNlfSBmcm9tICdAc2NoZW1hdGljcy9hbmd1bGFyL3V0aWxpdHkvd29ya3NwYWNlJztcbmltcG9ydCB7ZmluZE1vZHVsZUZyb21PcHRpb25zIGFzIGludGVybmFsRmluZE1vZHVsZX0gZnJvbSAnQHNjaGVtYXRpY3MvYW5ndWxhci91dGlsaXR5L2ZpbmQtbW9kdWxlJztcbmltcG9ydCB7YWRkSW1wb3J0VG9Nb2R1bGV9IGZyb20gJ0BzY2hlbWF0aWNzL2FuZ3VsYXIvdXRpbGl0eS9hc3QtdXRpbHMnO1xuaW1wb3J0IHtnZXRBcHBNb2R1bGVQYXRofSBmcm9tICdAc2NoZW1hdGljcy9hbmd1bGFyL3V0aWxpdHkvbmctYXN0LXV0aWxzJztcbmltcG9ydCB7d29ya3NwYWNlc30gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L2NvcmUnO1xuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5pbXBvcnQge2dldFByb2plY3RNYWluRmlsZX0gZnJvbSAnLi9wcm9qZWN0LW1haW4tZmlsZSc7XG5cbi8qKiBSZWFkcyBmaWxlIGdpdmVuIHBhdGggYW5kIHJldHVybnMgVHlwZVNjcmlwdCBzb3VyY2UgZmlsZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVNvdXJjZUZpbGUoaG9zdDogVHJlZSwgcGF0aDogc3RyaW5nKTogdHMuU291cmNlRmlsZSB7XG4gIGNvbnN0IGJ1ZmZlciA9IGhvc3QucmVhZChwYXRoKTtcbiAgaWYgKCFidWZmZXIpIHtcbiAgICB0aHJvdyBuZXcgU2NoZW1hdGljc0V4Y2VwdGlvbihgQ291bGQgbm90IGZpbmQgZmlsZSBmb3IgcGF0aDogJHtwYXRofWApO1xuICB9XG4gIHJldHVybiB0cy5jcmVhdGVTb3VyY2VGaWxlKHBhdGgsIGJ1ZmZlci50b1N0cmluZygpLCB0cy5TY3JpcHRUYXJnZXQuTGF0ZXN0LCB0cnVlKTtcbn1cblxuLyoqIEltcG9ydCBhbmQgYWRkIG1vZHVsZSB0byByb290IGFwcCBtb2R1bGUuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkTW9kdWxlSW1wb3J0VG9Sb290TW9kdWxlKFxuICBob3N0OiBUcmVlLFxuICBtb2R1bGVOYW1lOiBzdHJpbmcsXG4gIHNyYzogc3RyaW5nLFxuICBwcm9qZWN0OiB3b3Jrc3BhY2VzLlByb2plY3REZWZpbml0aW9uLFxuKSB7XG4gIGNvbnN0IG1vZHVsZVBhdGggPSBnZXRBcHBNb2R1bGVQYXRoKGhvc3QsIGdldFByb2plY3RNYWluRmlsZShwcm9qZWN0KSk7XG4gIGFkZE1vZHVsZUltcG9ydFRvTW9kdWxlKGhvc3QsIG1vZHVsZVBhdGgsIG1vZHVsZU5hbWUsIHNyYyk7XG59XG5cbi8qKlxuICogSW1wb3J0IGFuZCBhZGQgbW9kdWxlIHRvIHNwZWNpZmljIG1vZHVsZSBwYXRoLlxuICogQHBhcmFtIGhvc3QgdGhlIHRyZWUgd2UgYXJlIHVwZGF0aW5nXG4gKiBAcGFyYW0gbW9kdWxlUGF0aCBzcmMgbG9jYXRpb24gb2YgdGhlIG1vZHVsZSB0byBpbXBvcnRcbiAqIEBwYXJhbSBtb2R1bGVOYW1lIG5hbWUgb2YgbW9kdWxlIHRvIGltcG9ydFxuICogQHBhcmFtIHNyYyBzcmMgbG9jYXRpb24gdG8gaW1wb3J0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRNb2R1bGVJbXBvcnRUb01vZHVsZShcbiAgaG9zdDogVHJlZSxcbiAgbW9kdWxlUGF0aDogc3RyaW5nLFxuICBtb2R1bGVOYW1lOiBzdHJpbmcsXG4gIHNyYzogc3RyaW5nLFxuKSB7XG4gIGNvbnN0IG1vZHVsZVNvdXJjZSA9IHBhcnNlU291cmNlRmlsZShob3N0LCBtb2R1bGVQYXRoKTtcblxuICBpZiAoIW1vZHVsZVNvdXJjZSkge1xuICAgIHRocm93IG5ldyBTY2hlbWF0aWNzRXhjZXB0aW9uKGBNb2R1bGUgbm90IGZvdW5kOiAke21vZHVsZVBhdGh9YCk7XG4gIH1cblxuICBjb25zdCBjaGFuZ2VzID0gYWRkSW1wb3J0VG9Nb2R1bGUobW9kdWxlU291cmNlLCBtb2R1bGVQYXRoLCBtb2R1bGVOYW1lLCBzcmMpO1xuICBjb25zdCByZWNvcmRlciA9IGhvc3QuYmVnaW5VcGRhdGUobW9kdWxlUGF0aCk7XG5cbiAgY2hhbmdlcy5mb3JFYWNoKGNoYW5nZSA9PiB7XG4gICAgaWYgKGNoYW5nZSBpbnN0YW5jZW9mIEluc2VydENoYW5nZSkge1xuICAgICAgcmVjb3JkZXIuaW5zZXJ0TGVmdChjaGFuZ2UucG9zLCBjaGFuZ2UudG9BZGQpO1xuICAgIH1cbiAgfSk7XG5cbiAgaG9zdC5jb21taXRVcGRhdGUocmVjb3JkZXIpO1xufVxuXG4vKiogV3JhcHMgdGhlIGludGVybmFsIGZpbmQgbW9kdWxlIGZyb20gb3B0aW9ucyB3aXRoIHVuZGVmaW5lZCBwYXRoIGhhbmRsaW5nICAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZpbmRNb2R1bGVGcm9tT3B0aW9ucyhcbiAgaG9zdDogVHJlZSxcbiAgb3B0aW9uczogQ29tcG9uZW50T3B0aW9ucyxcbik6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gIGNvbnN0IHdvcmtzcGFjZSA9IGF3YWl0IGdldFdvcmtzcGFjZShob3N0KTtcblxuICBpZiAoIW9wdGlvbnMucHJvamVjdCkge1xuICAgIG9wdGlvbnMucHJvamVjdCA9IEFycmF5LmZyb20od29ya3NwYWNlLnByb2plY3RzLmtleXMoKSlbMF07XG4gIH1cblxuICBjb25zdCBwcm9qZWN0ID0gd29ya3NwYWNlLnByb2plY3RzLmdldChvcHRpb25zLnByb2plY3QpITtcblxuICBpZiAob3B0aW9ucy5wYXRoID09PSB1bmRlZmluZWQpIHtcbiAgICBvcHRpb25zLnBhdGggPSBgLyR7cHJvamVjdC5yb290fS9zcmMvYXBwYDtcbiAgfVxuXG4gIHJldHVybiBpbnRlcm5hbEZpbmRNb2R1bGUoaG9zdCwgb3B0aW9ucyk7XG59XG4iXX0=
@@ -0,0 +1,20 @@
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 { Rule } from '@angular-devkit/schematics';
9
+ import { Schema as ComponentOptions } from '@schematics/angular/component/schema';
10
+ /**
11
+ * Rule that copies and interpolates the files that belong to this schematic context. Additionally
12
+ * a list of file paths can be passed to this rule in order to expose them inside the EJS
13
+ * template context.
14
+ *
15
+ * This allows inlining the external template or stylesheet files in EJS without having
16
+ * to manually duplicate the file content.
17
+ */
18
+ export declare function buildComponent(options: ComponentOptions, additionalFiles?: {
19
+ [key: string]: string;
20
+ }): Rule;
@@ -0,0 +1,184 @@
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.buildComponent = void 0;
11
+ const core_1 = require("@angular-devkit/core");
12
+ const schematics_1 = require("@angular-devkit/schematics");
13
+ const schema_1 = require("@schematics/angular/component/schema");
14
+ const change_1 = require("@schematics/angular/utility/change");
15
+ const workspace_1 = require("@schematics/angular/utility/workspace");
16
+ const find_module_1 = require("@schematics/angular/utility/find-module");
17
+ const parse_name_1 = require("@schematics/angular/utility/parse-name");
18
+ const validation_1 = require("@schematics/angular/utility/validation");
19
+ const workspace_models_1 = require("@schematics/angular/utility/workspace-models");
20
+ const ast_utils_1 = require("@schematics/angular/utility/ast-utils");
21
+ const fs_1 = require("fs");
22
+ const path_1 = require("path");
23
+ const ts = require("typescript");
24
+ const get_project_1 = require("./get-project");
25
+ const schematic_options_1 = require("./schematic-options");
26
+ /**
27
+ * Build a default project path for generating.
28
+ * @param project The project to build the path for.
29
+ */
30
+ function buildDefaultPath(project) {
31
+ const root = project.sourceRoot ? `/${project.sourceRoot}/` : `/${project.root}/src/`;
32
+ const projectDirName = project.extensions['projectType'] === workspace_models_1.ProjectType.Application ? 'app' : 'lib';
33
+ return `${root}${projectDirName}`;
34
+ }
35
+ /**
36
+ * List of style extensions which are CSS compatible. All supported CLI style extensions can be
37
+ * found here: angular/angular-cli/main/packages/schematics/angular/ng-new/schema.json#L118-L122
38
+ */
39
+ const supportedCssExtensions = ['css', 'scss', 'less'];
40
+ function readIntoSourceFile(host, modulePath) {
41
+ const text = host.read(modulePath);
42
+ if (text === null) {
43
+ throw new schematics_1.SchematicsException(`File ${modulePath} does not exist.`);
44
+ }
45
+ return ts.createSourceFile(modulePath, text.toString('utf-8'), ts.ScriptTarget.Latest, true);
46
+ }
47
+ function addDeclarationToNgModule(options) {
48
+ return (host) => {
49
+ if (options.skipImport || options.standalone || !options.module) {
50
+ return host;
51
+ }
52
+ const modulePath = options.module;
53
+ let source = readIntoSourceFile(host, modulePath);
54
+ const componentPath = `/${options.path}/` +
55
+ (options.flat ? '' : core_1.strings.dasherize(options.name) + '/') +
56
+ core_1.strings.dasherize(options.name) +
57
+ '.component';
58
+ const relativePath = (0, find_module_1.buildRelativePath)(modulePath, componentPath);
59
+ const classifiedName = core_1.strings.classify(`${options.name}Component`);
60
+ const declarationChanges = (0, ast_utils_1.addDeclarationToModule)(source, modulePath, classifiedName, relativePath);
61
+ const declarationRecorder = host.beginUpdate(modulePath);
62
+ for (const change of declarationChanges) {
63
+ if (change instanceof change_1.InsertChange) {
64
+ declarationRecorder.insertLeft(change.pos, change.toAdd);
65
+ }
66
+ }
67
+ host.commitUpdate(declarationRecorder);
68
+ if (options.export) {
69
+ // Need to refresh the AST because we overwrote the file in the host.
70
+ source = readIntoSourceFile(host, modulePath);
71
+ const exportRecorder = host.beginUpdate(modulePath);
72
+ const exportChanges = (0, ast_utils_1.addExportToModule)(source, modulePath, core_1.strings.classify(`${options.name}Component`), relativePath);
73
+ for (const change of exportChanges) {
74
+ if (change instanceof change_1.InsertChange) {
75
+ exportRecorder.insertLeft(change.pos, change.toAdd);
76
+ }
77
+ }
78
+ host.commitUpdate(exportRecorder);
79
+ }
80
+ return host;
81
+ };
82
+ }
83
+ function buildSelector(options, projectPrefix) {
84
+ let selector = core_1.strings.dasherize(options.name);
85
+ if (options.prefix) {
86
+ selector = `${options.prefix}-${selector}`;
87
+ }
88
+ else if (options.prefix === undefined && projectPrefix) {
89
+ selector = `${projectPrefix}-${selector}`;
90
+ }
91
+ return selector;
92
+ }
93
+ /**
94
+ * Indents the text content with the amount of specified spaces. The spaces will be added after
95
+ * every line-break. This utility function can be used inside of EJS templates to properly
96
+ * include the additional files.
97
+ */
98
+ function indentTextContent(text, numSpaces) {
99
+ // In the Material project there should be only LF line-endings, but the schematic files
100
+ // are not being linted and therefore there can be also CRLF or just CR line-endings.
101
+ return text.replace(/(\r\n|\r|\n)/g, `$1${' '.repeat(numSpaces)}`);
102
+ }
103
+ /**
104
+ * Rule that copies and interpolates the files that belong to this schematic context. Additionally
105
+ * a list of file paths can be passed to this rule in order to expose them inside the EJS
106
+ * template context.
107
+ *
108
+ * This allows inlining the external template or stylesheet files in EJS without having
109
+ * to manually duplicate the file content.
110
+ */
111
+ function buildComponent(options, additionalFiles = {}) {
112
+ return async (host, ctx) => {
113
+ const context = ctx;
114
+ const workspace = await (0, workspace_1.getWorkspace)(host);
115
+ const project = (0, get_project_1.getProjectFromWorkspace)(workspace, options.project);
116
+ const defaultComponentOptions = (0, schematic_options_1.getDefaultComponentOptions)(project);
117
+ // TODO(devversion): Remove if we drop support for older CLI versions.
118
+ // This handles an unreported breaking change from the @angular-devkit/schematics. Previously
119
+ // the description path resolved to the factory file, but starting from 6.2.0, it resolves
120
+ // to the factory directory.
121
+ const schematicPath = (0, fs_1.statSync)(context.schematic.description.path).isDirectory()
122
+ ? context.schematic.description.path
123
+ : (0, path_1.dirname)(context.schematic.description.path);
124
+ const schematicFilesUrl = './files';
125
+ const schematicFilesPath = (0, path_1.resolve)(schematicPath, schematicFilesUrl);
126
+ // Add the default component option values to the options if an option is not explicitly
127
+ // specified but a default component option is available.
128
+ Object.keys(options)
129
+ .filter(key => options[key] == null &&
130
+ defaultComponentOptions[key])
131
+ .forEach(key => (options[key] = defaultComponentOptions[key]));
132
+ if (options.path === undefined) {
133
+ options.path = buildDefaultPath(project);
134
+ }
135
+ options.standalone = await (0, schematic_options_1.isStandaloneSchematic)(host, options);
136
+ if (!options.standalone) {
137
+ options.module = (0, find_module_1.findModuleFromOptions)(host, options);
138
+ }
139
+ const parsedPath = (0, parse_name_1.parseName)(options.path, options.name);
140
+ options.name = parsedPath.name;
141
+ options.path = parsedPath.path;
142
+ options.selector = options.selector || buildSelector(options, project.prefix);
143
+ (0, validation_1.validateHtmlSelector)(options.selector);
144
+ // In case the specified style extension is not part of the supported CSS supersets,
145
+ // we generate the stylesheets with the "css" extension. This ensures that we don't
146
+ // accidentally generate invalid stylesheets (e.g. drag-drop-comp.styl) which will
147
+ // break the Angular CLI project. See: https://github.com/angular/components/issues/15164
148
+ if (!supportedCssExtensions.includes(options.style)) {
149
+ options.style = schema_1.Style.Css;
150
+ }
151
+ // Object that will be used as context for the EJS templates.
152
+ const baseTemplateContext = {
153
+ ...core_1.strings,
154
+ 'if-flat': (s) => (options.flat ? '' : s),
155
+ ...options,
156
+ };
157
+ // Key-value object that includes the specified additional files with their loaded content.
158
+ // The resolved contents can be used inside EJS templates.
159
+ const resolvedFiles = {};
160
+ for (let key in additionalFiles) {
161
+ if (additionalFiles[key]) {
162
+ const fileContent = (0, fs_1.readFileSync)((0, path_1.join)(schematicFilesPath, additionalFiles[key]), 'utf-8');
163
+ // Interpolate the additional files with the base EJS template context.
164
+ resolvedFiles[key] = (0, core_1.template)(fileContent)(baseTemplateContext);
165
+ }
166
+ }
167
+ const templateSource = (0, schematics_1.apply)((0, schematics_1.url)(schematicFilesUrl), [
168
+ options.skipTests ? (0, schematics_1.filter)(path => !path.endsWith('.spec.ts.template')) : (0, schematics_1.noop)(),
169
+ options.inlineStyle ? (0, schematics_1.filter)(path => !path.endsWith('.__style__.template')) : (0, schematics_1.noop)(),
170
+ options.inlineTemplate ? (0, schematics_1.filter)(path => !path.endsWith('.html.template')) : (0, schematics_1.noop)(),
171
+ // Treat the template options as any, because the type definition for the template options
172
+ // is made unnecessarily explicit. Every type of object can be used in the EJS template.
173
+ (0, schematics_1.applyTemplates)({ indentTextContent, resolvedFiles, ...baseTemplateContext }),
174
+ // TODO(devversion): figure out why we cannot just remove the first parameter
175
+ // See for example: angular-cli#schematics/angular/component/index.ts#L160
176
+ (0, schematics_1.move)(null, parsedPath.path),
177
+ ]);
178
+ return () => (0, schematics_1.chain)([
179
+ (0, schematics_1.branchAndMerge)((0, schematics_1.chain)([addDeclarationToNgModule(options), (0, schematics_1.mergeWith)(templateSource)])),
180
+ ])(host, context);
181
+ };
182
+ }
183
+ exports.buildComponent = buildComponent;
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Nkay9zY2hlbWF0aWNzL3V0aWxzL2J1aWxkLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7QUFFSCwrQ0FBMEY7QUFDMUYsMkRBYW9DO0FBRXBDLGlFQUF1RjtBQUN2RiwrREFBZ0U7QUFDaEUscUVBQW1FO0FBQ25FLHlFQUFpRztBQUNqRyx1RUFBaUU7QUFDakUsdUVBQTRFO0FBQzVFLG1GQUF5RTtBQUN6RSxxRUFBZ0c7QUFDaEcsMkJBQTBDO0FBQzFDLCtCQUE0QztBQUM1QyxpQ0FBaUM7QUFDakMsK0NBQXNEO0FBQ3RELDJEQUFzRjtBQUV0Rjs7O0dBR0c7QUFDSCxTQUFTLGdCQUFnQixDQUFDLE9BQXFDO0lBQzdELE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLE9BQU8sQ0FBQztJQUV0RixNQUFNLGNBQWMsR0FDbEIsT0FBTyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyw4QkFBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFFaEYsT0FBTyxHQUFHLElBQUksR0FBRyxjQUFjLEVBQUUsQ0FBQztBQUNwQyxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFFdkQsU0FBUyxrQkFBa0IsQ0FBQyxJQUFVLEVBQUUsVUFBa0I7SUFDeEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuQyxJQUFJLElBQUksS0FBSyxJQUFJLEVB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bnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtzdHJpbmdzLCB0ZW1wbGF0ZSBhcyBpbnRlcnBvbGF0ZVRlbXBsYXRlLCB3b3Jrc3BhY2VzfSBmcm9tICdAYW5ndWxhci1kZXZraXQvY29yZSc7XG5pbXBvcnQge1xuICBhcHBseSxcbiAgYXBwbHlUZW1wbGF0ZXMsXG4gIGJyYW5jaEFuZE1lcmdlLFxuICBjaGFpbixcbiAgZmlsdGVyLFxuICBtZXJnZVdpdGgsXG4gIG1vdmUsXG4gIG5vb3AsXG4gIFJ1bGUsXG4gIFNjaGVtYXRpY3NFeGNlcHRpb24sXG4gIFRyZWUsXG4gIHVybCxcbn0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L3NjaGVtYXRpY3MnO1xuaW1wb3J0IHtGaWxlU3lzdGVtU2NoZW1hdGljQ29udGV4dH0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L3NjaGVtYXRpY3MvdG9vbHMnO1xuaW1wb3J0IHtTY2hlbWEgYXMgQ29tcG9uZW50T3B0aW9ucywgU3R5bGV9IGZyb20gJ0BzY2hlbWF0aWNzL2FuZ3VsYXIvY29tcG9uZW50L3NjaGVtYSc7XG5pbXBvcnQge0luc2VydENoYW5nZX0gZnJvbSAnQHNjaGVtYXRpY3MvYW5ndWxhci91dGlsaXR5L2NoYW5nZSc7XG5pbXBvcnQge2dldFdvcmtzcGFjZX0gZnJvbSAnQHNjaGVtYXRpY3MvYW5ndWxhci91dGlsaXR5L3dvcmtzcGFjZSc7XG5pbXBvcnQge2J1aWxkUmVsYXRpdmVQYXRoLCBmaW5kTW9kdWxlRnJvbU9wdGlvbnN9IGZyb20gJ0BzY2hlbWF0aWNzL2FuZ3VsYXIvdXRpbGl0eS9maW5kLW1vZHVsZSc7XG5pbXBvcnQge3BhcnNlTmFtZX0gZnJvbSAnQHNjaGVtYXRpY3MvYW5ndWxhci91dGlsaXR5L3BhcnNlLW5hbWUnO1xuaW1wb3J0IHt2YWxpZGF0ZUh0bWxTZWxlY3Rvcn0gZnJvbSAnQHNjaGVtYXRpY3MvYW5ndWxhci91dGlsaXR5L3ZhbGlkYXRpb24nO1xuaW1wb3J0IHtQcm9qZWN0VHlwZX0gZnJvbSAnQHNjaGVtYXRpY3MvYW5ndWxhci91dGlsaXR5L3dvcmtzcGFjZS1tb2RlbHMnO1xuaW1wb3J0IHthZGREZWNsYXJhdGlvblRvTW9kdWxlLCBhZGRFeHBvcnRUb01vZHVsZX0gZnJvbSAnQHNjaGVtYXRpY3MvYW5ndWxhci91dGlsaXR5L2FzdC11dGlscyc7XG5pbXBvcnQge3JlYWRGaWxlU3luYywgc3RhdFN5bmN9IGZyb20gJ2ZzJztcbmltcG9ydCB7ZGlybmFtZSwgam9pbiwgcmVzb2x2ZX0gZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyB0cyBmcm9tICd0eXBlc2NyaXB0JztcbmltcG9ydCB7Z2V0UHJvamVjdEZyb21Xb3Jrc3BhY2V9IGZyb20gJy4vZ2V0LXByb2plY3QnO1xuaW1wb3J0IHtnZXREZWZhdWx0Q29tcG9uZW50T3B0aW9ucywgaXNTdGFuZGFsb25lU2NoZW1hdGljfSBmcm9tICcuL3NjaGVtYXRpYy1vcHRpb25zJztcblxuLyoqXG4gKiBCdWlsZCBhIGRlZmF1bHQgcHJvamVjdCBwYXRoIGZvciBnZW5lcmF0aW5nLlxuICogQHBhcmFtIHByb2plY3QgVGhlIHByb2plY3QgdG8gYnVpbGQgdGhlIHBhdGggZm9yLlxuICovXG5mdW5jdGlvbiBidWlsZERlZmF1bHRQYXRoKHByb2plY3Q6IHdvcmtzcGFjZXMuUHJvamVjdERlZmluaXRpb24pOiBzdHJpbmcge1xuICBjb25zdCByb290ID0gcHJvamVjdC5zb3VyY2VSb290ID8gYC8ke3Byb2plY3Quc291cmNlUm9vdH0vYCA6IGAvJHtwcm9qZWN0LnJvb3R9L3NyYy9gO1xuXG4gIGNvbnN0IHByb2plY3REaXJOYW1lID1cbiAgICBwcm9qZWN0LmV4dGVuc2lvbnNbJ3Byb2plY3RUeXBlJ10gPT09IFByb2plY3RUeXBlLkFwcGxpY2F0aW9uID8gJ2FwcCcgOiAnbGliJztcblxuICByZXR1cm4gYCR7cm9vdH0ke3Byb2plY3REaXJOYW1lfWA7XG59XG5cbi8qKlxuICogTGlzdCBvZiBzdHlsZSBleHRlbnNpb25zIHdoaWNoIGFyZSBDU1MgY29tcGF0aWJsZS4gQWxsIHN1cHBvcnRlZCBDTEkgc3R5bGUgZXh0ZW5zaW9ucyBjYW4gYmVcbiAqIGZvdW5kIGhlcmU6IGFuZ3VsYXIvYW5ndWxhci1jbGkvbWFpbi9wYWNrYWdlcy9zY2hlbWF0aWNzL2FuZ3VsYXIvbmctbmV3L3NjaGVtYS5qc29uI0wxMTgtTDEyMlxuICovXG5jb25zdCBzdXBwb3J0ZWRDc3NFeHRlbnNpb25zID0gWydjc3MnLCAnc2NzcycsICdsZXNzJ107XG5cbmZ1bmN0aW9uIHJlYWRJbnRvU291cmNlRmlsZShob3N0OiBUcmVlLCBtb2R1bGVQYXRoOiBzdHJpbmcpIHtcbiAgY29uc3QgdGV4dCA9IGhvc3QucmVhZChtb2R1bGVQYXRoKTtcbiAgaWYgKHRleHQgPT09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgU2NoZW1hdGljc0V4Y2VwdGlvbihgRmlsZSAke21vZHVsZVBhdGh9IGRvZXMgbm90IGV4aXN0LmApO1xuICB9XG5cbiAgcmV0dXJuIHRzLmNyZWF0ZVNvdXJjZUZpbGUobW9kdWxlUGF0aCwgdGV4dC50b1N0cmluZygndXRmLTgnKSwgdHMuU2NyaXB0VGFyZ2V0LkxhdGVzdCwgdHJ1ZSk7XG59XG5cbmZ1bmN0aW9uIGFkZERlY2xhcmF0aW9uVG9OZ01vZHVsZShvcHRpb25zOiBDb21wb25lbnRPcHRpb25zKTogUnVsZSB7XG4gIHJldHVybiAoaG9zdDogVHJlZSkgPT4ge1xuICAgIGlmIChvcHRpb25zLnNraXBJbXBvcnQgfHwgb3B0aW9ucy5zdGFuZGFsb25lIHx8ICFvcHRpb25zLm1vZHVsZSkge1xuICAgICAgcmV0dXJuIGhvc3Q7XG4gICAgfVxuXG4gICAgY29uc3QgbW9kdWxlUGF0aCA9IG9wdGlvbnMubW9kdWxlO1xuICAgIGxldCBzb3VyY2UgPSByZWFkSW50b1NvdXJjZUZpbGUoaG9zdCwgbW9kdWxlUGF0aCk7XG5cbiAgICBjb25zdCBjb21wb25lbnRQYXRoID1cbiAgICAgIGAvJHtvcHRpb25zLnBhdGh9L2AgK1xuICAgICAgKG9wdGlvbnMuZmxhdCA/ICcnIDogc3RyaW5ncy5kYXNoZXJpemUob3B0aW9ucy5uYW1lKSArICcvJykgK1xuICAgICAgc3RyaW5ncy5kYXNoZXJpemUob3B0aW9ucy5uYW1lKSArXG4gICAgICAnLmNvbXBvbmVudCc7XG4gICAgY29uc3QgcmVsYXRpdmVQYXRoID0gYnVpbGRSZWxhdGl2ZVBhdGgobW9kdWxlUGF0aCwgY29tcG9uZW50UGF0aCk7XG4gICAgY29uc3QgY2xhc3NpZmllZE5hbWUgPSBzdHJpbmdzLmNsYXNzaWZ5KGAke29wdGlvbnMubmFtZX1Db21wb25lbnRgKTtcblxuICAgIGNvbnN0IGRlY2xhcmF0aW9uQ2hhbmdlcyA9IGFkZERlY2xhcmF0aW9uVG9Nb2R1bGUoXG4gICAgICBzb3VyY2UsXG4gICAgICBtb2R1bGVQYXRoLFxuICAgICAgY2xhc3NpZmllZE5hbWUsXG4gICAgICByZWxhdGl2ZVBhdGgsXG4gICAgKTtcblxuICAgIGNvbnN0IGRlY2xhcmF0aW9uUmVjb3JkZXIgPSBob3N0LmJlZ2luVXBkYXRlKG1vZHVsZVBhdGgpO1xuICAgIGZvciAoY29uc3QgY2hhbmdlIG9mIGRlY2xhcmF0aW9uQ2hhbmdlcykge1xuICAgICAgaWYgKGNoYW5nZSBpbnN0YW5jZW9mIEluc2VydENoYW5nZSkge1xuICAgICAgICBkZWNsYXJhdGlvblJlY29yZGVyLmluc2VydExlZnQoY2hhbmdlLnBvcywgY2hhbmdlLnRvQWRkKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaG9zdC5jb21taXRVcGRhdGUoZGVjbGFyYXRpb25SZWNvcmRlcik7XG5cbiAgICBpZiAob3B0aW9ucy5leHBvcnQpIHtcbiAgICAgIC8vIE5lZWQgdG8gcmVmcmVzaCB0aGUgQVNUIGJlY2F1c2Ugd2Ugb3Zlcndyb3RlIHRoZSBmaWxlIGluIHRoZSBob3N0LlxuICAgICAgc291cmNlID0gcmVhZEludG9Tb3VyY2VGaWxlKGhvc3QsIG1vZHVsZVBhdGgpO1xuXG4gICAgICBjb25zdCBleHBvcnRSZWNvcmRlciA9IGhvc3QuYmVnaW5VcGRhdGUobW9kdWxlUGF0aCk7XG4gICAgICBjb25zdCBleHBvcnRDaGFuZ2VzID0gYWRkRXhwb3J0VG9Nb2R1bGUoXG4gICAgICAgIHNvdXJjZSxcbiAgICAgICAgbW9kdWxlUGF0aCxcbiAgICAgICAgc3RyaW5ncy5jbGFzc2lmeShgJHtvcHRpb25zLm5hbWV9Q29tcG9uZW50YCksXG4gICAgICAgIHJlbGF0aXZlUGF0aCxcbiAgICAgICk7XG5cbiAgICAgIGZvciAoY29uc3QgY2hhbmdlIG9mIGV4cG9ydENoYW5nZXMpIHtcbiAgICAgICAgaWYgKGNoYW5nZSBpbnN0YW5jZW9mIEluc2VydENoYW5nZSkge1xuICAgICAgICAgIGV4cG9ydFJlY29yZGVyLmluc2VydExlZnQoY2hhbmdlLnBvcywgY2hhbmdlLnRvQWRkKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaG9zdC5jb21taXRVcGRhdGUoZXhwb3J0UmVjb3JkZXIpO1xuICAgIH1cblxuICAgIHJldHVybiBob3N0O1xuICB9O1xufVxuXG5mdW5jdGlvbiBidWlsZFNlbGVjdG9yKG9wdGlvbnM6IENvbXBvbmVudE9wdGlvbnMsIHByb2plY3RQcmVmaXg/OiBzdHJpbmcpIHtcbiAgbGV0IHNlbGVjdG9yID0gc3RyaW5ncy5kYXNoZXJpemUob3B0aW9ucy5uYW1lKTtcbiAgaWYgKG9wdGlvbnMucHJlZml4KSB7XG4gICAgc2VsZWN0b3IgPSBgJHtvcHRpb25zLnByZWZpeH0tJHtzZWxlY3Rvcn1gO1xuICB9IGVsc2UgaWYgKG9wdGlvbnMucHJlZml4ID09PSB1bmRlZmluZWQgJiYgcHJvamVjdFByZWZpeCkge1xuICAgIHNlbGVjdG9yID0gYCR7cHJvamVjdFByZWZpeH0tJHtzZWxlY3Rvcn1gO1xuICB9XG5cbiAgcmV0dXJuIHNlbGVjdG9yO1xufVxuXG4vKipcbiAqIEluZGVudHMgdGhlIHRleHQgY29udGVudCB3aXRoIHRoZSBhbW91bnQgb2Ygc3BlY2lmaWVkIHNwYWNlcy4gVGhlIHNwYWNlcyB3aWxsIGJlIGFkZGVkIGFmdGVyXG4gKiBldmVyeSBsaW5lLWJyZWFrLiBUaGlzIHV0aWxpdHkgZnVuY3Rpb24gY2FuIGJlIHVzZWQgaW5zaWRlIG9mIEVKUyB0ZW1wbGF0ZXMgdG8gcHJvcGVybHlcbiAqIGluY2x1ZGUgdGhlIGFkZGl0aW9uYWwgZmlsZXMuXG4gKi9cbmZ1bmN0aW9uIGluZGVudFRleHRDb250ZW50KHRleHQ6IHN0cmluZywgbnVtU3BhY2VzOiBudW1iZXIpOiBzdHJpbmcge1xuICAvLyBJbiB0aGUgTWF0ZXJpYWwgcHJvamVjdCB0aGVyZSBzaG91bGQgYmUgb25seSBMRiBsaW5lLWVuZGluZ3MsIGJ1dCB0aGUgc2NoZW1hdGljIGZpbGVzXG4gIC8vIGFyZSBub3QgYmVpbmcgbGludGVkIGFuZCB0aGVyZWZvcmUgdGhlcmUgY2FuIGJlIGFsc28gQ1JMRiBvciBqdXN0IENSIGxpbmUtZW5kaW5ncy5cbiAgcmV0dXJuIHRleHQucmVwbGFjZSgvKFxcclxcbnxcXHJ8XFxuKS9nLCBgJDEkeycgJy5yZXBlYXQobnVtU3BhY2VzKX1gKTtcbn1cblxuLyoqXG4gKiBSdWxlIHRoYXQgY29waWVzIGFuZCBpbnRlcnBvbGF0ZXMgdGhlIGZpbGVzIHRoYXQgYmVsb25nIHRvIHRoaXMgc2NoZW1hdGljIGNvbnRleHQuIEFkZGl0aW9uYWxseVxuICogYSBsaXN0IG9mIGZpbGUgcGF0aHMgY2FuIGJlIHBhc3NlZCB0byB0aGlzIHJ1bGUgaW4gb3JkZXIgdG8gZXhwb3NlIHRoZW0gaW5zaWRlIHRoZSBFSlNcbiAqIHRlbXBsYXRlIGNvbnRleHQuXG4gKlxuICogVGhpcyBhbGxvd3MgaW5saW5pbmcgdGhlIGV4dGVybmFsIHRlbXBsYXRlIG9yIHN0eWxlc2hlZXQgZmlsZXMgaW4gRUpTIHdpdGhvdXQgaGF2aW5nXG4gKiB0byBtYW51YWxseSBkdXBsaWNhdGUgdGhlIGZpbGUgY29udGVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkQ29tcG9uZW50KFxuICBvcHRpb25zOiBDb21wb25lbnRPcHRpb25zLFxuICBhZGRpdGlvbmFsRmlsZXM6IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9ID0ge30sXG4pOiBSdWxlIHtcbiAgcmV0dXJuIGFzeW5jIChob3N0LCBjdHgpID0+IHtcbiAgICBjb25zdCBjb250ZXh0ID0gY3R4IGFzIEZpbGVTeXN0ZW1TY2hlbWF0aWNDb250ZXh0O1xuICAgIGNvbnN0IHdvcmtzcGFjZSA9IGF3YWl0IGdldFdvcmtzcGFjZShob3N0KTtcbiAgICBjb25zdCBwcm9qZWN0ID0gZ2V0UHJvamVjdEZyb21Xb3Jrc3BhY2Uod29ya3NwYWNlLCBvcHRpb25zLnByb2plY3QpO1xuICAgIGNvbnN0IGRlZmF1bHRDb21wb25lbnRPcHRpb25zID0gZ2V0RGVmYXVsdENvbXBvbmVudE9wdGlvbnMocHJvamVjdCk7XG5cbiAgICAvLyBUT0RPKGRldnZlcnNpb24pOiBSZW1vdmUgaWYgd2UgZHJvcCBzdXBwb3J0IGZvciBvbGRlciBDTEkgdmVyc2lvbnMuXG4gICAgLy8gVGhpcyBoYW5kbGVzIGFuIHVucmVwb3J0ZWQgYnJlYWtpbmcgY2hhbmdlIGZyb20gdGhlIEBhbmd1bGFyLWRldmtpdC9zY2hlbWF0aWNzLiBQcmV2aW91c2x5XG4gICAgLy8gdGhlIGRlc2NyaXB0aW9uIHBhdGggcmVzb2x2ZWQgdG8gdGhlIGZhY3RvcnkgZmlsZSwgYnV0IHN0YXJ0aW5nIGZyb20gNi4yLjAsIGl0IHJlc29sdmVzXG4gICAgLy8gdG8gdGhlIGZhY3RvcnkgZGlyZWN0b3J5LlxuICAgIGNvbnN0IHNjaGVtYXRpY1BhdGggPSBzdGF0U3luYyhjb250ZXh0LnNjaGVtYXRpYy5kZXNjcmlwdGlvbi5wYXRoKS5pc0RpcmVjdG9yeSgpXG4gICAgICA/IGNvbnRleHQuc2NoZW1hdGljLmRlc2NyaXB0aW9uLnBhdGhcbiAgICAgIDogZGlybmFtZShjb250ZXh0LnNjaGVtYXRpYy5kZXNjcmlwdGlvbi5wYXRoKTtcblxuICAgIGNvbnN0IHNjaGVtYXRpY0ZpbGVzVXJsID0gJy4vZmlsZXMnO1xuICAgIGNvbnN0IHNjaGVtYXRpY0ZpbGVzUGF0aCA9IHJlc29sdmUoc2NoZW1hdGljUGF0aCwgc2NoZW1hdGljRmlsZXNVcmwpO1xuXG4gICAgLy8gQWRkIHRoZSBkZWZhdWx0IGNvbXBvbmVudCBvcHRpb24gdmFsdWVzIHRvIHRoZSBvcHRpb25zIGlmIGFuIG9wdGlvbiBpcyBub3QgZXhwbGljaXRseVxuICAgIC8vIHNwZWNpZmllZCBidXQgYSBkZWZhdWx0IGNvbXBvbmVudCBvcHRpb24gaXMgYXZhaWxhYmxlLlxuICAgIE9iamVjdC5rZXlzKG9wdGlvbnMpXG4gICAgICAuZmlsdGVyKFxuICAgICAgICBrZXkgPT5cbiAgICAgICAgICBvcHRpb25zW2tleSBhcyBrZXlvZiBDb21wb25lbnRPcHRpb25zXSA9PSBudWxsICYmXG4gICAgICAgICAgZGVmYXVsdENvbXBvbmVudE9wdGlvbnNba2V5IGFzIGtleW9mIENvbXBvbmVudE9wdGlvbnNdLFxuICAgICAgKVxuICAgICAgLmZvckVhY2goXG4gICAgICAgIGtleSA9PlxuICAgICAgICAgICgob3B0aW9ucyBhcyBhbnkpW2tleV0gPSAoZGVmYXVsdENvbXBvbmVudE9wdGlvbnMgYXMgQ29tcG9uZW50T3B0aW9ucylbXG4gICAgICAgICAgICBrZXkgYXMga2V5b2YgQ29tcG9uZW50T3B0aW9uc1xuICAgICAgICAgIF0pLFxuICAgICAgKTtcblxuICAgIGlmIChvcHRpb25zLnBhdGggPT09IHVuZGVmaW5lZCkge1xuICAgICAgb3B0aW9ucy5wYXRoID0gYnVpbGREZWZhdWx0UGF0aChwcm9qZWN0KTtcbiAgICB9XG5cbiAgICBvcHRpb25zLnN0YW5kYWxvbmUgPSBhd2FpdCBpc1N0YW5kYWxvbmVTY2hlbWF0aWMoaG9zdCwgb3B0aW9ucyk7XG5cbiAgICBpZiAoIW9wdGlvbnMuc3RhbmRhbG9uZSkge1xuICAgICAgb3B0aW9ucy5tb2R1bGUgPSBmaW5kTW9kdWxlRnJvbU9wdGlvbnMoaG9zdCwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgY29uc3QgcGFyc2VkUGF0aCA9IHBhcnNlTmFtZShvcHRpb25zLnBhdGghLCBvcHRpb25zLm5hbWUpO1xuXG4gICAgb3B0aW9ucy5uYW1lID0gcGFyc2VkUGF0aC5uYW1lO1xuICAgIG9wdGlvbnMucGF0aCA9IHBhcnNlZFBhdGgucGF0aDtcbiAgICBvcHRpb25zLnNlbGVjdG9yID0gb3B0aW9ucy5zZWxlY3RvciB8fCBidWlsZFNlbGVjdG9yKG9wdGlvbnMsIHByb2plY3QucHJlZml4KTtcblxuICAgIHZhbGlkYXRlSHRtbFNlbGVjdG9yKG9wdGlvbnMuc2VsZWN0b3IhKTtcblxuICAgIC8vIEluIGNhc2UgdGhlIHNwZWNpZmllZCBzdHlsZSBleHRlbnNpb24gaXMgbm90IHBhcnQgb2YgdGhlIHN1cHBvcnRlZCBDU1Mgc3VwZXJzZXRzLFxuICAgIC8vIHdlIGdlbmVyYXRlIHRoZSBzdHlsZXNoZWV0cyB3aXRoIHRoZSBcImNzc1wiIGV4dGVuc2lvbi4gVGhpcyBlbnN1cmVzIHRoYXQgd2UgZG9uJ3RcbiAgICAvLyBhY2NpZGVudGFsbHkgZ2VuZXJhdGUgaW52YWxpZCBzdHlsZXNoZWV0cyAoZS5nLiBkcmFnLWRyb3AtY29tcC5zdHlsKSB3aGljaCB3aWxsXG4gICAgLy8gYnJlYWsgdGhlIEFuZ3VsYXIgQ0xJIHByb2plY3QuIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvY29tcG9uZW50cy9pc3N1ZXMvMTUxNjRcbiAgICBpZiAoIXN1cHBvcnRlZENzc0V4dGVuc2lvbnMuaW5jbHVkZXMob3B0aW9ucy5zdHlsZSEpKSB7XG4gICAgICBvcHRpb25zLnN0eWxlID0gU3R5bGUuQ3NzO1xuICAgIH1cblxuICAgIC8vIE9iamVjdCB0aGF0IHdpbGwgYmUgdXNlZCBhcyBjb250ZXh0IGZvciB0aGUgRUpTIHRlbXBsYXRlcy5cbiAgICBjb25zdCBiYXNlVGVtcGxhdGVDb250ZXh0ID0ge1xuICAgICAgLi4uc3RyaW5ncyxcbiAgICAgICdpZi1mbGF0JzogKHM6IHN0cmluZykgPT4gKG9wdGlvbnMuZmxhdCA/ICcnIDogcyksXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH07XG5cbiAgICAvLyBLZXktdmFsdWUgb2JqZWN0IHRoYXQgaW5jbHVkZXMgdGhlIHNwZWNpZmllZCBhZGRpdGlvbmFsIGZpbGVzIHdpdGggdGhlaXIgbG9hZGVkIGNvbnRlbnQuXG4gICAgLy8gVGhlIHJlc29sdmVkIGNvbnRlbnRzIGNhbiBiZSB1c2VkIGluc2lkZSBFSlMgdGVtcGxhdGVzLlxuICAgIGNvbnN0IHJlc29sdmVkRmlsZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcblxuICAgIGZvciAobGV0IGtleSBpbiBhZGRpdGlvbmFsRmlsZXMpIHtcbiAgICAgIGlmIChhZGRpdGlvbmFsRmlsZXNba2V5XSkge1xuICAgICAgICBjb25zdCBmaWxlQ29udGVudCA9IHJlYWRGaWxlU3luYyhqb2luKHNjaGVtYXRpY0ZpbGVzUGF0aCwgYWRkaXRpb25hbEZpbGVzW2tleV0pLCAndXRmLTgnKTtcblxuICAgICAgICAvLyBJbnRlcnBvbGF0ZSB0aGUgYWRkaXRpb25hbCBmaWxlcyB3aXRoIHRoZSBiYXNlIEVKUyB0ZW1wbGF0ZSBjb250ZXh0LlxuICAgICAgICByZXNvbHZlZEZpbGVzW2tleV0gPSBpbnRlcnBvbGF0ZVRlbXBsYXRlKGZpbGVDb250ZW50KShiYXNlVGVtcGxhdGVDb250ZXh0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCB0ZW1wbGF0ZVNvdXJjZSA9IGFwcGx5KHVybChzY2hlbWF0aWNGaWxlc1VybCksIFtcbiAgICAgIG9wdGlvbnMuc2tpcFRlc3RzID8gZmlsdGVyKHBhdGggPT4gIXBhdGguZW5kc1dpdGgoJy5zcGVjLnRzLnRlbXBsYXRlJykpIDogbm9vcCgpLFxuICAgICAgb3B0aW9ucy5pbmxpbmVTdHlsZSA/IGZpbHRlcihwYXRoID0+ICFwYXRoLmVuZHNXaXRoKCcuX19zdHlsZV9fLnRlbXBsYXRlJykpIDogbm9vcCgpLFxuICAgICAgb3B0aW9ucy5pbmxpbmVUZW1wbGF0ZSA/IGZpbHRlcihwYXRoID0+ICFwYXRoLmVuZHNXaXRoKCcuaHRtbC50ZW1wbGF0ZScpKSA6IG5vb3AoKSxcbiAgICAgIC8vIFRyZWF0IHRoZSB0ZW1wbGF0ZSBvcHRpb25zIGFzIGFueSwgYmVjYXVzZSB0aGUgdHlwZSBkZWZpbml0aW9uIGZvciB0aGUgdGVtcGxhdGUgb3B0aW9uc1xuICAgICAgLy8gaXMgbWFkZSB1bm5lY2Vzc2FyaWx5IGV4cGxpY2l0LiBFdmVyeSB0eXBlIG9mIG9iamVjdCBjYW4gYmUgdXNlZCBpbiB0aGUgRUpTIHRlbXBsYXRlLlxuICAgICAgYXBwbHlUZW1wbGF0ZXMoe2luZGVudFRleHRDb250ZW50LCByZXNvbHZlZEZpbGVzLCAuLi5iYXNlVGVtcGxhdGVDb250ZXh0fSBhcyBhbnkpLFxuICAgICAgLy8gVE9ETyhkZXZ2ZXJzaW9uKTogZmlndXJlIG91dCB3aHkgd2UgY2Fubm90IGp1c3QgcmVtb3ZlIHRoZSBmaXJzdCBwYXJhbWV0ZXJcbiAgICAgIC8vIFNlZSBmb3IgZXhhbXBsZTogYW5ndWxhci1jbGkjc2NoZW1hdGljcy9hbmd1bGFyL2NvbXBvbmVudC9pbmRleC50cyNMMTYwXG4gICAgICBtb3ZlKG51bGwgYXMgYW55LCBwYXJzZWRQYXRoLnBhdGgpLFxuICAgIF0pO1xuXG4gICAgcmV0dXJuICgpID0+XG4gICAgICBjaGFpbihbXG4gICAgICAgIGJyYW5jaEFuZE1lcmdlKGNoYWluKFthZGREZWNsYXJhdGlvblRvTmdNb2R1bGUob3B0aW9ucyksIG1lcmdlV2l0aCh0ZW1wbGF0ZVNvdXJjZSldKSksXG4gICAgICBdKShob3N0LCBjb250ZXh0KTtcbiAgfTtcbn1cbiJdfQ==
@@ -0,0 +1,13 @@
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 { workspaces } from '@angular-devkit/core';
9
+ /**
10
+ * Finds the specified project configuration in the workspace. Throws an error if the project
11
+ * couldn't be found.
12
+ */
13
+ export declare function getProjectFromWorkspace(workspace: workspaces.WorkspaceDefinition, projectName: string | undefined): workspaces.ProjectDefinition;
@@ -0,0 +1,29 @@
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.getProjectFromWorkspace = void 0;
11
+ const schematics_1 = require("@angular-devkit/schematics");
12
+ /**
13
+ * Finds the specified project configuration in the workspace. Throws an error if the project
14
+ * couldn't be found.
15
+ */
16
+ function getProjectFromWorkspace(workspace, projectName) {
17
+ if (!projectName) {
18
+ // TODO(crisbeto): some schematics APIs have the project name as optional so for now it's
19
+ // simpler to allow undefined and checking it at runtime. Eventually we should clean this up.
20
+ throw new schematics_1.SchematicsException('Project name is required.');
21
+ }
22
+ const project = workspace.projects.get(projectName);
23
+ if (!project) {
24
+ throw new schematics_1.SchematicsException(`Could not find project in workspace: ${projectName}`);
25
+ }
26
+ return project;
27
+ }
28
+ exports.getProjectFromWorkspace = getProjectFromWorkspace;
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXByb2plY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2RrL3NjaGVtYXRpY3MvdXRpbHMvZ2V0LXByb2plY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBR0gsMkRBQStEO0FBRS9EOzs7R0FHRztBQUNILFNBQWdCLHVCQUF1QixDQUNyQyxTQUF5QyxFQUN6QyxXQUErQjtJQUUvQixJQUFJLENBQUMsV0FBVyxFQUFFO1FBQ2hCLHlGQUF5RjtRQUN6Riw2RkFBNkY7UUFDN0YsTUFBTSxJQUFJLGdDQUFtQixDQUFDLDJCQUEyQixDQUFDLENBQUM7S0FDNUQ7SUFFRCxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUVwRCxJQUFJLENBQUMsT0FBTyxFQUFFO1FBQ1osTUFBTSxJQUFJLGdDQUFtQixDQUFDLHdDQUF3QyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0tBQ3RGO0lBRUQsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQWpCRCwwREFpQkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHt3b3Jrc3BhY2VzfSBmcm9tICdAYW5ndWxhci1kZXZraXQvY29yZSc7XG5pbXBvcnQge1NjaGVtYXRpY3NFeGNlcHRpb259IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9zY2hlbWF0aWNzJztcblxuLyoqXG4gKiBGaW5kcyB0aGUgc3BlY2lmaWVkIHByb2plY3QgY29uZmlndXJhdGlvbiBpbiB0aGUgd29ya3NwYWNlLiBUaHJvd3MgYW4gZXJyb3IgaWYgdGhlIHByb2plY3RcbiAqIGNvdWxkbid0IGJlIGZvdW5kLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UHJvamVjdEZyb21Xb3Jrc3BhY2UoXG4gIHdvcmtzcGFjZTogd29ya3NwYWNlcy5Xb3Jrc3BhY2VEZWZpbml0aW9uLFxuICBwcm9qZWN0TmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuKTogd29ya3NwYWNlcy5Qcm9qZWN0RGVmaW5pdGlvbiB7XG4gIGlmICghcHJvamVjdE5hbWUpIHtcbiAgICAvLyBUT0RPKGNyaXNiZXRvKTogc29tZSBzY2hlbWF0aWNzIEFQSXMgaGF2ZSB0aGUgcHJvamVjdCBuYW1lIGFzIG9wdGlvbmFsIHNvIGZvciBub3cgaXQnc1xuICAgIC8vIHNpbXBsZXIgdG8gYWxsb3cgdW5kZWZpbmVkIGFuZCBjaGVja2luZyBpdCBhdCBydW50aW1lLiBFdmVudHVhbGx5IHdlIHNob3VsZCBjbGVhbiB0aGlzIHVwLlxuICAgIHRocm93IG5ldyBTY2hlbWF0aWNzRXhjZXB0aW9uKCdQcm9qZWN0IG5hbWUgaXMgcmVxdWlyZWQuJyk7XG4gIH1cblxuICBjb25zdCBwcm9qZWN0ID0gd29ya3NwYWNlLnByb2plY3RzLmdldChwcm9qZWN0TmFtZSk7XG5cbiAgaWYgKCFwcm9qZWN0KSB7XG4gICAgdGhyb3cgbmV3IFNjaGVtYXRpY3NFeGNlcHRpb24oYENvdWxkIG5vdCBmaW5kIHByb2plY3QgaW4gd29ya3NwYWNlOiAke3Byb2plY3ROYW1lfWApO1xuICB9XG5cbiAgcmV0dXJuIHByb2plY3Q7XG59XG4iXX0=
@@ -0,0 +1,15 @@
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 { Tree } from '@angular-devkit/schematics';
9
+ import { Element } from './parse5-element';
10
+ /** Appends the given element HTML fragment to the `<head>` element of the specified HTML file. */
11
+ export declare function appendHtmlElementToHead(host: Tree, htmlFilePath: string, elementHtml: string): void;
12
+ /** Parses the given HTML file and returns the head element if available. */
13
+ export declare function getHtmlHeadTagElement(htmlContent: string): Element | null;
14
+ /** Adds a class to the body of the document. */
15
+ export declare function addBodyClass(host: Tree, htmlFilePath: string, className: string): void;