@ihk-gfi/lux-components-update 11.14.0 → 13.0.2

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 (239) 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 -84
  10. package/src/add-lux-components/index.js.map +1 -1
  11. package/src/add-lux-components/index.ts +141 -72
  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 -93
  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 +306 -0
  30. package/src/updates/update130000/index.js.map +1 -0
  31. package/src/updates/update130000/index.ts +358 -0
  32. package/src/{migrate-to-eslint → updates/update130000}/index_spec.d.ts +0 -0
  33. package/src/updates/update130000/index_spec.js +582 -0
  34. package/src/updates/update130000/index_spec.js.map +1 -0
  35. package/src/updates/update130000/index_spec.ts +673 -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
  231. package/src/update111400/index.d.ts +0 -2
  232. package/src/update111400/index.js +0 -27
  233. package/src/update111400/index.js.map +0 -1
  234. package/src/update111400/index.ts +0 -27
  235. package/src/update111400/index_spec.d.ts +0 -1
  236. package/src/update111400/index_spec.js +0 -65
  237. package/src/update111400/index_spec.js.map +0 -1
  238. package/src/update111400/index_spec.ts +0 -69
  239. package/src/update111400/schema.json +0 -23
@@ -0,0 +1,582 @@
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
+ var _a;
123
+ const content = (_a = success.read(testOptions.path + '/karma.conf.js')) === null || _a === void 0 ? void 0 : _a.toString();
124
+ expect(content).toBeDefined();
125
+ if (content) {
126
+ expect(content).toContain('require(\'karma-coverage\'),');
127
+ expect(content).toContain('coverageReporter: {');
128
+ expect(content).toContain('reporters: [\'progress\', \'coverage\'],');
129
+ expect(content).not.toContain('require(\'karma-coverage-istanbul-reporter\'),');
130
+ expect(content).not.toContain('coverageIstanbulReporter');
131
+ expect(content).not.toContain('fixWebpackSourcePaths');
132
+ done();
133
+ }
134
+ }, (reason) => expect(reason).toBeUndefined());
135
+ });
136
+ });
137
+ describe('[Rule] updateAngularJson', () => {
138
+ it('Sollte die Datei "angular.json" anpassen', (done) => {
139
+ appTree.overwrite('/angular.json', testAngularJson);
140
+ (0, schematics_1.callRule)((0, index_1.updateAngularJson)(testOptions), (0, rxjs_1.of)(appTree), context).subscribe((success) => {
141
+ const angularJson = success.read('/angular.json');
142
+ expect(angularJson).toBeDefined();
143
+ const content = angularJson === null || angularJson === void 0 ? void 0 : angularJson.toString();
144
+ expect(content).toContain('"glob": "material-design-icons.css*"');
145
+ expect(content).toContain('"glob": "*(*min.css|*min.css.map)"');
146
+ expect(content).not.toContain('"glob": "*.css",');
147
+ expect(content).not.toContain('"tsConfig": "src/tsconfig.app.ie.json"');
148
+ done();
149
+ }, (reason) => expect(reason).toBeUndefined());
150
+ });
151
+ });
152
+ describe('[Rule] updatePackageJson', () => {
153
+ it('Sollte die Datei "package.json" anpassen', (done) => {
154
+ appTree.overwrite('/package.json', `
155
+ {
156
+ "name": "Lorem ipsum",
157
+ "version": "0.0.32",
158
+ "scripts": {
159
+ "build": "tsc -p tsconfig.json",
160
+ "test": "npm run build && jasmine src/**/*_spec.js"
161
+ },
162
+ "keywords": [
163
+ "schematics",
164
+ "lux-components"
165
+ ],
166
+ "scripts": {
167
+ "xi18n": "ng extract-i18n --output-path src/locale --ivy"
168
+ },
169
+ "dependencies": {
170
+ "@ihk-gfi/lux-components": "11.7.0"
171
+ }
172
+ }
173
+ `);
174
+ (0, schematics_1.callRule)((0, index_1.updatePackageJson)(testOptions), (0, rxjs_1.of)(appTree), context).subscribe((success) => {
175
+ const packageJson = success.read('/package.json');
176
+ expect(packageJson).toBeDefined();
177
+ expect(packageJson === null || packageJson === void 0 ? void 0 : packageJson.toString()).toContain('"xi18n": "ng extract-i18n --output-path src/locale"');
178
+ done();
179
+ }, (reason) => expect(reason).toBeUndefined());
180
+ });
181
+ });
182
+ describe('[Rule] updateTsConfigJson', () => {
183
+ it('Sollte die Datei "tsconfig.json" anpassen', (done) => {
184
+ appTree.overwrite('/tsconfig.json', `
185
+
186
+ {
187
+ "compilerOptions": {
188
+ "baseUrl": "tslint.json",
189
+ "lib": [
190
+ "es2018",
191
+ "dom"
192
+ ],
193
+ "declaration": true,
194
+ "module": "commonjs",
195
+ "moduleResolution": "node",
196
+ }
197
+ }
198
+ `);
199
+ (0, schematics_1.callRule)((0, index_1.updateTsConfigJson)(testOptions), (0, rxjs_1.of)(appTree), context).subscribe((success) => {
200
+ const packageJson = success.read('/tsconfig.json');
201
+ expect(packageJson).toBeDefined();
202
+ expect(packageJson === null || packageJson === void 0 ? void 0 : packageJson.toString()).toContain('"allowSyntheticDefaultImports": true,');
203
+ done();
204
+ }, (reason) => expect(reason).toBeUndefined());
205
+ });
206
+ });
207
+ describe('[Rule] updateIndexHtml', () => {
208
+ it('Sollte die Datei "index.html" anpassen', (done) => {
209
+ appTree.create('/src/index.html', `
210
+ <!doctype html>
211
+ <html lang="de">
212
+ <head>
213
+ <meta charset="utf-8">
214
+ <title>LUX Blueprint</title>
215
+ <base href="/">
216
+
217
+ <meta name="viewport" content="width=device-width, initial-scale=1">
218
+ <link rel="icon" type="image/x-icon" href="favicon.ico">
219
+ <link rel="stylesheet" href="assets/icons/fontawesome/css/all.css">
220
+ <link rel="stylesheet" href="assets/icons/material-icons/material-design-icons.css">
221
+ <style>
222
+ .lux-no-js {
223
+ color: red;
224
+ font-size: 20px;
225
+ border: 1px solid red;
226
+ padding: 10px;
227
+ }
228
+ </style>
229
+ </head>
230
+ <body style="margin: 0">
231
+ <noscript>
232
+ <div id="no-js" class="lux-no-js">
233
+ <p><b>Achtung, Javascript ist deaktiviert.</b></p>
234
+ <p>Bitte aktivieren Sie Javascript in Ihrem Browser, damit die Applikation funktionsf&auml;hig ist.</p>
235
+ </div>
236
+ </noscript>
237
+ <lux-bp></lux-bp>
238
+ </body>
239
+ </html>
240
+ `);
241
+ (0, schematics_1.callRule)((0, index_1.updateIndexHtml)(testOptions), (0, rxjs_1.of)(appTree), context).subscribe((success) => {
242
+ const indexHtml = success.read('/src/index.html');
243
+ expect(indexHtml).toBeDefined();
244
+ 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">');
245
+ 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">');
246
+ done();
247
+ }, (reason) => expect(reason).toBeUndefined());
248
+ });
249
+ });
250
+ describe('[Rule] removeLuxSelectedFilesAlwaysUseArray', () => {
251
+ it('Sollte die Datei "package.json" anpassen', (done) => {
252
+ appTree.create(testOptions.path + '/src/app/abc.component.html', templateRemoveLuxSelectedFilesAlwaysUseArray);
253
+ (0, schematics_1.callRule)((0, index_1.removeLuxSelectedFilesAlwaysUseArray)(testOptions), (0, rxjs_1.of)(appTree), context).subscribe((success) => {
254
+ var _a;
255
+ const componentHtml = (_a = success.read(testOptions.path + '/src/app/abc.component.html')) === null || _a === void 0 ? void 0 : _a.toString();
256
+ expect(componentHtml).toBeDefined();
257
+ expect(componentHtml === null || componentHtml === void 0 ? void 0 : componentHtml.toString()).not.toContain('alwaysUseArray');
258
+ done();
259
+ }, (reason) => expect(reason).toBeUndefined());
260
+ });
261
+ });
262
+ describe('[Rule] fixEmptyStyles', () => {
263
+ it('Sollte die leeren Styles korrigieren', (done) => {
264
+ const filePath1 = testOptions.path + '/src/app/fix-empty-styles1.component.ts';
265
+ appTree.create(filePath1, templateFixEmptyStyles1);
266
+ const filePath2 = testOptions.path + '/src/app/fix-empty-styles2.component.ts';
267
+ appTree.create(filePath2, templateFixEmptyStyles2);
268
+ const filePath3 = testOptions.path + '/src/app/fix-empty-styles3.component.ts';
269
+ appTree.create(filePath3, templateFixEmptyStyles3);
270
+ const filePath4 = testOptions.path + '/src/app/fix-empty-styles4.component.ts';
271
+ appTree.create(filePath4, templateFixEmptyStyles4);
272
+ (0, schematics_1.callRule)((0, index_1.fixEmptyStyles)(testOptions), (0, rxjs_1.of)(appTree), context).subscribe((success) => {
273
+ var _a, _b, _c, _d;
274
+ expect((_a = success.read(filePath1)) === null || _a === void 0 ? void 0 : _a.toString()).toContain('styles: []');
275
+ expect((_b = success.read(filePath2)) === null || _b === void 0 ? void 0 : _b.toString()).toContain('styles: []');
276
+ expect((_c = success.read(filePath3)) === null || _c === void 0 ? void 0 : _c.toString()).toContain('styles: []');
277
+ expect((_d = success.read(filePath4)) === null || _d === void 0 ? void 0 : _d.toString()).toContain('styles: []');
278
+ done();
279
+ }, (reason) => expect(reason).toBeUndefined());
280
+ });
281
+ });
282
+ describe('[Rule] removeDatepickerDefaultLocale', () => {
283
+ it('Sollte die Defaultlocale "de-DE" entfernen', (done) => {
284
+ const filePath = testOptions.path + '/src/app/datepicker-default-locale.component.html';
285
+ appTree.create(filePath, templateRemoveDatepickerDefaultLocale);
286
+ (0, schematics_1.callRule)((0, index_1.removeDatepickerDefaultLocale)(testOptions), (0, rxjs_1.of)(appTree), context).subscribe((success) => {
287
+ var _a;
288
+ expect((_a = success.read(filePath)) === null || _a === void 0 ? void 0 : _a.toString()).not.toContain('luxLocale="de-DE"');
289
+ done();
290
+ }, (reason) => expect(reason).toBeUndefined());
291
+ });
292
+ });
293
+ });
294
+ const testAngularJson = `
295
+ {
296
+ "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
297
+ "version": 1,
298
+ "newProjectRoot": "projects",
299
+ "projects": {
300
+ "bar": {
301
+ "root": "",
302
+ "sourceRoot": "src",
303
+ "projectType": "application",
304
+ "i18n": {
305
+ "sourceLocale": {
306
+ "code": "de",
307
+ "baseHref": "/"
308
+ },
309
+ "locales": {
310
+ "en": "src/locale/messages.en.xlf"
311
+ }
312
+ },
313
+ "architect": {
314
+ "build": {
315
+ "builder": "ngx-build-plus:browser",
316
+ "options": {
317
+ "outputPath": "dist",
318
+ "index": "src/index.html",
319
+ "main": "src/main.ts",
320
+ "tsConfig": "src/tsconfig.app.json",
321
+ "polyfills": "src/polyfills.ts",
322
+ "assets": [
323
+ "src/assets",
324
+ {
325
+ "glob": "**/*",
326
+ "input": "./node_modules/pdfjs-dist/cmaps/",
327
+ "output": "./assets/cmaps"
328
+ },
329
+ {
330
+ "glob": "*.css",
331
+ "input": "./node_modules/@ihk-gfi/lux-components-theme/prebuilt-themes",
332
+ "output": "./assets/themes"
333
+ },
334
+ {
335
+ "glob": "material-design-icons.css",
336
+ "input": "./node_modules/material-design-icons-iconfont/dist",
337
+ "output": "./assets/icons/material-icons"
338
+ }
339
+ ],
340
+ "styles": [
341
+ "src/styles.scss"
342
+ ],
343
+ "scripts": [
344
+ {
345
+ "bundleName": "polyfill-webcomp",
346
+ "input": "node_modules/@webcomponents/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js"
347
+ },
348
+ {
349
+ "bundleName": "polyfill-webcomp-es5",
350
+ "input": "node_modules/@webcomponents/webcomponentsjs/custom-elements-es5-adapter.js"
351
+ }
352
+ ],
353
+ "allowedCommonJsDependencies": [
354
+ "hammerjs",
355
+ "ng2-pdf-viewer"
356
+ ],
357
+ "localize": [
358
+ "de"
359
+ ],
360
+ "i18nMissingTranslation": "error",
361
+ "extraWebpackConfig": "webpack.config.js"
362
+ },
363
+ "configurations": {
364
+ "production": {
365
+ "budgets": [
366
+ {
367
+ "type": "anyComponentStyle",
368
+ "maximumWarning": "6kb"
369
+ }
370
+ ],
371
+ "optimization": true,
372
+ "outputHashing": "all",
373
+ "sourceMap": false,
374
+ "namedChunks": false,
375
+ "aot": true,
376
+ "extractLicenses": true,
377
+ "vendorChunk": false,
378
+ "buildOptimizer": true,
379
+ "fileReplacements": [
380
+ {
381
+ "replace": "src/environments/environment.ts",
382
+ "with": "src/environments/environment.prod.ts"
383
+ }
384
+ ]
385
+ },
386
+ "es5": {
387
+ "budgets": [
388
+ {
389
+ "type": "anyComponentStyle",
390
+ "maximumWarning": "6kb"
391
+ }
392
+ ],
393
+ "tsConfig": "src/tsconfig.app.ie.json"
394
+ },
395
+ "en": {
396
+ "localize": [
397
+ "en"
398
+ ],
399
+ "aot": true,
400
+ "outputPath": "dist/en",
401
+ "i18nMissingTranslation": "error"
402
+ }
403
+ }
404
+ },
405
+ "serve": {
406
+ "builder": "ngx-build-plus:dev-server",
407
+ "options": {
408
+ "browserTarget": "bar:build"
409
+ },
410
+ "configurations": {
411
+ "production": {
412
+ "browserTarget": "bar:build:production"
413
+ },
414
+ "es5": {
415
+ "browserTarget": "bar:build:es5"
416
+ },
417
+ "en": {
418
+ "browserTarget": "bar:build:en"
419
+ }
420
+ }
421
+ },
422
+ "extract-i18n": {
423
+ "builder": "@angular-devkit/build-angular:extract-i18n",
424
+ "options": {
425
+ "browserTarget": "bar:build"
426
+ }
427
+ },
428
+ "test": {
429
+ "builder": "ngx-build-plus:karma",
430
+ "options": {
431
+ "main": "src/test.ts",
432
+ "karmaConfig": "./karma.conf.js",
433
+ "polyfills": "src/polyfills.ts",
434
+ "tsConfig": "src/tsconfig.spec.json",
435
+ "scripts": [],
436
+ "styles": [
437
+ "src/styles.scss"
438
+ ],
439
+ "assets": [
440
+ "src/assets",
441
+ {
442
+ "glob": "**/*",
443
+ "input": "./node_modules/pdfjs-dist/cmaps/",
444
+ "output": "./assets/cmaps"
445
+ },
446
+ {
447
+ "glob": "*.css",
448
+ "input": "./node_modules/@ihk-gfi/lux-components-theme/prebuilt-themes",
449
+ "output": "./assets/themes"
450
+ }
451
+ ]
452
+ }
453
+ },
454
+ "lint": {
455
+ "builder": "@angular-eslint/builder:lint",
456
+ "options": {
457
+ "lintFilePatterns": [
458
+ "src/**/*.ts",
459
+ "src/**/*.html"
460
+ ]
461
+ }
462
+ }
463
+ }
464
+ },
465
+ "bar-e2e": {
466
+ "root": "e2e",
467
+ "sourceRoot": "e2e",
468
+ "projectType": "application",
469
+ "architect": {
470
+ "e2e": {
471
+ "builder": "@angular-devkit/build-angular:protractor",
472
+ "options": {
473
+ "protractorConfig": "./protractor.conf.js",
474
+ "devServerTarget": "bar:serve"
475
+ }
476
+ }
477
+ }
478
+ }
479
+ },
480
+ "defaultProject": "bar",
481
+ "cli": {
482
+ "defaultCollection": "@angular-eslint/schematics"
483
+ },
484
+ "schematics": {
485
+ "@schematics/angular:component": {
486
+ "prefix": "bp",
487
+ "style": "scss"
488
+ },
489
+ "@schematics/angular:directive": {
490
+ "prefix": "bp"
491
+ }
492
+ }
493
+ }
494
+
495
+ `;
496
+ const templateRemoveLuxSelectedFilesAlwaysUseArray = `
497
+ <div fxFlex="auto" fxLayout="column">
498
+ <h3>Ohne ReactiveForm</h3>
499
+ <lux-file-list
500
+ testDirective
501
+ [luxLabel]="label"
502
+ [luxDownloadActionConfig]="downloadActionConfig"
503
+ [luxMaximumExtended]="maximumExtended"
504
+ [luxCapture]="capture"
505
+ [luxAccept]="accept"
506
+ [luxHint]=""
507
+ [luxHintShowOnlyOnFocus]="hintShowOnlyOnFocus"
508
+ [luxDnDActive]="dndActive"
509
+ [luxSelectedFiles]="selected"
510
+ [luxContentsAsBlob]="contentAsBlob"
511
+ [luxUploadReportProgress]="reportProgress"
512
+ (luxSelectedFilesChange)="onSelectedChange($event)"
513
+ [luxSelectedFilesAlwaysUseArray]="alwaysUseArray"
514
+ (luxFocusIn)="log(showOutputEvents, 'luxFocusIn', $event)"
515
+ (luxFocusOut)="log(showOutputEvents, 'luxFocusOut', $event)"
516
+ #filelistexamplewithoutform
517
+ >
518
+ </lux-file-list>
519
+ </div>
520
+ `;
521
+ const templateFixEmptyStyles1 = `
522
+ import { Component, ContentChild, TemplateRef } from '@angular/core';
523
+
524
+ @Component({
525
+ selector: 'lux-detail-view',
526
+ template: '',
527
+ styles: ['']
528
+ })
529
+ export class LuxDetailViewComponent {
530
+ @ContentChild(TemplateRef) tempRef: TemplateRef<any>;
531
+
532
+ constructor() {}
533
+ }
534
+ `;
535
+ const templateFixEmptyStyles2 = `
536
+ import { Component, ContentChild, TemplateRef } from '@angular/core';
537
+
538
+ @Component({
539
+ selector:'lux-detail-view',
540
+ template:'',
541
+ styles:['']
542
+ })
543
+ export class LuxDetailViewComponent {
544
+ @ContentChild(TemplateRef) tempRef: TemplateRef<any>;
545
+
546
+ constructor() {}
547
+ }
548
+ `;
549
+ const templateFixEmptyStyles3 = `
550
+ import { Component, ContentChild, TemplateRef } from '@angular/core';
551
+
552
+ @Component({
553
+ selector:'lux-detail-view',
554
+ template:'',
555
+ styles: ['']
556
+ })
557
+ export class LuxDetailViewComponent {
558
+ @ContentChild(TemplateRef) tempRef: TemplateRef<any>;
559
+
560
+ constructor() {}
561
+ }
562
+ `;
563
+ const templateFixEmptyStyles4 = `
564
+ import { Component, ContentChild, TemplateRef } from "@angular/core";
565
+
566
+ @Component({
567
+ selector: "lux-detail-view",
568
+ template: "",
569
+ styles: [""]
570
+ })
571
+ export class LuxDetailViewComponent {
572
+ @ContentChild(TemplateRef) tempRef: TemplateRef<any>;
573
+
574
+ constructor() {}
575
+ }
576
+ `;
577
+ const templateRemoveDatepickerDefaultLocale = `
578
+ <lux-datepicker luxLabel="Datepicker" [luxCustomFilter]="myFilter" luxLocale="de-DE"></lux-datepicker>
579
+ <lux-datepicker luxLabel="Datepicker" luxMaxDate="02/02/2002" luxMinDate="02.02.2000" luxLocale="de-DE" [(luxValue)]="value"></lux-datepicker>
580
+ <lux-datepicker luxLocale="de-DE" luxLabel="Datepicker" luxControlBinding="datepicker"></lux-datepicker>
581
+ `;
582
+ //# 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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"}