@ihk-gfi/lux-components-update 11.13.0 → 13.0.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 (230) hide show
  1. package/README.md +2 -4
  2. package/package.json +14 -17
  3. package/src/add-lux-components/files/app/app.component.html +1 -1
  4. package/src/add-lux-components/files/app/app.component.ts +4 -1
  5. package/src/add-lux-components/files/locale/messages.en.xlf +489 -235
  6. package/src/add-lux-components/files/locale/messages.xlf +451 -218
  7. package/src/add-lux-components/files/scripts/.browserslistrc +10 -7
  8. package/src/add-lux-components/files/src/index.html +31 -0
  9. package/src/add-lux-components/index.js +151 -78
  10. package/src/add-lux-components/index.js.map +1 -1
  11. package/src/add-lux-components/index.ts +141 -66
  12. package/src/add-lux-components/index_spec.js +4 -4
  13. package/src/add-lux-components/index_spec.js.map +1 -1
  14. package/src/add-lux-components/index_spec.ts +1 -1
  15. package/src/add-lux-components/schema.json +1 -1
  16. package/src/collection.json +8 -88
  17. package/src/update-dependencies/index.d.ts +1 -1
  18. package/src/update-dependencies/index.js +82 -65
  19. package/src/update-dependencies/index.js.map +1 -1
  20. package/src/update-dependencies/index.ts +112 -95
  21. package/src/update-dependencies/schema.json +1 -1
  22. package/src/update-en-messages/index.d.ts +2 -0
  23. package/src/update-en-messages/index.js +75 -0
  24. package/src/update-en-messages/index.js.map +1 -0
  25. package/src/update-en-messages/index.ts +78 -0
  26. package/src/{update110100 → update-en-messages}/schema.json +3 -3
  27. package/src/updates/update130000/files/root/.browserslistrc +20 -0
  28. package/src/updates/update130000/index.d.ts +27 -0
  29. package/src/updates/update130000/index.js +296 -0
  30. package/src/updates/update130000/index.js.map +1 -0
  31. package/src/updates/update130000/index.ts +346 -0
  32. package/src/{migrate-to-eslint → updates/update130000}/index_spec.d.ts +0 -0
  33. package/src/updates/update130000/index_spec.js +574 -0
  34. package/src/updates/update130000/index_spec.js.map +1 -0
  35. package/src/updates/update130000/index_spec.ts +665 -0
  36. package/src/{update → updates/update130000}/schema.json +1 -1
  37. package/src/utility/dependencies.js +16 -14
  38. package/src/utility/dependencies.js.map +1 -1
  39. package/src/utility/dependencies.ts +6 -4
  40. package/src/utility/files.d.ts +5 -1
  41. package/src/utility/files.js +27 -16
  42. package/src/utility/files.js.map +1 -1
  43. package/src/utility/files.ts +16 -3
  44. package/src/utility/html.js +88 -25
  45. package/src/utility/html.js.map +1 -1
  46. package/src/utility/html.ts +105 -29
  47. package/src/{migrate-to-webcomponent/index_spec.d.ts → utility/html_spec.d.ts} +0 -0
  48. package/src/utility/html_spec.js +560 -0
  49. package/src/utility/html_spec.js.map +1 -0
  50. package/src/utility/html_spec.ts +575 -0
  51. package/src/utility/json.d.ts +46 -1
  52. package/src/utility/json.js +174 -4
  53. package/src/utility/json.js.map +1 -1
  54. package/src/utility/json.ts +198 -3
  55. package/src/{update/index_spec.d.ts → utility/json_spec.d.ts} +0 -0
  56. package/src/utility/json_spec.js +326 -0
  57. package/src/utility/json_spec.js.map +1 -0
  58. package/src/utility/json_spec.ts +376 -0
  59. package/src/utility/typescript.js +16 -16
  60. package/src/utility/typescript.js.map +1 -1
  61. package/src/utility/typescript_spec.js +36 -36
  62. package/src/utility/typescript_spec.js.map +1 -1
  63. package/src/utility/util.d.ts +2 -2
  64. package/src/utility/util.js +16 -14
  65. package/src/utility/util.js.map +1 -1
  66. package/src/utility/util.ts +7 -5
  67. package/src/utility/validation.js +11 -11
  68. package/src/utility/validation.js.map +1 -1
  69. package/src/migrate-to-eslint/files/.eslintrc.json +0 -68
  70. package/src/migrate-to-eslint/files/.prettierrc +0 -25
  71. package/src/migrate-to-eslint/index.d.ts +0 -6
  72. package/src/migrate-to-eslint/index.js +0 -149
  73. package/src/migrate-to-eslint/index.js.map +0 -1
  74. package/src/migrate-to-eslint/index.ts +0 -181
  75. package/src/migrate-to-eslint/index_spec.js +0 -129
  76. package/src/migrate-to-eslint/index_spec.js.map +0 -1
  77. package/src/migrate-to-eslint/index_spec.ts +0 -152
  78. package/src/migrate-to-eslint/schema.json +0 -23
  79. package/src/migrate-to-webcomponent/index.d.ts +0 -10
  80. package/src/migrate-to-webcomponent/index.js +0 -278
  81. package/src/migrate-to-webcomponent/index.js.map +0 -1
  82. package/src/migrate-to-webcomponent/index.ts +0 -331
  83. package/src/migrate-to-webcomponent/index_spec.js +0 -580
  84. package/src/migrate-to-webcomponent/index_spec.js.map +0 -1
  85. package/src/migrate-to-webcomponent/index_spec.ts +0 -703
  86. package/src/migrate-to-webcomponent/schema.json +0 -23
  87. package/src/update/files/locale/messages.en.xlf +0 -940
  88. package/src/update/files/locale/messages.xlf +0 -815
  89. package/src/update/files/scripts/move-de-files.js +0 -15
  90. package/src/update/index.d.ts +0 -23
  91. package/src/update/index.js +0 -635
  92. package/src/update/index.js.map +0 -1
  93. package/src/update/index.ts +0 -712
  94. package/src/update/index_spec.js +0 -984
  95. package/src/update/index_spec.js.map +0 -1
  96. package/src/update/index_spec.ts +0 -1139
  97. package/src/update110001/index.d.ts +0 -2
  98. package/src/update110001/index.js +0 -42
  99. package/src/update110001/index.js.map +0 -1
  100. package/src/update110001/index.ts +0 -40
  101. package/src/update110001/index_spec.d.ts +0 -1
  102. package/src/update110001/index_spec.js +0 -67
  103. package/src/update110001/index_spec.js.map +0 -1
  104. package/src/update110001/index_spec.ts +0 -72
  105. package/src/update110001/schema.json +0 -23
  106. package/src/update110100/index.d.ts +0 -2
  107. package/src/update110100/index.js +0 -27
  108. package/src/update110100/index.js.map +0 -1
  109. package/src/update110100/index.ts +0 -24
  110. package/src/update110100/index_spec.d.ts +0 -1
  111. package/src/update110100/index_spec.js +0 -69
  112. package/src/update110100/index_spec.js.map +0 -1
  113. package/src/update110100/index_spec.ts +0 -73
  114. package/src/update110101/index.d.ts +0 -2
  115. package/src/update110101/index.js +0 -24
  116. package/src/update110101/index.js.map +0 -1
  117. package/src/update110101/index.ts +0 -21
  118. package/src/update110101/index_spec.d.ts +0 -1
  119. package/src/update110101/index_spec.js +0 -65
  120. package/src/update110101/index_spec.js.map +0 -1
  121. package/src/update110101/index_spec.ts +0 -69
  122. package/src/update110101/schema.json +0 -23
  123. package/src/update110200/index.d.ts +0 -2
  124. package/src/update110200/index.js +0 -24
  125. package/src/update110200/index.js.map +0 -1
  126. package/src/update110200/index.ts +0 -21
  127. package/src/update110200/index_spec.d.ts +0 -1
  128. package/src/update110200/index_spec.js +0 -65
  129. package/src/update110200/index_spec.js.map +0 -1
  130. package/src/update110200/index_spec.ts +0 -69
  131. package/src/update110200/schema.json +0 -23
  132. package/src/update110300/index.d.ts +0 -2
  133. package/src/update110300/index.js +0 -133
  134. package/src/update110300/index.js.map +0 -1
  135. package/src/update110300/index.ts +0 -148
  136. package/src/update110300/index_spec.d.ts +0 -1
  137. package/src/update110300/index_spec.js +0 -121
  138. package/src/update110300/index_spec.js.map +0 -1
  139. package/src/update110300/index_spec.ts +0 -139
  140. package/src/update110300/schema.json +0 -23
  141. package/src/update110400/index.d.ts +0 -2
  142. package/src/update110400/index.js +0 -28
  143. package/src/update110400/index.js.map +0 -1
  144. package/src/update110400/index.ts +0 -28
  145. package/src/update110400/index_spec.d.ts +0 -1
  146. package/src/update110400/index_spec.js +0 -66
  147. package/src/update110400/index_spec.js.map +0 -1
  148. package/src/update110400/index_spec.ts +0 -70
  149. package/src/update110400/schema.json +0 -23
  150. package/src/update110500/index.d.ts +0 -2
  151. package/src/update110500/index.js +0 -28
  152. package/src/update110500/index.js.map +0 -1
  153. package/src/update110500/index.ts +0 -28
  154. package/src/update110500/index_spec.d.ts +0 -1
  155. package/src/update110500/index_spec.js +0 -66
  156. package/src/update110500/index_spec.js.map +0 -1
  157. package/src/update110500/index_spec.ts +0 -70
  158. package/src/update110500/schema.json +0 -23
  159. package/src/update110600/index.d.ts +0 -2
  160. package/src/update110600/index.js +0 -28
  161. package/src/update110600/index.js.map +0 -1
  162. package/src/update110600/index.ts +0 -28
  163. package/src/update110600/index_spec.d.ts +0 -1
  164. package/src/update110600/index_spec.js +0 -66
  165. package/src/update110600/index_spec.js.map +0 -1
  166. package/src/update110600/index_spec.ts +0 -70
  167. package/src/update110600/schema.json +0 -23
  168. package/src/update110700/index.d.ts +0 -2
  169. package/src/update110700/index.js +0 -45
  170. package/src/update110700/index.js.map +0 -1
  171. package/src/update110700/index.ts +0 -47
  172. package/src/update110700/index_spec.d.ts +0 -1
  173. package/src/update110700/index_spec.js +0 -108
  174. package/src/update110700/index_spec.js.map +0 -1
  175. package/src/update110700/index_spec.ts +0 -122
  176. package/src/update110700/schema.json +0 -23
  177. package/src/update110800/index.d.ts +0 -2
  178. package/src/update110800/index.js +0 -32
  179. package/src/update110800/index.js.map +0 -1
  180. package/src/update110800/index.ts +0 -33
  181. package/src/update110800/index_spec.d.ts +0 -1
  182. package/src/update110800/index_spec.js +0 -70
  183. package/src/update110800/index_spec.js.map +0 -1
  184. package/src/update110800/index_spec.ts +0 -75
  185. package/src/update110800/schema.json +0 -23
  186. package/src/update110900/index.d.ts +0 -4
  187. package/src/update110900/index.js +0 -111
  188. package/src/update110900/index.js.map +0 -1
  189. package/src/update110900/index.ts +0 -123
  190. package/src/update110900/index_spec.d.ts +0 -1
  191. package/src/update110900/index_spec.js +0 -311
  192. package/src/update110900/index_spec.js.map +0 -1
  193. package/src/update110900/index_spec.ts +0 -341
  194. package/src/update110900/schema.json +0 -23
  195. package/src/update111000/index.d.ts +0 -2
  196. package/src/update111000/index.js +0 -27
  197. package/src/update111000/index.js.map +0 -1
  198. package/src/update111000/index.ts +0 -27
  199. package/src/update111000/index_spec.d.ts +0 -1
  200. package/src/update111000/index_spec.js +0 -65
  201. package/src/update111000/index_spec.js.map +0 -1
  202. package/src/update111000/index_spec.ts +0 -70
  203. package/src/update111000/schema.json +0 -23
  204. package/src/update111100/index.d.ts +0 -2
  205. package/src/update111100/index.js +0 -389
  206. package/src/update111100/index.js.map +0 -1
  207. package/src/update111100/index.ts +0 -405
  208. package/src/update111100/index_spec.d.ts +0 -1
  209. package/src/update111100/index_spec.js +0 -66
  210. package/src/update111100/index_spec.js.map +0 -1
  211. package/src/update111100/index_spec.ts +0 -70
  212. package/src/update111100/schema.json +0 -23
  213. package/src/update111200/index.d.ts +0 -2
  214. package/src/update111200/index.js +0 -59
  215. package/src/update111200/index.js.map +0 -1
  216. package/src/update111200/index.ts +0 -75
  217. package/src/update111200/index_spec.d.ts +0 -1
  218. package/src/update111200/index_spec.js +0 -67
  219. package/src/update111200/index_spec.js.map +0 -1
  220. package/src/update111200/index_spec.ts +0 -71
  221. package/src/update111200/schema.json +0 -23
  222. package/src/update111300/index.d.ts +0 -2
  223. package/src/update111300/index.js +0 -27
  224. package/src/update111300/index.js.map +0 -1
  225. package/src/update111300/index.ts +0 -27
  226. package/src/update111300/index_spec.d.ts +0 -1
  227. package/src/update111300/index_spec.js +0 -65
  228. package/src/update111300/index_spec.js.map +0 -1
  229. package/src/update111300/index_spec.ts +0 -69
  230. package/src/update111300/schema.json +0 -23
@@ -0,0 +1,376 @@
1
+ import { callRule, SchematicContext } from '@angular-devkit/schematics';
2
+ import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing';
3
+ import * as path from 'path';
4
+ import { of as observableOf } from 'rxjs';
5
+ import { findObjectPropertyInArray, updateJsonArray, updateJsonValue } from './json';
6
+ import { appOptions, workspaceOptions } from './test';
7
+ import { UtilConfig } from './util';
8
+
9
+ const collectionPath = path.join(__dirname, '../collection.json');
10
+
11
+ describe('json', () => {
12
+
13
+ let appTree: UnitTestTree;
14
+ let runner: SchematicTestRunner;
15
+ let context: SchematicContext;
16
+
17
+ const testOptions: any = {};
18
+
19
+ beforeEach(async () => {
20
+ runner = new SchematicTestRunner('schematics', collectionPath);
21
+
22
+ appTree = await runner.runExternalSchematicAsync('@schematics/angular', 'workspace', workspaceOptions).toPromise();
23
+ appTree = await runner
24
+ .runExternalSchematicAsync('@schematics/angular', 'application', appOptions, appTree)
25
+ .toPromise();
26
+
27
+ UtilConfig.defaultWaitMS = 0;
28
+
29
+ testOptions.project = appOptions.name;
30
+ testOptions.path = workspaceOptions.newProjectRoot + '/' + appOptions.name;
31
+ testOptions.verbose = true;
32
+ });
33
+
34
+ describe('updateJsonValue', () => {
35
+ it('Sollte den neuen Wert hinzufügen', () => {
36
+ const filePath = testOptions.path + '/updateJsonValue/updateJsonValueAdd.json';
37
+
38
+ appTree.create(filePath, updateJsonValueAdd);
39
+
40
+ callRule(updateJsonValue(testOptions, filePath, ['projects', 'lux-components', 'architect', 'build', 'options', 'aaa'], 'bbb'), observableOf(appTree), context).subscribe(
41
+ (success) => {
42
+ const content = appTree.read(filePath)?.toString();
43
+ expect(content).toContain('"aaa": "bbb');
44
+ },
45
+ (reason) => expect(reason).toBeUndefined()
46
+ );
47
+ });
48
+
49
+ it('Sollte den neuen Wert ersetzen', () => {
50
+ const filePath = testOptions.path + '/updateJsonValue/updateJsonValueReplace.json';
51
+
52
+ appTree.create(filePath, updateJsonValueReplace);
53
+
54
+ callRule(updateJsonValue(testOptions, filePath, ['projects', 'lux-components', 'architect', 'build', 'options', 'aaa'], false), observableOf(appTree), context).subscribe(
55
+ (success) => {
56
+ const content = appTree.read(filePath)?.toString();
57
+ expect(content).toContain('"aaa": false');
58
+ },
59
+ (reason) => expect(reason).toBeUndefined()
60
+ );
61
+ });
62
+ });
63
+
64
+ describe('updateJsonArr', () => {
65
+ it('Sollte das Array inklusive dem neuen Wert hinzufügen', () => {
66
+ const filePath = testOptions.path + '/updateJsonArray/updateJsonArrNoArray.json';
67
+
68
+ appTree.create(filePath, updateJsonArrNoArray);
69
+
70
+ callRule(updateJsonArray(testOptions, filePath, ['projects', 'lux-components', 'architect', 'build', 'options', 'assets'], 'aaa'), observableOf(appTree), context).subscribe(
71
+ (success) => {
72
+ const content = appTree.read(filePath)?.toString();
73
+ expect(content).toContain('"assets": [\n "aaa"\n ]\n');
74
+ },
75
+ (reason) => expect(reason).toBeUndefined()
76
+ );
77
+ });
78
+
79
+ it('Sollte den neuen Wert im vorhandenen leeren Array hinzufügen', () => {
80
+ const filePath = testOptions.path + '/updateJsonArray/updateJsonArrEmptyArray.json';
81
+
82
+ appTree.create(filePath, updateJsonArrEmptyArray);
83
+
84
+ callRule(updateJsonArray(testOptions, filePath, ['projects', 'lux-components', 'architect', 'build', 'options', 'assets'], 'aaa'), observableOf(appTree), context).subscribe(
85
+ (success) => {
86
+ const content = appTree.read(filePath)?.toString();
87
+ expect(content).toContain('"assets": [\n "aaa"\n ],\n');
88
+ },
89
+ (reason) => expect(reason).toBeUndefined()
90
+ );
91
+ });
92
+
93
+ it('Sollte den Wert im vorhandenen leeren Array nicht doppelt hinzufügen', () => {
94
+ const filePath = testOptions.path + '/updateJsonArray/updateJsonArrDoubleEntry.json';
95
+
96
+ appTree.create(filePath, updateJsonArrDoubleEntry);
97
+
98
+ callRule(updateJsonArray(testOptions, filePath, ['projects', 'lux-components', 'architect', 'build', 'options', 'assets'], 'aaa'), observableOf(appTree), context).subscribe(
99
+ (success) => {
100
+ const content = appTree.read(filePath)?.toString();
101
+ expect(content).toContain('"assets": [\n' +
102
+ ' "aaa",\n' +
103
+ ' "bbb",\n' +
104
+ ' "ccc"\n' +
105
+ ' ]');
106
+ },
107
+ (reason) => expect(reason).toBeUndefined()
108
+ );
109
+ });
110
+
111
+ it('Sollte den neuen Wert am Ende des vorhanden Arrays hinzufügen', () => {
112
+ const filePath = testOptions.path + '/updateJsonArray/updateJsonArrAppendArray.json';
113
+
114
+ appTree.create(filePath, updateJsonArrAppendArray);
115
+
116
+ callRule(updateJsonArray(testOptions, filePath, ['projects', 'lux-components', 'architect', 'build', 'options', 'assets'], 'bbb'), observableOf(appTree), context).subscribe(
117
+ (success) => {
118
+ const content = appTree.read(filePath)?.toString();
119
+ expect(content).toContain('"assets": [\n' +
120
+ ' "aaa",\n' +
121
+ ' "bbb",\n' +
122
+ ' "ccc"\n' +
123
+ ' ]');
124
+ },
125
+ (reason) => expect(reason).toBeUndefined()
126
+ );
127
+ });
128
+
129
+ it('Sollte den Wert im Array ersetzen', () => {
130
+ const filePath = testOptions.path + '/updateJsonArray/updateJsonArrReplaceValue.json';
131
+
132
+ appTree.create(filePath, updateJsonArrReplaceValue);
133
+
134
+ callRule(updateJsonArray(testOptions, filePath, ['projects', 'lux-components', 'architect', 'build', 'options', 'assets'], 'new', true, (node) => node.value === 'bbb'), observableOf(appTree), context).subscribe(
135
+ (success) => {
136
+ const content = appTree.read(filePath)?.toString();
137
+ expect(content).toContain('"assets": [\n' +
138
+ ' "aaa",\n' +
139
+ ' "new",\n' +
140
+ ' "ccc"\n' +
141
+ ' ]');
142
+ },
143
+ (reason) => expect(reason).toBeUndefined()
144
+ );
145
+ });
146
+
147
+ it('Sollte das Object im Array ersetzen', () => {
148
+ const filePath = testOptions.path + '/updateJsonArray/updateJsonArrReplaceObject.json';
149
+
150
+ appTree.create(filePath, updateJsonArrReplaceObject);
151
+
152
+ const newValue = {
153
+ "type": "initial",
154
+ "maximumWarning": "1mb",
155
+ "maximumError": "2mb"
156
+ };
157
+
158
+ callRule(updateJsonArray(testOptions, filePath, ['projects', 'lux-components', 'architect', 'build', 'options', 'budgets'], newValue, true, (node) => findObjectPropertyInArray(node, 'type', 'initial')), observableOf(appTree), context).subscribe(
159
+ (success) => {
160
+ const content = appTree.read(filePath)?.toString();
161
+ expect(content).toContain('"maximumWarning": "1mb"');
162
+ expect(content).toContain('"maximumError": "2mb"');
163
+ },
164
+ (reason) => expect(reason).toBeUndefined()
165
+ );
166
+ });
167
+
168
+ it('Sollte den neuen Wert im Array nur ersetzen, wenn der alte Wert vorhanden war', () => {
169
+ const filePath = testOptions.path + '/updateJsonArray/updateJsonArrReplaceValue.json';
170
+
171
+ appTree.create(filePath, updateJsonArrReplaceValue);
172
+
173
+ callRule(updateJsonArray(testOptions, filePath, ['projects', 'lux-components', 'architect', 'build', 'options', 'assets'], 'new', true, (node) => node.value === 'notThere'), observableOf(appTree), context).subscribe(
174
+ (success) => {
175
+ const content = appTree.read(filePath)?.toString();
176
+ expect(content).toContain('"assets": [\n' +
177
+ ' "aaa",\n' +
178
+ ' "bbb",\n' +
179
+ ' "ccc"\n' +
180
+ ' ]');
181
+ },
182
+ (reason) => expect(reason).toBeUndefined()
183
+ );
184
+ });
185
+ });
186
+ });
187
+
188
+ const updateJsonValueAdd = `
189
+ {
190
+ "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
191
+ "version": 1,
192
+ "newProjectRoot": "projects",
193
+ "projects": {
194
+ "lux-components": {
195
+ "root": "",
196
+ "architect": {
197
+ "build": {
198
+ "options": {
199
+ "outputPath": "dist",
200
+ "i18nMissingTranslation": "error"
201
+ }
202
+ }
203
+ }
204
+ }
205
+ }
206
+ }`;
207
+
208
+ const updateJsonValueReplace = `
209
+ {
210
+ "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
211
+ "version": 1,
212
+ "newProjectRoot": "projects",
213
+ "projects": {
214
+ "lux-components": {
215
+ "root": "",
216
+ "architect": {
217
+ "build": {
218
+ "options": {
219
+ "outputPath": "dist",
220
+ "aaa": true,
221
+ "i18nMissingTranslation": "error"
222
+ }
223
+ }
224
+ }
225
+ }
226
+ }
227
+ }`;
228
+
229
+ const updateJsonArrNoArray = `
230
+ {
231
+ "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
232
+ "version": 1,
233
+ "newProjectRoot": "projects",
234
+ "projects": {
235
+ "lux-components": {
236
+ "root": "",
237
+ "architect": {
238
+ "build": {
239
+ "options": {
240
+ "outputPath": "dist",
241
+ "i18nMissingTranslation": "error"
242
+ }
243
+ }
244
+ }
245
+ }
246
+ }
247
+ }`;
248
+
249
+ const updateJsonArrEmptyArray = `
250
+ {
251
+ "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
252
+ "version": 1,
253
+ "newProjectRoot": "projects",
254
+ "projects": {
255
+ "lux-components": {
256
+ "root": "",
257
+ "architect": {
258
+ "build": {
259
+ "options": {
260
+ "outputPath": "dist",
261
+ "assets": [],
262
+ "i18nMissingTranslation": "error",
263
+ }
264
+ }
265
+ }
266
+ }
267
+ }
268
+ }`;
269
+
270
+ const updateJsonArrAppendArray = `
271
+ {
272
+ "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
273
+ "version": 1,
274
+ "newProjectRoot": "projects",
275
+ "projects": {
276
+ "lux-components": {
277
+ "root": "",
278
+ "architect": {
279
+ "build": {
280
+ "options": {
281
+ "outputPath": "dist",
282
+ "i18nMissingTranslation": "error",
283
+ "assets": [
284
+ "aaa",
285
+ "bbb",
286
+ "ccc"
287
+ ],
288
+ }
289
+ }
290
+ }
291
+ }
292
+ }
293
+ }`;
294
+
295
+ const updateJsonArrReplaceObject = `
296
+ {
297
+ "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
298
+ "version": 1,
299
+ "newProjectRoot": "projects",
300
+ "projects": {
301
+ "lux-components": {
302
+ "root": "",
303
+ "architect": {
304
+ "build": {
305
+ "options": {
306
+ "outputPath": "dist",
307
+ "budgets": [
308
+ {
309
+ "type": "initial",
310
+ "maximumWarning": "500kb",
311
+ "maximumError": "1mb"
312
+ },
313
+ {
314
+ "type": "anyComponentStyle",
315
+ "maximumWarning": "2kb",
316
+ "maximumError": "4kb"
317
+ }
318
+ ],
319
+ "i18nMissingTranslation": "error",
320
+ }
321
+ }
322
+ }
323
+ }
324
+ }
325
+ }
326
+ `;
327
+
328
+ const updateJsonArrReplaceValue = `
329
+ {
330
+ "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
331
+ "version": 1,
332
+ "newProjectRoot": "projects",
333
+ "projects": {
334
+ "lux-components": {
335
+ "root": "",
336
+ "architect": {
337
+ "build": {
338
+ "options": {
339
+ "outputPath": "dist",
340
+ "assets": [
341
+ "aaa",
342
+ "bbb",
343
+ "ccc"
344
+ ],
345
+ "i18nMissingTranslation": "error",
346
+ }
347
+ }
348
+ }
349
+ }
350
+ }
351
+ }`;
352
+
353
+ const updateJsonArrDoubleEntry = `
354
+ {
355
+ "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
356
+ "version": 1,
357
+ "newProjectRoot": "projects",
358
+ "projects": {
359
+ "lux-components": {
360
+ "root": "",
361
+ "architect": {
362
+ "build": {
363
+ "options": {
364
+ "outputPath": "dist",
365
+ "i18nMissingTranslation": "error",
366
+ "assets": [
367
+ "aaa",
368
+ "bbb",
369
+ "ccc"
370
+ ],
371
+ }
372
+ }
373
+ }
374
+ }
375
+ }
376
+ }`;
@@ -36,7 +36,7 @@ function addInterface(tree, filePath, interfaceName, logMessage = true) {
36
36
  updateRecorder.insertLeft(lastChild.end, `, ${interfaceName}`);
37
37
  tree.commitUpdate(updateRecorder);
38
38
  if (logMessage) {
39
- logging_1.logInfo(`Interface ${interfaceName} hinzugefügt.`);
39
+ (0, logging_1.logInfo)(`Interface ${interfaceName} hinzugefügt.`);
40
40
  }
41
41
  }
42
42
  }
@@ -46,7 +46,7 @@ function addInterface(tree, filePath, interfaceName, logMessage = true) {
46
46
  updateRecorder.insertLeft(extendsNode.parent.end, ` implements ${interfaceName}`);
47
47
  tree.commitUpdate(updateRecorder);
48
48
  if (logMessage) {
49
- logging_1.logInfo(`Interface ${interfaceName} hinzugefügt.`);
49
+ (0, logging_1.logInfo)(`Interface ${interfaceName} hinzugefügt.`);
50
50
  }
51
51
  }
52
52
  else {
@@ -62,7 +62,7 @@ function addInterface(tree, filePath, interfaceName, logMessage = true) {
62
62
  updateRecorder.insertLeft(classIdentifierNode.end, ` implements ${interfaceName}`);
63
63
  tree.commitUpdate(updateRecorder);
64
64
  if (logMessage) {
65
- logging_1.logInfo(`Interface ${interfaceName} hinzugefügt.`);
65
+ (0, logging_1.logInfo)(`Interface ${interfaceName} hinzugefügt.`);
66
66
  }
67
67
  }
68
68
  }
@@ -99,7 +99,7 @@ function removeInterface(tree, filePath, interfaceName, logMessage = true) {
99
99
  heritageClauseNode.pos);
100
100
  tree.commitUpdate(updateRecorder);
101
101
  if (logMessage) {
102
- logging_1.logInfo(`Interface ${interfaceName} entfernt.`);
102
+ (0, logging_1.logInfo)(`Interface ${interfaceName} entfernt.`);
103
103
  }
104
104
  }
105
105
  }
@@ -122,7 +122,7 @@ function removeInterface(tree, filePath, interfaceName, logMessage = true) {
122
122
  }
123
123
  tree.commitUpdate(updateRecorder);
124
124
  if (logMessage) {
125
- logging_1.logInfo(`Interface ${interfaceName} entfernt.`);
125
+ (0, logging_1.logInfo)(`Interface ${interfaceName} entfernt.`);
126
126
  }
127
127
  }
128
128
  }
@@ -175,7 +175,7 @@ function addImport(tree, filePath, packageName, importName, logMessage = true) {
175
175
  updateRecorder.insertLeft(lastChildNode.end, ', ' + importName);
176
176
  tree.commitUpdate(updateRecorder);
177
177
  if (logMessage) {
178
- logging_1.logInfo(`Import ${importName} hinzugefügt.`);
178
+ (0, logging_1.logInfo)(`Import ${importName} hinzugefügt.`);
179
179
  }
180
180
  }
181
181
  }
@@ -190,7 +190,7 @@ function addImport(tree, filePath, packageName, importName, logMessage = true) {
190
190
  }
191
191
  tree.commitUpdate(updateRecorder);
192
192
  if (logMessage) {
193
- logging_1.logInfo(`Import ${importName} hinzugefügt.`);
193
+ (0, logging_1.logInfo)(`Import ${importName} hinzugefügt.`);
194
194
  }
195
195
  }
196
196
  }
@@ -230,7 +230,7 @@ function removeImport(tree, filePath, packageName, importName, logMessage = true
230
230
  updateRecorder.remove(importNode.pos, importNode.getChildren()[importNode.getChildren().length - 1].end - importNode.pos);
231
231
  tree.commitUpdate(updateRecorder);
232
232
  if (logMessage) {
233
- logging_1.logInfo(`Import ${importName} entfernt.`);
233
+ (0, logging_1.logInfo)(`Import ${importName} entfernt.`);
234
234
  }
235
235
  }
236
236
  }
@@ -253,7 +253,7 @@ function removeImport(tree, filePath, packageName, importName, logMessage = true
253
253
  }
254
254
  tree.commitUpdate(updateRecorder);
255
255
  if (logMessage) {
256
- logging_1.logInfo(`Import ${importName} entfernt.`);
256
+ (0, logging_1.logInfo)(`Import ${importName} entfernt.`);
257
257
  }
258
258
  }
259
259
  }
@@ -265,7 +265,7 @@ function removeImport(tree, filePath, packageName, importName, logMessage = true
265
265
  updateRecorder.remove(importNode.pos, importNode.end - importNode.pos);
266
266
  tree.commitUpdate(updateRecorder);
267
267
  if (logMessage) {
268
- logging_1.logInfo(`Import ${importName} entfernt.`);
268
+ (0, logging_1.logInfo)(`Import ${importName} entfernt.`);
269
269
  }
270
270
  }
271
271
  }
@@ -306,7 +306,7 @@ function removeProvider(tree, filePath, providerName, logMessage = true) {
306
306
  }
307
307
  tree.commitUpdate(updateRecorder);
308
308
  if (logMessage) {
309
- logging_1.logInfo(`Provider ${providerName} entfernt.`);
309
+ (0, logging_1.logInfo)(`Provider ${providerName} entfernt.`);
310
310
  }
311
311
  }
312
312
  }
@@ -459,14 +459,14 @@ function addConstructorParameter(tree, filePath, service) {
459
459
  const constructorNode = getConstructor(tree, filePath);
460
460
  if (constructorNode) {
461
461
  addParameter(tree, filePath, findChild(constructorNode, ts.SyntaxKind.SyntaxList), service);
462
- logging_1.logInfo(`Im Konstruktor den Parameter "${service}" hinzugefügt.`);
462
+ (0, logging_1.logInfo)(`Im Konstruktor den Parameter "${service}" hinzugefügt.`);
463
463
  }
464
464
  else {
465
465
  const syntaxListNode = getSyntaxListOfClass(tree, filePath);
466
466
  const updateRecorder = tree.beginUpdate(filePath);
467
467
  updateRecorder.insertLeft(syntaxListNode.pos, `\n constructor(${service}) {}`);
468
468
  tree.commitUpdate(updateRecorder);
469
- logging_1.logInfo(`constructor(${service}) {} hinzugefügt.`);
469
+ (0, logging_1.logInfo)(`constructor(${service}) {} hinzugefügt.`);
470
470
  }
471
471
  }
472
472
  exports.addConstructorParameter = addConstructorParameter;
@@ -481,7 +481,7 @@ function addClassProperty(tree, filePath, property) {
481
481
  const updateRecorder = tree.beginUpdate(filePath);
482
482
  updateRecorder.insertLeft(startNode.pos, '\n\n ' + property + '\n');
483
483
  tree.commitUpdate(updateRecorder);
484
- logging_1.logInfo(`Die Property "${property}" wurde hinzugefügt.`);
484
+ (0, logging_1.logInfo)(`Die Property "${property}" wurde hinzugefügt.`);
485
485
  }
486
486
  exports.addClassProperty = addClassProperty;
487
487
  function addConstructorContent(tree, filePath, content, append) {
@@ -507,14 +507,14 @@ function addConstructorContent(tree, filePath, content, append) {
507
507
  updateRecorder.insertLeft(firstPunctuationNode.end, '\n ' + content + '\n ');
508
508
  tree.commitUpdate(updateRecorder);
509
509
  }
510
- logging_1.logInfo(`Inhalt ${append ? 'am Ende' : 'am Anfang'} des Konstruktors hinzugefügt.`);
510
+ (0, logging_1.logInfo)(`Inhalt ${append ? 'am Ende' : 'am Anfang'} des Konstruktors hinzugefügt.`);
511
511
  }
512
512
  else {
513
513
  const syntaxListNode = getSyntaxListOfClass(tree, filePath);
514
514
  const updateRecorder = tree.beginUpdate(filePath);
515
515
  updateRecorder.insertLeft(syntaxListNode.pos, '\n\n' + ' constructor() {\n' + ' router.initialNavigation();\n' + ' }');
516
516
  tree.commitUpdate(updateRecorder);
517
- logging_1.logInfo(`Konstruktor mit Inhalt hinzugefügt.`);
517
+ (0, logging_1.logInfo)(`Konstruktor mit Inhalt hinzugefügt.`);
518
518
  }
519
519
  }
520
520
  exports.addConstructorContent = addConstructorContent;
@@ -1 +1 @@
1
- {"version":3,"file":"typescript.js","sourceRoot":"","sources":["typescript.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typescript.js","sourceRoot":"","sources":["typescript.ts"],"names":[],"mappings":"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"}