@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
@@ -1,152 +0,0 @@
1
- import { callRule, SchematicContext } from '@angular-devkit/schematics';
2
- import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing';
3
- import * as path from 'path';
4
- import { of as observableOf } from 'rxjs';
5
- import { appOptions, workspaceOptions } from '../utility/test';
6
- import { UtilConfig } from '../utility/util';
7
- import { deleteEmptyLifecyleHooksInTsFiles } from './index';
8
-
9
- const collectionPath = path.join(__dirname, '../collection.json');
10
-
11
- describe('migrate-to-eslint', () => {
12
- let appTree: UnitTestTree;
13
- let runner: SchematicTestRunner;
14
- let context: SchematicContext;
15
-
16
- const testOptions: any = {};
17
-
18
- beforeEach(async () => {
19
- runner = new SchematicTestRunner('schematics', collectionPath);
20
-
21
- appTree = await runner.runExternalSchematicAsync('@schematics/angular', 'workspace', workspaceOptions).toPromise();
22
- appTree = await runner
23
- .runExternalSchematicAsync('@schematics/angular', 'application', appOptions, appTree)
24
- .toPromise();
25
-
26
- UtilConfig.defaultWaitMS = 0;
27
-
28
- const collection = runner.engine.createCollection(collectionPath);
29
- const schematic = runner.engine.createSchematic('migrate-to-eslint', collection);
30
- context = runner.engine.createContext(schematic);
31
-
32
- testOptions.project = appOptions.name;
33
- testOptions.path = workspaceOptions.newProjectRoot + '/' + appOptions.name;
34
- testOptions.verbose = true;
35
- });
36
-
37
- describe('[Rule] deleteEmptyLifecyleHooksInTsFiles', () => {
38
- it('Sollte die leeren Lifecycle-Hooks (vollständiger Import) entfernen', (done) => {
39
- appTree.create(
40
- testOptions.path + '/src/app/test.component.ts',
41
- `
42
- import { Component, OnInit } from '@angular/core';
43
-
44
- @Component({
45
- selector : 'bp-anbindung-lazy',
46
- templateUrl: './anbindung-lazy.component.html'
47
- })
48
- export class AnbindungLazyComponent implements OnInit {
49
-
50
- constructor() {
51
- }
52
-
53
- ngOnInit() {
54
- }
55
-
56
- }
57
-
58
- `
59
- );
60
-
61
- callRule(deleteEmptyLifecyleHooksInTsFiles(testOptions), observableOf(appTree), context).subscribe(
62
- (success) => {
63
- const content = success.read(testOptions.path + '/src/app/test.component.ts')?.toString();
64
-
65
- expect(content).toContain('import { Component } from \'@angular/core\';');
66
- expect(content).toContain('export class AnbindungLazyComponent {');
67
- expect(content).not.toContain('ngOnInit');
68
-
69
- done();
70
- },
71
- (reason) => expect(reason).toBeUndefined()
72
- );
73
- });
74
-
75
- it('Sollte die leeren Lifecycle-Hooks (fehlender Import) entfernen', (done) => {
76
- appTree.create(
77
- testOptions.path + '/src/app/test.component.ts',
78
- `
79
- import { Component, OnChanges } from '@angular/core';
80
-
81
- @Component({
82
- selector : 'bp-anbindung-lazy',
83
- templateUrl: './anbindung-lazy.component.html'
84
- })
85
- export class AnbindungLazyComponent implements OnInit, OnChanges {
86
-
87
- constructor() {
88
- }
89
-
90
- ngOnInit() {
91
- }
92
-
93
- ngOnChanges() {}
94
-
95
- }
96
-
97
- `
98
- );
99
-
100
- callRule(deleteEmptyLifecyleHooksInTsFiles(testOptions), observableOf(appTree), context).subscribe(
101
- (success) => {
102
- const content = success.read(testOptions.path + '/src/app/test.component.ts')?.toString();
103
-
104
- expect(content).toContain('import { Component } from \'@angular/core\';');
105
- expect(content).toContain('export class AnbindungLazyComponent {');
106
- expect(content).not.toContain('ngOnInit');
107
- expect(content).not.toContain('ngOnChanges');
108
-
109
- done();
110
- },
111
- (reason) => expect(reason).toBeUndefined()
112
- );
113
- });
114
-
115
- it('Sollte die leeren Lifecycle-Hooks (einziger Import) entfernen', (done) => {
116
- appTree.create(
117
- testOptions.path + '/src/app/test.component.ts',
118
- `
119
- import { Aaa, OnInit, Bbb } from '@angular/core';
120
-
121
- @Component({
122
- selector : 'bp-anbindung-lazy',
123
- templateUrl: './anbindung-lazy.component.html'
124
- })
125
- export class AnbindungLazyComponent implements Aaa,OnInit, Bbb {
126
-
127
- constructor() {
128
- }
129
-
130
- ngOnInit() {
131
- }
132
-
133
- }
134
-
135
- `
136
- );
137
-
138
- callRule(deleteEmptyLifecyleHooksInTsFiles(testOptions), observableOf(appTree), context).subscribe(
139
- (success) => {
140
- const content = success.read(testOptions.path + '/src/app/test.component.ts')?.toString();
141
-
142
- expect(content).toContain('import { Aaa, Bbb } from \'@angular/core\';');
143
- expect(content).toContain('export class AnbindungLazyComponent implements Aaa, Bbb {');
144
- expect(content).not.toContain('ngOnInit');
145
-
146
- done();
147
- },
148
- (reason) => expect(reason).toBeUndefined()
149
- );
150
- });
151
- });
152
- });
@@ -1,23 +0,0 @@
1
- {
2
- "$schema": "http://json-schema.org/schema",
3
- "id": "migrateToTsLint",
4
- "title": "Bereitet das LUX-Componentsprojekt für die Migration auf ES-Lint vor",
5
- "type": "object",
6
- "description": "Aktualisiert die Abhängigkeiten im LUX-Componentsprojekt",
7
- "properties": {
8
- "project": {
9
- "type": "string",
10
- "description": "Der Projektname",
11
- "$default": {
12
- "$source": "projectName"
13
- }
14
- },
15
- "verbose": {
16
- "type": "boolean",
17
- "description": "Generiert mehr Logausgaben",
18
- "default": false
19
- }
20
- },
21
- "required": [],
22
- "additionalProperties": false
23
- }
@@ -1,10 +0,0 @@
1
- import { Rule } from '@angular-devkit/schematics';
2
- export declare function migrateToWebcomponent(options: any): Rule;
3
- export declare function updateAppComponent(options: any): Rule;
4
- export declare function updatePackageJson(options: any): Rule;
5
- export declare function updateAppRoutingModule(options: any): Rule;
6
- export declare function updateAngularJson(options: any): Rule;
7
- export declare function updateAppModule(options: any): Rule;
8
- export declare function updateIndexHtml(options: any): Rule;
9
- export declare function createWebpackConfigJs(options: any): Rule;
10
- export declare function updateAppComponentHtml(options: any): Rule;
@@ -1,278 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateAppComponentHtml = exports.createWebpackConfigJs = exports.updateIndexHtml = exports.updateAppModule = exports.updateAngularJson = exports.updateAppRoutingModule = exports.updatePackageJson = exports.updateAppComponent = exports.migrateToWebcomponent = void 0;
4
- const schematics_1 = require("@angular-devkit/schematics");
5
- const jsonc_parser_1 = require("jsonc-parser");
6
- const ts = require("typescript");
7
- const files_1 = require("../utility/files");
8
- const html_1 = require("../utility/html");
9
- const json_1 = require("../utility/json");
10
- const logging_1 = require("../utility/logging");
11
- const typescript_1 = require("../utility/typescript");
12
- const util_1 = require("../utility/util");
13
- function migrateToWebcomponent(options) {
14
- return schematics_1.chain([
15
- util_1.messageInfoRule(`LUX-Componentsprojekt wird zur Web Component umgebaut...`),
16
- updateAppComponent(options),
17
- updatePackageJson(options),
18
- updateAngularJson(options),
19
- updateAppRoutingModule(options),
20
- updateAppComponentHtml(options),
21
- createWebpackConfigJs(options),
22
- updateIndexHtml(options),
23
- updateAppModule(options),
24
- util_1.messageSuccessRule(`LUX-Componentsprojekt wurde zur Web Component umgebaut.`),
25
- util_1.finish()
26
- ]);
27
- }
28
- exports.migrateToWebcomponent = migrateToWebcomponent;
29
- function updateAppComponent(options) {
30
- return schematics_1.chain([
31
- util_1.messageInfoRule(`AppComponent wird aktualisiert...`),
32
- (tree, context) => {
33
- // Init
34
- const filePath = (options.path ? options.path : '') + '/src/app/app.component.ts';
35
- typescript_1.addImport(tree, filePath, '@ihk-gfi/lux-components', 'LuxAppService');
36
- typescript_1.addImport(tree, filePath, '@angular/core', 'ElementRef');
37
- typescript_1.addImport(tree, filePath, '@angular/core', 'Input');
38
- typescript_1.addConstructorParameter(tree, filePath, `private elementRef: ElementRef`);
39
- typescript_1.addConstructorParameter(tree, filePath, `private appService: LuxAppService`);
40
- typescript_1.addConstructorContent(tree, filePath, 'this.appService.appEl = elementRef.nativeElement;', false);
41
- typescript_1.addConstructorContent(tree, filePath, 'router.initialNavigation();', true);
42
- typescript_1.addClassProperty(tree, filePath, '@Input() luxAppHeader: \'normal\' | \'minimal\' | \'none\' = \'normal\';');
43
- typescript_1.addClassProperty(tree, filePath, '@Input() luxAppFooter: \'normal\' | \'minimal\' | \'none\' = \'normal\';');
44
- typescript_1.addClassProperty(tree, filePath, '@Input() luxMode: \'stand-alone\' | \'portal\' = \'stand-alone\';');
45
- },
46
- util_1.messageSuccessRule(`AppComponent wurde aktualisiert.`)
47
- ]);
48
- }
49
- exports.updateAppComponent = updateAppComponent;
50
- function updatePackageJson(options) {
51
- return schematics_1.chain([
52
- util_1.messageInfoRule(`Die Datei "package.json" wird angepasst...`),
53
- (tree, _context) => {
54
- const filePath = `/package.json`;
55
- const newValuesArr = [
56
- { path: ['scripts', 'build-aot'], value: "ng lint --fix", message: `Skript "build-aot" aktualisiert.` },
57
- { path: ['scripts', 'buildzentral'], value: "ng lint --fix", message: `Skript "buildzentral" aktualisiert.` },
58
- { path: ['dependencies', '@webcomponents/webcomponentsjs'], value: "2.5.0", message: `Unter "dependencies" "@webcomponents/webcomponentsjs" hinzugefügt.` },
59
- { path: ['dependencies', 'ngx-build-plus'], value: "^11.0.0", message: `Unter "dependencies" "ngx-build-plus" hinzugefügt.` },
60
- { path: ['devDependencies', '@angular/elements'], value: "11.2.14", message: `Unter "devDependencies" "@angular/elements" hinzugefügt.` },
61
- { path: ['devDependencies', 'replace-in-file'], value: "6.2.0", message: `Unter "devDependencies" "replace-in-file" hinzugefügt.` }
62
- ];
63
- const packageJsonAsNode = json_1.readJson(tree, filePath);
64
- const buildAotScriptNode = jsonc_parser_1.findNodeAtLocation(packageJsonAsNode, ['scripts', 'build-aot']);
65
- if (buildAotScriptNode) {
66
- newValuesArr.push({
67
- path: ['scripts', 'build-aot'],
68
- value: json_1.appendScript(buildAotScriptNode.value, ' --single-bundle --output-hashing none'),
69
- message: `Das Skript "build-aot" angepasst.`
70
- });
71
- }
72
- else {
73
- newValuesArr.push({
74
- path: ['scripts', 'build-aot'],
75
- value: 'node --max_old_space_size=4024 ./node_modules/@angular/cli/bin/ng build --aot --single-bundle --output-hashing none && npm run move-de-files',
76
- message: `Das neue Skript "build-aot" hinzugefügt.`
77
- });
78
- }
79
- const buildZentralScriptNode = jsonc_parser_1.findNodeAtLocation(packageJsonAsNode, ['scripts', 'buildzentral']);
80
- if (buildZentralScriptNode) {
81
- newValuesArr.push({
82
- path: ['scripts', 'buildzentral'],
83
- value: json_1.appendScript(buildZentralScriptNode.value, ' --single-bundle --output-hashing none --plugin @ihk-gfi/lux-components/ie11-lazy-modules-plugin.js'),
84
- message: `Das Skript "buildzentral" angepasst.`
85
- });
86
- }
87
- else {
88
- newValuesArr.push({
89
- path: ['scripts', 'buildzentral'],
90
- value: 'node --max_old_space_size=4024 ./node_modules/@angular/cli/bin/ng build --prod --single-bundle --output-hashing none --plugin @ihk-gfi/lux-components/ie11-lazy-modules-plugin.js && npm run move-de-files',
91
- message: `Das neue Skript "buildzentral" hinzugefügt.`
92
- });
93
- }
94
- newValuesArr.forEach(change => {
95
- const tsConfigJson = json_1.readJsonAsString(tree, filePath);
96
- const edits = jsonc_parser_1.modify(tsConfigJson, change.path, change.value, { formattingOptions: json_1.jsonFormattingOptions });
97
- tree.overwrite(filePath, jsonc_parser_1.applyEdits(tsConfigJson, edits));
98
- logging_1.logInfo(change.message);
99
- });
100
- return tree;
101
- },
102
- util_1.messageSuccessRule(`Die Datei "package.json" wurde angepasst.`)
103
- ]);
104
- }
105
- exports.updatePackageJson = updatePackageJson;
106
- function updateAppRoutingModule(options) {
107
- return schematics_1.chain([
108
- util_1.messageInfoRule(`Die Datei "app-routing.module.ts" wird angepasst...`),
109
- (tree, context) => {
110
- files_1.iterateFilesAndModifyContent(tree, options.path, (filePath, content) => {
111
- let modifiedContent = content;
112
- modifiedContent = modifiedContent.replace(/import\('app\//g, 'import(\'./');
113
- modifiedContent = modifiedContent.replace(/import\("app\//g, 'import("./');
114
- if (content !== modifiedContent) {
115
- tree.overwrite(filePath, modifiedContent);
116
- logging_1.logInfo(`Lazy-Importe angepasst.`);
117
- }
118
- }, 'app-routing.module.ts');
119
- },
120
- util_1.messageSuccessRule(`Die Datei "app-routing.module.ts" wurde angepasst.`)
121
- ]);
122
- }
123
- exports.updateAppRoutingModule = updateAppRoutingModule;
124
- function updateAngularJson(options) {
125
- return schematics_1.chain([
126
- util_1.messageInfoRule(`Die Datei "angular.json" wird angepasst...`),
127
- (tree, _context) => {
128
- const filePath = `/angular.json`;
129
- const newValuesArr = [
130
- {
131
- path: ['projects', options.project, 'architect', 'build', 'options', 'extraWebpackConfig'],
132
- value: 'webpack.config.js',
133
- message: `Der Abschnitt "extraWebpackConfig" wurde hinzugefügt.`,
134
- options: { formattingOptions: json_1.jsonFormattingOptions }
135
- },
136
- {
137
- path: ['projects', options.project, 'architect', 'build', 'options', 'scripts', 0],
138
- value: {
139
- bundleName: 'polyfill-webcomp-es5',
140
- input: 'node_modules/@webcomponents/webcomponentsjs/custom-elements-es5-adapter.js'
141
- },
142
- message: `Skript "polyfill-webcomp-es5" wurde hinzugefügt.`,
143
- options: { formattingOptions: json_1.jsonFormattingOptions, isArrayInsertion: true }
144
- },
145
- {
146
- path: ['projects', options.project, 'architect', 'build', 'options', 'scripts', 0],
147
- value: {
148
- "bundleName": "polyfill-webcomp",
149
- "input": "node_modules/@webcomponents/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js"
150
- },
151
- message: `Skript "polyfill-webcomp" wurde hinzugefügt.`,
152
- options: { formattingOptions: json_1.jsonFormattingOptions, isArrayInsertion: true }
153
- }
154
- ];
155
- newValuesArr.forEach(change => {
156
- const tsConfigJson = json_1.readJsonAsString(tree, filePath);
157
- const edits = jsonc_parser_1.modify(tsConfigJson, change.path, change.value, change.options);
158
- tree.overwrite(filePath, jsonc_parser_1.applyEdits(tsConfigJson, edits));
159
- logging_1.logInfo(change.message);
160
- });
161
- const content = tree.read(filePath).toString();
162
- let modifiedContent = content;
163
- modifiedContent = modifiedContent.replace(new RegExp('@angular-devkit/build-angular:browser', 'g'), 'ngx-build-plus:browser');
164
- modifiedContent = modifiedContent.replace(new RegExp('@angular-devkit/build-angular:dev-server', 'g'), 'ngx-build-plus:dev-server');
165
- modifiedContent = modifiedContent.replace(new RegExp('@angular-devkit/build-angular:karma', 'g'), 'ngx-build-plus:karma');
166
- if (content !== modifiedContent) {
167
- tree.overwrite(filePath, modifiedContent);
168
- logging_1.logInfo(`Einträge für den ngx-build-plus hinzugefügt.`);
169
- }
170
- return tree;
171
- },
172
- util_1.messageSuccessRule(`Die Datei "angular.json" wurde angepasst.`)
173
- ]);
174
- }
175
- exports.updateAngularJson = updateAngularJson;
176
- function updateAppModule(options) {
177
- return schematics_1.chain([
178
- util_1.messageInfoRule(`Die Datei "app.module.ts" wird angepasst...`),
179
- (tree, context) => {
180
- const filePath = (options.path ? options.path : '') + `/src/app/app.module.ts`;
181
- typescript_1.addImport(tree, filePath, '@angular/core', 'CUSTOM_ELEMENTS_SCHEMA');
182
- typescript_1.addImport(tree, filePath, '@angular/core', 'DoBootstrap');
183
- typescript_1.addImport(tree, filePath, '@angular/core', 'Injector');
184
- typescript_1.addImport(tree, filePath, '@angular/elements', 'createCustomElement');
185
- typescript_1.addInterface(tree, filePath, 'DoBootstrap');
186
- const service = `private injector: Injector`;
187
- typescript_1.addConstructorParameter(tree, filePath, service);
188
- typescript_1.addMethod(tree, filePath, typescript_1.getSyntaxListOfClass(tree, filePath), `
189
- ngDoBootstrap() {
190
- const ce = createCustomElement(AppComponent, { injector: this.injector });
191
- customElements.define('${getWebComponentTagName(options.project)}', ce);
192
- }`);
193
- logging_1.logInfo(`ngDoBootstrap() {...} hinzugefügt.`);
194
- const content = tree.read(filePath).toString();
195
- const fileName = filePath.substring(filePath.lastIndexOf('/') + 1, filePath.length);
196
- const sourceFile = ts.createSourceFile(`${fileName}`, content, ts.ScriptTarget.Latest, true);
197
- const nodes = typescript_1.getSourceNodes(sourceFile);
198
- const bootstrap = nodes.find((n) => n.kind === ts.SyntaxKind.Identifier && n.getText() === 'bootstrap');
199
- if (bootstrap) {
200
- const updateRecorder = tree.beginUpdate(filePath);
201
- updateRecorder.remove(bootstrap.parent.pos, bootstrap.parent.end - bootstrap.parent.pos);
202
- updateRecorder.insertLeft(bootstrap.parent.pos, `\n schemas: [CUSTOM_ELEMENTS_SCHEMA]`);
203
- tree.commitUpdate(updateRecorder);
204
- logging_1.logInfo(`bootstrap: [...] entfernt.`);
205
- logging_1.logInfo(`schemas: [CUSTOM_ELEMENTS_SCHEMA] hinzugefügt.`);
206
- }
207
- },
208
- util_1.messageSuccessRule(`Die Datei "app.module.ts" wurde angepasst.`)
209
- ]);
210
- }
211
- exports.updateAppModule = updateAppModule;
212
- function updateIndexHtml(options) {
213
- return schematics_1.chain([
214
- util_1.messageInfoRule(`Die Datei "index.html" wird angepasst...`),
215
- (tree, context) => {
216
- let tagName = getWebComponentTagName(options.project);
217
- const filePath = 'src/index.html';
218
- const content = tree.read(filePath).toString();
219
- const modifiedContent = content.replace(/app-root/g, tagName);
220
- tree.overwrite(filePath, modifiedContent);
221
- logging_1.logInfo(`Das Tag "app-root" wurde umbenannt in "${tagName}".`);
222
- },
223
- util_1.messageSuccessRule(`Die Datei "index.html" wurde angepasst.`)
224
- ]);
225
- }
226
- exports.updateIndexHtml = updateIndexHtml;
227
- function createWebpackConfigJs(options) {
228
- return schematics_1.chain([
229
- util_1.messageInfoRule(`Die Datei "webpack.config.js" wird angelegt...`),
230
- (tree, context) => {
231
- let functionName = options.project;
232
- functionName = functionName.replace('-', '');
233
- functionName = functionName.replace('_', '');
234
- functionName = functionName.substring(0, 1).toUpperCase() + functionName.substring(1);
235
- tree.create('webpack.config.js', `
236
- module.exports = {
237
- output: {
238
- jsonpFunction: 'jsonpFunction${functionName}'
239
- }
240
- };
241
-
242
- `);
243
- },
244
- util_1.messageSuccessRule(`Die Datei "webpack.config.js" wurde angelegt.`)
245
- ]);
246
- }
247
- exports.createWebpackConfigJs = createWebpackConfigJs;
248
- function updateAppComponentHtml(options) {
249
- return schematics_1.chain([
250
- util_1.messageInfoRule(`Die Datei "app.component.html" wird angepasst...`),
251
- (tree, context) => {
252
- files_1.iterateFilesAndModifyContent(tree, options.path, (filePath, content) => {
253
- let result = html_1.addAttribute(content, 'lux-app-header', "*ngIf", 'this.luxAppHeader !== \'none\'');
254
- result = html_1.appendAttribute(result.content, 'lux-app-header-right-nav', "*ngIf", ' && luxMode === \'stand-alone\'');
255
- result = html_1.addAttribute(result.content, 'lux-app-footer', "*ngIf", 'this.luxAppFooter !== \'none\'');
256
- tree.overwrite(filePath, result.content);
257
- logging_1.logInfo('Im "lux-app-header" das folgende Attribut *ngIf="this.luxAppHeader !== \'none\'" ergänzt.');
258
- logging_1.logInfo('Im "lux-app-header-right-nav" den Wert " && luxMode === \'stand-alone\'" an das Attribut "*ngIf" angehangen.');
259
- logging_1.logInfo('Im "lux-app-footer" das folgende Attribut *ngIf="this.luxAppFooter !== \'none\'" ergänzt.');
260
- }, 'app.component.html');
261
- },
262
- util_1.messageSuccessRule(`Die Datei "app.component.html" wurde angepasst.`)
263
- ]);
264
- }
265
- exports.updateAppComponentHtml = updateAppComponentHtml;
266
- function getWebComponentTagName(projectName) {
267
- let tagName = projectName;
268
- tagName = tagName.replace(/[^a-z]/gi, '');
269
- tagName = tagName.toLowerCase();
270
- if (tagName.startsWith('lux')) {
271
- tagName = tagName.replace(/lux/i, 'lux-');
272
- }
273
- else {
274
- tagName = 'lux-' + tagName;
275
- }
276
- return tagName;
277
- }
278
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}