@ptsecurity/mosaic 13.6.2 → 13.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/_theming.scss +103 -6
  2. package/_visual.scss +30 -1
  3. package/design-tokens/legacy-2017/tokens/components/loader-overlay.json5 +23 -0
  4. package/design-tokens/legacy-2017/tokens/properties/globals.json5 +18 -18
  5. package/design-tokens/legacy-2017/tokens.d.ts +29 -0
  6. package/design-tokens/pt-2022/tokens/components/badge.json5 +1 -1
  7. package/design-tokens/pt-2022/tokens/components/loader-overlay.json5 +23 -0
  8. package/design-tokens/pt-2022/tokens/properties/globals.json5 +18 -18
  9. package/design-tokens/pt-2022/tokens.d.ts +30 -1
  10. package/design-tokens/style-dictionary/build.js +13 -0
  11. package/design-tokens/style-dictionary/configs/figma.js +11 -0
  12. package/design-tokens/style-dictionary/configs/index.js +3 -3
  13. package/design-tokens/style-dictionary/formats/figma.js +104 -0
  14. package/design-tokens/style-dictionary/transformGroups/figma.js +21 -0
  15. package/design-tokens/style-dictionary/transforms/attribute/figma-border.js +18 -0
  16. package/design-tokens/style-dictionary/transforms/attribute/figma-color.js +25 -0
  17. package/design-tokens/style-dictionary/transforms/attribute/figma-default.js +10 -0
  18. package/design-tokens/style-dictionary/transforms/attribute/figma-font.js +31 -0
  19. package/design-tokens/style-dictionary/transforms/attribute/figma-group.js +17 -0
  20. package/design-tokens/style-dictionary/transforms/attribute/figma-opacity.js +10 -0
  21. package/design-tokens/style-dictionary/transforms/attribute/figma-shadow.js +66 -0
  22. package/design-tokens/style-dictionary/transforms/attribute/figma-sizing.js +16 -0
  23. package/design-tokens/style-dictionary/transforms/attribute/figma-spacing.js +15 -0
  24. package/design-tokens/style-dictionary/transforms/attribute/figma-typography.js +24 -0
  25. package/design-tokens/style-dictionary/transforms/value/figma-values.js +7 -0
  26. package/esm2020/design-tokens/legacy-2017/tokens.mjs +30 -1
  27. package/esm2020/design-tokens/pt-2022/tokens.mjs +31 -2
  28. package/esm2020/form-field/hint.mjs +18 -7
  29. package/esm2020/list/list-selection.component.mjs +4 -1
  30. package/esm2020/loader-overlay/index.mjs +2 -0
  31. package/esm2020/loader-overlay/loader-overlay.component.mjs +99 -0
  32. package/esm2020/loader-overlay/loader-overlay.module.mjs +50 -0
  33. package/esm2020/loader-overlay/ptsecurity-mosaic-loader-overlay.mjs +5 -0
  34. package/esm2020/loader-overlay/public-api.mjs +3 -0
  35. package/esm2020/modal/modal.component.mjs +11 -3
  36. package/esm2020/modal/modal.type.mjs +1 -1
  37. package/esm2020/navbar/navbar.component.mjs +6 -4
  38. package/esm2020/navbar/vertical-navbar.component.mjs +3 -3
  39. package/esm2020/progress-spinner/progress-spinner.component.mjs +2 -2
  40. package/esm2020/select/select.component.mjs +3 -3
  41. package/esm2020/tree/tree-selection.component.mjs +2 -1
  42. package/esm2020/tree-select/tree-select.component.mjs +3 -3
  43. package/fesm2015/ptsecurity-mosaic-design-tokens.mjs +89 -2
  44. package/fesm2015/ptsecurity-mosaic-design-tokens.mjs.map +1 -1
  45. package/fesm2015/ptsecurity-mosaic-form-field.mjs +16 -6
  46. package/fesm2015/ptsecurity-mosaic-form-field.mjs.map +1 -1
  47. package/fesm2015/ptsecurity-mosaic-list.mjs +3 -0
  48. package/fesm2015/ptsecurity-mosaic-list.mjs.map +1 -1
  49. package/fesm2015/ptsecurity-mosaic-loader-overlay.mjs +155 -0
  50. package/fesm2015/ptsecurity-mosaic-loader-overlay.mjs.map +1 -0
  51. package/fesm2015/ptsecurity-mosaic-modal.mjs +11 -2
  52. package/fesm2015/ptsecurity-mosaic-modal.mjs.map +1 -1
  53. package/fesm2015/ptsecurity-mosaic-navbar.mjs +6 -4
  54. package/fesm2015/ptsecurity-mosaic-navbar.mjs.map +1 -1
  55. package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs +2 -2
  56. package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs.map +1 -1
  57. package/fesm2015/ptsecurity-mosaic-select.mjs +2 -2
  58. package/fesm2015/ptsecurity-mosaic-select.mjs.map +1 -1
  59. package/fesm2015/ptsecurity-mosaic-tree-select.mjs +2 -2
  60. package/fesm2015/ptsecurity-mosaic-tree-select.mjs.map +1 -1
  61. package/fesm2015/ptsecurity-mosaic-tree.mjs +1 -0
  62. package/fesm2015/ptsecurity-mosaic-tree.mjs.map +1 -1
  63. package/fesm2020/ptsecurity-mosaic-design-tokens.mjs +89 -2
  64. package/fesm2020/ptsecurity-mosaic-design-tokens.mjs.map +1 -1
  65. package/fesm2020/ptsecurity-mosaic-form-field.mjs +16 -6
  66. package/fesm2020/ptsecurity-mosaic-form-field.mjs.map +1 -1
  67. package/fesm2020/ptsecurity-mosaic-list.mjs +3 -0
  68. package/fesm2020/ptsecurity-mosaic-list.mjs.map +1 -1
  69. package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs +153 -0
  70. package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs.map +1 -0
  71. package/fesm2020/ptsecurity-mosaic-modal.mjs +10 -2
  72. package/fesm2020/ptsecurity-mosaic-modal.mjs.map +1 -1
  73. package/fesm2020/ptsecurity-mosaic-navbar.mjs +6 -4
  74. package/fesm2020/ptsecurity-mosaic-navbar.mjs.map +1 -1
  75. package/fesm2020/ptsecurity-mosaic-progress-spinner.mjs +2 -2
  76. package/fesm2020/ptsecurity-mosaic-progress-spinner.mjs.map +1 -1
  77. package/fesm2020/ptsecurity-mosaic-select.mjs +2 -2
  78. package/fesm2020/ptsecurity-mosaic-select.mjs.map +1 -1
  79. package/fesm2020/ptsecurity-mosaic-tree-select.mjs +2 -2
  80. package/fesm2020/ptsecurity-mosaic-tree-select.mjs.map +1 -1
  81. package/fesm2020/ptsecurity-mosaic-tree.mjs +1 -0
  82. package/fesm2020/ptsecurity-mosaic-tree.mjs.map +1 -1
  83. package/form-field/hint.d.ts +10 -2
  84. package/loader-overlay/README.md +0 -0
  85. package/loader-overlay/index.d.ts +1 -0
  86. package/loader-overlay/loader-overlay.component.d.ts +33 -0
  87. package/loader-overlay/loader-overlay.module.d.ts +11 -0
  88. package/loader-overlay/package.json +10 -0
  89. package/loader-overlay/ptsecurity-mosaic-loader-overlay.d.ts +5 -0
  90. package/loader-overlay/public-api.d.ts +2 -0
  91. package/modal/modal.component.d.ts +3 -1
  92. package/modal/modal.type.d.ts +1 -0
  93. package/package.json +12 -4
  94. package/prebuilt-themes/dark-theme.css +1 -1
  95. package/prebuilt-themes/default-theme.css +1 -1
  96. package/schematics/collection.json +0 -4
  97. package/schematics/migration.json +0 -10
  98. package/schematics/ng-update/data/attribute-selectors.d.ts +0 -2
  99. package/schematics/ng-update/data/attribute-selectors.js +0 -5
  100. package/schematics/ng-update/data/attribute-selectors.js.map +0 -1
  101. package/schematics/ng-update/data/class-names.d.ts +0 -2
  102. package/schematics/ng-update/data/class-names.js +0 -5
  103. package/schematics/ng-update/data/class-names.js.map +0 -1
  104. package/schematics/ng-update/data/constructor-checks.d.ts +0 -2
  105. package/schematics/ng-update/data/constructor-checks.js +0 -5
  106. package/schematics/ng-update/data/constructor-checks.js.map +0 -1
  107. package/schematics/ng-update/data/css-selectors.d.ts +0 -2
  108. package/schematics/ng-update/data/css-selectors.js +0 -5
  109. package/schematics/ng-update/data/css-selectors.js.map +0 -1
  110. package/schematics/ng-update/data/element-selectors.d.ts +0 -2
  111. package/schematics/ng-update/data/element-selectors.js +0 -5
  112. package/schematics/ng-update/data/element-selectors.js.map +0 -1
  113. package/schematics/ng-update/data/index.d.ts +0 -10
  114. package/schematics/ng-update/data/index.js +0 -14
  115. package/schematics/ng-update/data/index.js.map +0 -1
  116. package/schematics/ng-update/data/input-names.d.ts +0 -2
  117. package/schematics/ng-update/data/input-names.js +0 -35
  118. package/schematics/ng-update/data/input-names.js.map +0 -1
  119. package/schematics/ng-update/data/method-call-checks.d.ts +0 -2
  120. package/schematics/ng-update/data/method-call-checks.js +0 -5
  121. package/schematics/ng-update/data/method-call-checks.js.map +0 -1
  122. package/schematics/ng-update/data/output-names.d.ts +0 -2
  123. package/schematics/ng-update/data/output-names.js +0 -5
  124. package/schematics/ng-update/data/output-names.js.map +0 -1
  125. package/schematics/ng-update/data/property-names.d.ts +0 -2
  126. package/schematics/ng-update/data/property-names.js +0 -5
  127. package/schematics/ng-update/data/property-names.js.map +0 -1
  128. package/schematics/ng-update/data/symbol-removal.d.ts +0 -2
  129. package/schematics/ng-update/data/symbol-removal.js +0 -5
  130. package/schematics/ng-update/data/symbol-removal.js.map +0 -1
  131. package/schematics/ng-update/index.d.ts +0 -2
  132. package/schematics/ng-update/index.js +0 -23
  133. package/schematics/ng-update/index.js.map +0 -1
  134. package/schematics/ng-update/update-9.0.0/mosaic-symbols.json +0 -255
  135. package/schematics/ng-update/update-9.0.0/secondary-entry-points-migration.d.ts +0 -7
  136. package/schematics/ng-update/update-9.0.0/secondary-entry-points-migration.js +0 -154
  137. package/schematics/ng-update/update-9.0.0/secondary-entry-points-migration.js.map +0 -1
  138. package/schematics/ng-update/upgrade-data.d.ts +0 -2
  139. package/schematics/ng-update/upgrade-data.js +0 -17
  140. package/schematics/ng-update/upgrade-data.js.map +0 -1
  141. package/schematics/tsconfig.json +0 -29
  142. package/schematics/tsconfig.lib-test.json +0 -8
  143. package/schematics/tsconfig.lib.json +0 -17
@@ -1 +0,0 @@
1
- {"version":3,"file":"symbol-removal.js","sourceRoot":"","sources":["../../../../../packages/mosaic/schematics/ng-update/data/symbol-removal.ts"],"names":[],"mappings":";;;AAGa,QAAA,aAAa,GAA6C,EAEtE,CAAC","sourcesContent":["import { SymbolRemovalUpgradeData, VersionChanges } from '@angular/cdk/schematics';\n\n\nexport const symbolRemoval: VersionChanges<SymbolRemovalUpgradeData> = {\n\n};\n"]}
@@ -1,2 +0,0 @@
1
- import { Rule } from '@angular-devkit/schematics';
2
- export declare function updateToV9(): Rule;
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateToV9 = void 0;
4
- const schematics_1 = require("@angular/cdk/schematics");
5
- const chalk_1 = require("chalk");
6
- const secondary_entry_points_migration_1 = require("./update-9.0.0/secondary-entry-points-migration");
7
- const upgrade_data_1 = require("./upgrade-data");
8
- const mosaicMigrations = [
9
- // @ts-ignore
10
- secondary_entry_points_migration_1.SecondaryEntryPointsMigration
11
- ];
12
- function updateToV9() {
13
- return (0, schematics_1.createMigrationSchematicRule)(schematics_1.TargetVersion.V9, mosaicMigrations, upgrade_data_1.mosaicUpgradeData, onMigrationComplete);
14
- }
15
- exports.updateToV9 = updateToV9;
16
- function onMigrationComplete(context, targetVersion, hasFailures) {
17
- context.logger.info((0, chalk_1.green)(`Updated Mosaic to ${targetVersion}`));
18
- if (hasFailures) {
19
- context.logger.warn((0, chalk_1.yellow)(' Some issues were detected but could not be fixed automatically. Please check the ' +
20
- 'output above and fix these issues manually.'));
21
- }
22
- }
23
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/mosaic/schematics/ng-update/index.ts"],"names":[],"mappings":";;;AACA,wDAA+G;AAC/G,iCAAsC;AAEtC,sGAAgG;AAChG,iDAAmD;AAGnD,MAAM,gBAAgB,GAA+B;IACjD,aAAa;IACb,gEAA6B;CAChC,CAAC;AAEF,SAAgB,UAAU;IACtB,OAAO,IAAA,yCAA4B,EAC/B,0BAAa,CAAC,EAAE,EAAE,gBAAgB,EAAE,gCAAiB,EAAE,mBAAmB,CAAC,CAAC;AACpF,CAAC;AAHD,gCAGC;AAED,SAAS,mBAAmB,CAAC,OAAyB,EAAE,aAA4B,EAAE,WAAoB;IAEtG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,aAAK,EAAC,qBAAqB,aAAa,EAAE,CAAC,CAAC,CAAC;IAEjE,IAAI,WAAW,EAAE;QACb,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,cAAM,EACtB,oFAAoF;YACpF,6CAA6C,CAAC,CAAC,CAAC;KACvD;AACL,CAAC","sourcesContent":["import { Rule, SchematicContext } from '@angular-devkit/schematics';\nimport { createMigrationSchematicRule, NullableDevkitMigration, TargetVersion } from '@angular/cdk/schematics';\nimport { green, yellow } from 'chalk';\n\nimport { SecondaryEntryPointsMigration } from './update-9.0.0/secondary-entry-points-migration';\nimport { mosaicUpgradeData } from './upgrade-data';\n\n\nconst mosaicMigrations: NullableDevkitMigration[] = [\n // @ts-ignore\n SecondaryEntryPointsMigration\n];\n\nexport function updateToV9(): Rule {\n return createMigrationSchematicRule(\n TargetVersion.V9, mosaicMigrations, mosaicUpgradeData, onMigrationComplete);\n}\n\nfunction onMigrationComplete(context: SchematicContext, targetVersion: TargetVersion, hasFailures: boolean): void {\n\n context.logger.info(green(`Updated Mosaic to ${targetVersion}`));\n\n if (hasFailures) {\n context.logger.warn(yellow(\n ' Some issues were detected but could not be fixed automatically. Please check the ' +\n 'output above and fix these issues manually.'));\n }\n}\n"]}
@@ -1,255 +0,0 @@
1
- {
2
- "AUTOCOMPLETE_OPTION_HEIGHT": "autocomplete",
3
- "AUTOCOMPLETE_PANEL_HEIGHT": "autocomplete",
4
- "McAutocomplete": "autocomplete",
5
- "McAutocompleteTrigger": "autocomplete",
6
- "McAutocompleteOrigin": "autocomplete",
7
- "McAutocompleteSelectedEvent": "autocomplete",
8
- "MC_AUTOCOMPLETE_DEFAULT_OPTIONS": "autocomplete",
9
- "MC_AUTOCOMPLETE_DEFAULT_OPTIONS_FACTORY": "autocomplete",
10
- "MC_AUTOCOMPLETE_SCROLL_STRATEGY": "autocomplete",
11
- "MC_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY": "autocomplete",
12
- "MC_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY_PROVIDER": "autocomplete",
13
- "McAnchor": "button",
14
- "McButton": "button",
15
- "McButtonModule": "button",
16
- "McButtonToggle": "button-toggle",
17
- "McButtonToggleChange": "button-toggle",
18
- "McButtonToggleGroup": "button-toggle",
19
- "McButtonToggleModule": "button-toggle",
20
- "ToggleType": "button-toggle",
21
- "McCard": "card",
22
- "McCardModule": "card",
23
- "MC_CHECKBOX_CLICK_ACTION": "checkbox",
24
- "MC_CHECKBOX_CONTROL_VALUE_ACCESSOR": "checkbox",
25
- "MC_CHECKBOX_REQUIRED_VALIDATOR": "checkbox",
26
- "McCheckbox": "checkbox",
27
- "McCheckboxChange": "checkbox",
28
- "McCheckboxClickAction": "checkbox",
29
- "McCheckboxModule": "checkbox",
30
- "McCheckboxRequiredValidator": "checkbox",
31
- "TransitionCheckState": "checkbox",
32
- "AnimationCurves": "core",
33
- "McCommonModule": "core",
34
- "CanColor": "core",
35
- "CanColorCtor": "core",
36
- "CanDisable": "core",
37
- "CanDisableCtor": "core",
38
- "CanUpdateErrorState": "core",
39
- "CanUpdateErrorStateCtor": "core",
40
- "ErrorStateMatcher": "core",
41
- "FloatLabelType": "core",
42
- "HasTabIndex": "core",
43
- "HasTabIndexCtor": "core",
44
- "LabelOptions": "core",
45
- "MC_LABEL_GLOBAL_OPTIONS": "core",
46
- "MC_OPTION_PARENT_COMPONENT": "core",
47
- "MC_SANITY_CHECKS": "core",
48
- "McLine": "core",
49
- "McLineModule": "core",
50
- "McLineSetter": "core",
51
- "McOptgroup": "core",
52
- "McOption": "core",
53
- "McOptionModule": "core",
54
- "McOptionParentComponent": "core",
55
- "McOptionSelectionChange": "core",
56
- "McPseudoCheckbox": "core",
57
- "McPseudoCheckboxModule": "core",
58
- "McPseudoCheckboxState": "core",
59
- "mixinColor": "core",
60
- "mixinDisabled": "core",
61
- "mixinErrorState": "core",
62
- "mixinInitialized": "core",
63
- "mixinTabIndex": "core",
64
- "ShowOnDirtyErrorStateMatcher": "core",
65
- "ThemePalette": "core",
66
- "MC_DATEPICKER_SCROLL_STRATEGY": "datepicker",
67
- "MC_DATEPICKER_SCROLL_STRATEGY_FACTORY": "datepicker",
68
- "MC_DATEPICKER_SCROLL_STRATEGY_FACTORY_PROVIDER": "datepicker",
69
- "MC_DATEPICKER_VALIDATORS": "datepicker",
70
- "MC_DATEPICKER_VALUE_ACCESSOR": "datepicker",
71
- "McCalendar": "datepicker",
72
- "McCalendarBody": "datepicker",
73
- "McCalendarCell": "datepicker",
74
- "McCalendarCellCssClasses": "datepicker",
75
- "McCalendarHeader": "datepicker",
76
- "McCalendarView": "datepicker",
77
- "McDatepicker": "datepicker",
78
- "McDatepickerContent": "datepicker",
79
- "McDatepickerInput": "datepicker",
80
- "McDatepickerInputEvent": "datepicker",
81
- "McDatepickerIntl": "datepicker",
82
- "McDatepickerModule": "datepicker",
83
- "McDatepickerToggle": "datepicker",
84
- "McDatepickerToggleIcon": "datepicker",
85
- "McMonthView": "datepicker",
86
- "McMultiYearView": "datepicker",
87
- "McYearView": "datepicker",
88
- "yearsPerPage": "datepicker",
89
- "yearsPerRow": "datepicker",
90
- "McDivider": "divider",
91
- "McDividerModule": "divider",
92
- "McDropdown": "dropdown",
93
- "McDropdownModule": "dropdown",
94
- "McDropdownItem": "dropdown",
95
- "McDropdownTrigger": "dropdown",
96
- "McDropdownContent": "dropdown",
97
- "MC_DROPDOWN_SCROLL_STRATEGY_FACTORY_PROVIDER": "dropdown",
98
- "McFormField": "form-field",
99
- "McFormFieldControl": "form-field",
100
- "McFormFieldModule": "form-field",
101
- "McHint": "form-field",
102
- "McPrefix": "form-field",
103
- "McSuffix": "form-field",
104
- "McIcon": "icon",
105
- "McIconModule": "icon",
106
- "McIconCSSStyler": "icon",
107
- "McInput": "input",
108
- "McInputModule": "input",
109
- "McNumberInput": "input",
110
- "McInputMono": "input",
111
- "MinValidator": "input",
112
- "MaxValidator": "input",
113
- "McLink": "link",
114
- "McLinkModule": "link",
115
- "MC_SELECTION_LIST_VALUE_ACCESSOR": "list",
116
- "McList": "list",
117
- "McListItem": "list",
118
- "McListSelection": "list",
119
- "McListModule": "list",
120
- "McListOption": "list",
121
- "McModalComponent": "modal",
122
- "McModalTitle": "modal",
123
- "McModalBody": "modal",
124
- "McModalFooter": "modal",
125
- "McModalModule": "modal",
126
- "McModalControlService": "modal",
127
- "McModalService": "modal",
128
- "McModalRef": "modal",
129
- "IModalOptions": "modal",
130
- "ConfirmType": "modal",
131
- "ModalType": "modal",
132
- "McNavbarModule": "navbar",
133
- "McNavbar": "navbar",
134
- "McNavbarContainer": "navbar",
135
- "McNavbarTitle": "navbar",
136
- "McNavbarItem": "navbar",
137
- "McNavbarBrand": "navbar",
138
- "McNavbarLogo": "navbar",
139
- "McPopover": "popover",
140
- "McPopoverModule": "popover",
141
- "MC_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER": "popover",
142
- "McProgressBar": "progress-bar",
143
- "McProgressBarModule": "progress-bar",
144
- "McProgressSpinner": "progress-spinner",
145
- "McProgressSpinnerModule": "progress-spinner",
146
- "ProgressSpinnerMode": "progress-spinner",
147
- "McRadioButton": "radio",
148
- "McRadioModule": "radio",
149
- "McRadioChange": "radio",
150
- "McRadioGroup": "radio",
151
- "McSelect": "select",
152
- "mcSelectAnimations": "select",
153
- "McSelectChange": "select",
154
- "McSelectModule": "select",
155
- "McSelectTrigger": "select",
156
- "SELECT_PANEL_INDENT_PADDING_X": "select",
157
- "SELECT_PANEL_MAX_HEIGHT": "select",
158
- "SELECT_PANEL_PADDING_X": "select",
159
- "SELECT_PANEL_VIEWPORT_PADDING": "select",
160
- "transformPanel": "select",
161
- "McSidebarClosed": "sidebar",
162
- "McSidebarOpened": "sidebar",
163
- "McSidebar": "sidebar",
164
- "McSidebarModule": "sidebar",
165
- "SidebarPositions": "sidebar",
166
- "McSidepanelContainerComponent": "sidepanel",
167
- "McSidepanelClose": "sidepanel",
168
- "McSidepanelHeader": "sidepanel",
169
- "McSidepanelBody": "sidepanel",
170
- "McSidepanelFooter": "sidepanel",
171
- "McSidepanelActions": "sidepanel",
172
- "McSidepanelModule": "sidepanel",
173
- "McSidepanelService": "sidepanel",
174
- "MC_SIDEPANEL_DEFAULT_OPTIONS": "sidepanel",
175
- "MC_SIDEPANEL_WITH_INDENT": "sidepanel,",
176
- "MC_SIDEPANEL_WITH_SHADOW": "sidepanel",
177
- "mcSidepanelAnimations": "sidepanel",
178
- "McSidepanelAnimationState": "sidepanel",
179
- "mcSidepanelTransformAnimation": "sidepanel",
180
- "McSidepanelRef": "sidepanel",
181
- "McGutterDirective": "splitter",
182
- "McSplitterAreaDirective": "splitter",
183
- "McSplitterComponent": "splitter",
184
- "McSplitterModule": "splitter",
185
- "Direction": "splitter",
186
- "McTable": "table",
187
- "McTableModule": "table",
188
- "McTabGroupBase": "tabs",
189
- "McTabHeaderBase": "tabs",
190
- "McTabLinkBase": "tabs",
191
- "McTabNavBase": "tabs",
192
- "MC_TABS_CONFIG": "tabs",
193
- "McTab": "tabs",
194
- "McTabBody": "tabs",
195
- "McTabBodyOriginState": "tabs",
196
- "McTabBodyPortal": "tabs",
197
- "McTabBodyPositionState": "tabs",
198
- "McTabChangeEvent": "tabs",
199
- "McTabContent": "tabs",
200
- "McTabGroup": "tabs",
201
- "McTabHeader": "tabs",
202
- "McTabHeaderPosition": "tabs",
203
- "McTabLabel": "tabs",
204
- "McTabLabelWrapper": "tabs",
205
- "McTabLink": "tabs",
206
- "McTabNav": "tabs",
207
- "mcTabsAnimations": "tabs",
208
- "McTabsConfig": "tabs",
209
- "McTabsModule": "tabs",
210
- "ScrollDirection": "tabs",
211
- "McTagList": "tags",
212
- "McTag": "tags",
213
- "McTagsModule": "tags",
214
- "McTagInput": "tags",
215
- "McTagTrailingIcon": "tags",
216
- "McTagAvatar": "tags",
217
- "McTagRemove": "tags",
218
- "McTagListChange": "tags",
219
- "McTagTextControl": "tags",
220
- "McTagInputEvent": "tags",
221
- "McTextarea": "textarea",
222
- "McTextareaModule": "textarea",
223
- "MC_TEXTAREA_VALUE_ACCESSOR": "textarea",
224
- "McTimepicker": "timepicker",
225
- "McTimepickerModule": "timepicker",
226
- "McToggleComponent": "toggle",
227
- "McToggleModule": "toggle",
228
- "McToggleChange": "toggle",
229
- "getMcTooltipInvalidPositionError": "tooltip",
230
- "MC_TOOLTIP_SCROLL_STRATEGY": "tooltip",
231
- "MC_TOOLTIP_SCROLL_STRATEGY_FACTORY": "tooltip",
232
- "MC_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER": "tooltip",
233
- "McTooltip": "tooltip",
234
- "McTooltipModule": "tooltip",
235
- "TooltipComponent": "tooltip",
236
- "TooltipPosition": "tooltip",
237
- "McTreeSelection": "tree",
238
- "McTreeOption": "tree",
239
- "MC_TREE_OPTION_PARENT_COMPONENT": "tree",
240
- "McTreeOptionEvent": "tree",
241
- "McTreeOptionChange": "tree",
242
- "McTreeNodeDef": "tree",
243
- "McTreeNodePadding": "tree",
244
- "McTreeNodeToggleComponent": "tree",
245
- "McTreeNodeToggleDirective": "tree",
246
- "McTreeModule": "tree",
247
- "McTreeFlattener": "tree",
248
- "McTreeFlatDataSource": "tree",
249
- "McTreeNestedDataSource": "tree",
250
- "McTreeSelectModule": "tree-select",
251
- "McTreeSelect": "tree-select",
252
- "McTreeSelectTrigger": "tree-select",
253
- "McTreeSelectChange": "tree-select",
254
- "CommonModule": "tree-select"
255
- }
@@ -1,7 +0,0 @@
1
- import { Migration } from '@angular/cdk/schematics';
2
- import * as ts from 'typescript';
3
- export declare class SecondaryEntryPointsMigration extends Migration<null> {
4
- printer: ts.Printer;
5
- enabled: boolean;
6
- visitNode(declaration: ts.Node): void;
7
- }
@@ -1,154 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SecondaryEntryPointsMigration = void 0;
4
- // tslint:disable
5
- const schematics_1 = require("@angular/cdk/schematics");
6
- const ts = require("typescript");
7
- const ONLY_SUBPACKAGE_FAILURE_STR = `Importing from "@ptsecurity/mosaic" is deprecated. ` +
8
- `Instead import from the entry-point the symbol belongs to.`;
9
- const NO_IMPORT_NAMED_SYMBOLS_FAILURE_STR = `Imports from Mosaic should import ` +
10
- `specific symbols rather than importing the entire library.`;
11
- const legacyMosaicModuleSpecifier = '@ptsecurity/mosaic';
12
- const currentMosaicModuleSpecifier = '@ptsecurity/mosaic';
13
- const MOSAIC_AC_FILEPATH_REGEX = new RegExp(`${legacyMosaicModuleSpecifier}/(.*?)/`);
14
- // tslint:disable-next-line:no-var-requires
15
- const ENTRY_POINT_MAPPINGS = require('./mosaic-symbols.json');
16
- // tslint:disable-next-line:no-null-keyword
17
- class SecondaryEntryPointsMigration extends schematics_1.Migration {
18
- constructor() {
19
- super(...arguments);
20
- this.printer = ts.createPrinter();
21
- // Only enable this rule if the migration targets version 8.
22
- this.enabled = this.targetVersion === schematics_1.TargetVersion.V8 || this.targetVersion === schematics_1.TargetVersion.V9;
23
- }
24
- // tslint:disable-next-line:max-func-body-length
25
- visitNode(declaration) {
26
- if (!ts.isImportDeclaration(declaration) ||
27
- !ts.isStringLiteralLike(declaration.moduleSpecifier)) {
28
- return;
29
- }
30
- const importLocation = declaration.moduleSpecifier.text;
31
- // skip check - if the import module is not @ptsecurity/mosaic
32
- if (importLocation !== legacyMosaicModuleSpecifier) {
33
- return;
34
- }
35
- // If no import clause is found, or nothing is named as a binding in the
36
- // import, add failure saying to import symbols in clause.
37
- if (!declaration.importClause || !declaration.importClause.namedBindings) {
38
- this.createFailureAtNode(declaration, NO_IMPORT_NAMED_SYMBOLS_FAILURE_STR);
39
- return;
40
- }
41
- // All named bindings in import clauses must be named symbols, otherwise add
42
- // failure saying to import symbols in clause.
43
- if (!ts.isNamedImports(declaration.importClause.namedBindings)) {
44
- this.createFailureAtNode(declaration, NO_IMPORT_NAMED_SYMBOLS_FAILURE_STR);
45
- return;
46
- }
47
- // If no symbols are in the named bindings then add failure saying to
48
- // import symbols in clause.
49
- if (!declaration.importClause.namedBindings.elements.length) {
50
- this.createFailureAtNode(declaration, NO_IMPORT_NAMED_SYMBOLS_FAILURE_STR);
51
- return;
52
- }
53
- // Map which consists of secondary entry-points and import specifiers which are used
54
- // within the current import declaration.
55
- const importMap = new Map();
56
- // Determine the subpackage each symbol in the namedBinding comes from.
57
- for (const element of declaration.importClause.namedBindings.elements) {
58
- const elementName = element.propertyName ? element.propertyName : element.name;
59
- const moduleName = resolveModuleName(elementName, this.typeChecker) ||
60
- // tslint:disable-next-line:no-null-keyword
61
- ENTRY_POINT_MAPPINGS[elementName.text] || null;
62
- if (!moduleName) {
63
- this.createFailureAtNode(element, `"${element.getText()}" was not found in the Mosaic library.`);
64
- return;
65
- }
66
- // The module name where the symbol is defined e.g. card, dialog. The
67
- // first capture group is contains the module name.
68
- if (importMap.has(moduleName)) {
69
- importMap.get(moduleName).push(element);
70
- }
71
- else {
72
- importMap.set(moduleName, [element]);
73
- }
74
- }
75
- const singleQuoteImport = declaration.moduleSpecifier.getText()[0] === `'`;
76
- // Transforms the import declaration into multiple import declarations that import
77
- // the given symbols from the individual secondary entry-points. For example:
78
- // import { McCardModule } from '@ptsecurity/mosaic/card';
79
- // import { McRadioModule } from '@ptsecurity/mosaic/radio';
80
- const newImportStatements = Array.from(importMap.entries())
81
- .sort()
82
- .map(([name, elements]) => {
83
- const newImport = ts.createImportDeclaration(undefined, undefined, ts.createImportClause(undefined, ts.createNamedImports(elements)), createStringLiteral(`${currentMosaicModuleSpecifier}/${name}`, singleQuoteImport));
84
- return this.printer.printNode(ts.EmitHint.Unspecified, newImport, declaration.getSourceFile());
85
- })
86
- .join('\n');
87
- // Without any import statements that were generated, we can assume that this was an empty
88
- // import declaration. We still want to add a failure in order to make developers aware that
89
- // importing from "@ptsecurity/mosaic" is deprecated.
90
- if (!newImportStatements) {
91
- this.createFailureAtNode(declaration.moduleSpecifier, ONLY_SUBPACKAGE_FAILURE_STR);
92
- return;
93
- }
94
- const filePath = this.fileSystem.resolve(declaration.moduleSpecifier.getSourceFile().fileName);
95
- const recorder = this.fileSystem.edit(filePath);
96
- // Perform the replacement that switches the primary entry-point import to
97
- // the individual secondary entry-point imports.
98
- recorder.remove(declaration.getStart(), declaration.getWidth());
99
- recorder.insertRight(declaration.getStart(), newImportStatements);
100
- }
101
- }
102
- exports.SecondaryEntryPointsMigration = SecondaryEntryPointsMigration;
103
- /**
104
- * Creates a string literal from the specified text.
105
- * @param text Text of the string literal.
106
- * @param singleQuotes Whether single quotes should be used when printing the literal node.
107
- */
108
- function createStringLiteral(text, singleQuotes) {
109
- const literal = ts.createStringLiteral(text);
110
- // See: https://github.com/microsoft/TypeScript/blob/master/src/compiler/utilities.ts#L584-L590
111
- // tslint:disable-next-line: no-string-literal
112
- literal['singleQuote'] = singleQuotes;
113
- return literal;
114
- }
115
- function getDeclarationSymbolOfNode(node, checker) {
116
- // tslint:disable-next-line:no-reserved-keywords
117
- const symbol = checker.getSymbolAtLocation(node);
118
- // Symbols can be aliases of the declaration symbol. e.g. in named import specifiers.
119
- // We need to resolve the aliased symbol back to the declaration symbol.
120
- // tslint:disable-next-line:no-bitwise
121
- if (symbol && (symbol.flags & ts.SymbolFlags.Alias) !== 0) {
122
- return checker.getAliasedSymbol(symbol);
123
- }
124
- return symbol;
125
- }
126
- function resolveModuleName(node, typeChecker) {
127
- // Get the symbol for the named binding element. Note that we cannot determine the
128
- // value declaration based on the type of the element as types are not necessarily
129
- // specific to a given secondary entry-point (e.g. exports with the type of "string")
130
- // would resolve to the module types provided by TypeScript itself.
131
- // tslint:disable-next-line:no-reserved-keywords
132
- const symbol = getDeclarationSymbolOfNode(node, typeChecker);
133
- // If the symbol can't be found, or no declaration could be found within
134
- // the symbol, add failure to report that the given symbol can't be found.
135
- if (!symbol || !(symbol.valueDeclaration || (symbol.declarations && symbol.declarations.length !== 0))) {
136
- // tslint:disable-next-line:no-null-keyword
137
- return null;
138
- }
139
- // The filename for the source file of the node that contains the
140
- // first declaration of the symbol. All symbol declarations must be
141
- // part of a defining node, so parent can be asserted to be defined.
142
- const resolvedNode = symbol.valueDeclaration || symbol.declarations?.[0];
143
- if (!resolvedNode) {
144
- return null;
145
- }
146
- const sourceFile = resolvedNode.getSourceFile().fileName;
147
- // File the module the symbol belongs to from a regex match of the
148
- // filename. This will always match since only "@ptsecurity/mosaic"
149
- // elements are analyzed.
150
- const matches = sourceFile.match(MOSAIC_AC_FILEPATH_REGEX);
151
- // tslint:disable-next-line:no-null-keyword
152
- return matches ? matches[1] : null;
153
- }
154
- //# sourceMappingURL=secondary-entry-points-migration.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"secondary-entry-points-migration.js","sourceRoot":"","sources":["../../../../../packages/mosaic/schematics/ng-update/update-9.0.0/secondary-entry-points-migration.ts"],"names":[],"mappings":"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","sourcesContent":["// tslint:disable\nimport { Migration, TargetVersion } from '@angular/cdk/schematics';\nimport * as ts from 'typescript';\n\n\nconst ONLY_SUBPACKAGE_FAILURE_STR = `Importing from \"@ptsecurity/mosaic\" is deprecated. ` +\n `Instead import from the entry-point the symbol belongs to.`;\n\nconst NO_IMPORT_NAMED_SYMBOLS_FAILURE_STR = `Imports from Mosaic should import ` +\n `specific symbols rather than importing the entire library.`;\n\n\nconst legacyMosaicModuleSpecifier = '@ptsecurity/mosaic';\nconst currentMosaicModuleSpecifier = '@ptsecurity/mosaic';\n\nconst MOSAIC_AC_FILEPATH_REGEX = new RegExp(\n `${legacyMosaicModuleSpecifier}/(.*?)/`\n);\n\n// tslint:disable-next-line:no-var-requires\nconst ENTRY_POINT_MAPPINGS: {[name: string]: string} = require('./mosaic-symbols.json');\n\n\n// tslint:disable-next-line:no-null-keyword\nexport class SecondaryEntryPointsMigration extends Migration<null> {\n\n printer = ts.createPrinter();\n\n // Only enable this rule if the migration targets version 8.\n enabled = this.targetVersion === TargetVersion.V8 || this.targetVersion === TargetVersion.V9;\n\n // tslint:disable-next-line:max-func-body-length\n visitNode(declaration: ts.Node): void {\n\n if (\n !ts.isImportDeclaration(declaration) ||\n !ts.isStringLiteralLike(declaration.moduleSpecifier)\n ) {\n return;\n }\n\n const importLocation = declaration.moduleSpecifier.text;\n // skip check - if the import module is not @ptsecurity/mosaic\n if (importLocation !== legacyMosaicModuleSpecifier) {\n return;\n }\n\n // If no import clause is found, or nothing is named as a binding in the\n // import, add failure saying to import symbols in clause.\n if (!declaration.importClause || !declaration.importClause.namedBindings) {\n this.createFailureAtNode(declaration, NO_IMPORT_NAMED_SYMBOLS_FAILURE_STR);\n\n return;\n }\n\n // All named bindings in import clauses must be named symbols, otherwise add\n // failure saying to import symbols in clause.\n if (!ts.isNamedImports(declaration.importClause.namedBindings)) {\n this.createFailureAtNode(declaration, NO_IMPORT_NAMED_SYMBOLS_FAILURE_STR);\n\n return;\n }\n\n // If no symbols are in the named bindings then add failure saying to\n // import symbols in clause.\n if (!declaration.importClause.namedBindings.elements.length) {\n this.createFailureAtNode(declaration, NO_IMPORT_NAMED_SYMBOLS_FAILURE_STR);\n\n return;\n }\n\n // Map which consists of secondary entry-points and import specifiers which are used\n // within the current import declaration.\n const importMap = new Map<string, ts.ImportSpecifier[]>();\n\n // Determine the subpackage each symbol in the namedBinding comes from.\n for (const element of declaration.importClause.namedBindings.elements) {\n\n const elementName = element.propertyName ? element.propertyName : element.name;\n\n const moduleName = resolveModuleName(elementName, this.typeChecker) ||\n // tslint:disable-next-line:no-null-keyword\n ENTRY_POINT_MAPPINGS[elementName.text] || null;\n\n if (!moduleName) {\n\n this.createFailureAtNode(\n element, `\"${element.getText()}\" was not found in the Mosaic library.`);\n\n return;\n }\n\n // The module name where the symbol is defined e.g. card, dialog. The\n // first capture group is contains the module name.\n if (importMap.has(moduleName)) {\n importMap.get(moduleName)!.push(element);\n } else {\n importMap.set(moduleName, [element]);\n }\n }\n\n const singleQuoteImport = declaration.moduleSpecifier.getText()[0] === `'`;\n\n // Transforms the import declaration into multiple import declarations that import\n // the given symbols from the individual secondary entry-points. For example:\n // import { McCardModule } from '@ptsecurity/mosaic/card';\n // import { McRadioModule } from '@ptsecurity/mosaic/radio';\n const newImportStatements =\n Array.from(importMap.entries())\n .sort()\n .map(([name, elements]) => {\n const newImport = ts.createImportDeclaration(\n undefined, undefined,\n ts.createImportClause(undefined, ts.createNamedImports(elements)),\n createStringLiteral(`${currentMosaicModuleSpecifier}/${name}`, singleQuoteImport));\n\n return this.printer.printNode(\n ts.EmitHint.Unspecified, newImport, declaration.getSourceFile());\n })\n .join('\\n');\n\n // Without any import statements that were generated, we can assume that this was an empty\n // import declaration. We still want to add a failure in order to make developers aware that\n // importing from \"@ptsecurity/mosaic\" is deprecated.\n if (!newImportStatements) {\n this.createFailureAtNode(declaration.moduleSpecifier, ONLY_SUBPACKAGE_FAILURE_STR);\n\n return;\n }\n\n const filePath = this.fileSystem.resolve(\n declaration.moduleSpecifier.getSourceFile().fileName);\n\n const recorder = this.fileSystem.edit(filePath);\n\n // Perform the replacement that switches the primary entry-point import to\n // the individual secondary entry-point imports.\n recorder.remove(declaration.getStart(), declaration.getWidth());\n recorder.insertRight(declaration.getStart(), newImportStatements);\n }\n}\n\n/**\n * Creates a string literal from the specified text.\n * @param text Text of the string literal.\n * @param singleQuotes Whether single quotes should be used when printing the literal node.\n */\nfunction createStringLiteral(text: string, singleQuotes: boolean): ts.StringLiteral {\n const literal = ts.createStringLiteral(text);\n // See: https://github.com/microsoft/TypeScript/blob/master/src/compiler/utilities.ts#L584-L590\n // tslint:disable-next-line: no-string-literal\n literal['singleQuote'] = singleQuotes;\n\n return literal;\n}\n\nfunction getDeclarationSymbolOfNode(node: ts.Node, checker: ts.TypeChecker): ts.Symbol | undefined {\n // tslint:disable-next-line:no-reserved-keywords\n const symbol = checker.getSymbolAtLocation(node);\n\n // Symbols can be aliases of the declaration symbol. e.g. in named import specifiers.\n // We need to resolve the aliased symbol back to the declaration symbol.\n // tslint:disable-next-line:no-bitwise\n if (symbol && (symbol.flags & ts.SymbolFlags.Alias) !== 0) {\n return checker.getAliasedSymbol(symbol);\n }\n\n return symbol;\n}\n\nfunction resolveModuleName(node: ts.Identifier, typeChecker: ts.TypeChecker) {\n // Get the symbol for the named binding element. Note that we cannot determine the\n // value declaration based on the type of the element as types are not necessarily\n // specific to a given secondary entry-point (e.g. exports with the type of \"string\")\n // would resolve to the module types provided by TypeScript itself.\n // tslint:disable-next-line:no-reserved-keywords\n const symbol = getDeclarationSymbolOfNode(node, typeChecker);\n\n // If the symbol can't be found, or no declaration could be found within\n // the symbol, add failure to report that the given symbol can't be found.\n if (!symbol || !(symbol.valueDeclaration || (symbol.declarations && symbol.declarations.length !== 0))) {\n // tslint:disable-next-line:no-null-keyword\n return null;\n }\n\n // The filename for the source file of the node that contains the\n // first declaration of the symbol. All symbol declarations must be\n // part of a defining node, so parent can be asserted to be defined.\n const resolvedNode = symbol.valueDeclaration || symbol.declarations?.[0];\n\n if (!resolvedNode) { return null; }\n\n const sourceFile = resolvedNode.getSourceFile().fileName;\n\n // File the module the symbol belongs to from a regex match of the\n // filename. This will always match since only \"@ptsecurity/mosaic\"\n // elements are analyzed.\n const matches = sourceFile.match(MOSAIC_AC_FILEPATH_REGEX);\n\n // tslint:disable-next-line:no-null-keyword\n return matches ? matches[1] : null;\n}\n"]}
@@ -1,2 +0,0 @@
1
- import { UpgradeData } from '@angular/cdk/schematics';
2
- export declare const mosaicUpgradeData: UpgradeData;
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mosaicUpgradeData = void 0;
4
- const data_1 = require("./data");
5
- exports.mosaicUpgradeData = {
6
- attributeSelectors: data_1.attributeSelectors,
7
- classNames: data_1.classNames,
8
- constructorChecks: data_1.constructorChecks,
9
- cssSelectors: data_1.cssSelectors,
10
- elementSelectors: data_1.elementSelectors,
11
- inputNames: data_1.inputNames,
12
- methodCallChecks: data_1.methodCallChecks,
13
- outputNames: data_1.outputNames,
14
- propertyNames: data_1.propertyNames,
15
- symbolRemoval: data_1.symbolRemoval
16
- };
17
- //# sourceMappingURL=upgrade-data.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upgrade-data.js","sourceRoot":"","sources":["../../../../packages/mosaic/schematics/ng-update/upgrade-data.ts"],"names":[],"mappings":";;;AAEA,iCAWgB;AAGH,QAAA,iBAAiB,GAAgB;IAC1C,kBAAkB,EAAlB,yBAAkB;IAClB,UAAU,EAAV,iBAAU;IACV,iBAAiB,EAAjB,wBAAiB;IACjB,YAAY,EAAZ,mBAAY;IACZ,gBAAgB,EAAhB,uBAAgB;IAChB,UAAU,EAAV,iBAAU;IACV,gBAAgB,EAAhB,uBAAgB;IAChB,WAAW,EAAX,kBAAW;IACX,aAAa,EAAb,oBAAa;IACb,aAAa,EAAb,oBAAa;CAChB,CAAC","sourcesContent":["import { UpgradeData } from '@angular/cdk/schematics';\n\nimport {\n attributeSelectors,\n classNames,\n constructorChecks,\n cssSelectors,\n elementSelectors,\n inputNames,\n methodCallChecks,\n outputNames,\n propertyNames,\n symbolRemoval\n} from './data';\n\n\nexport const mosaicUpgradeData: UpgradeData = {\n attributeSelectors,\n classNames,\n constructorChecks,\n cssSelectors,\n elementSelectors,\n inputNames,\n methodCallChecks,\n outputNames,\n propertyNames,\n symbolRemoval\n};\n"]}
@@ -1,29 +0,0 @@
1
- {
2
- "extends": "../../../tsconfig.json",
3
- "compilerOptions": {
4
- "rootDir": ".",
5
- "resolveJsonModule": true,
6
- "downlevelIteration": true,
7
- "target": "es6",
8
- "types": [
9
- "node",
10
- "jasmine"
11
- ]
12
- },
13
- "files": [
14
- "./collection.json",
15
- "./migration.json"
16
- ],
17
- "include": [
18
- "**/*.ts",
19
- "**/*.json"
20
- ],
21
- "references": [
22
- {
23
- "path": "./tsconfig.lib.json"
24
- },
25
- {
26
- "path": "./tsconfig.lib-test.json"
27
- }
28
- ]
29
- }
@@ -1,8 +0,0 @@
1
- {
2
- "extends": "./tsconfig.json",
3
- "compilerOptions": {
4
- "outDir": "../../../dist/schematics-test",
5
- "module": "commonjs",
6
- "types": ["jasmine", "node"]
7
- }
8
- }
@@ -1,17 +0,0 @@
1
- {
2
- "extends": "./tsconfig.json",
3
- "compilerOptions": {
4
- "outDir": "../../../dist/out-tsc",
5
- "module": "commonjs",
6
- "target": "es2020",
7
- "declaration": true,
8
- "inlineSources": true,
9
- "types": [],
10
- "lib": ["dom", "es2020"]
11
- },
12
- "exclude": [
13
- "**/*.spec.ts",
14
- "testing/**/*.ts",
15
- "ng-update/test-cases/**/*"
16
- ]
17
- }