@angular/cdk 8.0.0-rc.2 → 8.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 (338) hide show
  1. package/a11y/typings/aria-describer/aria-describer.d.ts +4 -3
  2. package/a11y/typings/index.metadata.json +1 -1
  3. package/bundles/cdk-a11y.umd.js +42 -10
  4. package/bundles/cdk-a11y.umd.js.map +1 -1
  5. package/bundles/cdk-a11y.umd.min.js +1 -1
  6. package/bundles/cdk-a11y.umd.min.js.map +1 -1
  7. package/bundles/cdk-drag-drop.umd.js +532 -87
  8. package/bundles/cdk-drag-drop.umd.js.map +1 -1
  9. package/bundles/cdk-drag-drop.umd.min.js +2 -2
  10. package/bundles/cdk-drag-drop.umd.min.js.map +1 -1
  11. package/bundles/cdk-layout.umd.js +5 -1
  12. package/bundles/cdk-layout.umd.js.map +1 -1
  13. package/bundles/cdk-layout.umd.min.js +1 -1
  14. package/bundles/cdk-layout.umd.min.js.map +1 -1
  15. package/bundles/cdk-overlay.umd.js +31 -23
  16. package/bundles/cdk-overlay.umd.js.map +1 -1
  17. package/bundles/cdk-overlay.umd.min.js +2 -2
  18. package/bundles/cdk-overlay.umd.min.js.map +1 -1
  19. package/bundles/cdk-scrolling.umd.js +6 -7
  20. package/bundles/cdk-scrolling.umd.js.map +1 -1
  21. package/bundles/cdk-scrolling.umd.min.js +1 -1
  22. package/bundles/cdk-scrolling.umd.min.js.map +1 -1
  23. package/bundles/cdk-tree.umd.js +8 -6
  24. package/bundles/cdk-tree.umd.js.map +1 -1
  25. package/bundles/cdk-tree.umd.min.js +1 -1
  26. package/bundles/cdk-tree.umd.min.js.map +1 -1
  27. package/bundles/cdk.umd.js +1 -1
  28. package/bundles/cdk.umd.js.map +1 -1
  29. package/bundles/cdk.umd.min.js +1 -1
  30. package/bundles/cdk.umd.min.js.map +1 -1
  31. package/drag-drop/typings/directives/drag.d.ts +1 -1
  32. package/drag-drop/typings/directives/drop-list.d.ts +2 -0
  33. package/drag-drop/typings/drag-drop-registry.d.ts +2 -0
  34. package/drag-drop/typings/drag-ref.d.ts +10 -1
  35. package/drag-drop/typings/drop-list-ref.d.ts +59 -3
  36. package/drag-drop/typings/index.metadata.json +1 -1
  37. package/esm2015/a11y.js +35 -10
  38. package/esm2015/a11y.js.map +1 -1
  39. package/esm2015/cdk.js +1 -1
  40. package/esm2015/cdk.js.map +1 -1
  41. package/esm2015/drag-drop.js +467 -85
  42. package/esm2015/drag-drop.js.map +1 -1
  43. package/esm2015/layout.js +7 -3
  44. package/esm2015/layout.js.map +1 -1
  45. package/esm2015/overlay.js +31 -23
  46. package/esm2015/overlay.js.map +1 -1
  47. package/esm2015/scrolling.js +6 -7
  48. package/esm2015/scrolling.js.map +1 -1
  49. package/esm2015/tree.js +7 -6
  50. package/esm2015/tree.js.map +1 -1
  51. package/esm5/a11y.es5.js +42 -10
  52. package/esm5/a11y.es5.js.map +1 -1
  53. package/esm5/cdk.es5.js +1 -1
  54. package/esm5/cdk.es5.js.map +1 -1
  55. package/esm5/drag-drop.es5.js +530 -85
  56. package/esm5/drag-drop.es5.js.map +1 -1
  57. package/esm5/layout.es5.js +7 -3
  58. package/esm5/layout.es5.js.map +1 -1
  59. package/esm5/overlay.es5.js +32 -24
  60. package/esm5/overlay.es5.js.map +1 -1
  61. package/esm5/scrolling.es5.js +6 -7
  62. package/esm5/scrolling.es5.js.map +1 -1
  63. package/esm5/tree.es5.js +8 -6
  64. package/esm5/tree.es5.js.map +1 -1
  65. package/overlay/typings/index.metadata.json +1 -1
  66. package/overlay/typings/overlay-ref.d.ts +1 -0
  67. package/package.json +4 -4
  68. package/schematics/index.d.ts +1 -0
  69. package/schematics/index.js +1 -0
  70. package/schematics/index.js.map +1 -1
  71. package/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/{__name@dasherize__.component.__style__ → __name@dasherize__.component.__style__.template} +0 -0
  72. package/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/{__name@dasherize__.component.html → __name@dasherize__.component.html.template} +0 -0
  73. package/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/{__name@dasherize__.component.spec.ts → __name@dasherize__.component.spec.ts.template} +0 -0
  74. package/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/{__name@dasherize__.component.ts → __name@dasherize__.component.ts.template} +0 -0
  75. package/schematics/ng-generate/drag-drop/index.js +2 -2
  76. package/schematics/ng-generate/drag-drop/index.js.map +1 -1
  77. package/schematics/ng-update/data/attribute-selectors.d.ts +1 -1
  78. package/schematics/ng-update/data/attribute-selectors.js +5 -13
  79. package/schematics/ng-update/data/attribute-selectors.js.map +1 -1
  80. package/schematics/ng-update/data/class-names.d.ts +1 -1
  81. package/schematics/ng-update/data/class-names.js +5 -21
  82. package/schematics/ng-update/data/class-names.js.map +1 -1
  83. package/schematics/ng-update/data/constructor-checks.d.ts +1 -1
  84. package/schematics/ng-update/data/constructor-checks.js +3 -5
  85. package/schematics/ng-update/data/constructor-checks.js.map +1 -1
  86. package/schematics/ng-update/data/css-selectors.d.ts +1 -1
  87. package/schematics/ng-update/data/css-selectors.js +1 -1
  88. package/schematics/ng-update/data/css-selectors.js.map +1 -1
  89. package/schematics/ng-update/data/element-selectors.d.ts +1 -1
  90. package/schematics/ng-update/data/element-selectors.js +1 -1
  91. package/schematics/ng-update/data/element-selectors.js.map +1 -1
  92. package/schematics/ng-update/data/input-names.d.ts +1 -1
  93. package/schematics/ng-update/data/input-names.js +13 -37
  94. package/schematics/ng-update/data/input-names.js.map +1 -1
  95. package/schematics/ng-update/data/method-call-checks.d.ts +1 -1
  96. package/schematics/ng-update/data/method-call-checks.js +6 -15
  97. package/schematics/ng-update/data/method-call-checks.js.map +1 -1
  98. package/schematics/ng-update/data/output-names.d.ts +1 -1
  99. package/schematics/ng-update/data/output-names.js +1 -1
  100. package/schematics/ng-update/data/output-names.js.map +1 -1
  101. package/schematics/ng-update/data/property-names.d.ts +1 -1
  102. package/schematics/ng-update/data/property-names.js +19 -59
  103. package/schematics/ng-update/data/property-names.js.map +1 -1
  104. package/schematics/ng-update/html-parsing/elements.js.map +1 -1
  105. package/schematics/ng-update/index.d.ts +0 -2
  106. package/schematics/ng-update/index.js +13 -24
  107. package/schematics/ng-update/index.js.map +1 -1
  108. package/schematics/ng-update/public-api.d.ts +0 -5
  109. package/schematics/ng-update/public-api.js +0 -5
  110. package/schematics/ng-update/public-api.js.map +1 -1
  111. package/schematics/ng-update/typescript/base-types.js.map +1 -1
  112. package/schematics/ng-update/typescript/module-specifiers.js.map +1 -1
  113. package/schematics/ng-update/upgrade-data.d.ts +5 -30
  114. package/schematics/ng-update/upgrade-data.js +4 -34
  115. package/schematics/ng-update/upgrade-data.js.map +1 -1
  116. package/schematics/ng-update/upgrade-rules/attribute-selectors-rule.d.ts +25 -0
  117. package/schematics/ng-update/upgrade-rules/attribute-selectors-rule.js +66 -0
  118. package/schematics/ng-update/upgrade-rules/attribute-selectors-rule.js.map +1 -0
  119. package/schematics/ng-update/upgrade-rules/class-inheritance-rule.d.ts +26 -0
  120. package/schematics/ng-update/upgrade-rules/{class-inheritance/classInheritanceCheckRule.js → class-inheritance-rule.js} +24 -20
  121. package/schematics/ng-update/upgrade-rules/class-inheritance-rule.js.map +1 -0
  122. package/{typings/schematics/ng-update/upgrade-rules/class-names/classNamesIdentifierRule.d.ts → schematics/ng-update/upgrade-rules/class-names-rule.d.ts} +7 -7
  123. package/schematics/ng-update/upgrade-rules/{class-names/classNamesIdentifierRule.js → class-names-rule.js} +19 -24
  124. package/schematics/ng-update/upgrade-rules/class-names-rule.js.map +1 -0
  125. package/schematics/ng-update/upgrade-rules/constructor-signature-rule.d.ts +29 -0
  126. package/schematics/ng-update/upgrade-rules/constructor-signature-rule.js +134 -0
  127. package/schematics/ng-update/upgrade-rules/constructor-signature-rule.js.map +1 -0
  128. package/schematics/ng-update/upgrade-rules/css-selectors-rule.d.ts +25 -0
  129. package/schematics/ng-update/upgrade-rules/css-selectors-rule.js +73 -0
  130. package/schematics/ng-update/upgrade-rules/css-selectors-rule.js.map +1 -0
  131. package/schematics/ng-update/upgrade-rules/element-selectors-rule.d.ts +25 -0
  132. package/schematics/ng-update/upgrade-rules/element-selectors-rule.js +64 -0
  133. package/schematics/ng-update/upgrade-rules/element-selectors-rule.js.map +1 -0
  134. package/schematics/ng-update/upgrade-rules/index.d.ts +13 -4
  135. package/schematics/ng-update/upgrade-rules/index.js +49 -29
  136. package/schematics/ng-update/upgrade-rules/index.js.map +1 -1
  137. package/schematics/ng-update/upgrade-rules/input-names-rule.d.ts +26 -0
  138. package/schematics/ng-update/upgrade-rules/input-names-rule.js +59 -0
  139. package/schematics/ng-update/upgrade-rules/input-names-rule.js.map +1 -0
  140. package/schematics/ng-update/upgrade-rules/{signature-check/methodCallsCheckRule.d.ts → method-call-arguments-rule.d.ts} +8 -9
  141. package/schematics/ng-update/upgrade-rules/method-call-arguments-rule.js +60 -0
  142. package/schematics/ng-update/upgrade-rules/method-call-arguments-rule.js.map +1 -0
  143. package/schematics/ng-update/upgrade-rules/misc-template-rule.d.ts +18 -0
  144. package/schematics/ng-update/upgrade-rules/misc-template-rule.js +37 -0
  145. package/schematics/ng-update/upgrade-rules/misc-template-rule.js.map +1 -0
  146. package/schematics/ng-update/upgrade-rules/output-names-rule.d.ts +22 -0
  147. package/schematics/ng-update/upgrade-rules/output-names-rule.js +46 -0
  148. package/schematics/ng-update/upgrade-rules/output-names-rule.js.map +1 -0
  149. package/schematics/ng-update/upgrade-rules/property-names-rule.d.ts +22 -0
  150. package/schematics/ng-update/upgrade-rules/property-names-rule.js +46 -0
  151. package/schematics/ng-update/upgrade-rules/property-names-rule.js.map +1 -0
  152. package/schematics/tsconfig.tsbuildinfo +2896 -3609
  153. package/schematics/update-tool/component-resource-collector.d.ts +41 -0
  154. package/schematics/update-tool/component-resource-collector.js +141 -0
  155. package/schematics/update-tool/component-resource-collector.js.map +1 -0
  156. package/schematics/update-tool/index.d.ts +13 -0
  157. package/schematics/update-tool/index.js +117 -0
  158. package/schematics/update-tool/index.js.map +1 -0
  159. package/schematics/update-tool/migration-rule.d.ts +45 -0
  160. package/schematics/update-tool/migration-rule.js +50 -0
  161. package/schematics/update-tool/migration-rule.js.map +1 -0
  162. package/schematics/update-tool/public-api.d.ts +12 -0
  163. package/schematics/update-tool/public-api.js +18 -0
  164. package/schematics/update-tool/public-api.js.map +1 -0
  165. package/schematics/{ng-update → update-tool}/target-version.d.ts +3 -3
  166. package/schematics/{ng-update → update-tool}/target-version.js +3 -3
  167. package/schematics/update-tool/target-version.js.map +1 -0
  168. package/schematics/update-tool/utils/decorators.d.ts +23 -0
  169. package/schematics/update-tool/utils/decorators.js +37 -0
  170. package/schematics/update-tool/utils/decorators.js.map +1 -0
  171. package/schematics/update-tool/utils/functions.d.ts +14 -0
  172. package/schematics/update-tool/utils/functions.js +20 -0
  173. package/schematics/update-tool/utils/functions.js.map +1 -0
  174. package/schematics/update-tool/utils/imports.d.ts +15 -0
  175. package/schematics/update-tool/utils/imports.js +35 -0
  176. package/schematics/update-tool/utils/imports.js.map +1 -0
  177. package/schematics/update-tool/utils/line-mappings.d.ts +21 -0
  178. package/schematics/update-tool/utils/line-mappings.js +75 -0
  179. package/schematics/update-tool/utils/line-mappings.js.map +1 -0
  180. package/schematics/update-tool/utils/parse-tsconfig.d.ts +9 -0
  181. package/schematics/update-tool/utils/parse-tsconfig.js +22 -0
  182. package/schematics/update-tool/utils/parse-tsconfig.js.map +1 -0
  183. package/schematics/update-tool/utils/property-name.d.ts +18 -0
  184. package/schematics/update-tool/utils/property-name.js +27 -0
  185. package/schematics/update-tool/utils/property-name.js.map +1 -0
  186. package/schematics/update-tool/version-changes.d.ts +32 -0
  187. package/schematics/update-tool/version-changes.js +41 -0
  188. package/schematics/update-tool/version-changes.js.map +1 -0
  189. package/schematics/utils/build-component.js +4 -4
  190. package/schematics/utils/build-component.js.map +1 -1
  191. package/schematics/{ng-update/upgrade-rules → utils}/project-tsconfig-paths.d.ts +4 -1
  192. package/schematics/utils/project-tsconfig-paths.js +77 -0
  193. package/schematics/utils/project-tsconfig-paths.js.map +1 -0
  194. package/typings/a11y/aria-describer/aria-describer.d.ts +4 -3
  195. package/typings/a11y/index.metadata.json +1 -1
  196. package/typings/drag-drop/directives/drag.d.ts +1 -1
  197. package/typings/drag-drop/directives/drop-list.d.ts +2 -0
  198. package/typings/drag-drop/drag-drop-registry.d.ts +2 -0
  199. package/typings/drag-drop/drag-ref.d.ts +10 -1
  200. package/typings/drag-drop/drop-list-ref.d.ts +59 -3
  201. package/typings/drag-drop/index.metadata.json +1 -1
  202. package/typings/esm5/a11y/aria-describer/aria-describer.d.ts +4 -3
  203. package/typings/esm5/a11y/index.metadata.json +1 -1
  204. package/typings/esm5/drag-drop/directives/drag.d.ts +1 -1
  205. package/typings/esm5/drag-drop/directives/drop-list.d.ts +2 -0
  206. package/typings/esm5/drag-drop/drag-drop-registry.d.ts +2 -0
  207. package/typings/esm5/drag-drop/drag-ref.d.ts +10 -1
  208. package/typings/esm5/drag-drop/drop-list-ref.d.ts +59 -3
  209. package/typings/esm5/drag-drop/index.metadata.json +1 -1
  210. package/typings/esm5/index.metadata.json +1 -1
  211. package/typings/esm5/overlay/index.metadata.json +1 -1
  212. package/typings/esm5/overlay/overlay-ref.d.ts +1 -0
  213. package/typings/index.metadata.json +1 -1
  214. package/typings/overlay/index.metadata.json +1 -1
  215. package/typings/overlay/overlay-ref.d.ts +1 -0
  216. package/typings/schematics/index.d.ts +1 -0
  217. package/typings/schematics/ng-update/data/attribute-selectors.d.ts +1 -1
  218. package/typings/schematics/ng-update/data/class-names.d.ts +1 -1
  219. package/typings/schematics/ng-update/data/constructor-checks.d.ts +1 -1
  220. package/typings/schematics/ng-update/data/css-selectors.d.ts +1 -1
  221. package/typings/schematics/ng-update/data/element-selectors.d.ts +1 -1
  222. package/typings/schematics/ng-update/data/input-names.d.ts +1 -1
  223. package/typings/schematics/ng-update/data/method-call-checks.d.ts +1 -1
  224. package/typings/schematics/ng-update/data/output-names.d.ts +1 -1
  225. package/typings/schematics/ng-update/data/property-names.d.ts +1 -1
  226. package/typings/schematics/ng-update/index.d.ts +0 -2
  227. package/typings/schematics/ng-update/public-api.d.ts +0 -5
  228. package/typings/schematics/ng-update/upgrade-data.d.ts +5 -30
  229. package/typings/schematics/ng-update/upgrade-rules/attribute-selectors-rule.d.ts +25 -0
  230. package/typings/schematics/ng-update/upgrade-rules/class-inheritance-rule.d.ts +26 -0
  231. package/{schematics/ng-update/upgrade-rules/class-names/classNamesIdentifierRule.d.ts → typings/schematics/ng-update/upgrade-rules/class-names-rule.d.ts} +7 -7
  232. package/typings/schematics/ng-update/upgrade-rules/constructor-signature-rule.d.ts +29 -0
  233. package/typings/schematics/ng-update/upgrade-rules/css-selectors-rule.d.ts +25 -0
  234. package/typings/schematics/ng-update/upgrade-rules/element-selectors-rule.d.ts +25 -0
  235. package/typings/schematics/ng-update/upgrade-rules/index.d.ts +13 -4
  236. package/typings/schematics/ng-update/upgrade-rules/input-names-rule.d.ts +26 -0
  237. package/typings/schematics/ng-update/upgrade-rules/{signature-check/methodCallsCheckRule.d.ts → method-call-arguments-rule.d.ts} +8 -9
  238. package/typings/schematics/ng-update/upgrade-rules/misc-template-rule.d.ts +18 -0
  239. package/typings/schematics/ng-update/upgrade-rules/output-names-rule.d.ts +22 -0
  240. package/typings/schematics/ng-update/upgrade-rules/property-names-rule.d.ts +22 -0
  241. package/typings/schematics/update-tool/component-resource-collector.d.ts +41 -0
  242. package/typings/schematics/update-tool/index.d.ts +13 -0
  243. package/typings/schematics/update-tool/migration-rule.d.ts +45 -0
  244. package/typings/schematics/update-tool/public-api.d.ts +12 -0
  245. package/typings/schematics/{ng-update → update-tool}/target-version.d.ts +3 -3
  246. package/typings/schematics/update-tool/utils/decorators.d.ts +23 -0
  247. package/typings/schematics/update-tool/utils/functions.d.ts +14 -0
  248. package/typings/schematics/update-tool/utils/imports.d.ts +15 -0
  249. package/typings/schematics/update-tool/utils/line-mappings.d.ts +21 -0
  250. package/typings/schematics/update-tool/utils/parse-tsconfig.d.ts +9 -0
  251. package/typings/schematics/update-tool/utils/property-name.d.ts +18 -0
  252. package/typings/schematics/update-tool/version-changes.d.ts +32 -0
  253. package/typings/schematics/{ng-update/upgrade-rules → utils}/project-tsconfig-paths.d.ts +4 -1
  254. package/schematics/ng-update/target-version.js.map +0 -1
  255. package/schematics/ng-update/tslint/component-file.d.ts +0 -14
  256. package/schematics/ng-update/tslint/component-file.js +0 -31
  257. package/schematics/ng-update/tslint/component-file.js.map +0 -1
  258. package/schematics/ng-update/tslint/component-walker.d.ts +0 -47
  259. package/schematics/ng-update/tslint/component-walker.js +0 -142
  260. package/schematics/ng-update/tslint/component-walker.js.map +0 -1
  261. package/schematics/ng-update/tslint/external-failure-walker.d.ts +0 -25
  262. package/schematics/ng-update/tslint/external-failure-walker.js +0 -38
  263. package/schematics/ng-update/tslint/external-failure-walker.js.map +0 -1
  264. package/schematics/ng-update/upgrade-rules/attribute-selectors/attributeSelectorsStringLiteralRule.d.ts +0 -16
  265. package/schematics/ng-update/upgrade-rules/attribute-selectors/attributeSelectorsStringLiteralRule.js +0 -49
  266. package/schematics/ng-update/upgrade-rules/attribute-selectors/attributeSelectorsStringLiteralRule.js.map +0 -1
  267. package/schematics/ng-update/upgrade-rules/attribute-selectors/attributeSelectorsStylesheetRule.d.ts +0 -31
  268. package/schematics/ng-update/upgrade-rules/attribute-selectors/attributeSelectorsStylesheetRule.js +0 -62
  269. package/schematics/ng-update/upgrade-rules/attribute-selectors/attributeSelectorsStylesheetRule.js.map +0 -1
  270. package/schematics/ng-update/upgrade-rules/attribute-selectors/attributeSelectorsTemplateRule.d.ts +0 -30
  271. package/schematics/ng-update/upgrade-rules/attribute-selectors/attributeSelectorsTemplateRule.js +0 -59
  272. package/schematics/ng-update/upgrade-rules/attribute-selectors/attributeSelectorsTemplateRule.js.map +0 -1
  273. package/schematics/ng-update/upgrade-rules/class-inheritance/classInheritanceCheckRule.d.ts +0 -26
  274. package/schematics/ng-update/upgrade-rules/class-inheritance/classInheritanceCheckRule.js.map +0 -1
  275. package/schematics/ng-update/upgrade-rules/class-names/classNamesIdentifierRule.js.map +0 -1
  276. package/schematics/ng-update/upgrade-rules/css-selectors/cssSelectorsStringLiteralRule.d.ts +0 -24
  277. package/schematics/ng-update/upgrade-rules/css-selectors/cssSelectorsStringLiteralRule.js +0 -53
  278. package/schematics/ng-update/upgrade-rules/css-selectors/cssSelectorsStringLiteralRule.js.map +0 -1
  279. package/schematics/ng-update/upgrade-rules/css-selectors/cssSelectorsStylesheetRule.d.ts +0 -31
  280. package/schematics/ng-update/upgrade-rules/css-selectors/cssSelectorsStylesheetRule.js +0 -63
  281. package/schematics/ng-update/upgrade-rules/css-selectors/cssSelectorsStylesheetRule.js.map +0 -1
  282. package/schematics/ng-update/upgrade-rules/css-selectors/cssSelectorsTemplateRule.d.ts +0 -30
  283. package/schematics/ng-update/upgrade-rules/css-selectors/cssSelectorsTemplateRule.js +0 -62
  284. package/schematics/ng-update/upgrade-rules/css-selectors/cssSelectorsTemplateRule.js.map +0 -1
  285. package/schematics/ng-update/upgrade-rules/element-selectors/elementSelectorsStringLiteralRule.d.ts +0 -24
  286. package/schematics/ng-update/upgrade-rules/element-selectors/elementSelectorsStringLiteralRule.js +0 -50
  287. package/schematics/ng-update/upgrade-rules/element-selectors/elementSelectorsStringLiteralRule.js.map +0 -1
  288. package/schematics/ng-update/upgrade-rules/element-selectors/elementSelectorsStylesheetRule.d.ts +0 -31
  289. package/schematics/ng-update/upgrade-rules/element-selectors/elementSelectorsStylesheetRule.js +0 -60
  290. package/schematics/ng-update/upgrade-rules/element-selectors/elementSelectorsStylesheetRule.js.map +0 -1
  291. package/schematics/ng-update/upgrade-rules/element-selectors/elementSelectorsTemplateRule.d.ts +0 -30
  292. package/schematics/ng-update/upgrade-rules/element-selectors/elementSelectorsTemplateRule.js +0 -59
  293. package/schematics/ng-update/upgrade-rules/element-selectors/elementSelectorsTemplateRule.js.map +0 -1
  294. package/schematics/ng-update/upgrade-rules/input-names/inputNamesStylesheetRule.d.ts +0 -36
  295. package/schematics/ng-update/upgrade-rules/input-names/inputNamesStylesheetRule.js +0 -67
  296. package/schematics/ng-update/upgrade-rules/input-names/inputNamesStylesheetRule.js.map +0 -1
  297. package/schematics/ng-update/upgrade-rules/input-names/inputNamesTemplateRule.d.ts +0 -30
  298. package/schematics/ng-update/upgrade-rules/input-names/inputNamesTemplateRule.js +0 -67
  299. package/schematics/ng-update/upgrade-rules/input-names/inputNamesTemplateRule.js.map +0 -1
  300. package/schematics/ng-update/upgrade-rules/misc-checks/checkTemplateMiscRule.d.ts +0 -23
  301. package/schematics/ng-update/upgrade-rules/misc-checks/checkTemplateMiscRule.js +0 -49
  302. package/schematics/ng-update/upgrade-rules/misc-checks/checkTemplateMiscRule.js.map +0 -1
  303. package/schematics/ng-update/upgrade-rules/output-names/outputNamesTemplateRule.d.ts +0 -30
  304. package/schematics/ng-update/upgrade-rules/output-names/outputNamesTemplateRule.js +0 -67
  305. package/schematics/ng-update/upgrade-rules/output-names/outputNamesTemplateRule.js.map +0 -1
  306. package/schematics/ng-update/upgrade-rules/project-tsconfig-paths.js +0 -64
  307. package/schematics/ng-update/upgrade-rules/project-tsconfig-paths.js.map +0 -1
  308. package/schematics/ng-update/upgrade-rules/property-names/propertyNamesAccessRule.d.ts +0 -22
  309. package/schematics/ng-update/upgrade-rules/property-names/propertyNamesAccessRule.js +0 -46
  310. package/schematics/ng-update/upgrade-rules/property-names/propertyNamesAccessRule.js.map +0 -1
  311. package/schematics/ng-update/upgrade-rules/signature-check/constructorSignatureCheckRule.d.ts +0 -16
  312. package/schematics/ng-update/upgrade-rules/signature-check/constructorSignatureCheckRule.js +0 -132
  313. package/schematics/ng-update/upgrade-rules/signature-check/constructorSignatureCheckRule.js.map +0 -1
  314. package/schematics/ng-update/upgrade-rules/signature-check/methodCallsCheckRule.js +0 -58
  315. package/schematics/ng-update/upgrade-rules/signature-check/methodCallsCheckRule.js.map +0 -1
  316. package/schematics/ng-update/upgrade-rules/tslint-config.d.ts +0 -32
  317. package/schematics/ng-update/upgrade-rules/tslint-config.js +0 -76
  318. package/schematics/ng-update/upgrade-rules/tslint-config.js.map +0 -1
  319. package/typings/schematics/ng-update/tslint/component-file.d.ts +0 -14
  320. package/typings/schematics/ng-update/tslint/component-walker.d.ts +0 -47
  321. package/typings/schematics/ng-update/tslint/external-failure-walker.d.ts +0 -25
  322. package/typings/schematics/ng-update/upgrade-rules/attribute-selectors/attributeSelectorsStringLiteralRule.d.ts +0 -16
  323. package/typings/schematics/ng-update/upgrade-rules/attribute-selectors/attributeSelectorsStylesheetRule.d.ts +0 -31
  324. package/typings/schematics/ng-update/upgrade-rules/attribute-selectors/attributeSelectorsTemplateRule.d.ts +0 -30
  325. package/typings/schematics/ng-update/upgrade-rules/class-inheritance/classInheritanceCheckRule.d.ts +0 -26
  326. package/typings/schematics/ng-update/upgrade-rules/css-selectors/cssSelectorsStringLiteralRule.d.ts +0 -24
  327. package/typings/schematics/ng-update/upgrade-rules/css-selectors/cssSelectorsStylesheetRule.d.ts +0 -31
  328. package/typings/schematics/ng-update/upgrade-rules/css-selectors/cssSelectorsTemplateRule.d.ts +0 -30
  329. package/typings/schematics/ng-update/upgrade-rules/element-selectors/elementSelectorsStringLiteralRule.d.ts +0 -24
  330. package/typings/schematics/ng-update/upgrade-rules/element-selectors/elementSelectorsStylesheetRule.d.ts +0 -31
  331. package/typings/schematics/ng-update/upgrade-rules/element-selectors/elementSelectorsTemplateRule.d.ts +0 -30
  332. package/typings/schematics/ng-update/upgrade-rules/input-names/inputNamesStylesheetRule.d.ts +0 -36
  333. package/typings/schematics/ng-update/upgrade-rules/input-names/inputNamesTemplateRule.d.ts +0 -30
  334. package/typings/schematics/ng-update/upgrade-rules/misc-checks/checkTemplateMiscRule.d.ts +0 -23
  335. package/typings/schematics/ng-update/upgrade-rules/output-names/outputNamesTemplateRule.d.ts +0 -30
  336. package/typings/schematics/ng-update/upgrade-rules/property-names/propertyNamesAccessRule.d.ts +0 -22
  337. package/typings/schematics/ng-update/upgrade-rules/signature-check/constructorSignatureCheckRule.d.ts +0 -16
  338. package/typings/schematics/ng-update/upgrade-rules/tslint-config.d.ts +0 -32
@@ -0,0 +1,134 @@
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
+ const ts = require("typescript");
11
+ const migration_rule_1 = require("../../update-tool/migration-rule");
12
+ const version_changes_1 = require("../../update-tool/version-changes");
13
+ /**
14
+ * List of diagnostic codes that refer to pre-emit diagnostics which indicate invalid
15
+ * new expression or super call signatures. See the list of diagnostics here:
16
+ *
17
+ * https://github.com/Microsoft/TypeScript/blob/master/src/compiler/diagnosticMessages.json
18
+ */
19
+ const signatureErrorDiagnostics = [
20
+ // Type not assignable error diagnostic.
21
+ 2345,
22
+ // Constructor argument length invalid diagnostics
23
+ 2554,
24
+ 2555,
25
+ 2556,
26
+ 2557,
27
+ ];
28
+ /**
29
+ * Rule that visits every TypeScript new expression or super call and checks if
30
+ * the parameter type signature is invalid and needs to be updated manually.
31
+ */
32
+ class ConstructorSignatureRule extends migration_rule_1.MigrationRule {
33
+ constructor() {
34
+ super(...arguments);
35
+ // Note that the data for this rule is not distinguished based on the target version because
36
+ // we don't keep track of the new signature and don't want to update incrementally.
37
+ // See: https://github.com/angular/components/pull/12970#issuecomment-418337566
38
+ this.data = version_changes_1.getAllChanges(this.upgradeData.constructorChecks);
39
+ // Only enable the migration rule if there is upgrade data.
40
+ this.ruleEnabled = this.data.length !== 0;
41
+ }
42
+ visitNode(node) {
43
+ if (ts.isSourceFile(node)) {
44
+ this._visitSourceFile(node);
45
+ }
46
+ }
47
+ /**
48
+ * Method that will be called for each source file of the upgrade project. In order to
49
+ * properly determine invalid constructor signatures, we take advantage of the pre-emit
50
+ * diagnostics from TypeScript.
51
+ *
52
+ * By using the diagnostics, the migration can handle type assignability. Not using
53
+ * diagnostics would mean that we need to use simple type equality checking which is
54
+ * too strict. See related issue: https://github.com/Microsoft/TypeScript/issues/9879
55
+ */
56
+ _visitSourceFile(sourceFile) {
57
+ // List of classes of which the constructor signature has changed.
58
+ const diagnostics = ts.getPreEmitDiagnostics(this.program, sourceFile)
59
+ .filter(diagnostic => signatureErrorDiagnostics.includes(diagnostic.code))
60
+ .filter(diagnostic => diagnostic.start !== undefined);
61
+ for (const diagnostic of diagnostics) {
62
+ const node = findConstructorNode(diagnostic, sourceFile);
63
+ if (!node) {
64
+ continue;
65
+ }
66
+ const classType = this.typeChecker.getTypeAtLocation(node.expression);
67
+ const className = classType.symbol && classType.symbol.name;
68
+ const isNewExpression = ts.isNewExpression(node);
69
+ // Determine the class names of the actual construct signatures because we cannot assume that
70
+ // the diagnostic refers to a constructor of the actual expression. In case the constructor
71
+ // is inherited, we need to detect that the owner-class of the constructor is added to the
72
+ // constructor checks upgrade data. e.g. `class CustomCalendar extends MatCalendar {}`.
73
+ const signatureClassNames = classType.getConstructSignatures()
74
+ .map(signature => getClassDeclarationOfSignature(signature))
75
+ .map(declaration => declaration && declaration.name ? declaration.name.text : null)
76
+ .filter(Boolean);
77
+ // Besides checking the signature class names, we need to check the actual class name because
78
+ // there can be classes without an explicit constructor.
79
+ if (!this.data.includes(className) &&
80
+ !signatureClassNames.some(name => this.data.includes(name))) {
81
+ continue;
82
+ }
83
+ const classSignatures = classType.getConstructSignatures().map(signature => getParameterTypesFromSignature(signature, this.typeChecker));
84
+ const expressionName = isNewExpression ? `new ${className}` : 'super';
85
+ const signatures = classSignatures.map(signature => signature.map(t => this.typeChecker.typeToString(t)))
86
+ .map(signature => `${expressionName}(${signature.join(', ')})`)
87
+ .join(' or ');
88
+ this.createFailureAtNode(node, `Found "${className}" constructed with ` +
89
+ `an invalid signature. Please manually update the ${expressionName} expression to ` +
90
+ `match the new signature${classSignatures.length > 1 ? 's' : ''}: ${signatures}`);
91
+ }
92
+ }
93
+ }
94
+ exports.ConstructorSignatureRule = ConstructorSignatureRule;
95
+ /** Resolves the type for each parameter in the specified signature. */
96
+ function getParameterTypesFromSignature(signature, typeChecker) {
97
+ return signature.getParameters().map(param => typeChecker.getTypeAtLocation(param.declarations[0]));
98
+ }
99
+ /**
100
+ * Walks through each node of a source file in order to find a new-expression node or super-call
101
+ * expression node that is captured by the specified diagnostic.
102
+ */
103
+ function findConstructorNode(diagnostic, sourceFile) {
104
+ let resolvedNode = null;
105
+ const _visitNode = (node) => {
106
+ // Check whether the current node contains the diagnostic. If the node contains the diagnostic,
107
+ // walk deeper in order to find all constructor expression nodes.
108
+ if (node.getStart() <= diagnostic.start && node.getEnd() >= diagnostic.start) {
109
+ if (ts.isNewExpression(node) ||
110
+ (ts.isCallExpression(node) && node.expression.kind === ts.SyntaxKind.SuperKeyword)) {
111
+ resolvedNode = node;
112
+ }
113
+ ts.forEachChild(node, _visitNode);
114
+ }
115
+ };
116
+ ts.forEachChild(sourceFile, _visitNode);
117
+ return resolvedNode;
118
+ }
119
+ /** Determines the class declaration of the specified construct signature. */
120
+ function getClassDeclarationOfSignature(signature) {
121
+ let node = signature.getDeclaration();
122
+ // Handle signatures which don't have an actual declaration. This happens if a class
123
+ // does not have an explicitly written constructor.
124
+ if (!node) {
125
+ return null;
126
+ }
127
+ while (!ts.isSourceFile(node = node.parent)) {
128
+ if (ts.isClassDeclaration(node)) {
129
+ return node;
130
+ }
131
+ }
132
+ return null;
133
+ }
134
+ //# sourceMappingURL=constructor-signature-rule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constructor-signature-rule.js","sourceRoot":"","sources":["../../../../../../src/cdk/schematics/ng-update/upgrade-rules/constructor-signature-rule.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAEH,iCAAiC;AACjC,qEAA+D;AAC/D,uEAAgE;AAGhE;;;;;GAKG;AACH,MAAM,yBAAyB,GAAG;IAChC,wCAAwC;IACxC,IAAI;IACJ,kDAAkD;IAClD,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;CACL,CAAC;AAEF;;;GAGG;AACH,MAAa,wBAAyB,SAAQ,8BAA8B;IAA5E;;QACE,4FAA4F;QAC5F,mFAAmF;QACnF,+EAA+E;QAC/E,SAAI,GAAG,+BAAa,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;QAEzD,2DAA2D;QAC3D,gBAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;IAoEvC,CAAC;IAlEC,SAAS,CAAC,IAAa;QACrB,IAAI,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;YACzB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;SAC7B;IACH,CAAC;IAED;;;;;;;;OAQG;IACK,gBAAgB,CAAC,UAAyB;QAChD,kEAAkE;QAClE,MAAM,WAAW,GACb,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC;aAC7C,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,yBAAyB,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;aACzE,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;QAE9D,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YACpC,MAAM,IAAI,GAAG,mBAAmB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAEzD,IAAI,CAAC,IAAI,EAAE;gBACT,SAAS;aACV;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACtE,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;YAC5D,MAAM,eAAe,GAAG,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAEjD,6FAA6F;YAC7F,2FAA2F;YAC3F,0FAA0F;YAC1F,uFAAuF;YACvF,MAAM,mBAAmB,GACrB,SAAS,CAAC,sBAAsB,EAAE;iBAC7B,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,8BAA8B,CAAC,SAAS,CAAC,CAAC;iBAC3D,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;iBAClF,MAAM,CAAC,OAAO,CAAC,CAAC;YAEzB,6FAA6F;YAC7F,wDAAwD;YACxD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAC9B,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAK,CAAC,CAAC,EAAE;gBAChE,SAAS;aACV;YAED,MAAM,eAAe,GAAG,SAAS,CAAC,sBAAsB,EAAE,CAAC,GAAG,CAC1D,SAAS,CAAC,EAAE,CAAC,8BAA8B,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YAE9E,MAAM,cAAc,GAAG,eAAe,CAAC,CAAC,CAAC,OAAO,SAAS,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YACtE,MAAM,UAAU,GACZ,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;iBACjF,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,cAAc,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;iBAC9D,IAAI,CAAC,MAAM,CAAC,CAAC;YAEtB,IAAI,CAAC,mBAAmB,CACpB,IAAI,EACJ,UAAU,SAAS,qBAAqB;gBACpC,oDAAoD,cAAc,iBAAiB;gBACnF,0BAA0B,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC,CAAC;SAC3F;IACH,CAAC;CACF;AA3ED,4DA2EC;AAGD,uEAAuE;AACvE,SAAS,8BAA8B,CACnC,SAAuB,EAAE,WAA2B;IACtD,OAAO,SAAS,CAAC,aAAa,EAAE,CAAC,GAAG,CAChC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CACxB,UAAyB,EAAE,UAAyB;IACtD,IAAI,YAAY,GAAiB,IAAI,CAAC;IAEtC,MAAM,UAAU,GAAG,CAAC,IAAa,EAAE,EAAE;QACnC,+FAA+F;QAC/F,iEAAiE;QACjE,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,UAAU,CAAC,KAAM,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,UAAU,CAAC,KAAM,EAAE;YAC9E,IAAI,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;gBACxB,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;gBACtF,YAAY,GAAG,IAAI,CAAC;aACrB;YAED,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;SACnC;IACH,CAAC,CAAC;IAEF,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAExC,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,6EAA6E;AAC7E,SAAS,8BAA8B,CAAC,SAAuB;IAC7D,IAAI,IAAI,GAAY,SAAS,CAAC,cAAc,EAAE,CAAC;IAC/C,oFAAoF;IACpF,mDAAmD;IACnD,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,IAAI,CAAC;KACb;IACD,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE;QAC3C,IAAI,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;YAC/B,OAAO,IAAI,CAAC;SACb;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -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 * as ts from 'typescript';
9
+ import { ResolvedResource } from '../../update-tool/component-resource-collector';
10
+ import { MigrationRule } from '../../update-tool/migration-rule';
11
+ import { RuleUpgradeData } from '../upgrade-data';
12
+ /**
13
+ * Rule that walks through every string literal, template and stylesheet in
14
+ * order to migrate outdated CSS selectors to the new selector.
15
+ */
16
+ export declare class CssSelectorsRule extends MigrationRule<RuleUpgradeData> {
17
+ /** Change data that upgrades to the specified target version. */
18
+ data: any;
19
+ ruleEnabled: any;
20
+ visitNode(node: ts.Node): void;
21
+ visitTemplate(template: ResolvedResource): void;
22
+ visitStylesheet(stylesheet: ResolvedResource): void;
23
+ private _visitStringLiteralLike;
24
+ private _replaceSelector;
25
+ }
@@ -0,0 +1,73 @@
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
+ const ts = require("typescript");
11
+ const migration_rule_1 = require("../../update-tool/migration-rule");
12
+ const literal_1 = require("../typescript/literal");
13
+ const upgrade_data_1 = require("../upgrade-data");
14
+ /**
15
+ * Rule that walks through every string literal, template and stylesheet in
16
+ * order to migrate outdated CSS selectors to the new selector.
17
+ */
18
+ class CssSelectorsRule extends migration_rule_1.MigrationRule {
19
+ constructor() {
20
+ super(...arguments);
21
+ /** Change data that upgrades to the specified target version. */
22
+ this.data = upgrade_data_1.getVersionUpgradeData(this, 'cssSelectors');
23
+ // Only enable the migration rule if there is upgrade data.
24
+ this.ruleEnabled = this.data.length !== 0;
25
+ }
26
+ visitNode(node) {
27
+ if (ts.isStringLiteralLike(node)) {
28
+ this._visitStringLiteralLike(node);
29
+ }
30
+ }
31
+ visitTemplate(template) {
32
+ this.data.forEach(data => {
33
+ if (data.whitelist && !data.whitelist.html) {
34
+ return;
35
+ }
36
+ literal_1.findAllSubstringIndices(template.content, data.replace)
37
+ .map(offset => template.start + offset)
38
+ .forEach(start => this._replaceSelector(template.filePath, start, data));
39
+ });
40
+ }
41
+ visitStylesheet(stylesheet) {
42
+ this.data.forEach(data => {
43
+ if (data.whitelist && !data.whitelist.stylesheet) {
44
+ return;
45
+ }
46
+ literal_1.findAllSubstringIndices(stylesheet.content, data.replace)
47
+ .map(offset => stylesheet.start + offset)
48
+ .forEach(start => this._replaceSelector(stylesheet.filePath, start, data));
49
+ });
50
+ }
51
+ _visitStringLiteralLike(node) {
52
+ if (node.parent && node.parent.kind !== ts.SyntaxKind.CallExpression) {
53
+ return;
54
+ }
55
+ const textContent = node.getText();
56
+ const filePath = node.getSourceFile().fileName;
57
+ this.data.forEach(data => {
58
+ if (data.whitelist && !data.whitelist.strings) {
59
+ return;
60
+ }
61
+ literal_1.findAllSubstringIndices(textContent, data.replace)
62
+ .map(offset => node.getStart() + offset)
63
+ .forEach(start => this._replaceSelector(filePath, start, data));
64
+ });
65
+ }
66
+ _replaceSelector(filePath, start, data) {
67
+ const updateRecorder = this.getUpdateRecorder(filePath);
68
+ updateRecorder.remove(start, data.replace.length);
69
+ updateRecorder.insertRight(start, data.replaceWith);
70
+ }
71
+ }
72
+ exports.CssSelectorsRule = CssSelectorsRule;
73
+ //# sourceMappingURL=css-selectors-rule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"css-selectors-rule.js","sourceRoot":"","sources":["../../../../../../src/cdk/schematics/ng-update/upgrade-rules/css-selectors-rule.ts"],"names":[],"mappings":"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"}
@@ -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 * as ts from 'typescript';
9
+ import { ResolvedResource } from '../../update-tool/component-resource-collector';
10
+ import { MigrationRule } from '../../update-tool/migration-rule';
11
+ import { RuleUpgradeData } from '../upgrade-data';
12
+ /**
13
+ * Rule that walks through every string literal, template and stylesheet in order
14
+ * to migrate outdated element selectors to the new one.
15
+ */
16
+ export declare class ElementSelectorsRule extends MigrationRule<RuleUpgradeData> {
17
+ /** Change data that upgrades to the specified target version. */
18
+ data: any;
19
+ ruleEnabled: any;
20
+ visitNode(node: ts.Node): void;
21
+ visitTemplate(template: ResolvedResource): void;
22
+ visitStylesheet(stylesheet: ResolvedResource): void;
23
+ private _visitStringLiteralLike;
24
+ private _replaceSelector;
25
+ }
@@ -0,0 +1,64 @@
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
+ const ts = require("typescript");
11
+ const migration_rule_1 = require("../../update-tool/migration-rule");
12
+ const literal_1 = require("../typescript/literal");
13
+ const upgrade_data_1 = require("../upgrade-data");
14
+ /**
15
+ * Rule that walks through every string literal, template and stylesheet in order
16
+ * to migrate outdated element selectors to the new one.
17
+ */
18
+ class ElementSelectorsRule extends migration_rule_1.MigrationRule {
19
+ constructor() {
20
+ super(...arguments);
21
+ /** Change data that upgrades to the specified target version. */
22
+ this.data = upgrade_data_1.getVersionUpgradeData(this, 'elementSelectors');
23
+ // Only enable the migration rule if there is upgrade data.
24
+ this.ruleEnabled = this.data.length !== 0;
25
+ }
26
+ visitNode(node) {
27
+ if (ts.isStringLiteralLike(node)) {
28
+ this._visitStringLiteralLike(node);
29
+ }
30
+ }
31
+ visitTemplate(template) {
32
+ this.data.forEach(selector => {
33
+ literal_1.findAllSubstringIndices(template.content, selector.replace)
34
+ .map(offset => template.start + offset)
35
+ .forEach(start => this._replaceSelector(template.filePath, start, selector));
36
+ });
37
+ }
38
+ visitStylesheet(stylesheet) {
39
+ this.data.forEach(selector => {
40
+ literal_1.findAllSubstringIndices(stylesheet.content, selector.replace)
41
+ .map(offset => stylesheet.start + offset)
42
+ .forEach(start => this._replaceSelector(stylesheet.filePath, start, selector));
43
+ });
44
+ }
45
+ _visitStringLiteralLike(node) {
46
+ if (node.parent && node.parent.kind !== ts.SyntaxKind.CallExpression) {
47
+ return;
48
+ }
49
+ const textContent = node.getText();
50
+ const filePath = node.getSourceFile().fileName;
51
+ this.data.forEach(selector => {
52
+ literal_1.findAllSubstringIndices(textContent, selector.replace)
53
+ .map(offset => node.getStart() + offset)
54
+ .forEach(start => this._replaceSelector(filePath, start, selector));
55
+ });
56
+ }
57
+ _replaceSelector(filePath, start, data) {
58
+ const updateRecorder = this.getUpdateRecorder(filePath);
59
+ updateRecorder.remove(start, data.replace.length);
60
+ updateRecorder.insertRight(start, data.replaceWith);
61
+ }
62
+ }
63
+ exports.ElementSelectorsRule = ElementSelectorsRule;
64
+ //# sourceMappingURL=element-selectors-rule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"element-selectors-rule.js","sourceRoot":"","sources":["../../../../../../src/cdk/schematics/ng-update/upgrade-rules/element-selectors-rule.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAEH,iCAAiC;AAEjC,qEAA+D;AAE/D,mDAA8D;AAC9D,kDAAuE;AAEvE;;;GAGG;AACH,MAAa,oBAAqB,SAAQ,8BAA8B;IAAxE;;QACE,iEAAiE;QACjE,SAAI,GAAG,oCAAqB,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;QAEvD,2DAA2D;QAC3D,gBAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;IA4CvC,CAAC;IA1CC,SAAS,CAAC,IAAa;QACrB,IAAI,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE;YAChC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;SACpC;IACH,CAAC;IAED,aAAa,CAAC,QAA0B;QACtC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC3B,iCAAuB,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC;iBACtD,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,GAAG,MAAM,CAAC;iBACtC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,UAA4B;QAC1C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC3B,iCAAuB,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC;iBACxD,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC;iBACxC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,uBAAuB,CAAC,IAA0B;QACxD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,cAAc,EAAE;YACpE,OAAO;SACR;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC;QAE/C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC3B,iCAAuB,CAAC,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC;iBACjD,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC;iBACvC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,gBAAgB,CAAC,QAAgB,EAAE,KAAa,EAAE,IAAgC;QACxF,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACxD,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAClD,cAAc,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACtD,CAAC;CACF;AAjDD,oDAiDC"}
@@ -6,7 +6,16 @@
6
6
  * found in the LICENSE file at https://angular.io/license
7
7
  */
8
8
  import { Rule } from '@angular-devkit/schematics';
9
- import { TargetVersion } from '../target-version';
10
- import { UpgradeTSLintConfig } from './tslint-config';
11
- /** Creates a Angular schematic rule that runs the upgrade for the specified target version. */
12
- export declare function createUpgradeRule(targetVersion: TargetVersion, upgradeConfig: UpgradeTSLintConfig): Rule;
9
+ import { Constructor } from '../../update-tool';
10
+ import { MigrationRule } from '../../update-tool/migration-rule';
11
+ import { TargetVersion } from '../../update-tool/target-version';
12
+ import { RuleUpgradeData } from '../upgrade-data';
13
+ /** List of migration rules which run for the CDK update. */
14
+ export declare const cdkMigrationRules: Constructor<MigrationRule<RuleUpgradeData>>[];
15
+ declare type NullableMigrationRule = Constructor<MigrationRule<RuleUpgradeData | null>>;
16
+ /**
17
+ * Creates a Angular schematic rule that runs the upgrade for the
18
+ * specified target version.
19
+ */
20
+ export declare function createUpgradeRule(targetVersion: TargetVersion, extraRules: NullableMigrationRule[], upgradeData: RuleUpgradeData, onMigrationCompleteFn?: (targetVersion: TargetVersion, hasFailures: boolean) => void): Rule;
21
+ export {};
@@ -7,38 +7,58 @@
7
7
  * found in the LICENSE file at https://angular.io/license
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- const schematics_1 = require("@angular-devkit/schematics");
11
- const tasks_1 = require("@angular-devkit/schematics/tasks");
12
- const glob_1 = require("glob");
13
- const project_tsconfig_paths_1 = require("./project-tsconfig-paths");
14
- const tslint_config_1 = require("./tslint-config");
15
- /** Creates a Angular schematic rule that runs the upgrade for the specified target version. */
16
- function createUpgradeRule(targetVersion, upgradeConfig) {
10
+ const update_tool_1 = require("../../update-tool");
11
+ const project_tsconfig_paths_1 = require("../../utils/project-tsconfig-paths");
12
+ const attribute_selectors_rule_1 = require("./attribute-selectors-rule");
13
+ const class_inheritance_rule_1 = require("./class-inheritance-rule");
14
+ const class_names_rule_1 = require("./class-names-rule");
15
+ const constructor_signature_rule_1 = require("./constructor-signature-rule");
16
+ const css_selectors_rule_1 = require("./css-selectors-rule");
17
+ const element_selectors_rule_1 = require("./element-selectors-rule");
18
+ const input_names_rule_1 = require("./input-names-rule");
19
+ const method_call_arguments_rule_1 = require("./method-call-arguments-rule");
20
+ const misc_template_rule_1 = require("./misc-template-rule");
21
+ const output_names_rule_1 = require("./output-names-rule");
22
+ const property_names_rule_1 = require("./property-names-rule");
23
+ /** List of migration rules which run for the CDK update. */
24
+ exports.cdkMigrationRules = [
25
+ attribute_selectors_rule_1.AttributeSelectorsRule,
26
+ class_inheritance_rule_1.ClassInheritanceRule,
27
+ class_names_rule_1.ClassNamesRule,
28
+ constructor_signature_rule_1.ConstructorSignatureRule,
29
+ css_selectors_rule_1.CssSelectorsRule,
30
+ element_selectors_rule_1.ElementSelectorsRule,
31
+ input_names_rule_1.InputNamesRule,
32
+ method_call_arguments_rule_1.MethodCallArgumentsRule,
33
+ misc_template_rule_1.MiscTemplateRule,
34
+ output_names_rule_1.OutputNamesRule,
35
+ property_names_rule_1.PropertyNamesRule,
36
+ ];
37
+ /**
38
+ * Creates a Angular schematic rule that runs the upgrade for the
39
+ * specified target version.
40
+ */
41
+ function createUpgradeRule(targetVersion, extraRules, upgradeData, onMigrationCompleteFn) {
17
42
  return (tree, context) => {
18
- const projectTsConfigPaths = project_tsconfig_paths_1.getProjectTsConfigPaths(tree);
19
- const tslintFixTasks = [];
20
- if (!projectTsConfigPaths.length) {
21
- throw new schematics_1.SchematicsException('Could not find any tsconfig file. Please submit an issue ' +
22
- 'on the Angular Material repository that includes the path to your "tsconfig" file.');
43
+ const logger = context.logger;
44
+ const { buildPaths, testPaths } = project_tsconfig_paths_1.getProjectTsConfigPaths(tree);
45
+ if (!buildPaths.length && !testPaths.length) {
46
+ // We don't want to throw here because it would mean that other migrations in the
47
+ // pipeline don't run either. Rather print an error message.
48
+ logger.error('Could not find any TypeScript project in the CLI workspace configuration.');
49
+ return;
50
+ }
51
+ // Keep track of all project source files which have been checked/migrated. This is
52
+ // necessary because multiple TypeScript projects can contain the same source file and
53
+ // we don't want to check these again, as this would result in duplicated failure messages.
54
+ const analyzedFiles = new Set();
55
+ let hasRuleFailures = false;
56
+ for (const tsconfigPath of [...buildPaths, ...testPaths]) {
57
+ hasRuleFailures = hasRuleFailures || update_tool_1.runMigrationRules(tree, context.logger, tsconfigPath, targetVersion, [...exports.cdkMigrationRules, ...extraRules], upgradeData, analyzedFiles);
23
58
  }
24
- // In some applications, developers will have global stylesheets which are not specified in any
25
- // Angular component. Therefore we glob up all CSS and SCSS files outside of node_modules and
26
- // dist. The files will be read by the individual stylesheet rules and checked.
27
- const extraStyleFiles = glob_1.sync('!(node_modules|dist)/**/*.+(css|scss)', { absolute: true });
28
- const tslintConfig = tslint_config_1.createTslintConfig(targetVersion, Object.assign({
29
- // Default options that can be overwritten if specified explicitly. e.g. if the
30
- // Material update schematic wants to specify a different upgrade data.
31
- extraStyleFiles: extraStyleFiles }, upgradeConfig));
32
- for (const tsconfig of projectTsConfigPaths) {
33
- // Run the update tslint rules.
34
- tslintFixTasks.push(context.addTask(new tasks_1.TslintFixTask(tslintConfig, {
35
- silent: false,
36
- ignoreErrors: true,
37
- tsConfigPath: tsconfig,
38
- })));
59
+ if (onMigrationCompleteFn) {
60
+ onMigrationCompleteFn(targetVersion, hasRuleFailures);
39
61
  }
40
- // Delete the temporary schematics directory.
41
- context.addTask(new tasks_1.RunSchematicTask('ng-post-update', {}), tslintFixTasks);
42
62
  };
43
63
  }
44
64
  exports.createUpgradeRule = createUpgradeRule;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/cdk/schematics/ng-update/upgrade-rules/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAEH,2DAMoC;AACpC,4DAAiF;AACjF,+BAAsC;AACtC,qEAAiE;AAEjE,mDAAwE;AAExE,+FAA+F;AAC/F,SAAgB,iBAAiB,CAAC,aAA4B,EAC5B,aAAkC;IAClE,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QAE/C,MAAM,oBAAoB,GAAG,gDAAuB,CAAC,IAAI,CAAC,CAAC;QAC3D,MAAM,cAAc,GAAa,EAAE,CAAC;QAEpC,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE;YAChC,MAAM,IAAI,gCAAmB,CAAC,2DAA2D;gBACvF,oFAAoF,CAAC,CAAC;SACzF;QACD,+FAA+F;QAC/F,6FAA6F;QAC7F,+EAA+E;QAC/E,MAAM,eAAe,GAAG,WAAQ,CAAC,uCAAuC,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;QAC5F,MAAM,YAAY,GAAG,kCAAkB,CAAC,aAAa;YACnD,+EAA+E;YAC/E,uEAAuE;YACvE,eAAe,EAAE,eAAe,IAE7B,aAAa,EAChB,CAAC;QAEH,KAAK,MAAM,QAAQ,IAAI,oBAAoB,EAAE;YAC3C,+BAA+B;YAC/B,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,qBAAa,CAAC,YAAY,EAAE;gBAClE,MAAM,EAAE,KAAK;gBACb,YAAY,EAAE,IAAI;gBAClB,YAAY,EAAE,QAAQ;aACvB,CAAC,CAAC,CAAC,CAAC;SACN;QAED,6CAA6C;QAC7C,OAAO,CAAC,OAAO,CAAC,IAAI,wBAAgB,CAAC,gBAAgB,EAAE,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC;IAC9E,CAAC,CAAC;AACJ,CAAC;AAnCD,8CAmCC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/cdk/schematics/ng-update/upgrade-rules/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAIH,mDAAiE;AAGjE,+EAA2E;AAG3E,yEAAkE;AAClE,qEAA8D;AAC9D,yDAAkD;AAClD,6EAAsE;AACtE,6DAAsD;AACtD,qEAA8D;AAC9D,yDAAkD;AAClD,6EAAqE;AACrE,6DAAsD;AACtD,2DAAoD;AACpD,+DAAwD;AAGxD,4DAA4D;AAC/C,QAAA,iBAAiB,GAAkD;IAC9E,iDAAsB;IACtB,6CAAoB;IACpB,iCAAc;IACd,qDAAwB;IACxB,qCAAgB;IAChB,6CAAoB;IACpB,iCAAc;IACd,oDAAuB;IACvB,qCAAgB;IAChB,mCAAe;IACf,uCAAiB;CAClB,CAAC;AAIF;;;GAGG;AACH,SAAgB,iBAAiB,CAC7B,aAA4B,EAAE,UAAmC,EAAE,WAA4B,EAC/F,qBAAoF;IACtF,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,MAAM,EAAC,UAAU,EAAE,SAAS,EAAC,GAAG,gDAAuB,CAAC,IAAI,CAAC,CAAC;QAE9D,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YAC3C,iFAAiF;YACjF,4DAA4D;YAC5D,MAAM,CAAC,KAAK,CAAC,2EAA2E,CAAC,CAAC;YAC1F,OAAO;SACR;QAED,mFAAmF;QACnF,sFAAsF;QACtF,2FAA2F;QAC3F,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QACxC,IAAI,eAAe,GAAG,KAAK,CAAC;QAE5B,KAAK,MAAM,YAAY,IAAI,CAAC,GAAG,UAAU,EAAE,GAAG,SAAS,CAAC,EAAE;YACxD,eAAe,GAAG,eAAe,IAAI,+BAAiB,CAClD,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,GAAG,yBAAiB,EAAE,GAAG,UAAU,CAAC,EACxF,WAAW,EAAE,aAAa,CAAC,CAAC;SACjC;QAED,IAAI,qBAAqB,EAAE;YACzB,qBAAqB,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;SACvD;IACH,CAAC,CAAC;AACJ,CAAC;AA9BD,8CA8BC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ import { ResolvedResource } from '../../update-tool/component-resource-collector';
9
+ import { MigrationRule } from '../../update-tool/migration-rule';
10
+ import { InputNameUpgradeData } from '../data';
11
+ import { RuleUpgradeData } from '../upgrade-data';
12
+ /**
13
+ * Rule that walks through every template or stylesheet and replaces outdated input
14
+ * names to the new input name. Selectors in stylesheets could also target input
15
+ * bindings declared as static attribute. See for example:
16
+ *
17
+ * e.g. `<my-component color="primary">` becomes `my-component[color]`
18
+ */
19
+ export declare class InputNamesRule extends MigrationRule<RuleUpgradeData> {
20
+ /** Change data that upgrades to the specified target version. */
21
+ data: InputNameUpgradeData[];
22
+ ruleEnabled: boolean;
23
+ visitStylesheet(stylesheet: ResolvedResource): void;
24
+ visitTemplate(template: ResolvedResource): void;
25
+ private _replaceInputName;
26
+ }
@@ -0,0 +1,59 @@
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
+ const __1 = require("../..");
11
+ const migration_rule_1 = require("../../update-tool/migration-rule");
12
+ const literal_1 = require("../typescript/literal");
13
+ const upgrade_data_1 = require("../upgrade-data");
14
+ /**
15
+ * Rule that walks through every template or stylesheet and replaces outdated input
16
+ * names to the new input name. Selectors in stylesheets could also target input
17
+ * bindings declared as static attribute. See for example:
18
+ *
19
+ * e.g. `<my-component color="primary">` becomes `my-component[color]`
20
+ */
21
+ class InputNamesRule extends migration_rule_1.MigrationRule {
22
+ constructor() {
23
+ super(...arguments);
24
+ /** Change data that upgrades to the specified target version. */
25
+ this.data = upgrade_data_1.getVersionUpgradeData(this, 'inputNames');
26
+ // Only enable the migration rule if there is upgrade data.
27
+ this.ruleEnabled = this.data.length !== 0;
28
+ }
29
+ visitStylesheet(stylesheet) {
30
+ this.data.forEach(name => {
31
+ const currentSelector = `[${name.replace}]`;
32
+ const updatedSelector = `[${name.replaceWith}]`;
33
+ literal_1.findAllSubstringIndices(stylesheet.content, currentSelector)
34
+ .map(offset => stylesheet.start + offset)
35
+ .forEach(start => this._replaceInputName(stylesheet.filePath, start, currentSelector.length, updatedSelector));
36
+ });
37
+ }
38
+ visitTemplate(template) {
39
+ this.data.forEach(name => {
40
+ const whitelist = name.whitelist;
41
+ const relativeOffsets = [];
42
+ if (whitelist.attributes) {
43
+ relativeOffsets.push(...__1.findInputsOnElementWithAttr(template.content, name.replace, whitelist.attributes));
44
+ }
45
+ if (whitelist.elements) {
46
+ relativeOffsets.push(...__1.findInputsOnElementWithTag(template.content, name.replace, whitelist.elements));
47
+ }
48
+ relativeOffsets.map(offset => template.start + offset)
49
+ .forEach(start => this._replaceInputName(template.filePath, start, name.replace.length, name.replaceWith));
50
+ });
51
+ }
52
+ _replaceInputName(filePath, start, width, newName) {
53
+ const updateRecorder = this.getUpdateRecorder(filePath);
54
+ updateRecorder.remove(start, width);
55
+ updateRecorder.insertRight(start, newName);
56
+ }
57
+ }
58
+ exports.InputNamesRule = InputNamesRule;
59
+ //# sourceMappingURL=input-names-rule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-names-rule.js","sourceRoot":"","sources":["../../../../../../src/cdk/schematics/ng-update/upgrade-rules/input-names-rule.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAEH,6BAA8E;AAE9E,qEAA+D;AAG/D,mDAA8D;AAC9D,kDAAuE;AAEvE;;;;;;GAMG;AACH,MAAa,cAAe,SAAQ,8BAA8B;IAAlE;;QACE,iEAAiE;QACjE,SAAI,GAA2B,oCAAqB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAEzE,2DAA2D;QAC3D,gBAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;IA0CvC,CAAC;IAxCC,eAAe,CAAC,UAA4B;QAC1C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvB,MAAM,eAAe,GAAG,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC;YAC5C,MAAM,eAAe,GAAG,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC;YAEhD,iCAAuB,CAAC,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC;iBACvD,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC;iBACxC,OAAO,CACJ,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAC3B,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,eAAe,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CAAC,QAA0B;QACtC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACjC,MAAM,eAAe,GAAa,EAAE,CAAC;YAErC,IAAI,SAAS,CAAC,UAAU,EAAE;gBACxB,eAAe,CAAC,IAAI,CAChB,GAAG,+BAA2B,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;aAC3F;YAED,IAAI,SAAS,CAAC,QAAQ,EAAE;gBACtB,eAAe,CAAC,IAAI,CAChB,GAAG,8BAA0B,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;aACxF;YAED,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,GAAG,MAAM,CAAC;iBACjD,OAAO,CACJ,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAC3B,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,iBAAiB,CAAC,QAAgB,EAAE,KAAa,EAAE,KAAa,EAAE,OAAe;QACvF,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACxD,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACpC,cAAc,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;CACF;AA/CD,wCA+CC"}
@@ -5,19 +5,18 @@
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
6
  * found in the LICENSE file at https://angular.io/license
7
7
  */
8
- import { ProgramAwareRuleWalker, RuleFailure, Rules } from 'tslint';
9
8
  import * as ts from 'typescript';
10
- import { MethodCallUpgradeData } from '../../data';
9
+ import { MigrationRule } from '../../update-tool/migration-rule';
10
+ import { MethodCallUpgradeData } from '../data';
11
+ import { RuleUpgradeData } from '../upgrade-data';
11
12
  /**
12
- * Rule that visits every TypeScript method call expression and checks if the argument count
13
- * is invalid and needs to be *manually* updated.
13
+ * Rule that visits every TypeScript method call expression and checks if the
14
+ * argument count is invalid and needs to be *manually* updated.
14
15
  */
15
- export declare class Rule extends Rules.TypedRule {
16
- applyWithProgram(sourceFile: ts.SourceFile, program: ts.Program): RuleFailure[];
17
- }
18
- export declare class Walker extends ProgramAwareRuleWalker {
16
+ export declare class MethodCallArgumentsRule extends MigrationRule<RuleUpgradeData> {
19
17
  /** Change data that upgrades to the specified target version. */
20
18
  data: MethodCallUpgradeData[];
21
- visitCallExpression(node: ts.CallExpression): void;
19
+ ruleEnabled: boolean;
20
+ visitNode(node: ts.Node): void;
22
21
  private _checkPropertyAccessMethodCall;
23
22
  }