@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,574 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const schematics_1 = require("@angular-devkit/schematics");
13
+ const testing_1 = require("@angular-devkit/schematics/testing");
14
+ const path = require("path");
15
+ const rxjs_1 = require("rxjs");
16
+ const dependencies_1 = require("../../utility/dependencies");
17
+ const test_1 = require("../../utility/test");
18
+ const util_1 = require("../../utility/util");
19
+ const index_1 = require("./index");
20
+ const collectionPath = path.join(__dirname, '../../collection.json');
21
+ describe('update130000', () => {
22
+ let appTree;
23
+ let runner;
24
+ let context;
25
+ const testOptions = {};
26
+ beforeEach(() => __awaiter(void 0, void 0, void 0, function* () {
27
+ runner = new testing_1.SchematicTestRunner('schematics', collectionPath);
28
+ appTree = yield runner.runExternalSchematicAsync('@schematics/angular', 'workspace', test_1.workspaceOptions).toPromise();
29
+ appTree = yield runner
30
+ .runExternalSchematicAsync('@schematics/angular', 'application', test_1.appOptions, appTree)
31
+ .toPromise();
32
+ util_1.UtilConfig.defaultWaitMS = 0;
33
+ const collection = runner.engine.createCollection(collectionPath);
34
+ const schematic = runner.engine.createSchematic('update', collection);
35
+ context = runner.engine.createContext(schematic);
36
+ testOptions.project = test_1.appOptions.name;
37
+ testOptions.path = test_1.workspaceOptions.newProjectRoot + '/' + test_1.appOptions.name;
38
+ testOptions.verbose = true;
39
+ }));
40
+ describe('[Rule] update130000', () => {
41
+ it('Sollte einen Fehler werfen, wenn Version < n - 1', () => {
42
+ (0, dependencies_1.updatePackageJsonDependency)(appTree, {
43
+ type: dependencies_1.NodeDependencyType.Default,
44
+ version: '11.14.0',
45
+ name: '@ihk-gfi/lux-components'
46
+ });
47
+ Object.defineProperty(process.versions, 'node', {
48
+ get: () => '16.14.1'
49
+ });
50
+ (0, schematics_1.callRule)((0, index_1.update)(testOptions), (0, rxjs_1.of)(appTree), context).subscribe((success) => {
51
+ }, (reason) => expect(reason.toString()).toContain('wird nicht unterstützt.'));
52
+ });
53
+ it('Sollte LUX-Components 13 einrichten', (done) => {
54
+ appTree.overwrite('/package.json', `
55
+ {
56
+ "name": "Lorem ipsum",
57
+ "version": "0.0.32",
58
+ "scripts": {
59
+ "build": "tsc -p tsconfig.json",
60
+ "test": "npm run build && jasmine src/**/*_spec.js"
61
+ },
62
+ "keywords": [
63
+ "schematics",
64
+ "lux-components"
65
+ ],
66
+ "dependencies": {
67
+ "@ihk-gfi/lux-components": "11.14.0"
68
+ }
69
+ }
70
+ `);
71
+ (0, schematics_1.callRule)((0, index_1.update)(testOptions), (0, rxjs_1.of)(appTree), context).subscribe(() => {
72
+ expect((0, dependencies_1.getPackageJsonDependency)(appTree, '@ihk-gfi/lux-components').version).toEqual('' + index_1.updateMajorVersion + '.0.0');
73
+ done();
74
+ }, (reason) => expect(reason).toBeUndefined());
75
+ });
76
+ });
77
+ describe('[Rule] copyFiles', () => {
78
+ it('Sollte die Dateien kopieren', (done) => {
79
+ (0, schematics_1.callRule)((0, index_1.copyFiles)(testOptions), (0, rxjs_1.of)(appTree), context).subscribe((success) => {
80
+ expect(success.exists(testOptions.path + '/.browserslistrc')).toBeTrue();
81
+ done();
82
+ }, (reason) => expect(reason).toBeUndefined());
83
+ });
84
+ });
85
+ describe('[Rule] fixKarmaConf', () => {
86
+ it('Sollte die Datei karma.conf.js anpassen', (done) => {
87
+ appTree.overwrite(testOptions.path + '/karma.conf.js', `
88
+ // Karma configuration file, see link for more information
89
+ // https://karma-runner.github.io/1.0/config/configuration-file.html
90
+
91
+ module.exports = function (config) {
92
+ config.set({
93
+ basePath: '',
94
+ frameworks: ['jasmine', '@angular-devkit/build-angular'],
95
+ plugins: [
96
+ require('karma-jasmine'),
97
+ require('karma-chrome-launcher'),
98
+ require('karma-jasmine-html-reporter'),
99
+ require('karma-coverage-istanbul-reporter'),
100
+ require('@angular-devkit/build-angular/plugins/karma')
101
+ ],
102
+ client:{
103
+ clearContext: false // leave Jasmine Spec Runner output visible in browser
104
+ },
105
+ coverageIstanbulReporter: {
106
+ dir: require('path').join(__dirname, 'coverage'), reports: [ 'html', 'lcovonly' ],
107
+ fixWebpackSourcePaths: true
108
+ },
109
+
110
+ reporters: ['progress', 'kjhtml'],
111
+ port: 9876,
112
+ colors: true,
113
+ logLevel: config.LOG_INFO,
114
+ autoWatch: true,
115
+ browsers: ['Chrome'],
116
+ singleRun: false
117
+ });
118
+ };
119
+
120
+ `);
121
+ (0, schematics_1.callRule)((0, index_1.fixKarmaConf)(testOptions), (0, rxjs_1.of)(appTree), context).subscribe((success) => {
122
+ const content = success === null || success === void 0 ? void 0 : success.toString();
123
+ expect(content).not.toContain('require(\'karma-coverage-istanbul-reporter\'),');
124
+ expect(content).not.toContain('require(\'karma-coverage\'),');
125
+ done();
126
+ }, (reason) => expect(reason).toBeUndefined());
127
+ });
128
+ });
129
+ describe('[Rule] updateAngularJson', () => {
130
+ it('Sollte die Datei "angular.json" anpassen', (done) => {
131
+ appTree.overwrite('/angular.json', testAngularJson);
132
+ (0, schematics_1.callRule)((0, index_1.updateAngularJson)(testOptions), (0, rxjs_1.of)(appTree), context).subscribe((success) => {
133
+ const angularJson = success.read('/angular.json');
134
+ expect(angularJson).toBeDefined();
135
+ const content = angularJson === null || angularJson === void 0 ? void 0 : angularJson.toString();
136
+ expect(content).toContain('"glob": "material-design-icons.css*"');
137
+ expect(content).toContain('"glob": "*(*min.css|*min.css.map)"');
138
+ expect(content).not.toContain('"glob": "*.css",');
139
+ expect(content).not.toContain('"tsConfig": "src/tsconfig.app.ie.json"');
140
+ done();
141
+ }, (reason) => expect(reason).toBeUndefined());
142
+ });
143
+ });
144
+ describe('[Rule] updatePackageJson', () => {
145
+ it('Sollte die Datei "package.json" anpassen', (done) => {
146
+ appTree.overwrite('/package.json', `
147
+ {
148
+ "name": "Lorem ipsum",
149
+ "version": "0.0.32",
150
+ "scripts": {
151
+ "build": "tsc -p tsconfig.json",
152
+ "test": "npm run build && jasmine src/**/*_spec.js"
153
+ },
154
+ "keywords": [
155
+ "schematics",
156
+ "lux-components"
157
+ ],
158
+ "scripts": {
159
+ "xi18n": "ng extract-i18n --output-path src/locale --ivy"
160
+ },
161
+ "dependencies": {
162
+ "@ihk-gfi/lux-components": "11.7.0"
163
+ }
164
+ }
165
+ `);
166
+ (0, schematics_1.callRule)((0, index_1.updatePackageJson)(testOptions), (0, rxjs_1.of)(appTree), context).subscribe((success) => {
167
+ const packageJson = success.read('/package.json');
168
+ expect(packageJson).toBeDefined();
169
+ expect(packageJson === null || packageJson === void 0 ? void 0 : packageJson.toString()).toContain('"xi18n": "ng extract-i18n --output-path src/locale"');
170
+ done();
171
+ }, (reason) => expect(reason).toBeUndefined());
172
+ });
173
+ });
174
+ describe('[Rule] updateTsConfigJson', () => {
175
+ it('Sollte die Datei "tsconfig.json" anpassen', (done) => {
176
+ appTree.overwrite('/tsconfig.json', `
177
+
178
+ {
179
+ "compilerOptions": {
180
+ "baseUrl": "tslint.json",
181
+ "lib": [
182
+ "es2018",
183
+ "dom"
184
+ ],
185
+ "declaration": true,
186
+ "module": "commonjs",
187
+ "moduleResolution": "node",
188
+ }
189
+ }
190
+ `);
191
+ (0, schematics_1.callRule)((0, index_1.updateTsConfigJson)(testOptions), (0, rxjs_1.of)(appTree), context).subscribe((success) => {
192
+ const packageJson = success.read('/tsconfig.json');
193
+ expect(packageJson).toBeDefined();
194
+ expect(packageJson === null || packageJson === void 0 ? void 0 : packageJson.toString()).toContain('"allowSyntheticDefaultImports": true,');
195
+ done();
196
+ }, (reason) => expect(reason).toBeUndefined());
197
+ });
198
+ });
199
+ describe('[Rule] updateIndexHtml', () => {
200
+ it('Sollte die Datei "index.html" anpassen', (done) => {
201
+ appTree.create('/src/index.html', `
202
+ <!doctype html>
203
+ <html lang="de">
204
+ <head>
205
+ <meta charset="utf-8">
206
+ <title>LUX Blueprint</title>
207
+ <base href="/">
208
+
209
+ <meta name="viewport" content="width=device-width, initial-scale=1">
210
+ <link rel="icon" type="image/x-icon" href="favicon.ico">
211
+ <link rel="stylesheet" href="assets/icons/fontawesome/css/all.css">
212
+ <link rel="stylesheet" href="assets/icons/material-icons/material-design-icons.css">
213
+ <style>
214
+ .lux-no-js {
215
+ color: red;
216
+ font-size: 20px;
217
+ border: 1px solid red;
218
+ padding: 10px;
219
+ }
220
+ </style>
221
+ </head>
222
+ <body style="margin: 0">
223
+ <noscript>
224
+ <div id="no-js" class="lux-no-js">
225
+ <p><b>Achtung, Javascript ist deaktiviert.</b></p>
226
+ <p>Bitte aktivieren Sie Javascript in Ihrem Browser, damit die Applikation funktionsf&auml;hig ist.</p>
227
+ </div>
228
+ </noscript>
229
+ <lux-bp></lux-bp>
230
+ </body>
231
+ </html>
232
+ `);
233
+ (0, schematics_1.callRule)((0, index_1.updateIndexHtml)(testOptions), (0, rxjs_1.of)(appTree), context).subscribe((success) => {
234
+ const indexHtml = success.read('/src/index.html');
235
+ expect(indexHtml).toBeDefined();
236
+ expect(indexHtml === null || indexHtml === void 0 ? void 0 : indexHtml.toString()).toContain('<link rel="stylesheet preload" as="style" type="text/css" href="assets/icons/fontawesome/css/all.css">');
237
+ expect(indexHtml === null || indexHtml === void 0 ? void 0 : indexHtml.toString()).toContain('<link rel="stylesheet preload" as="style" type="text/css" href="assets/icons/material-icons/material-design-icons.css">');
238
+ done();
239
+ }, (reason) => expect(reason).toBeUndefined());
240
+ });
241
+ });
242
+ describe('[Rule] removeLuxSelectedFilesAlwaysUseArray', () => {
243
+ it('Sollte die Datei "package.json" anpassen', (done) => {
244
+ appTree.create(testOptions.path + '/src/app/abc.component.html', templateRemoveLuxSelectedFilesAlwaysUseArray);
245
+ (0, schematics_1.callRule)((0, index_1.removeLuxSelectedFilesAlwaysUseArray)(testOptions), (0, rxjs_1.of)(appTree), context).subscribe((success) => {
246
+ var _a;
247
+ const componentHtml = (_a = success.read(testOptions.path + '/src/app/abc.component.html')) === null || _a === void 0 ? void 0 : _a.toString();
248
+ expect(componentHtml).toBeDefined();
249
+ expect(componentHtml === null || componentHtml === void 0 ? void 0 : componentHtml.toString()).not.toContain('alwaysUseArray');
250
+ done();
251
+ }, (reason) => expect(reason).toBeUndefined());
252
+ });
253
+ });
254
+ describe('[Rule] fixEmptyStyles', () => {
255
+ it('Sollte die leeren Styles korrigieren', (done) => {
256
+ const filePath1 = testOptions.path + '/src/app/fix-empty-styles1.component.ts';
257
+ appTree.create(filePath1, templateFixEmptyStyles1);
258
+ const filePath2 = testOptions.path + '/src/app/fix-empty-styles2.component.ts';
259
+ appTree.create(filePath2, templateFixEmptyStyles2);
260
+ const filePath3 = testOptions.path + '/src/app/fix-empty-styles3.component.ts';
261
+ appTree.create(filePath3, templateFixEmptyStyles3);
262
+ const filePath4 = testOptions.path + '/src/app/fix-empty-styles4.component.ts';
263
+ appTree.create(filePath4, templateFixEmptyStyles4);
264
+ (0, schematics_1.callRule)((0, index_1.fixEmptyStyles)(testOptions), (0, rxjs_1.of)(appTree), context).subscribe((success) => {
265
+ var _a, _b, _c, _d;
266
+ expect((_a = success.read(filePath1)) === null || _a === void 0 ? void 0 : _a.toString()).toContain('styles: []');
267
+ expect((_b = success.read(filePath2)) === null || _b === void 0 ? void 0 : _b.toString()).toContain('styles: []');
268
+ expect((_c = success.read(filePath3)) === null || _c === void 0 ? void 0 : _c.toString()).toContain('styles: []');
269
+ expect((_d = success.read(filePath4)) === null || _d === void 0 ? void 0 : _d.toString()).toContain('styles: []');
270
+ done();
271
+ }, (reason) => expect(reason).toBeUndefined());
272
+ });
273
+ });
274
+ describe('[Rule] removeDatepickerDefaultLocale', () => {
275
+ it('Sollte die Defaultlocale "de-DE" entfernen', (done) => {
276
+ const filePath = testOptions.path + '/src/app/datepicker-default-locale.component.html';
277
+ appTree.create(filePath, templateRemoveDatepickerDefaultLocale);
278
+ (0, schematics_1.callRule)((0, index_1.removeDatepickerDefaultLocale)(testOptions), (0, rxjs_1.of)(appTree), context).subscribe((success) => {
279
+ var _a;
280
+ expect((_a = success.read(filePath)) === null || _a === void 0 ? void 0 : _a.toString()).not.toContain('luxLocale="de-DE"');
281
+ done();
282
+ }, (reason) => expect(reason).toBeUndefined());
283
+ });
284
+ });
285
+ });
286
+ const testAngularJson = `
287
+ {
288
+ "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
289
+ "version": 1,
290
+ "newProjectRoot": "projects",
291
+ "projects": {
292
+ "bar": {
293
+ "root": "",
294
+ "sourceRoot": "src",
295
+ "projectType": "application",
296
+ "i18n": {
297
+ "sourceLocale": {
298
+ "code": "de",
299
+ "baseHref": "/"
300
+ },
301
+ "locales": {
302
+ "en": "src/locale/messages.en.xlf"
303
+ }
304
+ },
305
+ "architect": {
306
+ "build": {
307
+ "builder": "ngx-build-plus:browser",
308
+ "options": {
309
+ "outputPath": "dist",
310
+ "index": "src/index.html",
311
+ "main": "src/main.ts",
312
+ "tsConfig": "src/tsconfig.app.json",
313
+ "polyfills": "src/polyfills.ts",
314
+ "assets": [
315
+ "src/assets",
316
+ {
317
+ "glob": "**/*",
318
+ "input": "./node_modules/pdfjs-dist/cmaps/",
319
+ "output": "./assets/cmaps"
320
+ },
321
+ {
322
+ "glob": "*.css",
323
+ "input": "./node_modules/@ihk-gfi/lux-components-theme/prebuilt-themes",
324
+ "output": "./assets/themes"
325
+ },
326
+ {
327
+ "glob": "material-design-icons.css",
328
+ "input": "./node_modules/material-design-icons-iconfont/dist",
329
+ "output": "./assets/icons/material-icons"
330
+ }
331
+ ],
332
+ "styles": [
333
+ "src/styles.scss"
334
+ ],
335
+ "scripts": [
336
+ {
337
+ "bundleName": "polyfill-webcomp",
338
+ "input": "node_modules/@webcomponents/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js"
339
+ },
340
+ {
341
+ "bundleName": "polyfill-webcomp-es5",
342
+ "input": "node_modules/@webcomponents/webcomponentsjs/custom-elements-es5-adapter.js"
343
+ }
344
+ ],
345
+ "allowedCommonJsDependencies": [
346
+ "hammerjs",
347
+ "ng2-pdf-viewer"
348
+ ],
349
+ "localize": [
350
+ "de"
351
+ ],
352
+ "i18nMissingTranslation": "error",
353
+ "extraWebpackConfig": "webpack.config.js"
354
+ },
355
+ "configurations": {
356
+ "production": {
357
+ "budgets": [
358
+ {
359
+ "type": "anyComponentStyle",
360
+ "maximumWarning": "6kb"
361
+ }
362
+ ],
363
+ "optimization": true,
364
+ "outputHashing": "all",
365
+ "sourceMap": false,
366
+ "namedChunks": false,
367
+ "aot": true,
368
+ "extractLicenses": true,
369
+ "vendorChunk": false,
370
+ "buildOptimizer": true,
371
+ "fileReplacements": [
372
+ {
373
+ "replace": "src/environments/environment.ts",
374
+ "with": "src/environments/environment.prod.ts"
375
+ }
376
+ ]
377
+ },
378
+ "es5": {
379
+ "budgets": [
380
+ {
381
+ "type": "anyComponentStyle",
382
+ "maximumWarning": "6kb"
383
+ }
384
+ ],
385
+ "tsConfig": "src/tsconfig.app.ie.json"
386
+ },
387
+ "en": {
388
+ "localize": [
389
+ "en"
390
+ ],
391
+ "aot": true,
392
+ "outputPath": "dist/en",
393
+ "i18nMissingTranslation": "error"
394
+ }
395
+ }
396
+ },
397
+ "serve": {
398
+ "builder": "ngx-build-plus:dev-server",
399
+ "options": {
400
+ "browserTarget": "bar:build"
401
+ },
402
+ "configurations": {
403
+ "production": {
404
+ "browserTarget": "bar:build:production"
405
+ },
406
+ "es5": {
407
+ "browserTarget": "bar:build:es5"
408
+ },
409
+ "en": {
410
+ "browserTarget": "bar:build:en"
411
+ }
412
+ }
413
+ },
414
+ "extract-i18n": {
415
+ "builder": "@angular-devkit/build-angular:extract-i18n",
416
+ "options": {
417
+ "browserTarget": "bar:build"
418
+ }
419
+ },
420
+ "test": {
421
+ "builder": "ngx-build-plus:karma",
422
+ "options": {
423
+ "main": "src/test.ts",
424
+ "karmaConfig": "./karma.conf.js",
425
+ "polyfills": "src/polyfills.ts",
426
+ "tsConfig": "src/tsconfig.spec.json",
427
+ "scripts": [],
428
+ "styles": [
429
+ "src/styles.scss"
430
+ ],
431
+ "assets": [
432
+ "src/assets",
433
+ {
434
+ "glob": "**/*",
435
+ "input": "./node_modules/pdfjs-dist/cmaps/",
436
+ "output": "./assets/cmaps"
437
+ },
438
+ {
439
+ "glob": "*.css",
440
+ "input": "./node_modules/@ihk-gfi/lux-components-theme/prebuilt-themes",
441
+ "output": "./assets/themes"
442
+ }
443
+ ]
444
+ }
445
+ },
446
+ "lint": {
447
+ "builder": "@angular-eslint/builder:lint",
448
+ "options": {
449
+ "lintFilePatterns": [
450
+ "src/**/*.ts",
451
+ "src/**/*.html"
452
+ ]
453
+ }
454
+ }
455
+ }
456
+ },
457
+ "bar-e2e": {
458
+ "root": "e2e",
459
+ "sourceRoot": "e2e",
460
+ "projectType": "application",
461
+ "architect": {
462
+ "e2e": {
463
+ "builder": "@angular-devkit/build-angular:protractor",
464
+ "options": {
465
+ "protractorConfig": "./protractor.conf.js",
466
+ "devServerTarget": "bar:serve"
467
+ }
468
+ }
469
+ }
470
+ }
471
+ },
472
+ "defaultProject": "bar",
473
+ "cli": {
474
+ "defaultCollection": "@angular-eslint/schematics"
475
+ },
476
+ "schematics": {
477
+ "@schematics/angular:component": {
478
+ "prefix": "bp",
479
+ "style": "scss"
480
+ },
481
+ "@schematics/angular:directive": {
482
+ "prefix": "bp"
483
+ }
484
+ }
485
+ }
486
+
487
+ `;
488
+ const templateRemoveLuxSelectedFilesAlwaysUseArray = `
489
+ <div fxFlex="auto" fxLayout="column">
490
+ <h3>Ohne ReactiveForm</h3>
491
+ <lux-file-list
492
+ testDirective
493
+ [luxLabel]="label"
494
+ [luxDownloadActionConfig]="downloadActionConfig"
495
+ [luxMaximumExtended]="maximumExtended"
496
+ [luxCapture]="capture"
497
+ [luxAccept]="accept"
498
+ [luxHint]=""
499
+ [luxHintShowOnlyOnFocus]="hintShowOnlyOnFocus"
500
+ [luxDnDActive]="dndActive"
501
+ [luxSelectedFiles]="selected"
502
+ [luxContentsAsBlob]="contentAsBlob"
503
+ [luxUploadReportProgress]="reportProgress"
504
+ (luxSelectedFilesChange)="onSelectedChange($event)"
505
+ [luxSelectedFilesAlwaysUseArray]="alwaysUseArray"
506
+ (luxFocusIn)="log(showOutputEvents, 'luxFocusIn', $event)"
507
+ (luxFocusOut)="log(showOutputEvents, 'luxFocusOut', $event)"
508
+ #filelistexamplewithoutform
509
+ >
510
+ </lux-file-list>
511
+ </div>
512
+ `;
513
+ const templateFixEmptyStyles1 = `
514
+ import { Component, ContentChild, TemplateRef } from '@angular/core';
515
+
516
+ @Component({
517
+ selector: 'lux-detail-view',
518
+ template: '',
519
+ styles: ['']
520
+ })
521
+ export class LuxDetailViewComponent {
522
+ @ContentChild(TemplateRef) tempRef: TemplateRef<any>;
523
+
524
+ constructor() {}
525
+ }
526
+ `;
527
+ const templateFixEmptyStyles2 = `
528
+ import { Component, ContentChild, TemplateRef } from '@angular/core';
529
+
530
+ @Component({
531
+ selector:'lux-detail-view',
532
+ template:'',
533
+ styles:['']
534
+ })
535
+ export class LuxDetailViewComponent {
536
+ @ContentChild(TemplateRef) tempRef: TemplateRef<any>;
537
+
538
+ constructor() {}
539
+ }
540
+ `;
541
+ const templateFixEmptyStyles3 = `
542
+ import { Component, ContentChild, TemplateRef } from '@angular/core';
543
+
544
+ @Component({
545
+ selector:'lux-detail-view',
546
+ template:'',
547
+ styles: ['']
548
+ })
549
+ export class LuxDetailViewComponent {
550
+ @ContentChild(TemplateRef) tempRef: TemplateRef<any>;
551
+
552
+ constructor() {}
553
+ }
554
+ `;
555
+ const templateFixEmptyStyles4 = `
556
+ import { Component, ContentChild, TemplateRef } from "@angular/core";
557
+
558
+ @Component({
559
+ selector: "lux-detail-view",
560
+ template: "",
561
+ styles: [""]
562
+ })
563
+ export class LuxDetailViewComponent {
564
+ @ContentChild(TemplateRef) tempRef: TemplateRef<any>;
565
+
566
+ constructor() {}
567
+ }
568
+ `;
569
+ const templateRemoveDatepickerDefaultLocale = `
570
+ <lux-datepicker luxLabel="Datepicker" [luxCustomFilter]="myFilter" luxLocale="de-DE"></lux-datepicker>
571
+ <lux-datepicker luxLabel="Datepicker" luxMaxDate="02/02/2002" luxMinDate="02.02.2000" luxLocale="de-DE" [(luxValue)]="value"></lux-datepicker>
572
+ <lux-datepicker luxLocale="de-DE" luxLabel="Datepicker" luxControlBinding="datepicker"></lux-datepicker>
573
+ `;
574
+ //# sourceMappingURL=index_spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index_spec.js","sourceRoot":"","sources":["index_spec.ts"],"names":[],"mappings":"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"}