@ihk-gfi/lux-components-update 14.8.0 → 15.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/README.md +4 -2
  2. package/add-lux-components/files/app/app.component.html +34 -0
  3. package/{src/add-lux-components → add-lux-components}/files/app/app.component.spec.ts +4 -2
  4. package/{src/add-lux-components → add-lux-components}/files/app/app.component.ts +1 -1
  5. package/add-lux-components/files/src/main.ts +17 -0
  6. package/{src/add-lux-components → add-lux-components}/index.js +29 -30
  7. package/add-lux-components/schema.json +23 -0
  8. package/collection.json +35 -0
  9. package/package.json +27 -27
  10. package/{src/theme → theme}/change-theme-to-authentic/index.js +0 -1
  11. package/theme/change-theme-to-authentic/schema.json +23 -0
  12. package/{src/theme → theme}/change-to-lux-icons/index.js +0 -1
  13. package/theme/change-to-lux-icons/schema.json +23 -0
  14. package/{src/update-dependencies → update-dependencies}/index.d.ts +1 -0
  15. package/update-dependencies/index.js +92 -0
  16. package/update-dependencies/schema.json +23 -0
  17. package/{src/update-en-messages → update-en-messages}/index.js +0 -1
  18. package/update-en-messages/schema.json +23 -0
  19. package/updates/15.0.0/index.d.ts +8 -0
  20. package/updates/15.0.0/index.js +109 -0
  21. package/updates/15.0.0/schema.json +23 -0
  22. package/{src/utility → utility}/dependencies.js +0 -1
  23. package/{src/utility → utility}/files.js +0 -1
  24. package/{src/utility → utility}/html/hit.js +0 -1
  25. package/{src/utility → utility}/html/html-manipulator.js +0 -1
  26. package/{src/utility → utility}/html/manipulator-functions.js +0 -1
  27. package/{src/utility → utility}/json.d.ts +2 -0
  28. package/{src/utility → utility}/json.js +16 -8
  29. package/{src/utility → utility}/logging.js +0 -1
  30. package/{src/utility → utility}/test.js +0 -1
  31. package/{src/utility → utility}/typescript.js +0 -1
  32. package/{src/utility → utility}/util.js +0 -1
  33. package/{src/utility → utility}/validation.js +0 -1
  34. package/src/add-lux-components/files/app/app.component.html +0 -32
  35. package/src/add-lux-components/files/app/base/license-hint/license-hint.component.html +0 -7
  36. package/src/add-lux-components/files/app/base/license-hint/license-hint.component.ts +0 -18
  37. package/src/add-lux-components/files/app/error/error.component.html +0 -10
  38. package/src/add-lux-components/files/app/error/error.component.scss +0 -3
  39. package/src/add-lux-components/files/app/error/error.component.spec.ts +0 -49
  40. package/src/add-lux-components/files/app/error/error.component.ts +0 -17
  41. package/src/add-lux-components/files/app/home/home.component.html +0 -7
  42. package/src/add-lux-components/files/app/home/home.component.scss +0 -3
  43. package/src/add-lux-components/files/app/home/home.component.ts +0 -13
  44. package/src/add-lux-components/files/app/profil/profil.component.html +0 -1
  45. package/src/add-lux-components/files/app/profil/profil.component.scss +0 -0
  46. package/src/add-lux-components/files/app/profil/profil.component.spec.ts +0 -24
  47. package/src/add-lux-components/files/app/profil/profil.component.ts +0 -11
  48. package/src/add-lux-components/files/assets/svg/Example.svg +0 -6
  49. package/src/add-lux-components/files/assets/svg/android.svg +0 -2
  50. package/src/add-lux-components/files/assets/svg/box.svg +0 -690
  51. package/src/add-lux-components/files/assets/svg/demoAppLogo.svg +0 -1
  52. package/src/add-lux-components/files/assets/svg/red_power_button.svg +0 -67
  53. package/src/add-lux-components/files/assets/svg/svg2009.svg +0 -57457
  54. package/src/add-lux-components/files/src/polyfills.ts +0 -58
  55. package/src/add-lux-components/index.js.map +0 -1
  56. package/src/add-lux-components/index.ts +0 -293
  57. package/src/add-lux-components/index_spec.d.ts +0 -1
  58. package/src/add-lux-components/index_spec.js +0 -51
  59. package/src/add-lux-components/index_spec.js.map +0 -1
  60. package/src/add-lux-components/index_spec.ts +0 -55
  61. package/src/add-lux-components/schema.json +0 -23
  62. package/src/collection.json +0 -75
  63. package/src/theme/change-theme-to-authentic/index.js.map +0 -1
  64. package/src/theme/change-theme-to-authentic/index.ts +0 -131
  65. package/src/theme/change-theme-to-authentic/index_spec.d.ts +0 -1
  66. package/src/theme/change-theme-to-authentic/index_spec.js +0 -300
  67. package/src/theme/change-theme-to-authentic/index_spec.js.map +0 -1
  68. package/src/theme/change-theme-to-authentic/index_spec.ts +0 -321
  69. package/src/theme/change-theme-to-authentic/schema.json +0 -23
  70. package/src/theme/change-to-lux-icons/index.js.map +0 -1
  71. package/src/theme/change-to-lux-icons/index.ts +0 -392
  72. package/src/theme/change-to-lux-icons/index_spec.d.ts +0 -1
  73. package/src/theme/change-to-lux-icons/index_spec.js +0 -128
  74. package/src/theme/change-to-lux-icons/index_spec.js.map +0 -1
  75. package/src/theme/change-to-lux-icons/index_spec.ts +0 -130
  76. package/src/theme/change-to-lux-icons/schema.json +0 -23
  77. package/src/update-dependencies/index.js +0 -88
  78. package/src/update-dependencies/index.js.map +0 -1
  79. package/src/update-dependencies/index.ts +0 -86
  80. package/src/update-dependencies/schema.json +0 -23
  81. package/src/update-en-messages/index.js.map +0 -1
  82. package/src/update-en-messages/index.ts +0 -83
  83. package/src/update-en-messages/index_spec.d.ts +0 -1
  84. package/src/update-en-messages/index_spec.js +0 -174
  85. package/src/update-en-messages/index_spec.js.map +0 -1
  86. package/src/update-en-messages/index_spec.ts +0 -182
  87. package/src/update-en-messages/schema.json +0 -23
  88. package/src/updates/update140000/files/src/polyfills.ts +0 -70
  89. package/src/updates/update140000/index.d.ts +0 -14
  90. package/src/updates/update140000/index.js +0 -95
  91. package/src/updates/update140000/index.js.map +0 -1
  92. package/src/updates/update140000/index.ts +0 -110
  93. package/src/updates/update140000/index_spec.d.ts +0 -1
  94. package/src/updates/update140000/index_spec.js +0 -165
  95. package/src/updates/update140000/index_spec.js.map +0 -1
  96. package/src/updates/update140000/index_spec.ts +0 -171
  97. package/src/updates/update140000/schema.json +0 -23
  98. package/src/updates/update140100/index.d.ts +0 -5
  99. package/src/updates/update140100/index.js +0 -62
  100. package/src/updates/update140100/index.js.map +0 -1
  101. package/src/updates/update140100/index.ts +0 -60
  102. package/src/updates/update140100/index_spec.d.ts +0 -1
  103. package/src/updates/update140100/index_spec.js +0 -124
  104. package/src/updates/update140100/index_spec.js.map +0 -1
  105. package/src/updates/update140100/index_spec.ts +0 -137
  106. package/src/updates/update140100/schema.json +0 -23
  107. package/src/updates/update140200/index.d.ts +0 -8
  108. package/src/updates/update140200/index.js +0 -40
  109. package/src/updates/update140200/index.js.map +0 -1
  110. package/src/updates/update140200/index.ts +0 -38
  111. package/src/updates/update140200/index_spec.d.ts +0 -1
  112. package/src/updates/update140200/index_spec.js +0 -75
  113. package/src/updates/update140200/index_spec.js.map +0 -1
  114. package/src/updates/update140200/index_spec.ts +0 -81
  115. package/src/updates/update140200/schema.json +0 -23
  116. package/src/updates/update140300/index.d.ts +0 -10
  117. package/src/updates/update140300/index.js +0 -85
  118. package/src/updates/update140300/index.js.map +0 -1
  119. package/src/updates/update140300/index.ts +0 -86
  120. package/src/updates/update140300/index_spec.d.ts +0 -1
  121. package/src/updates/update140300/index_spec.js +0 -145
  122. package/src/updates/update140300/index_spec.js.map +0 -1
  123. package/src/updates/update140300/index_spec.ts +0 -177
  124. package/src/updates/update140300/schema.json +0 -23
  125. package/src/updates/update140400/index.d.ts +0 -2
  126. package/src/updates/update140400/index.js +0 -22
  127. package/src/updates/update140400/index.js.map +0 -1
  128. package/src/updates/update140400/index.ts +0 -18
  129. package/src/updates/update140400/index_spec.d.ts +0 -1
  130. package/src/updates/update140400/index_spec.js +0 -75
  131. package/src/updates/update140400/index_spec.js.map +0 -1
  132. package/src/updates/update140400/index_spec.ts +0 -81
  133. package/src/updates/update140400/schema.json +0 -23
  134. package/src/updates/update140500/index.d.ts +0 -2
  135. package/src/updates/update140500/index.js +0 -21
  136. package/src/updates/update140500/index.js.map +0 -1
  137. package/src/updates/update140500/index.ts +0 -17
  138. package/src/updates/update140500/index_spec.d.ts +0 -1
  139. package/src/updates/update140500/index_spec.js +0 -73
  140. package/src/updates/update140500/index_spec.js.map +0 -1
  141. package/src/updates/update140500/index_spec.ts +0 -78
  142. package/src/updates/update140500/schema.json +0 -23
  143. package/src/updates/update140600/index.d.ts +0 -2
  144. package/src/updates/update140600/index.js +0 -39
  145. package/src/updates/update140600/index.js.map +0 -1
  146. package/src/updates/update140600/index.ts +0 -35
  147. package/src/updates/update140600/index_spec.d.ts +0 -1
  148. package/src/updates/update140600/index_spec.js +0 -71
  149. package/src/updates/update140600/index_spec.js.map +0 -1
  150. package/src/updates/update140600/index_spec.ts +0 -75
  151. package/src/updates/update140600/schema.json +0 -23
  152. package/src/updates/update140700/index.d.ts +0 -2
  153. package/src/updates/update140700/index.js +0 -22
  154. package/src/updates/update140700/index.js.map +0 -1
  155. package/src/updates/update140700/index.ts +0 -18
  156. package/src/updates/update140700/index_spec.d.ts +0 -1
  157. package/src/updates/update140700/index_spec.js +0 -75
  158. package/src/updates/update140700/index_spec.js.map +0 -1
  159. package/src/updates/update140700/index_spec.ts +0 -79
  160. package/src/updates/update140700/schema.json +0 -23
  161. package/src/updates/update140800/index.d.ts +0 -2
  162. package/src/updates/update140800/index.js +0 -22
  163. package/src/updates/update140800/index.js.map +0 -1
  164. package/src/updates/update140800/index.ts +0 -18
  165. package/src/updates/update140800/index_spec.d.ts +0 -1
  166. package/src/updates/update140800/index_spec.js +0 -76
  167. package/src/updates/update140800/index_spec.js.map +0 -1
  168. package/src/updates/update140800/index_spec.ts +0 -82
  169. package/src/updates/update140800/schema.json +0 -23
  170. package/src/utility/dependencies.js.map +0 -1
  171. package/src/utility/dependencies.ts +0 -144
  172. package/src/utility/files.js.map +0 -1
  173. package/src/utility/files.ts +0 -368
  174. package/src/utility/html/hit.js.map +0 -1
  175. package/src/utility/html/hit.ts +0 -28
  176. package/src/utility/html/html-manipulator.js.map +0 -1
  177. package/src/utility/html/html-manipulator.ts +0 -156
  178. package/src/utility/html/html_spec.d.ts +0 -1
  179. package/src/utility/html/html_spec.js +0 -692
  180. package/src/utility/html/html_spec.js.map +0 -1
  181. package/src/utility/html/html_spec.ts +0 -751
  182. package/src/utility/html/manipulator-functions.js.map +0 -1
  183. package/src/utility/html/manipulator-functions.ts +0 -149
  184. package/src/utility/json.js.map +0 -1
  185. package/src/utility/json.ts +0 -288
  186. package/src/utility/json_spec.d.ts +0 -1
  187. package/src/utility/json_spec.js +0 -326
  188. package/src/utility/json_spec.js.map +0 -1
  189. package/src/utility/json_spec.ts +0 -446
  190. package/src/utility/logging.js.map +0 -1
  191. package/src/utility/logging.ts +0 -80
  192. package/src/utility/test.js.map +0 -1
  193. package/src/utility/test.ts +0 -24
  194. package/src/utility/typescript.js.map +0 -1
  195. package/src/utility/typescript.ts +0 -598
  196. package/src/utility/typescript_spec.d.ts +0 -1
  197. package/src/utility/typescript_spec.js +0 -1005
  198. package/src/utility/typescript_spec.js.map +0 -1
  199. package/src/utility/typescript_spec.ts +0 -1265
  200. package/src/utility/util.js.map +0 -1
  201. package/src/utility/util.ts +0 -145
  202. package/src/utility/validation.js.map +0 -1
  203. package/src/utility/validation.ts +0 -48
  204. package/tsconfig.json +0 -35
  205. /package/{src/add-lux-components → add-lux-components}/files/app/app-routing.module.ts +0 -0
  206. /package/{src/add-lux-components → add-lux-components}/files/app/app.module.ts +0 -0
  207. /package/{src/add-lux-components → add-lux-components}/files/environments/environment.prod.ts +0 -0
  208. /package/{src/add-lux-components → add-lux-components}/files/environments/environment.ts +0 -0
  209. /package/{src/add-lux-components → add-lux-components}/files/locale/messages.en.xlf +0 -0
  210. /package/{src/add-lux-components → add-lux-components}/files/locale/messages.xlf +0 -0
  211. /package/{src/add-lux-components → add-lux-components}/files/src/index.html +0 -0
  212. /package/{src/add-lux-components → add-lux-components}/index.d.ts +0 -0
  213. /package/{src/theme → theme}/change-theme-to-authentic/index.d.ts +0 -0
  214. /package/{src/theme → theme}/change-to-lux-icons/index.d.ts +0 -0
  215. /package/{src/update-en-messages → update-en-messages}/index.d.ts +0 -0
  216. /package/{src/utility → utility}/dependencies.d.ts +0 -0
  217. /package/{src/utility → utility}/files.d.ts +0 -0
  218. /package/{src/utility → utility}/html/hit.d.ts +0 -0
  219. /package/{src/utility → utility}/html/html-manipulator.d.ts +0 -0
  220. /package/{src/utility → utility}/html/manipulator-functions.d.ts +0 -0
  221. /package/{src/utility → utility}/logging.d.ts +0 -0
  222. /package/{src/utility → utility}/test.d.ts +0 -0
  223. /package/{src/utility → utility}/typescript.d.ts +0 -0
  224. /package/{src/utility → utility}/util.d.ts +0 -0
  225. /package/{src/utility → utility}/validation.d.ts +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"manipulator-functions.js","sourceRoot":"","sources":["manipulator-functions.ts"],"names":[],"mappings":"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"}
@@ -1,149 +0,0 @@
1
- import { replaceAll, replaceFirst } from '../util';
2
- import { Hit } from './hit';
3
-
4
- /**
5
- * @typedef ManipulatorFn Eine Manipulator-Funktion transformiert den HTML-Inhalt eines {@link Element}s.
6
- */
7
- export declare type ManipulatorFn = (hit: Hit) => void;
8
-
9
- /**
10
- * Diese Funktion fügt dem Element ein neues Attribut hinzu. Das neue Attribut wird direkt hinter dem Tag als erstes Attribut hinzugefügt.
11
- *
12
- * @example Neues Attribut "luxHint"
13
- * Input: <lux-input luxLabel="Lorem ipsum"></lux-input>
14
- * Output: <lux-input luxHint="Hint" luxLabel="Lorem ipsum"></lux-input>
15
- *
16
- * @param name Ein Attributname.
17
- * @param value Ein Attributwert.
18
- */
19
- export const addAttrFn = (name: string, value: string) => {
20
- return (hit: Hit) => {
21
- hit.elementContent = replaceFirst(hit.elementContent, `<${hit.selector}`, `<${hit.selector} ${name}="${value}"`);
22
- };
23
- };
24
-
25
- /**
26
- * Diese Funktion löscht das gesamte Element.
27
- *
28
- * @example
29
- * Input: <lux-input luxLabel="Lorem ipsum"></lux-input>
30
- * Output:
31
- *
32
- * @param hit Ein {@link Hit}.
33
- */
34
- export const removeElementFn = (hit: Hit) => {
35
- hit.elementContent = '';
36
- };
37
-
38
- /**
39
- * Diese Funktion benennt das Element um.
40
- *
41
- * @example Neuer Name "lux-input-ac"
42
- * Input: <lux-input luxLabel="Lorem ipsum"></lux-input>
43
- * Output: <lux-input-ac luxLabel="Lorem ipsum"></lux-input-ac>
44
- *
45
- * @param newName Der neue Name.
46
- */
47
- export const renameElementFn = (newName: string) => {
48
- return (hit: Hit) => {
49
- hit.elementContent = replaceAll(hit.elementContent, `<${hit.selector}>`, `<${newName}>`);
50
- hit.elementContent = replaceAll(hit.elementContent, `<${hit.selector} `, `<${newName} `);
51
- hit.elementContent = replaceAll(hit.elementContent, `<${hit.selector}\n`, `<${newName}\n`);
52
- hit.elementContent = replaceAll(hit.elementContent, `</${hit.selector}>`, `</${newName}>`);
53
- hit.elementContent = replaceAll(hit.elementContent, `</${hit.selector} `, `</${newName} `);
54
- hit.elementContent = replaceAll(hit.elementContent, `<${hit.selector}\n`, `<${newName}\n`);
55
- };
56
- };
57
-
58
- /**
59
- * Diese Funktion benennt ein Attribut um.
60
- *
61
- * @example Alter Name "luxSelectedFiles", neuer Name "luxSelected"
62
- * Input: <lux-file-list (luxSelectedFiles)="..."></lux-file-list>
63
- * Output: <lux-file-list (luxSelected)="..."></lux-file-list>
64
- *
65
- * @param oldName Ein alter Name.
66
- * @param newName Ein neuer Name.
67
- */
68
- export const renameAttrFn = (oldName: string, newName: string) => {
69
- return (hit: Hit) => {
70
- const pattern = new RegExp('((\\(|\\[|\\[\\()?)' + oldName + '((\\)|\\]|\\)\\])?)\\s*=\\s*"(.*?)"', 'm');
71
- hit.elementContent = hit.elementContent.replace(pattern, '$1' + newName + '$3="$5"');
72
- };
73
- };
74
-
75
- /**
76
- * Diese Funktion aktualisiert den Attributwert nur, wenn dieser mit dem alten Wert übereinstimmt.
77
- *
78
- * @example Name "luxLabel", alter Wert "Vorname" und neuer Wert "Name" (alter Wert stimmt überein und der neue Wert wird gesetzt)
79
- * Input: <lux-input luxLabel="Vorname"></lux-input>
80
- * Output: <lux-input luxLabel="Name"></lux-input>
81
- *
82
- * @example Name "luxLabel", alter Wert "Name" und neuer Wert "Nachname" (alter Wert stimmt nicht überein und der HTML-Inhalt bleibt unverändert)
83
- * Input: <lux-input luxLabel="Vorname"></lux-input>
84
- * Output: <lux-input luxLabel="Vorname"></lux-input>
85
- *
86
- * @param name Ein Attributname.
87
- * @param oldValue Ein alter Attributwert.
88
- * @param newValue Ein neuer Attributwert.
89
- */
90
- export const updateAttrIfFn = (name: string, oldValue: string, newValue: string) => {
91
- return (hit: Hit) => {
92
- const pattern = new RegExp('((\\(|\\[|\\[\\()?' + name + '(\\)|\\]|\\)\\])?)\\s*=\\s*"(' + oldValue + ')"', 'm');
93
- hit.elementContent = hit.elementContent.replace(pattern, '$1="' + newValue + '"');
94
- };
95
- };
96
-
97
- /**
98
- * Diese Funktion aktualisiert den Attributwert, wenn es das Attribut gibt. D.h. wenn es das Attribut nicht gibt, wird es auch nicht angelegt.
99
- *
100
- * @example Name "luxLabel", Wert "Vorname" (Attribut vorhanden und der Wert wird gesetzt)
101
- * Input: <lux-input luxLabel="Name"></lux-input>
102
- * Output: <lux-input luxLabel="Vorname"></lux-input>
103
- *
104
- * @example Name "luxLabel", Wert "Vorname" (Attribut nicht vorhanden und der HTML-Inhalt bleibt unverändert)
105
- * Input: <lux-input></lux-input>
106
- * Output: <lux-input></lux-input>
107
- *
108
- * @param name Ein Attributname.
109
- * @param value Ein Attributwert.
110
- */
111
- export const updateAttrFn = (name: string, value: string) => {
112
- return (hit: Hit) => {
113
- const pattern = new RegExp('((\\(|\\[|\\[\\()?' + name + '(\\)|\\]|\\)\\])?)\\s*=\\s*"(.*?)"', 'm');
114
- hit.elementContent = hit.elementContent.replace(pattern, '$1="' + value + '"');
115
- };
116
- };
117
-
118
- /**
119
- * Diese Funktion hängt den Wert hinten an, wenn es das Attribut gibt.
120
- *
121
- * @example Name "luxLabel", Wert " (*)"
122
- * Input: <lux-input luxLabel="Nachname"></lux-input>
123
- * Output: <lux-input luxLabel="Nachname (*)"></lux-input>
124
- *
125
- * @param name Ein Attributname.
126
- * @param appendValue Ein anzuhängender Wert.
127
- */
128
- export const appendAttrFn = (name: string, appendValue: string) => {
129
- return (hit: Hit) => {
130
- const pattern = new RegExp('((\\(|\\[|\\[\\()?' + name + '(\\)|\\]|\\)\\])?)\\s*=\\s*"(.*?)"', 'm');
131
- hit.elementContent = hit.elementContent.replace(pattern, '$1="$4' + appendValue + '"');
132
- };
133
- };
134
-
135
- /**
136
- * Diese Funktion löscht ein Attribut.
137
- *
138
- * @example Attribut "luxHint"
139
- * Input: <lux-input luxLabel="Name" luxHint="Lorem ipsum"></lux-input>
140
- * Output: <lux-input luxLabel="Name"></lux-input>
141
- *
142
- * @param name Ein Attributname.
143
- */
144
- export const removeAttrFn = (name: string) => {
145
- return (hit: Hit) => {
146
- const pattern = new RegExp('(\\(|\\[|\\[\\()?' + name + '(\\)|\\]|\\)\\])?\\s*=\\s*"(.*?)"', 'm');
147
- hit.elementContent = hit.elementContent.replace(pattern, '');
148
- };
149
- };
@@ -1 +0,0 @@
1
- {"version":3,"file":"json.js","sourceRoot":"","sources":["json.ts"],"names":[],"mappings":"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"}
@@ -1,288 +0,0 @@
1
- import { Rule, SchematicContext, Tree } from '@angular-devkit/schematics';
2
- import { applyEdits, findNodeAtLocation, FormattingOptions, modify, Node, parseTree } from 'jsonc-parser';
3
- import { formattedSchematicsException, logInfo } from './logging';
4
-
5
- export const jsonFormattingOptions: FormattingOptions = {
6
- insertSpaces: true,
7
- tabSize: 2,
8
- eol: '\n'
9
- };
10
-
11
- /**
12
- * Liest die Json-Datei aus und wirft Fehlermeldungen, sollte die Json-Datei nicht gefunden oder
13
- * in einem falschen Format sein.
14
- * @param context
15
- * @param tree
16
- */
17
- export function readJson(tree: Tree, filePath: string): Node {
18
- const buffer = tree.read(filePath);
19
- if (buffer === null) {
20
- throw formattedSchematicsException(`Konnte die Datei ${filePath} nicht lesen.`);
21
- }
22
- const content = buffer.toString();
23
-
24
- let result = parseTree(content) as Node;
25
- return result;
26
- }
27
-
28
- /**
29
- * Liest die Json-Datei aus und wirft Fehlermeldungen, sollte die Json-Datei nicht gefunden oder
30
- * in einem falschen Format sein.
31
- * @param context
32
- * @param tree
33
- */
34
- export function readJsonAsString(tree: Tree, filePath: string): string {
35
- const buffer = tree.read(filePath);
36
- if (buffer === null) {
37
- throw formattedSchematicsException(`Konnte die Datei ${filePath} nicht lesen.`);
38
- }
39
- return buffer.toString();
40
- }
41
-
42
- /**
43
- * Diese Methode fügt dem Skript den Teil am Index hinzu.
44
- * Beispiel 1:
45
- * script: 'ng build --aot && npm run move-de-files'
46
- * part: ' --localize'
47
- * Ergebnis: 'ng build --aot --localize && npm run move-de-files'
48
- *
49
- * Beispiel 2:
50
- * script: 'ng build --aot && npm run move-de-files'
51
- * part: ' --localize'
52
- * index: 1
53
- * Ergebnis: 'ng build --aot && npm run move-de-files --localize'
54
- * @param script Ein NPM-Skript aus der Datei "package.json" (z.B 'ng build --aot && npm run move-de-files').
55
- * @param part Ein Teil (z.B. --localize).
56
- * @param index Ein Index (z.B. 0).
57
- */
58
- export function appendScript(script: string, part: string, index?: number) {
59
- let newSkript = '';
60
-
61
- const splitArr = script.split(' && ');
62
- if (splitArr.length === 1) {
63
- newSkript = script + part;
64
- } else {
65
- splitArr[index ? index : 0] = splitArr[index ? index : 0] + part;
66
- newSkript = splitArr.join(' && ');
67
- }
68
-
69
- return newSkript;
70
- }
71
-
72
- export function updateJsonValue(
73
- filePath: string,
74
- jsonPath: string[],
75
- value: any,
76
- onlyUpdate = false
77
- ): Rule {
78
- return (tree: Tree, _context: SchematicContext) => {
79
- const found = findNodeAtLocation(readJson(tree, filePath), jsonPath);
80
-
81
- if (!onlyUpdate || (onlyUpdate && found)) {
82
- const jsonFile = readJsonAsString(tree, filePath);
83
- const edits = modify(jsonFile, jsonPath, value, {
84
- formattingOptions: jsonFormattingOptions,
85
- isArrayInsertion: false
86
- });
87
-
88
- if (edits) {
89
- tree.overwrite(filePath, applyEdits(jsonFile, edits));
90
-
91
- if (value) {
92
- logInfo(`Wert ${getLogValue(value)} an der Stelle "${jsonPath.join('.')}" eingetragen.`);
93
- } else {
94
- logInfo(`Wert an der Stelle "${jsonPath.join('.')}" gelöscht.`);
95
- }
96
- }
97
- }
98
- };
99
- }
100
-
101
- export function updateJsonArray(
102
- filePath: string,
103
- jsonPath: string[],
104
- value: any,
105
- onlyUpdate = false,
106
- findFn?: (value: Node) => boolean
107
- ): Rule {
108
- return (tree: Tree, _context: SchematicContext) => {
109
- // Gibt es bereits eine passende Stelle?
110
- let foundIndex = -1;
111
- let childrenCount = -1;
112
-
113
- const node = findNodeAtLocation(readJson(tree, filePath), jsonPath);
114
- if (node && node.children) {
115
- childrenCount = node.children.length;
116
-
117
- if (!findFn && typeof value === 'string') {
118
- // Sollte der Wert bereits im Array enthalten sein,
119
- // kann man an dieser Stelle abbrechen und die
120
- // Methode verlassen.
121
- foundIndex = findStringIndexInArray(node, value);
122
- if (foundIndex >= 0) {
123
- return;
124
- }
125
- }
126
-
127
- if (findFn) {
128
- for (let i = 0; i < node.children.length; i++) {
129
- if (findFn(node.children[i])) {
130
- foundIndex = i;
131
- break;
132
- }
133
- }
134
- }
135
- }
136
-
137
- if (!onlyUpdate || (onlyUpdate && foundIndex >= 0)) {
138
- const jsonFile = readJsonAsString(tree, filePath);
139
- const edits = modify(
140
- jsonFile,
141
- [...jsonPath, foundIndex >= 0 ? foundIndex : childrenCount !== -1 ? childrenCount : 0],
142
- value,
143
- { formattingOptions: jsonFormattingOptions, isArrayInsertion: foundIndex === -1 }
144
- );
145
-
146
- if (edits) {
147
- tree.overwrite(filePath, applyEdits(jsonFile, edits));
148
- logInfo(`"${JSON.stringify(value)}" an der Stelle "${jsonPath.join('.')}" hinzugefügt.`);
149
- }
150
- }
151
- };
152
- }
153
-
154
- /**
155
- * Diese Methode liefert den Index im Array des Objekts mit der übergebenen Property zurück.
156
- *
157
- * Beispiel: findObjectIndexInArray(node, 'glob', '*.css') = 1
158
- * ```json
159
- * 'assets': [
160
- * 'src/assets',
161
- * {
162
- * 'glob': '*.css',
163
- * 'input': './node_modules/@ihk-gfi/lux-components-theme/prebuilt-themes',
164
- * 'output': './assets/themes'
165
- * },
166
- * 'src/favicon.ico',
167
- * ]
168
- * ```
169
- *
170
- * @param arrayNode Ein Konten, der ein Array als Wert hat.
171
- * @param propertyName Ein Propertyname (z.B. glob).
172
- * @param propertyValue Ein Propertywert (z.B. *.css).
173
- */
174
- export function findObjectIndexInArray(arrayNode: Node, propertyName: string, propertyValue: string): number {
175
- let arrayIndex = -1;
176
- if (arrayNode.children) {
177
- for (let i = 0; i < arrayNode.children.length; i++) {
178
- const assetChild = arrayNode.children[i];
179
-
180
- if (assetChild.type === 'object' && assetChild.children && assetChild.children.length > 0) {
181
- const assetObjectChildren = assetChild.children;
182
- if (assetObjectChildren) {
183
- for (let j = 0; j < assetObjectChildren.length; j++) {
184
- if (assetObjectChildren[j].type === 'property') {
185
- const propertyChildren = assetObjectChildren[j].children ?? [];
186
- if (
187
- propertyChildren.length > 1 &&
188
- propertyChildren[0].value === propertyName &&
189
- propertyChildren[1].value === propertyValue
190
- ) {
191
- arrayIndex = i;
192
- break;
193
- }
194
- }
195
- }
196
- }
197
- } else if (assetChild.type === 'string' && assetChild.value === propertyValue) {
198
- arrayIndex = i;
199
- break;
200
- }
201
- }
202
- }
203
-
204
- return arrayIndex;
205
- }
206
-
207
- export function findObjectPropertyInArray(node: Node, propertyName: string, propertyValue: string): boolean {
208
- let found = false;
209
-
210
- if (node.type === 'object' && node.children && node.children.length > 0) {
211
- const assetObjectChildren = node.children;
212
- if (assetObjectChildren) {
213
- for (let j = 0; j < assetObjectChildren.length; j++) {
214
- if (assetObjectChildren[j].type === 'property') {
215
- const propertyChildren = assetObjectChildren[j].children ?? [];
216
- if (
217
- propertyChildren.length > 1 &&
218
- propertyChildren[0].value === propertyName &&
219
- propertyChildren[1].value === propertyValue
220
- ) {
221
- found = true;
222
- break;
223
- }
224
- }
225
- }
226
- }
227
- }
228
-
229
- return found;
230
- }
231
-
232
- /**
233
- * Diese Methode liefert den Index im Array des Werts zurück.
234
- *
235
- * Beispiel: findStringIndexInArray(node, 'src/favicon.ico') = 2
236
- * ```json
237
- * 'assets': [
238
- * 'src/assets',
239
- * {
240
- * 'glob': '*.css',
241
- * 'input': './node_modules/@ihk-gfi/lux-components-theme/prebuilt-themes',
242
- * 'output': './assets/themes'
243
- * },
244
- * 'src/favicon.ico',
245
- * ]
246
- * ```
247
- *
248
- * @param arrayNode Ein Konten, der ein Array als Wert hat.
249
- * @param value Ein Wert (z.B. 'src/favicon.ico').
250
- */
251
- export function findStringIndexInArray(arrayNode: Node, value: string): number {
252
- let arrayIndex = -1;
253
- if (arrayNode.children) {
254
- for (let i = 0; i < arrayNode.children.length; i++) {
255
- const assetChild = arrayNode.children[i];
256
- if (assetChild.type === 'string' && assetChild.value === value) {
257
- arrayIndex = i;
258
- break;
259
- }
260
- }
261
- }
262
-
263
- return arrayIndex;
264
- }
265
-
266
- export function removeJsonNode(
267
- tree: Tree,
268
- filePath: string,
269
- jsonPath: (string | any)[],
270
- message = `Den Abschnitt "${JSON.stringify(jsonPath)}" gelöscht.`
271
- ) {
272
- const contentAsNode = readJson(tree, filePath);
273
- const testAssetsNode = findNodeAtLocation(contentAsNode, jsonPath);
274
- if (testAssetsNode) {
275
- const angularJson = readJsonAsString(tree, filePath);
276
- const edits = modify(angularJson, jsonPath, void 0, { formattingOptions: jsonFormattingOptions });
277
- if (edits) {
278
- tree.overwrite(filePath, applyEdits(angularJson, edits));
279
- logInfo(message);
280
- }
281
- }
282
- }
283
-
284
- function getLogValue(value: any): string {
285
- let logValue = JSON.stringify(value);
286
-
287
- return logValue && logValue.startsWith('"') && logValue.endsWith('"') ? logValue : `"${logValue}"`;
288
- }
@@ -1 +0,0 @@
1
- export {};