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.
- package/jqwidgets/jqx-all.js +17 -9
- package/jqwidgets/jqxangular.js +1 -1
- package/jqwidgets/jqxbarcode.js +3 -1
- package/jqwidgets/jqxbargauge.js +1 -1
- package/jqwidgets/jqxbulletchart.js +1 -1
- package/jqwidgets/jqxbuttongroup.js +1 -1
- package/jqwidgets/jqxbuttons.js +1 -1
- package/jqwidgets/jqxcalendar.js +1 -1
- package/jqwidgets/jqxchart.annotations.js +1 -1
- package/jqwidgets/jqxchart.api.js +1 -1
- package/jqwidgets/jqxchart.core.js +2 -2
- package/jqwidgets/jqxchart.js +2 -2
- package/jqwidgets/jqxchart.rangeselector.js +1 -1
- package/jqwidgets/jqxchart.waterfall.js +1 -1
- package/jqwidgets/jqxcheckbox.js +1 -1
- package/jqwidgets/jqxcheckboxgroup.js +3 -1
- package/jqwidgets/jqxcolorpicker.js +1 -1
- package/jqwidgets/jqxcombobox.js +1 -1
- package/jqwidgets/jqxcomplexinput.js +1 -1
- package/jqwidgets/jqxcore.js +1 -1
- package/jqwidgets/jqxdata.export.js +1 -1
- package/jqwidgets/jqxdata.js +1 -1
- package/jqwidgets/jqxdatatable.js +2 -2
- package/jqwidgets/jqxdate.js +1 -1
- package/jqwidgets/jqxdatetimeinput.js +1 -1
- package/jqwidgets/jqxdocking.js +1 -1
- package/jqwidgets/jqxdockinglayout.js +1 -1
- package/jqwidgets/jqxdockpanel.js +1 -1
- package/jqwidgets/jqxdragdrop.js +1 -1
- package/jqwidgets/jqxdraw.js +1 -1
- package/jqwidgets/jqxdropdownbutton.js +1 -1
- package/jqwidgets/jqxdropdownlist.js +1 -1
- package/jqwidgets/jqxeditor.js +1 -1
- package/jqwidgets/jqxexpander.js +1 -1
- package/jqwidgets/jqxfileupload.js +1 -1
- package/jqwidgets/jqxform.js +1 -1
- package/jqwidgets/jqxformattedinput.js +1 -1
- package/jqwidgets/jqxgantt.js +1 -1
- package/jqwidgets/jqxgauge.js +1 -1
- package/jqwidgets/jqxgrid.aggregates.js +1 -1
- package/jqwidgets/jqxgrid.columnsreorder.js +1 -1
- package/jqwidgets/jqxgrid.columnsresize.js +2 -2
- package/jqwidgets/jqxgrid.edit.js +1 -1
- package/jqwidgets/jqxgrid.export.js +1 -1
- package/jqwidgets/jqxgrid.filter.js +2 -2
- package/jqwidgets/jqxgrid.grouping.js +1 -1
- package/jqwidgets/jqxgrid.js +2 -2
- package/jqwidgets/jqxgrid.pager.js +1 -1
- package/jqwidgets/jqxgrid.selection.js +1 -1
- package/jqwidgets/jqxgrid.sort.js +1 -1
- package/jqwidgets/jqxgrid.storage.js +2 -2
- package/jqwidgets/jqxheatmap.js +1 -1
- package/jqwidgets/jqxinput.js +1 -1
- package/jqwidgets/jqxkanban.js +1 -1
- package/jqwidgets/jqxknob.js +1 -1
- package/jqwidgets/jqxknockout.js +1 -1
- package/jqwidgets/jqxlayout.js +1 -1
- package/jqwidgets/jqxlistbox.js +1 -1
- package/jqwidgets/jqxlistmenu.js +1 -1
- package/jqwidgets/jqxloader.js +1 -1
- package/jqwidgets/jqxmaskedinput.js +1 -1
- package/jqwidgets/jqxmenu.js +1 -1
- package/jqwidgets/jqxnavbar.js +1 -1
- package/jqwidgets/jqxnavigationbar.js +1 -1
- package/jqwidgets/jqxnotification.js +1 -1
- package/jqwidgets/jqxnumberinput.js +1 -1
- package/jqwidgets/jqxpanel.js +1 -1
- package/jqwidgets/jqxpasswordinput.js +1 -1
- package/jqwidgets/jqxpivot.js +1 -1
- package/jqwidgets/jqxpivotdesigner.js +1 -1
- package/jqwidgets/jqxpivotgrid.js +1 -1
- package/jqwidgets/jqxpopover.js +1 -1
- package/jqwidgets/jqxprogressbar.js +1 -1
- package/jqwidgets/jqxqrcode.js +3 -1
- package/jqwidgets/jqxradiobutton.js +1 -1
- package/jqwidgets/jqxradiobuttongroup.js +3 -1
- package/jqwidgets/jqxrangeselector.js +1 -1
- package/jqwidgets/jqxrating.js +1 -1
- package/jqwidgets/jqxresponsivepanel.js +1 -1
- package/jqwidgets/jqxribbon.js +1 -1
- package/jqwidgets/jqxscheduler.api.js +1 -1
- package/jqwidgets/jqxscheduler.js +2 -2
- package/jqwidgets/jqxscrollbar.js +1 -1
- package/jqwidgets/jqxscrollview.js +1 -1
- package/jqwidgets/jqxslider.js +1 -1
- package/jqwidgets/jqxsortable.js +1 -1
- package/jqwidgets/jqxsplitlayout.js +1 -1
- package/jqwidgets/jqxsplitter.js +1 -1
- package/jqwidgets/jqxswitchbutton.js +1 -1
- package/jqwidgets/jqxtabs.js +1 -1
- package/jqwidgets/jqxtagcloud.js +1 -1
- package/jqwidgets/jqxtextarea.js +1 -1
- package/jqwidgets/jqxtimeline.js +1 -1
- package/jqwidgets/jqxtimepicker.js +1 -1
- package/jqwidgets/jqxtoolbar.js +1 -1
- package/jqwidgets/jqxtooltip.js +1 -1
- package/jqwidgets/jqxtouch.js +1 -1
- package/jqwidgets/jqxtree.js +1 -1
- package/jqwidgets/jqxtreegrid.js +1 -1
- package/jqwidgets/jqxtreemap.js +1 -1
- package/jqwidgets/jqxvalidator.js +1 -1
- package/jqwidgets/jqxwindow.js +2 -2
- package/jqwidgets/modules/jqxbarcode.js +6 -2
- package/jqwidgets/modules/jqxbargauge.js +8 -2
- package/jqwidgets/modules/jqxbulletchart.js +11 -3
- package/jqwidgets/modules/jqxbuttongroup.js +9 -3
- package/jqwidgets/modules/jqxbuttons.js +6 -2
- package/jqwidgets/modules/jqxcalendar.js +11 -3
- package/jqwidgets/modules/jqxchart.js +35 -5
- package/jqwidgets/modules/jqxcheckbox.js +12 -4
- package/jqwidgets/modules/jqxcheckboxgroup.js +12 -4
- package/jqwidgets/modules/jqxcolorpicker.js +15 -5
- package/jqwidgets/modules/jqxcombobox.js +20 -6
- package/jqwidgets/modules/jqxcomplexinput.js +9 -3
- package/jqwidgets/modules/jqxdatatable.js +70 -14
- package/jqwidgets/modules/jqxdatetimeinput.js +36 -10
- package/jqwidgets/modules/jqxdocking.js +19 -5
- package/jqwidgets/modules/jqxdockinglayout.js +30 -8
- package/jqwidgets/modules/jqxdockpanel.js +9 -3
- package/jqwidgets/modules/jqxdragdrop.js +10 -2
- package/jqwidgets/modules/jqxdraw.js +5 -1
- package/jqwidgets/modules/jqxdropdownbutton.js +9 -3
- package/jqwidgets/modules/jqxdropdownlist.js +34 -10
- package/jqwidgets/modules/jqxeditor.js +57 -15
- package/jqwidgets/modules/jqxexpander.js +15 -5
- package/jqwidgets/modules/jqxfileupload.js +12 -4
- package/jqwidgets/modules/jqxform.js +45 -13
- package/jqwidgets/modules/jqxformattedinput.js +35 -11
- package/jqwidgets/modules/jqxgantt.js +6 -2
- package/jqwidgets/modules/jqxgauge.js +14 -4
- package/jqwidgets/modules/jqxgrid.js +652 -571
- package/jqwidgets/modules/jqxheatmap.js +9 -3
- package/jqwidgets/modules/jqxinput.js +11 -3
- package/jqwidgets/modules/jqxkanban.js +47 -13
- package/jqwidgets/modules/jqxknob.js +11 -3
- package/jqwidgets/modules/jqxlayout.js +30 -8
- package/jqwidgets/modules/jqxlineargauge.js +14 -4
- package/jqwidgets/modules/jqxlinkbutton.js +6 -2
- package/jqwidgets/modules/jqxlistbox.js +22 -6
- package/jqwidgets/modules/jqxlistmenu.js +43 -13
- package/jqwidgets/modules/jqxloader.js +6 -2
- package/jqwidgets/modules/jqxmaskedinput.js +6 -2
- package/jqwidgets/modules/jqxmenu.js +20 -6
- package/jqwidgets/modules/jqxnavbar.js +15 -5
- package/jqwidgets/modules/jqxnavigationbar.js +26 -8
- package/jqwidgets/modules/jqxnotification.js +17 -5
- package/jqwidgets/modules/jqxnumberinput.js +26 -8
- package/jqwidgets/modules/jqxpanel.js +14 -4
- package/jqwidgets/modules/jqxpasswordinput.js +16 -4
- package/jqwidgets/modules/jqxpivotdesigner.js +60 -16
- package/jqwidgets/modules/jqxpivotgrid.js +60 -16
- package/jqwidgets/modules/jqxpopover.js +9 -3
- package/jqwidgets/modules/jqxprogressbar.js +6 -2
- package/jqwidgets/modules/jqxqrcode.js +14 -4
- package/jqwidgets/modules/jqxradiobutongroup.js +12 -4
- package/jqwidgets/modules/jqxradiobutton.js +9 -3
- package/jqwidgets/modules/jqxrangeselector.js +11 -3
- package/jqwidgets/modules/jqxrating.js +9 -3
- package/jqwidgets/modules/jqxrepeatbutton.js +6 -2
- package/jqwidgets/modules/jqxresponsivepanel.js +9 -3
- package/jqwidgets/modules/jqxribbon.js +12 -4
- package/jqwidgets/modules/jqxscheduler.js +94 -20
- package/jqwidgets/modules/jqxscrollbar.js +8 -2
- package/jqwidgets/modules/jqxscrollview.js +8 -2
- package/jqwidgets/modules/jqxslider.js +8 -2
- package/jqwidgets/modules/jqxsortable.js +8 -2
- package/jqwidgets/modules/jqxsplitlayout.js +7 -1
- package/jqwidgets/modules/jqxsplitter.js +8 -2
- package/jqwidgets/modules/jqxswitchbutton.js +13 -3
- package/jqwidgets/modules/jqxtabs.js +22 -6
- package/jqwidgets/modules/jqxtagcloud.js +16 -4
- package/jqwidgets/modules/jqxtextarea.js +16 -4
- package/jqwidgets/modules/jqxtimeline.js +6 -2
- package/jqwidgets/modules/jqxtimepicker.js +7 -1
- package/jqwidgets/modules/jqxtogglebutton.js +6 -2
- package/jqwidgets/modules/jqxtoolbar.js +45 -13
- package/jqwidgets/modules/jqxtooltip.js +5 -1
- package/jqwidgets/modules/jqxtree.js +21 -5
- package/jqwidgets/modules/jqxtreegrid.js +72 -14
- package/jqwidgets/modules/jqxtreemap.js +10 -2
- package/jqwidgets/modules/jqxvalidator.js +13 -3
- package/jqwidgets/modules/jqxwindow.js +16 -4
- package/jqwidgets/styles/jqx.base.css +5 -1
- package/package.json +1 -1
- package/schematics/cdk/schematics/index.d.ts +1 -1
- package/schematics/cdk/schematics/index.js +2 -2
- package/schematics/cdk/schematics/index.js.map +1 -0
- package/schematics/cdk/schematics/migration.json +4 -4
- package/schematics/cdk/schematics/ng-add/index.d.ts +1 -1
- package/schematics/cdk/schematics/ng-add/index.js +13 -21
- package/schematics/cdk/schematics/ng-add/index.js.map +1 -0
- package/schematics/cdk/schematics/ng-add/schema.d.ts +1 -1
- package/schematics/cdk/schematics/ng-add/schema.js +2 -2
- package/schematics/cdk/schematics/ng-add/schema.js.map +1 -0
- package/schematics/cdk/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +6 -2
- package/schematics/cdk/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +1 -1
- package/schematics/cdk/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +5 -5
- package/schematics/cdk/schematics/ng-generate/drag-drop/index.d.ts +1 -1
- package/schematics/cdk/schematics/ng-generate/drag-drop/index.js +17 -8
- package/schematics/cdk/schematics/ng-generate/drag-drop/index.js.map +1 -0
- package/schematics/cdk/schematics/ng-generate/drag-drop/schema.d.ts +1 -1
- package/schematics/cdk/schematics/ng-generate/drag-drop/schema.js +2 -2
- package/schematics/cdk/schematics/ng-generate/drag-drop/schema.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/data/attribute-selectors.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/data/attribute-selectors.js +2 -2
- package/schematics/cdk/schematics/ng-update/data/attribute-selectors.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/data/class-names.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/data/class-names.js +2 -2
- package/schematics/cdk/schematics/ng-update/data/class-names.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/data/constructor-checks.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/data/constructor-checks.js +2 -2
- package/schematics/cdk/schematics/ng-update/data/constructor-checks.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/data/css-selectors.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/data/css-selectors.js +2 -2
- package/schematics/cdk/schematics/ng-update/data/css-selectors.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/data/css-tokens.d.ts +27 -0
- package/schematics/cdk/schematics/ng-update/data/css-tokens.js +12 -0
- package/schematics/cdk/schematics/ng-update/data/css-tokens.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/data/element-selectors.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/data/element-selectors.js +2 -2
- package/schematics/cdk/schematics/ng-update/data/element-selectors.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/data/index.d.ts +2 -1
- package/schematics/cdk/schematics/ng-update/data/index.js +3 -2
- package/schematics/cdk/schematics/ng-update/data/index.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/data/input-names.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/data/input-names.js +2 -2
- package/schematics/cdk/schematics/ng-update/data/input-names.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/data/method-call-checks.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/data/method-call-checks.js +2 -2
- package/schematics/cdk/schematics/ng-update/data/method-call-checks.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/data/output-names.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/data/output-names.js +2 -2
- package/schematics/cdk/schematics/ng-update/data/output-names.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/data/property-names.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/data/property-names.js +2 -2
- package/schematics/cdk/schematics/ng-update/data/property-names.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/data/symbol-removal.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/data/symbol-removal.js +2 -2
- package/schematics/cdk/schematics/ng-update/data/symbol-removal.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/devkit-file-system.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/devkit-file-system.js +3 -4
- package/schematics/cdk/schematics/ng-update/devkit-file-system.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/devkit-migration-rule.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/devkit-migration-rule.js +19 -8
- package/schematics/cdk/schematics/ng-update/devkit-migration-rule.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/devkit-migration.d.ts +3 -3
- package/schematics/cdk/schematics/ng-update/devkit-migration.js +2 -2
- package/schematics/cdk/schematics/ng-update/devkit-migration.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/find-stylesheets.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/find-stylesheets.js +3 -4
- package/schematics/cdk/schematics/ng-update/find-stylesheets.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/html-parsing/angular.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/html-parsing/angular.js +7 -8
- package/schematics/cdk/schematics/ng-update/html-parsing/angular.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/html-parsing/elements.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/html-parsing/elements.js +8 -8
- package/schematics/cdk/schematics/ng-update/html-parsing/elements.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/index.d.ts +3 -3
- package/schematics/cdk/schematics/ng-update/index.js +6 -7
- package/schematics/cdk/schematics/ng-update/index.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/migrations/attribute-selectors.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/migrations/attribute-selectors.js +9 -6
- package/schematics/cdk/schematics/ng-update/migrations/attribute-selectors.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/migrations/class-inheritance.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/migrations/class-inheritance.js +12 -9
- package/schematics/cdk/schematics/ng-update/migrations/class-inheritance.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/migrations/class-names.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/migrations/class-names.js +16 -13
- package/schematics/cdk/schematics/ng-update/migrations/class-names.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/migrations/constructor-signature.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/migrations/constructor-signature.js +11 -8
- package/schematics/cdk/schematics/ng-update/migrations/constructor-signature.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/migrations/css-selectors.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/migrations/css-selectors.js +9 -6
- package/schematics/cdk/schematics/ng-update/migrations/css-selectors.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/migrations/css-tokens.d.ts +26 -0
- package/schematics/cdk/schematics/ng-update/migrations/css-tokens.js +83 -0
- package/schematics/cdk/schematics/ng-update/migrations/css-tokens.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/migrations/element-selectors.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/migrations/element-selectors.js +9 -6
- package/schematics/cdk/schematics/ng-update/migrations/element-selectors.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/migrations/input-names.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/migrations/input-names.js +9 -6
- package/schematics/cdk/schematics/ng-update/migrations/input-names.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/migrations/method-call-arguments.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/migrations/method-call-arguments.js +9 -6
- package/schematics/cdk/schematics/ng-update/migrations/method-call-arguments.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/migrations/misc-template.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/migrations/misc-template.js +7 -4
- package/schematics/cdk/schematics/ng-update/migrations/misc-template.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/migrations/output-names.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/migrations/output-names.js +9 -6
- package/schematics/cdk/schematics/ng-update/migrations/output-names.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/migrations/property-names.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/migrations/property-names.js +9 -6
- package/schematics/cdk/schematics/ng-update/migrations/property-names.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/migrations/symbol-removal.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/migrations/symbol-removal.js +11 -7
- package/schematics/cdk/schematics/ng-update/migrations/symbol-removal.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/public-api.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/public-api.js +2 -2
- package/schematics/cdk/schematics/ng-update/public-api.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/typescript/base-types.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/typescript/base-types.js +3 -4
- package/schematics/cdk/schematics/ng-update/typescript/base-types.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/typescript/imports.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/typescript/imports.js +7 -8
- package/schematics/cdk/schematics/ng-update/typescript/imports.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/typescript/literal.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/typescript/literal.js +4 -5
- package/schematics/cdk/schematics/ng-update/typescript/literal.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/typescript/module-specifiers.d.ts +1 -1
- package/schematics/cdk/schematics/ng-update/typescript/module-specifiers.js +5 -5
- package/schematics/cdk/schematics/ng-update/typescript/module-specifiers.js.map +1 -0
- package/schematics/cdk/schematics/ng-update/upgrade-data.d.ts +3 -2
- package/schematics/cdk/schematics/ng-update/upgrade-data.js +5 -4
- package/schematics/cdk/schematics/ng-update/upgrade-data.js.map +1 -0
- package/schematics/cdk/schematics/paths.d.ts +1 -1
- package/schematics/cdk/schematics/paths.js +2 -2
- package/schematics/cdk/schematics/paths.js.map +1 -0
- package/schematics/cdk/schematics/update-tool/component-resource-collector.d.ts +1 -1
- package/schematics/cdk/schematics/update-tool/component-resource-collector.js +4 -6
- package/schematics/cdk/schematics/update-tool/component-resource-collector.js.map +1 -0
- package/schematics/cdk/schematics/update-tool/file-system.d.ts +1 -1
- package/schematics/cdk/schematics/update-tool/file-system.js +2 -2
- package/schematics/cdk/schematics/update-tool/file-system.js.map +1 -0
- package/schematics/cdk/schematics/update-tool/index.d.ts +2 -2
- package/schematics/cdk/schematics/update-tool/index.js +4 -10
- package/schematics/cdk/schematics/update-tool/index.js.map +1 -0
- package/schematics/cdk/schematics/update-tool/logger.d.ts +1 -1
- package/schematics/cdk/schematics/update-tool/logger.js +2 -2
- package/schematics/cdk/schematics/update-tool/logger.js.map +1 -0
- package/schematics/cdk/schematics/update-tool/migration.d.ts +1 -1
- package/schematics/cdk/schematics/update-tool/migration.js +4 -11
- package/schematics/cdk/schematics/update-tool/migration.js.map +1 -0
- package/schematics/cdk/schematics/update-tool/public-api.d.ts +1 -1
- package/schematics/cdk/schematics/update-tool/public-api.js +2 -2
- package/schematics/cdk/schematics/update-tool/public-api.js.map +1 -0
- package/schematics/cdk/schematics/update-tool/target-version.d.ts +2 -2
- package/schematics/cdk/schematics/update-tool/target-version.js +5 -6
- package/schematics/cdk/schematics/update-tool/target-version.js.map +1 -0
- package/schematics/cdk/schematics/update-tool/update-recorder.d.ts +1 -1
- package/schematics/cdk/schematics/update-tool/update-recorder.js +2 -2
- package/schematics/cdk/schematics/update-tool/update-recorder.js.map +1 -0
- package/schematics/cdk/schematics/update-tool/utils/decorators.d.ts +1 -1
- package/schematics/cdk/schematics/update-tool/utils/decorators.js +4 -5
- package/schematics/cdk/schematics/update-tool/utils/decorators.js.map +1 -0
- package/schematics/cdk/schematics/update-tool/utils/diagnostics.d.ts +1 -1
- package/schematics/cdk/schematics/update-tool/utils/diagnostics.js +3 -4
- package/schematics/cdk/schematics/update-tool/utils/diagnostics.js.map +1 -0
- package/schematics/cdk/schematics/update-tool/utils/functions.d.ts +1 -1
- package/schematics/cdk/schematics/update-tool/utils/functions.js +3 -4
- package/schematics/cdk/schematics/update-tool/utils/functions.js.map +1 -0
- package/schematics/cdk/schematics/update-tool/utils/imports.d.ts +1 -1
- package/schematics/cdk/schematics/update-tool/utils/imports.js +3 -4
- package/schematics/cdk/schematics/update-tool/utils/imports.js.map +1 -0
- package/schematics/cdk/schematics/update-tool/utils/line-mappings.d.ts +1 -1
- package/schematics/cdk/schematics/update-tool/utils/line-mappings.js +4 -5
- package/schematics/cdk/schematics/update-tool/utils/line-mappings.js.map +1 -0
- package/schematics/cdk/schematics/update-tool/utils/parse-tsconfig.d.ts +1 -1
- package/schematics/cdk/schematics/update-tool/utils/parse-tsconfig.js +4 -4
- package/schematics/cdk/schematics/update-tool/utils/parse-tsconfig.js.map +1 -0
- package/schematics/cdk/schematics/update-tool/utils/property-name.d.ts +1 -1
- package/schematics/cdk/schematics/update-tool/utils/property-name.js +4 -5
- package/schematics/cdk/schematics/update-tool/utils/property-name.js.map +1 -0
- package/schematics/cdk/schematics/update-tool/utils/virtual-host.d.ts +1 -1
- package/schematics/cdk/schematics/update-tool/utils/virtual-host.js +6 -7
- package/schematics/cdk/schematics/update-tool/utils/virtual-host.js.map +1 -0
- package/schematics/cdk/schematics/update-tool/version-changes.d.ts +1 -1
- package/schematics/cdk/schematics/update-tool/version-changes.js +4 -5
- package/schematics/cdk/schematics/update-tool/version-changes.js.map +1 -0
- package/schematics/cdk/schematics/utils/ast/ng-module-imports.d.ts +1 -1
- package/schematics/cdk/schematics/utils/ast/ng-module-imports.js +3 -4
- package/schematics/cdk/schematics/utils/ast/ng-module-imports.js.map +1 -0
- package/schematics/cdk/schematics/utils/ast.d.ts +3 -3
- package/schematics/cdk/schematics/utils/ast.js +28 -18
- package/schematics/cdk/schematics/utils/ast.js.map +1 -0
- package/schematics/cdk/schematics/utils/build-component.d.ts +1 -1
- package/schematics/cdk/schematics/utils/build-component.js +24 -20
- package/schematics/cdk/schematics/utils/build-component.js.map +1 -0
- package/schematics/cdk/schematics/utils/get-project.d.ts +3 -3
- package/schematics/cdk/schematics/utils/get-project.js +3 -4
- package/schematics/cdk/schematics/utils/get-project.js.map +1 -0
- package/schematics/cdk/schematics/utils/html-manipulation.d.ts +1 -1
- package/schematics/cdk/schematics/utils/html-manipulation.js +5 -6
- package/schematics/cdk/schematics/utils/html-manipulation.js.map +1 -0
- package/schematics/cdk/schematics/utils/index.d.ts +1 -1
- package/schematics/cdk/schematics/utils/index.js +2 -2
- package/schematics/cdk/schematics/utils/index.js.map +1 -0
- package/schematics/cdk/schematics/utils/parse5-element.d.ts +1 -1
- package/schematics/cdk/schematics/utils/parse5-element.js +3 -4
- package/schematics/cdk/schematics/utils/parse5-element.js.map +1 -0
- package/schematics/cdk/schematics/utils/project-index-file.d.ts +7 -4
- package/schematics/cdk/schematics/utils/project-index-file.js +32 -10
- package/schematics/cdk/schematics/utils/project-index-file.js.map +1 -0
- package/schematics/cdk/schematics/utils/project-main-file.d.ts +4 -3
- package/schematics/cdk/schematics/utils/project-main-file.js +3 -4
- package/schematics/cdk/schematics/utils/project-main-file.js.map +1 -0
- package/schematics/cdk/schematics/utils/project-style-file.d.ts +3 -3
- package/schematics/cdk/schematics/utils/project-style-file.js +3 -4
- package/schematics/cdk/schematics/utils/project-style-file.js.map +1 -0
- package/schematics/cdk/schematics/utils/project-targets.d.ts +6 -5
- package/schematics/cdk/schematics/utils/project-targets.js +19 -12
- package/schematics/cdk/schematics/utils/project-targets.js.map +1 -0
- package/schematics/cdk/schematics/utils/project-tsconfig-paths.d.ts +4 -4
- package/schematics/cdk/schematics/utils/project-tsconfig-paths.js +29 -18
- package/schematics/cdk/schematics/utils/project-tsconfig-paths.js.map +1 -0
- package/schematics/cdk/schematics/utils/schematic-options.d.ts +3 -3
- package/schematics/cdk/schematics/utils/schematic-options.js +30 -19
- package/schematics/cdk/schematics/utils/schematic-options.js.map +1 -0
- package/schematics/cdk2/schematics/collection.json +18 -0
- package/schematics/cdk2/schematics/index.d.ts +14 -0
- package/schematics/cdk2/schematics/index.mjs +37 -0
- package/schematics/cdk2/schematics/migration.json +15 -0
- package/schematics/cdk2/schematics/ng-add/index.d.ts +17 -0
- package/schematics/cdk2/schematics/ng-add/index.mjs +39 -0
- package/schematics/cdk2/schematics/ng-add/schema.d.ts +11 -0
- package/schematics/cdk2/schematics/ng-add/schema.json +16 -0
- package/schematics/cdk2/schematics/ng-add/schema.mjs +10 -0
- package/schematics/cdk2/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.__style__.template +53 -0
- package/schematics/cdk2/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +17 -0
- package/schematics/cdk2/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +25 -0
- package/schematics/cdk2/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +45 -0
- package/schematics/cdk2/schematics/ng-generate/drag-drop/index.d.ts +11 -0
- package/schematics/cdk2/schematics/ng-generate/drag-drop/index.mjs +33 -0
- package/schematics/cdk2/schematics/ng-generate/drag-drop/schema.d.ts +10 -0
- package/schematics/cdk2/schematics/ng-generate/drag-drop/schema.json +100 -0
- package/schematics/cdk2/schematics/ng-generate/drag-drop/schema.mjs +10 -0
- package/schematics/cdk2/schematics/ng-update/data/attribute-selectors.d.ts +15 -0
- package/schematics/cdk2/schematics/ng-update/data/attribute-selectors.mjs +12 -0
- package/schematics/cdk2/schematics/ng-update/data/class-names.d.ts +15 -0
- package/schematics/cdk2/schematics/ng-update/data/class-names.mjs +12 -0
- package/schematics/cdk2/schematics/ng-update/data/constructor-checks.d.ts +15 -0
- package/schematics/cdk2/schematics/ng-update/data/constructor-checks.mjs +17 -0
- package/schematics/cdk2/schematics/ng-update/data/css-selectors.d.ts +27 -0
- package/schematics/cdk2/schematics/ng-update/data/css-selectors.mjs +12 -0
- package/schematics/cdk2/schematics/ng-update/data/element-selectors.d.ts +15 -0
- package/schematics/cdk2/schematics/ng-update/data/element-selectors.mjs +12 -0
- package/schematics/cdk2/schematics/ng-update/data/index.d.ts +17 -0
- package/schematics/cdk2/schematics/ng-update/data/index.mjs +34 -0
- package/schematics/cdk2/schematics/ng-update/data/input-names.d.ts +22 -0
- package/schematics/cdk2/schematics/ng-update/data/input-names.mjs +12 -0
- package/schematics/cdk2/schematics/ng-update/data/method-call-checks.d.ts +17 -0
- package/schematics/cdk2/schematics/ng-update/data/method-call-checks.mjs +12 -0
- package/schematics/cdk2/schematics/ng-update/data/output-names.d.ts +22 -0
- package/schematics/cdk2/schematics/ng-update/data/output-names.mjs +12 -0
- package/schematics/cdk2/schematics/ng-update/data/property-names.d.ts +20 -0
- package/schematics/cdk2/schematics/ng-update/data/property-names.mjs +12 -0
- package/schematics/cdk2/schematics/ng-update/data/symbol-removal.d.ts +17 -0
- package/schematics/cdk2/schematics/ng-update/data/symbol-removal.mjs +12 -0
- package/schematics/cdk2/schematics/ng-update/devkit-file-system.d.ts +30 -0
- package/schematics/cdk2/schematics/ng-update/devkit-file-system.mjs +84 -0
- package/schematics/cdk2/schematics/ng-update/devkit-migration-rule.d.ts +24 -0
- package/schematics/cdk2/schematics/ng-update/devkit-migration-rule.mjs +131 -0
- package/schematics/cdk2/schematics/ng-update/devkit-migration.d.ts +35 -0
- package/schematics/cdk2/schematics/ng-update/devkit-migration.mjs +20 -0
- package/schematics/cdk2/schematics/ng-update/find-stylesheets.d.ts +16 -0
- package/schematics/cdk2/schematics/ng-update/find-stylesheets.mjs +42 -0
- package/schematics/cdk2/schematics/ng-update/html-parsing/angular.d.ts +15 -0
- package/schematics/cdk2/schematics/ng-update/html-parsing/angular.mjs +52 -0
- package/schematics/cdk2/schematics/ng-update/html-parsing/elements.d.ts +24 -0
- package/schematics/cdk2/schematics/ng-update/html-parsing/elements.mjs +63 -0
- package/schematics/cdk2/schematics/ng-update/index.d.ts +10 -0
- package/schematics/cdk2/schematics/ng-update/index.mjs +30 -0
- package/schematics/cdk2/schematics/ng-update/migrations/attribute-selectors.d.ts +26 -0
- package/schematics/cdk2/schematics/ng-update/migrations/attribute-selectors.mjs +68 -0
- package/schematics/cdk2/schematics/ng-update/migrations/class-inheritance.d.ts +26 -0
- package/schematics/cdk2/schematics/ng-update/migrations/class-inheritance.mjs +55 -0
- package/schematics/cdk2/schematics/ng-update/migrations/class-names.d.ts +32 -0
- package/schematics/cdk2/schematics/ng-update/migrations/class-names.mjs +88 -0
- package/schematics/cdk2/schematics/ng-update/migrations/constructor-signature.d.ts +29 -0
- package/schematics/cdk2/schematics/ng-update/migrations/constructor-signature.mjs +136 -0
- package/schematics/cdk2/schematics/ng-update/migrations/css-selectors.d.ts +26 -0
- package/schematics/cdk2/schematics/ng-update/migrations/css-selectors.mjs +72 -0
- package/schematics/cdk2/schematics/ng-update/migrations/element-selectors.d.ts +26 -0
- package/schematics/cdk2/schematics/ng-update/migrations/element-selectors.mjs +63 -0
- package/schematics/cdk2/schematics/ng-update/migrations/input-names.d.ts +26 -0
- package/schematics/cdk2/schematics/ng-update/migrations/input-names.mjs +56 -0
- package/schematics/cdk2/schematics/ng-update/migrations/method-call-arguments.d.ts +22 -0
- package/schematics/cdk2/schematics/ng-update/migrations/method-call-arguments.mjs +59 -0
- package/schematics/cdk2/schematics/ng-update/migrations/misc-template.d.ts +18 -0
- package/schematics/cdk2/schematics/ng-update/migrations/misc-template.mjs +22 -0
- package/schematics/cdk2/schematics/ng-update/migrations/output-names.d.ts +22 -0
- package/schematics/cdk2/schematics/ng-update/migrations/output-names.mjs +43 -0
- package/schematics/cdk2/schematics/ng-update/migrations/property-names.d.ts +22 -0
- package/schematics/cdk2/schematics/ng-update/migrations/property-names.mjs +57 -0
- package/schematics/cdk2/schematics/ng-update/migrations/symbol-removal.d.ts +18 -0
- package/schematics/cdk2/schematics/ng-update/migrations/symbol-removal.mjs +43 -0
- package/schematics/cdk2/schematics/ng-update/public-api.d.ts +19 -0
- package/schematics/cdk2/schematics/ng-update/public-api.mjs +36 -0
- package/schematics/cdk2/schematics/ng-update/typescript/base-types.d.ts +10 -0
- package/schematics/cdk2/schematics/ng-update/typescript/base-types.mjs +24 -0
- package/schematics/cdk2/schematics/ng-update/typescript/imports.d.ts +18 -0
- package/schematics/cdk2/schematics/ng-update/typescript/imports.mjs +54 -0
- package/schematics/cdk2/schematics/ng-update/typescript/literal.d.ts +18 -0
- package/schematics/cdk2/schematics/ng-update/typescript/literal.mjs +33 -0
- package/schematics/cdk2/schematics/ng-update/typescript/module-specifiers.d.ts +16 -0
- package/schematics/cdk2/schematics/ng-update/typescript/module-specifiers.mjs +35 -0
- package/schematics/cdk2/schematics/ng-update/upgrade-data.d.ts +34 -0
- package/schematics/cdk2/schematics/ng-update/upgrade-data.mjs +39 -0
- package/schematics/cdk2/schematics/package.json +3 -0
- package/schematics/cdk2/schematics/paths.d.ts +11 -0
- package/schematics/cdk2/schematics/paths.mjs +16 -0
- package/schematics/cdk2/schematics/update-tool/component-resource-collector.d.ts +44 -0
- package/schematics/cdk2/schematics/update-tool/component-resource-collector.mjs +166 -0
- package/schematics/cdk2/schematics/update-tool/file-system.d.ts +72 -0
- package/schematics/cdk2/schematics/update-tool/file-system.mjs +18 -0
- package/schematics/cdk2/schematics/update-tool/index.d.ts +74 -0
- package/schematics/cdk2/schematics/update-tool/index.mjs +178 -0
- package/schematics/cdk2/schematics/update-tool/logger.d.ts +15 -0
- package/schematics/cdk2/schematics/update-tool/logger.mjs +18 -0
- package/schematics/cdk2/schematics/update-tool/migration.d.ts +87 -0
- package/schematics/cdk2/schematics/update-tool/migration.mjs +77 -0
- package/schematics/cdk2/schematics/update-tool/public-api.d.ts +16 -0
- package/schematics/cdk2/schematics/update-tool/public-api.mjs +33 -0
- package/schematics/cdk2/schematics/update-tool/target-version.d.ts +16 -0
- package/schematics/cdk2/schematics/update-tool/target-version.mjs +28 -0
- package/schematics/cdk2/schematics/update-tool/update-recorder.d.ts +13 -0
- package/schematics/cdk2/schematics/update-tool/update-recorder.mjs +10 -0
- package/schematics/cdk2/schematics/update-tool/utils/decorators.d.ts +22 -0
- package/schematics/cdk2/schematics/update-tool/utils/decorators.mjs +42 -0
- package/schematics/cdk2/schematics/update-tool/utils/diagnostics.d.ts +11 -0
- package/schematics/cdk2/schematics/update-tool/utils/diagnostics.mjs +19 -0
- package/schematics/cdk2/schematics/update-tool/utils/functions.d.ts +14 -0
- package/schematics/cdk2/schematics/update-tool/utils/functions.mjs +21 -0
- package/schematics/cdk2/schematics/update-tool/utils/imports.d.ts +17 -0
- package/schematics/cdk2/schematics/update-tool/utils/imports.mjs +111 -0
- package/schematics/cdk2/schematics/update-tool/utils/line-mappings.d.ts +21 -0
- package/schematics/cdk2/schematics/update-tool/utils/line-mappings.mjs +76 -0
- package/schematics/cdk2/schematics/update-tool/utils/parse-tsconfig.d.ts +18 -0
- package/schematics/cdk2/schematics/update-tool/utils/parse-tsconfig.mjs +45 -0
- package/schematics/cdk2/schematics/update-tool/utils/property-name.d.ts +18 -0
- package/schematics/cdk2/schematics/update-tool/utils/property-name.mjs +28 -0
- package/schematics/cdk2/schematics/update-tool/utils/virtual-host.d.ts +36 -0
- package/schematics/cdk2/schematics/update-tool/utils/virtual-host.mjs +72 -0
- package/schematics/cdk2/schematics/update-tool/version-changes.d.ts +32 -0
- package/schematics/cdk2/schematics/update-tool/version-changes.mjs +39 -0
- package/schematics/cdk2/schematics/utils/ast/ng-module-imports.d.ts +12 -0
- package/schematics/cdk2/schematics/utils/ast/ng-module-imports.mjs +83 -0
- package/schematics/cdk2/schematics/utils/ast.d.ts +25 -0
- package/schematics/cdk2/schematics/utils/ast.mjs +69 -0
- package/schematics/cdk2/schematics/utils/build-component.d.ts +20 -0
- package/schematics/cdk2/schematics/utils/build-component.mjs +184 -0
- package/schematics/cdk2/schematics/utils/get-project.d.ts +13 -0
- package/schematics/cdk2/schematics/utils/get-project.mjs +29 -0
- package/schematics/cdk2/schematics/utils/html-manipulation.d.ts +15 -0
- package/schematics/cdk2/schematics/utils/html-manipulation.mjs +92 -0
- package/schematics/cdk2/schematics/utils/index.d.ts +19 -0
- package/schematics/cdk2/schematics/utils/index.mjs +36 -0
- package/schematics/cdk2/schematics/utils/parse5-element.d.ts +12 -0
- package/schematics/cdk2/schematics/utils/parse5-element.mjs +31 -0
- package/schematics/cdk2/schematics/utils/project-index-file.d.ts +10 -0
- package/schematics/cdk2/schematics/utils/project-index-file.mjs +21 -0
- package/schematics/cdk2/schematics/utils/project-main-file.d.ts +10 -0
- package/schematics/cdk2/schematics/utils/project-main-file.mjs +26 -0
- package/schematics/cdk2/schematics/utils/project-style-file.d.ts +13 -0
- package/schematics/cdk2/schematics/utils/project-style-file.mjs +43 -0
- package/schematics/cdk2/schematics/utils/project-targets.d.ts +14 -0
- package/schematics/cdk2/schematics/utils/project-targets.mjs +39 -0
- package/schematics/cdk2/schematics/utils/project-tsconfig-paths.d.ts +14 -0
- package/schematics/cdk2/schematics/utils/project-tsconfig-paths.mjs +35 -0
- package/schematics/cdk2/schematics/utils/schematic-options.d.ts +20 -0
- package/schematics/cdk2/schematics/utils/schematic-options.mjs +78 -0
- /package/schematics/{cdk/schematics/index.mjs → cdk2/schematics/index.js} +0 -0
- /package/schematics/{cdk/schematics/ng-add/index.mjs → cdk2/schematics/ng-add/index.js} +0 -0
- /package/schematics/{cdk → cdk2}/schematics/ng-add/package-config.d.ts +0 -0
- /package/schematics/{cdk → cdk2}/schematics/ng-add/package-config.js +0 -0
- /package/schematics/{cdk → cdk2}/schematics/ng-add/package-config.mjs +0 -0
- /package/schematics/{cdk/schematics/ng-add/schema.mjs → cdk2/schematics/ng-add/schema.js} +0 -0
- /package/schematics/{cdk/schematics/ng-generate/drag-drop/index.mjs → cdk2/schematics/ng-generate/drag-drop/index.js} +0 -0
- /package/schematics/{cdk/schematics/ng-generate/drag-drop/schema.mjs → cdk2/schematics/ng-generate/drag-drop/schema.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/data/attribute-selectors.mjs → cdk2/schematics/ng-update/data/attribute-selectors.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/data/class-names.mjs → cdk2/schematics/ng-update/data/class-names.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/data/constructor-checks.mjs → cdk2/schematics/ng-update/data/constructor-checks.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/data/css-selectors.mjs → cdk2/schematics/ng-update/data/css-selectors.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/data/element-selectors.mjs → cdk2/schematics/ng-update/data/element-selectors.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/data/index.mjs → cdk2/schematics/ng-update/data/index.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/data/input-names.mjs → cdk2/schematics/ng-update/data/input-names.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/data/method-call-checks.mjs → cdk2/schematics/ng-update/data/method-call-checks.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/data/output-names.mjs → cdk2/schematics/ng-update/data/output-names.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/data/property-names.mjs → cdk2/schematics/ng-update/data/property-names.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/data/symbol-removal.mjs → cdk2/schematics/ng-update/data/symbol-removal.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/devkit-file-system.mjs → cdk2/schematics/ng-update/devkit-file-system.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/devkit-migration-rule.mjs → cdk2/schematics/ng-update/devkit-migration-rule.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/devkit-migration.mjs → cdk2/schematics/ng-update/devkit-migration.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/find-stylesheets.mjs → cdk2/schematics/ng-update/find-stylesheets.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/html-parsing/angular.mjs → cdk2/schematics/ng-update/html-parsing/angular.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/html-parsing/elements.mjs → cdk2/schematics/ng-update/html-parsing/elements.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/index.mjs → cdk2/schematics/ng-update/index.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/migrations/attribute-selectors.mjs → cdk2/schematics/ng-update/migrations/attribute-selectors.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/migrations/class-inheritance.mjs → cdk2/schematics/ng-update/migrations/class-inheritance.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/migrations/class-names.mjs → cdk2/schematics/ng-update/migrations/class-names.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/migrations/constructor-signature.mjs → cdk2/schematics/ng-update/migrations/constructor-signature.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/migrations/css-selectors.mjs → cdk2/schematics/ng-update/migrations/css-selectors.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/migrations/element-selectors.mjs → cdk2/schematics/ng-update/migrations/element-selectors.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/migrations/input-names.mjs → cdk2/schematics/ng-update/migrations/input-names.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/migrations/method-call-arguments.mjs → cdk2/schematics/ng-update/migrations/method-call-arguments.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/migrations/misc-template.mjs → cdk2/schematics/ng-update/migrations/misc-template.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/migrations/output-names.mjs → cdk2/schematics/ng-update/migrations/output-names.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/migrations/property-names.mjs → cdk2/schematics/ng-update/migrations/property-names.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/migrations/symbol-removal.mjs → cdk2/schematics/ng-update/migrations/symbol-removal.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/public-api.mjs → cdk2/schematics/ng-update/public-api.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/typescript/base-types.mjs → cdk2/schematics/ng-update/typescript/base-types.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/typescript/imports.mjs → cdk2/schematics/ng-update/typescript/imports.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/typescript/literal.mjs → cdk2/schematics/ng-update/typescript/literal.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/typescript/module-specifiers.mjs → cdk2/schematics/ng-update/typescript/module-specifiers.js} +0 -0
- /package/schematics/{cdk/schematics/ng-update/upgrade-data.mjs → cdk2/schematics/ng-update/upgrade-data.js} +0 -0
- /package/schematics/{cdk/schematics/paths.mjs → cdk2/schematics/paths.js} +0 -0
- /package/schematics/{cdk → cdk2}/schematics/schematics.externs.js +0 -0
- /package/schematics/{cdk → cdk2}/schematics/tsconfig.json +0 -0
- /package/schematics/{cdk/schematics/update-tool/component-resource-collector.mjs → cdk2/schematics/update-tool/component-resource-collector.js} +0 -0
- /package/schematics/{cdk/schematics/update-tool/file-system.mjs → cdk2/schematics/update-tool/file-system.js} +0 -0
- /package/schematics/{cdk/schematics/update-tool/index.mjs → cdk2/schematics/update-tool/index.js} +0 -0
- /package/schematics/{cdk/schematics/update-tool/logger.mjs → cdk2/schematics/update-tool/logger.js} +0 -0
- /package/schematics/{cdk/schematics/update-tool/migration.mjs → cdk2/schematics/update-tool/migration.js} +0 -0
- /package/schematics/{cdk/schematics/update-tool/public-api.mjs → cdk2/schematics/update-tool/public-api.js} +0 -0
- /package/schematics/{cdk/schematics/update-tool/target-version.mjs → cdk2/schematics/update-tool/target-version.js} +0 -0
- /package/schematics/{cdk/schematics/update-tool/update-recorder.mjs → cdk2/schematics/update-tool/update-recorder.js} +0 -0
- /package/schematics/{cdk → cdk2}/schematics/update-tool/update-tool.externs.js +0 -0
- /package/schematics/{cdk/schematics/update-tool/utils/decorators.mjs → cdk2/schematics/update-tool/utils/decorators.js} +0 -0
- /package/schematics/{cdk/schematics/update-tool/utils/diagnostics.mjs → cdk2/schematics/update-tool/utils/diagnostics.js} +0 -0
- /package/schematics/{cdk/schematics/update-tool/utils/functions.mjs → cdk2/schematics/update-tool/utils/functions.js} +0 -0
- /package/schematics/{cdk/schematics/update-tool/utils/imports.mjs → cdk2/schematics/update-tool/utils/imports.js} +0 -0
- /package/schematics/{cdk/schematics/update-tool/utils/line-mappings.mjs → cdk2/schematics/update-tool/utils/line-mappings.js} +0 -0
- /package/schematics/{cdk/schematics/update-tool/utils/parse-tsconfig.mjs → cdk2/schematics/update-tool/utils/parse-tsconfig.js} +0 -0
- /package/schematics/{cdk/schematics/update-tool/utils/property-name.mjs → cdk2/schematics/update-tool/utils/property-name.js} +0 -0
- /package/schematics/{cdk/schematics/update-tool/utils/virtual-host.mjs → cdk2/schematics/update-tool/utils/virtual-host.js} +0 -0
- /package/schematics/{cdk/schematics/update-tool/version-changes.mjs → cdk2/schematics/update-tool/version-changes.js} +0 -0
- /package/schematics/{cdk/schematics/utils/ast/ng-module-imports.mjs → cdk2/schematics/utils/ast/ng-module-imports.js} +0 -0
- /package/schematics/{cdk/schematics/utils/ast.mjs → cdk2/schematics/utils/ast.js} +0 -0
- /package/schematics/{cdk/schematics/utils/build-component.mjs → cdk2/schematics/utils/build-component.js} +0 -0
- /package/schematics/{cdk/schematics/utils/get-project.mjs → cdk2/schematics/utils/get-project.js} +0 -0
- /package/schematics/{cdk/schematics/utils/html-manipulation.mjs → cdk2/schematics/utils/html-manipulation.js} +0 -0
- /package/schematics/{cdk/schematics/utils/index.mjs → cdk2/schematics/utils/index.js} +0 -0
- /package/schematics/{cdk/schematics/utils/parse5-element.mjs → cdk2/schematics/utils/parse5-element.js} +0 -0
- /package/schematics/{cdk/schematics/utils/project-index-file.mjs → cdk2/schematics/utils/project-index-file.js} +0 -0
- /package/schematics/{cdk/schematics/utils/project-main-file.mjs → cdk2/schematics/utils/project-main-file.js} +0 -0
- /package/schematics/{cdk/schematics/utils/project-style-file.mjs → cdk2/schematics/utils/project-style-file.js} +0 -0
- /package/schematics/{cdk/schematics/utils/project-targets.mjs → cdk2/schematics/utils/project-targets.js} +0 -0
- /package/schematics/{cdk/schematics/utils/project-tsconfig-paths.mjs → cdk2/schematics/utils/project-tsconfig-paths.js} +0 -0
- /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;
|