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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) hide show
  1. package/README.md +4 -2
  2. package/add-lux-components/files/app/app.component.html +34 -0
  3. package/{src/add-lux-components → add-lux-components}/files/app/app.component.spec.ts +4 -2
  4. package/{src/add-lux-components → add-lux-components}/files/app/app.component.ts +1 -1
  5. package/add-lux-components/files/src/main.ts +17 -0
  6. package/{src/add-lux-components → add-lux-components}/index.js +29 -30
  7. package/add-lux-components/schema.json +23 -0
  8. package/collection.json +35 -0
  9. package/package.json +27 -27
  10. package/{src/theme → theme}/change-theme-to-authentic/index.js +0 -1
  11. package/theme/change-theme-to-authentic/schema.json +23 -0
  12. package/{src/theme → theme}/change-to-lux-icons/index.js +0 -1
  13. package/theme/change-to-lux-icons/schema.json +23 -0
  14. package/{src/update-dependencies → update-dependencies}/index.d.ts +1 -0
  15. package/update-dependencies/index.js +92 -0
  16. package/update-dependencies/schema.json +23 -0
  17. package/{src/update-en-messages → update-en-messages}/index.js +0 -1
  18. package/update-en-messages/schema.json +23 -0
  19. package/updates/15.0.0/index.d.ts +8 -0
  20. package/updates/15.0.0/index.js +109 -0
  21. package/updates/15.0.0/schema.json +23 -0
  22. package/{src/utility → utility}/dependencies.js +0 -1
  23. package/{src/utility → utility}/files.js +0 -1
  24. package/{src/utility → utility}/html/hit.js +0 -1
  25. package/{src/utility → utility}/html/html-manipulator.js +0 -1
  26. package/{src/utility → utility}/html/manipulator-functions.js +0 -1
  27. package/{src/utility → utility}/json.d.ts +2 -0
  28. package/{src/utility → utility}/json.js +16 -8
  29. package/{src/utility → utility}/logging.js +0 -1
  30. package/{src/utility → utility}/test.js +0 -1
  31. package/{src/utility → utility}/typescript.js +0 -1
  32. package/{src/utility → utility}/util.js +0 -1
  33. package/{src/utility → utility}/validation.js +0 -1
  34. package/src/add-lux-components/files/app/app.component.html +0 -32
  35. package/src/add-lux-components/files/app/base/license-hint/license-hint.component.html +0 -7
  36. package/src/add-lux-components/files/app/base/license-hint/license-hint.component.ts +0 -18
  37. package/src/add-lux-components/files/app/error/error.component.html +0 -10
  38. package/src/add-lux-components/files/app/error/error.component.scss +0 -3
  39. package/src/add-lux-components/files/app/error/error.component.spec.ts +0 -49
  40. package/src/add-lux-components/files/app/error/error.component.ts +0 -17
  41. package/src/add-lux-components/files/app/home/home.component.html +0 -7
  42. package/src/add-lux-components/files/app/home/home.component.scss +0 -3
  43. package/src/add-lux-components/files/app/home/home.component.ts +0 -13
  44. package/src/add-lux-components/files/app/profil/profil.component.html +0 -1
  45. package/src/add-lux-components/files/app/profil/profil.component.scss +0 -0
  46. package/src/add-lux-components/files/app/profil/profil.component.spec.ts +0 -24
  47. package/src/add-lux-components/files/app/profil/profil.component.ts +0 -11
  48. package/src/add-lux-components/files/assets/svg/Example.svg +0 -6
  49. package/src/add-lux-components/files/assets/svg/android.svg +0 -2
  50. package/src/add-lux-components/files/assets/svg/box.svg +0 -690
  51. package/src/add-lux-components/files/assets/svg/demoAppLogo.svg +0 -1
  52. package/src/add-lux-components/files/assets/svg/red_power_button.svg +0 -67
  53. package/src/add-lux-components/files/assets/svg/svg2009.svg +0 -57457
  54. package/src/add-lux-components/files/src/polyfills.ts +0 -58
  55. package/src/add-lux-components/index.js.map +0 -1
  56. package/src/add-lux-components/index.ts +0 -293
  57. package/src/add-lux-components/index_spec.d.ts +0 -1
  58. package/src/add-lux-components/index_spec.js +0 -51
  59. package/src/add-lux-components/index_spec.js.map +0 -1
  60. package/src/add-lux-components/index_spec.ts +0 -55
  61. package/src/add-lux-components/schema.json +0 -23
  62. package/src/collection.json +0 -70
  63. package/src/theme/change-theme-to-authentic/index.js.map +0 -1
  64. package/src/theme/change-theme-to-authentic/index.ts +0 -131
  65. package/src/theme/change-theme-to-authentic/index_spec.d.ts +0 -1
  66. package/src/theme/change-theme-to-authentic/index_spec.js +0 -300
  67. package/src/theme/change-theme-to-authentic/index_spec.js.map +0 -1
  68. package/src/theme/change-theme-to-authentic/index_spec.ts +0 -321
  69. package/src/theme/change-theme-to-authentic/schema.json +0 -23
  70. package/src/theme/change-to-lux-icons/index.js.map +0 -1
  71. package/src/theme/change-to-lux-icons/index.ts +0 -392
  72. package/src/theme/change-to-lux-icons/index_spec.d.ts +0 -1
  73. package/src/theme/change-to-lux-icons/index_spec.js +0 -128
  74. package/src/theme/change-to-lux-icons/index_spec.js.map +0 -1
  75. package/src/theme/change-to-lux-icons/index_spec.ts +0 -130
  76. package/src/theme/change-to-lux-icons/schema.json +0 -23
  77. package/src/update-dependencies/index.js +0 -88
  78. package/src/update-dependencies/index.js.map +0 -1
  79. package/src/update-dependencies/index.ts +0 -86
  80. package/src/update-dependencies/schema.json +0 -23
  81. package/src/update-en-messages/index.js.map +0 -1
  82. package/src/update-en-messages/index.ts +0 -83
  83. package/src/update-en-messages/index_spec.d.ts +0 -1
  84. package/src/update-en-messages/index_spec.js +0 -174
  85. package/src/update-en-messages/index_spec.js.map +0 -1
  86. package/src/update-en-messages/index_spec.ts +0 -182
  87. package/src/update-en-messages/schema.json +0 -23
  88. package/src/updates/update140000/files/src/polyfills.ts +0 -70
  89. package/src/updates/update140000/index.d.ts +0 -14
  90. package/src/updates/update140000/index.js +0 -95
  91. package/src/updates/update140000/index.js.map +0 -1
  92. package/src/updates/update140000/index.ts +0 -110
  93. package/src/updates/update140000/index_spec.d.ts +0 -1
  94. package/src/updates/update140000/index_spec.js +0 -165
  95. package/src/updates/update140000/index_spec.js.map +0 -1
  96. package/src/updates/update140000/index_spec.ts +0 -171
  97. package/src/updates/update140000/schema.json +0 -23
  98. package/src/updates/update140100/index.d.ts +0 -5
  99. package/src/updates/update140100/index.js +0 -62
  100. package/src/updates/update140100/index.js.map +0 -1
  101. package/src/updates/update140100/index.ts +0 -60
  102. package/src/updates/update140100/index_spec.d.ts +0 -1
  103. package/src/updates/update140100/index_spec.js +0 -124
  104. package/src/updates/update140100/index_spec.js.map +0 -1
  105. package/src/updates/update140100/index_spec.ts +0 -137
  106. package/src/updates/update140100/schema.json +0 -23
  107. package/src/updates/update140200/index.d.ts +0 -8
  108. package/src/updates/update140200/index.js +0 -40
  109. package/src/updates/update140200/index.js.map +0 -1
  110. package/src/updates/update140200/index.ts +0 -38
  111. package/src/updates/update140200/index_spec.d.ts +0 -1
  112. package/src/updates/update140200/index_spec.js +0 -75
  113. package/src/updates/update140200/index_spec.js.map +0 -1
  114. package/src/updates/update140200/index_spec.ts +0 -81
  115. package/src/updates/update140200/schema.json +0 -23
  116. package/src/updates/update140300/index.d.ts +0 -10
  117. package/src/updates/update140300/index.js +0 -85
  118. package/src/updates/update140300/index.js.map +0 -1
  119. package/src/updates/update140300/index.ts +0 -86
  120. package/src/updates/update140300/index_spec.d.ts +0 -1
  121. package/src/updates/update140300/index_spec.js +0 -145
  122. package/src/updates/update140300/index_spec.js.map +0 -1
  123. package/src/updates/update140300/index_spec.ts +0 -177
  124. package/src/updates/update140300/schema.json +0 -23
  125. package/src/updates/update140400/index.d.ts +0 -2
  126. package/src/updates/update140400/index.js +0 -22
  127. package/src/updates/update140400/index.js.map +0 -1
  128. package/src/updates/update140400/index.ts +0 -18
  129. package/src/updates/update140400/index_spec.d.ts +0 -1
  130. package/src/updates/update140400/index_spec.js +0 -75
  131. package/src/updates/update140400/index_spec.js.map +0 -1
  132. package/src/updates/update140400/index_spec.ts +0 -81
  133. package/src/updates/update140400/schema.json +0 -23
  134. package/src/updates/update140500/index.d.ts +0 -2
  135. package/src/updates/update140500/index.js +0 -21
  136. package/src/updates/update140500/index.js.map +0 -1
  137. package/src/updates/update140500/index.ts +0 -17
  138. package/src/updates/update140500/index_spec.d.ts +0 -1
  139. package/src/updates/update140500/index_spec.js +0 -73
  140. package/src/updates/update140500/index_spec.js.map +0 -1
  141. package/src/updates/update140500/index_spec.ts +0 -78
  142. package/src/updates/update140500/schema.json +0 -23
  143. package/src/updates/update140600/index.d.ts +0 -2
  144. package/src/updates/update140600/index.js +0 -39
  145. package/src/updates/update140600/index.js.map +0 -1
  146. package/src/updates/update140600/index.ts +0 -35
  147. package/src/updates/update140600/index_spec.d.ts +0 -1
  148. package/src/updates/update140600/index_spec.js +0 -71
  149. package/src/updates/update140600/index_spec.js.map +0 -1
  150. package/src/updates/update140600/index_spec.ts +0 -75
  151. package/src/updates/update140600/schema.json +0 -23
  152. package/src/updates/update140700/index.d.ts +0 -2
  153. package/src/updates/update140700/index.js +0 -22
  154. package/src/updates/update140700/index.js.map +0 -1
  155. package/src/updates/update140700/index.ts +0 -18
  156. package/src/updates/update140700/index_spec.d.ts +0 -1
  157. package/src/updates/update140700/index_spec.js +0 -75
  158. package/src/updates/update140700/index_spec.js.map +0 -1
  159. package/src/updates/update140700/index_spec.ts +0 -79
  160. package/src/updates/update140700/schema.json +0 -23
  161. package/src/utility/dependencies.js.map +0 -1
  162. package/src/utility/dependencies.ts +0 -144
  163. package/src/utility/files.js.map +0 -1
  164. package/src/utility/files.ts +0 -368
  165. package/src/utility/html/hit.js.map +0 -1
  166. package/src/utility/html/hit.ts +0 -28
  167. package/src/utility/html/html-manipulator.js.map +0 -1
  168. package/src/utility/html/html-manipulator.ts +0 -156
  169. package/src/utility/html/html_spec.d.ts +0 -1
  170. package/src/utility/html/html_spec.js +0 -692
  171. package/src/utility/html/html_spec.js.map +0 -1
  172. package/src/utility/html/html_spec.ts +0 -751
  173. package/src/utility/html/manipulator-functions.js.map +0 -1
  174. package/src/utility/html/manipulator-functions.ts +0 -149
  175. package/src/utility/json.js.map +0 -1
  176. package/src/utility/json.ts +0 -288
  177. package/src/utility/json_spec.d.ts +0 -1
  178. package/src/utility/json_spec.js +0 -326
  179. package/src/utility/json_spec.js.map +0 -1
  180. package/src/utility/json_spec.ts +0 -446
  181. package/src/utility/logging.js.map +0 -1
  182. package/src/utility/logging.ts +0 -80
  183. package/src/utility/test.js.map +0 -1
  184. package/src/utility/test.ts +0 -24
  185. package/src/utility/typescript.js.map +0 -1
  186. package/src/utility/typescript.ts +0 -598
  187. package/src/utility/typescript_spec.d.ts +0 -1
  188. package/src/utility/typescript_spec.js +0 -1005
  189. package/src/utility/typescript_spec.js.map +0 -1
  190. package/src/utility/typescript_spec.ts +0 -1265
  191. package/src/utility/util.js.map +0 -1
  192. package/src/utility/util.ts +0 -145
  193. package/src/utility/validation.js.map +0 -1
  194. package/src/utility/validation.ts +0 -48
  195. package/tsconfig.json +0 -35
  196. /package/{src/add-lux-components → add-lux-components}/files/app/app-routing.module.ts +0 -0
  197. /package/{src/add-lux-components → add-lux-components}/files/app/app.module.ts +0 -0
  198. /package/{src/add-lux-components → add-lux-components}/files/environments/environment.prod.ts +0 -0
  199. /package/{src/add-lux-components → add-lux-components}/files/environments/environment.ts +0 -0
  200. /package/{src/add-lux-components → add-lux-components}/files/locale/messages.en.xlf +0 -0
  201. /package/{src/add-lux-components → add-lux-components}/files/locale/messages.xlf +0 -0
  202. /package/{src/add-lux-components → add-lux-components}/files/src/index.html +0 -0
  203. /package/{src/add-lux-components → add-lux-components}/index.d.ts +0 -0
  204. /package/{src/theme → theme}/change-theme-to-authentic/index.d.ts +0 -0
  205. /package/{src/theme → theme}/change-to-lux-icons/index.d.ts +0 -0
  206. /package/{src/update-en-messages → update-en-messages}/index.d.ts +0 -0
  207. /package/{src/utility → utility}/dependencies.d.ts +0 -0
  208. /package/{src/utility → utility}/files.d.ts +0 -0
  209. /package/{src/utility → utility}/html/hit.d.ts +0 -0
  210. /package/{src/utility → utility}/html/html-manipulator.d.ts +0 -0
  211. /package/{src/utility → utility}/html/manipulator-functions.d.ts +0 -0
  212. /package/{src/utility → utility}/logging.d.ts +0 -0
  213. /package/{src/utility → utility}/test.d.ts +0 -0
  214. /package/{src/utility → utility}/typescript.d.ts +0 -0
  215. /package/{src/utility → utility}/util.d.ts +0 -0
  216. /package/{src/utility → utility}/validation.d.ts +0 -0
@@ -1,79 +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 { getPackageJsonDependency } from '../../utility/dependencies';
6
- import { appOptions, workspaceOptions } from '../../utility/test';
7
- import { UtilConfig } from '../../utility/util';
8
- import { update140700 } from './index';
9
-
10
- const collectionPath = path.join(__dirname, '../../collection.json');
11
-
12
- describe('update140700', () => {
13
- let appTree: UnitTestTree;
14
- let runner: SchematicTestRunner;
15
- let context: SchematicContext;
16
-
17
- const testOptions: any = {};
18
-
19
- beforeEach(async () => {
20
- runner = new SchematicTestRunner('schematics', collectionPath);
21
-
22
- appTree = await runner.runExternalSchematicAsync('@schematics/angular', 'workspace', workspaceOptions).toPromise();
23
- appTree = await runner.runExternalSchematicAsync('@schematics/angular', 'application', appOptions, appTree).toPromise();
24
-
25
- UtilConfig.defaultWaitMS = 0;
26
-
27
- const collection = runner.engine.createCollection(collectionPath);
28
- const schematic = runner.engine.createSchematic('update-14.7.0', collection);
29
- context = runner.engine.createContext(schematic);
30
-
31
- testOptions.project = appOptions.name;
32
- testOptions.path = workspaceOptions.newProjectRoot + '/' + appOptions.name;
33
- testOptions.verbose = true;
34
- });
35
-
36
- describe('[Rule] update140700', () => {
37
- it('Sollte die Abhängigkeiten aktualisieren', (done) => {
38
- appTree.overwrite(
39
- '/package.json',
40
- `
41
- {
42
- "name": "Lorem ipsum",
43
- "version": "0.0.32",
44
- "scripts": {
45
- "build": "tsc -p tsconfig.json",
46
- "test": "npm run build && jasmine src/**/*_spec.js"
47
- },
48
- "dependencies": {
49
- "@angular/animations": "14.3.7",
50
- "@angular/cdk": "14.3.7",
51
- "@angular/common": "14.3.7",
52
- "@ihk-gfi/lux-components": "14.6.0",
53
- "@ihk-gfi/lux-components-theme": "14.6.0",
54
- "@angular/compiler": "14.3.7",
55
- "@ihk-gfi/lux-components-icons-and-fonts": "1.5.0"
56
- },
57
- "devDependencies": {
58
- "@angular-devkit/build-angular": "14.3.5",
59
- "@angular-eslint/builder": "14.2.1"
60
- }
61
- }
62
- `
63
- );
64
-
65
- callRule(update140700(testOptions), observableOf(appTree), context).subscribe(
66
- () => {
67
- expect(getPackageJsonDependency(appTree, '@ihk-gfi/lux-components').version).not.toEqual('14.6.0');
68
- expect(getPackageJsonDependency(appTree, '@ihk-gfi/lux-components').version).toEqual('14.7.0');
69
- expect(getPackageJsonDependency(appTree, '@ihk-gfi/lux-components-theme').version).not.toEqual('14.6.0');
70
- expect(getPackageJsonDependency(appTree, '@ihk-gfi/lux-components-theme').version).toEqual('14.7.0');
71
- expect(getPackageJsonDependency(appTree, '@ihk-gfi/lux-components-icons-and-fonts').version).not.toEqual('1.5.0');
72
- expect(getPackageJsonDependency(appTree, '@ihk-gfi/lux-components-icons-and-fonts').version).toEqual('1.6.0');
73
- done();
74
- },
75
- (reason) => expect(reason).toBeUndefined()
76
- );
77
- });
78
- });
79
- });
@@ -1,23 +0,0 @@
1
- {
2
- "$schema": "http://json-schema.org/schema",
3
- "$id": "luxUpdate140700Schema",
4
- "title": "Aktualisiert das LUX-Componentsprojekt",
5
- "type": "object",
6
- "description": "Aktualisiert das 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 +0,0 @@
1
- {"version":3,"file":"dependencies.js","sourceRoot":"","sources":["dependencies.ts"],"names":[],"mappings":"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"}
@@ -1,144 +0,0 @@
1
- import { SchematicContext, Tree } from '@angular-devkit/schematics';
2
- import * as chalk from 'chalk';
3
- import { applyEdits, findNodeAtLocation, modify } from 'jsonc-parser';
4
- import { deleteLineFromFile } from './files';
5
- import { jsonFormattingOptions, readJson, readJsonAsString } from './json';
6
- import { formattedSchematicsException, logInfo } from './logging';
7
-
8
- export enum NodeDependencyType {
9
- Default = 'dependencies',
10
- Dev = 'devDependencies',
11
- Peer = 'peerDependencies',
12
- Optional = 'optionalDependencies'
13
- }
14
-
15
- export interface NodeDependency {
16
- type: NodeDependencyType;
17
- name: string;
18
- version: string;
19
- }
20
-
21
- /**
22
- * Liefert die Dependency zurück, wenn es sie gibt, undefined sonst.
23
- * @param tree
24
- * @param name
25
- */
26
- export function hasPackageJsonDependency(tree: Tree, name: string): NodeDependency | undefined {
27
- const packageJsonNode = readJson(tree, '/package.json');
28
- let dependency: NodeDependency | undefined = undefined;
29
-
30
- [NodeDependencyType.Default, NodeDependencyType.Dev, NodeDependencyType.Optional, NodeDependencyType.Peer].forEach(
31
- (depType) => {
32
-
33
- let node = findNodeAtLocation(packageJsonNode, [depType.toString(), name]);
34
- if (node) {
35
- dependency = {
36
- type : depType,
37
- name : name,
38
- version: node.value
39
- };
40
- }
41
- }
42
- );
43
-
44
- return dependency;
45
- }
46
-
47
- /**
48
- * Versucht eine Dependency aus der package.json auslesen und gibt diese zurück.
49
- * @param tree
50
- * @param name
51
- */
52
- export function getPackageJsonDependency(tree: Tree, name: string): NodeDependency {
53
- const packageJsonNode = readJson(tree, '/package.json');
54
- let dependency: NodeDependency | null = null;
55
-
56
- [NodeDependencyType.Default, NodeDependencyType.Dev, NodeDependencyType.Optional, NodeDependencyType.Peer].forEach(
57
- (depType) => {
58
-
59
- let node = findNodeAtLocation(packageJsonNode, [depType.toString(), name]);
60
- if (node) {
61
- dependency = {
62
- type : depType,
63
- name : name,
64
- version: node.value
65
- };
66
- }
67
- }
68
- );
69
-
70
- if (dependency) {
71
- return dependency;
72
- } else {
73
- throw formattedSchematicsException(
74
- `Dependency ${name} nicht in der package.json gefunden.`
75
- );
76
- }
77
- }
78
-
79
- /**
80
- * Aktualisiert eine Dependency in der package.json bzw. fügt diese hinzu, falls sie noch nicht vorhanden ist.
81
- * @param tree
82
- * @param name
83
- * @param verion
84
- */
85
- export function updateDependency(tree: Tree, name: string, version: string): void {
86
- updatePackageJsonDependency(tree, { type: NodeDependencyType.Default, name: name, version: version});
87
- }
88
-
89
- /**
90
- * Aktualisiert eine Dependency in der package.json bzw. fügt diese hinzu, falls sie noch nicht vorhanden ist.
91
- * @param tree
92
- * @param name
93
- * @param verion
94
- */
95
- export function updateDependencyDev(tree: Tree, name: string, version: string): void {
96
- updatePackageJsonDependency(tree, { type: NodeDependencyType.Dev, name: name, version: version});
97
- }
98
-
99
- /**
100
- * Aktualisiert eine Dependency in der package.json bzw. fügt diese hinzu, falls sie noch nicht vorhanden ist.
101
- * @param tree
102
- * @param dependency
103
- */
104
- export function updatePackageJsonDependency(tree: Tree, dependency: NodeDependency): void {
105
- const packageJsonAsNode = readJson(tree, '/package.json');
106
- let node = findNodeAtLocation(packageJsonAsNode, [dependency.type.toString(), dependency.name]);
107
- if (node) {
108
- if (node && node.value !== dependency.version) {
109
- logInfo(
110
- `Dependency ` +
111
- chalk.yellowBright(`${ dependency.name }`) +
112
- ` ${ node.value } wird ersetzt durch ${ dependency.version }.`
113
- );
114
- }
115
- } else {
116
- logInfo(
117
- `Dependency ` +
118
- chalk.yellowBright(`${ dependency.name }`) +
119
- ` ${ dependency.version } wird im Abschnitt ${ dependency.type } hinzugefügt.`
120
- );
121
- }
122
-
123
- if (!node || node.value !== dependency.version) {
124
- const packageJonsAsString = readJsonAsString(tree, '/package.json');
125
- const edits = modify(packageJonsAsString, [dependency.type.toString(), dependency.name], dependency.version, { formattingOptions: jsonFormattingOptions});
126
-
127
- if (edits) {
128
- tree.overwrite(
129
- '/package.json',
130
- applyEdits(packageJonsAsString, edits)
131
- );
132
- }
133
- }
134
- }
135
-
136
- export function deletePackageJsonDependency(tree: Tree, context: SchematicContext, dependency: NodeDependency) {
137
- const changed = deleteLineFromFile(tree, context, '/package.json', dependency.name, false);
138
- if (changed) {
139
- logInfo(
140
- `Dependency ` + chalk.yellowBright(`${ dependency.name }`) + ` wurde aus dem Abschnitt ${ dependency.type } gelöscht.`
141
- );
142
- }
143
- }
144
-
@@ -1 +0,0 @@
1
- {"version":3,"file":"files.js","sourceRoot":"","sources":["files.ts"],"names":[],"mappings":"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"}
@@ -1,368 +0,0 @@
1
- import { join, Path, strings } from '@angular-devkit/core';
2
- import {
3
- apply,
4
- DirEntry,
5
- forEach,
6
- MergeStrategy,
7
- mergeWith,
8
- Rule,
9
- SchematicContext,
10
- template,
11
- Tree,
12
- url
13
- } from '@angular-devkit/schematics';
14
- import { logInfo, logInfoWithDescriptor, logSuccess } from './logging';
15
-
16
- /**
17
- * Entfernt eine Zeile aus der Datei, die den searchString beinhaltet.
18
- * Gibt eine Log-Ausgabe aus, wenn die Datei nicht gefunden werden konnte.
19
- * @param tree
20
- * @param context
21
- * @param filePath
22
- * @param searchString
23
- */
24
- export function deleteLineFromFile(tree: Tree, _context: SchematicContext, filePath: string, searchString: string, withLog = true) {
25
- let changed = false;
26
-
27
- const fileContent: Buffer | null = tree.read(filePath);
28
- if (fileContent) {
29
- // String der Datei erhalten
30
- let content: string = fileContent.toString();
31
-
32
- if (content.indexOf(searchString) !== -1) {
33
- // Standard-Separator
34
- let separator = '\r\n';
35
-
36
- // Wenn nicht gefunden, nur \n als Separator nutzen
37
- if (content.indexOf(separator) === -1) {
38
- separator = '\n';
39
- }
40
-
41
- // Alle Zeilen der Datei erhalten
42
- const lines: string[] = content.split(separator);
43
-
44
- // Lines iterieren und nach der dependency suchen
45
- for (let i = 0; i < lines.length; i++) {
46
- // Wenn gefunden, die Zeile entfernen
47
- if (lines[i].indexOf(searchString) > -1) {
48
- content = content.replace(lines[i], '');
49
-
50
- // Sonderbehandlung für die .json-Dateien
51
- // Wenn man aus einem Block die letzte Zeile entfernt,
52
- // muss in der Zeile davor das Komma entfernt werden.
53
- // Beispiel:
54
- // "dependencies": {
55
- // "@angular/common": "9.1.0",
56
- // "lux-components": "1.8.3"
57
- // },
58
- // Entfernt man die Zeile "lux-components...",
59
- // muss das Komma aus der Zeile "@angular/common..." ebenfalls
60
- // entfernt werden, sonst ist dsa Json ungültig.
61
- if (filePath.endsWith('.json') && i + 1 < lines.length) {
62
- if (i > 0 && (lines[i + 1].trim() === '}' || lines[i + 1].trim() === '},')) {
63
- content = content.replace(lines[i - 1], lines[i - 1].substring(0, lines[i - 1].lastIndexOf(',')));
64
- }
65
- }
66
- }
67
- }
68
- // Doppelte Zeilenumbrüche entfernen
69
- content = content.replace(new RegExp('\r\n', 'g'), '\r\n');
70
- content = content.replace(new RegExp('\r\n\r\n', 'g'), '\r\n');
71
-
72
- tree.overwrite(filePath, content);
73
- changed = true;
74
- } else {
75
- if (withLog) {
76
- logInfo(`Die Datei "${ filePath }" enthält den String "${ searchString }" nicht.`);
77
- }
78
- }
79
- } else {
80
- if (withLog) {
81
- logInfo(`Die Datei "${ filePath }" wurde nicht gefunden.`);
82
- }
83
- }
84
-
85
- return changed;
86
- }
87
-
88
- /**
89
- * Schreibt die übergebenen Zeilen in die Datei.
90
- * Wenn die Datei existiert, wird der neue Inhalt am Ende der Datei angehangen.
91
- * Wenn die Datei nicht exitiert, wird diese mit dem Inhalt erstellt.
92
- * @param tree
93
- * @param context
94
- * @param filePath
95
- * @param lines
96
- */
97
- export function writeLinesToFile(tree: Tree, _context: SchematicContext, filePath: string, ...lines: string[]) {
98
- const fileContent: Buffer | null = tree.read(filePath);
99
- let content: string = '';
100
-
101
- lines.forEach((line: string) => {
102
- if (fileContent && fileContent.toString().indexOf(line) === -1) {
103
- content += line + '\r\n';
104
- }
105
- });
106
-
107
- if (fileContent !== null) {
108
- tree.overwrite(filePath, fileContent.toString() + '\r\n' + content);
109
- logInfo(`Überschreibe die Datei "${filePath}".`);
110
- } else {
111
- tree.create(filePath, content);
112
- logInfo(`Erstelle die Datei "${filePath}" und füge Inhalt hinzu.`);
113
- }
114
- }
115
-
116
- /**
117
- * Iteriert über alle Dateien vom Root-Pfad aus.
118
- * Über die filePathEndings lassen sich Einschränkungen bzgl. des Datei-Typs festlegen (z.B. .html).
119
- * Wenn eine Datei die passende Endung und Inhalt hat, wird der Callback mit Pfad und Content aufgerufen.
120
- * @param tree
121
- * @param rootPath
122
- * @param callback(filePath, content)
123
- * @param filePathEndings Z.B. .html, .ts, src/styles.scss,...
124
- */
125
- export function iterateFilesAndModifyContent(
126
- tree: Tree,
127
- rootPath: string = '',
128
- callback: Function,
129
- ...filePathEndings: string[]
130
- ) {
131
- tree.getDir(rootPath).visit((filePath: string) => {
132
- // Ignoriere folende Odner
133
- if (
134
- filePath.startsWith('/node_modules/') ||
135
- filePath.startsWith('/.idea/') ||
136
- filePath.startsWith('/coverage/') ||
137
- filePath.startsWith('/dist/')
138
- ) {
139
- return;
140
- }
141
-
142
- // Endung der Datei mit erlaubten Endungen abgleichen
143
- let modifyFile: boolean = false;
144
- for (let fileEnding of filePathEndings) {
145
- if (filePath.endsWith(fileEnding)) {
146
- modifyFile = true;
147
- break;
148
- }
149
- }
150
- // Besitzt die Datei die richtige Endung?
151
- if (!modifyFile) {
152
- return;
153
- }
154
- // Inhalt auslesen
155
- const content = tree.read(filePath);
156
- // Wenn die Datei keinen Inhalt hat, die nächste Datei aufrufen
157
- if (!content) {
158
- return;
159
- }
160
-
161
- // Callback mit aktuellem Pfad + Inhalt der Datei aufrufen
162
- callback(filePath, content.toString());
163
- });
164
- }
165
-
166
- /**
167
- * Diese Methode ersetzt die angegebene Dateien. Sollten diese nicht existieren, werden sie neu angelegt.
168
- *
169
- * Beispiele:
170
- * moveFilesToDirectory(options, 'files/locale', 'src/locale')
171
- * moveFilesToDirectory(options, 'files/root', '/')
172
- *
173
- * @param options Die Optionen.
174
- * @param sourcePath Ein Quellpfad (z.B. files/theming für alle Dateien unter /theming).
175
- * @param targetPath Ein Zielpfad (z.B. src/theming/).
176
- */
177
- export function moveFilesToDirectory(options: any, sourcePath: string, targetPath: string): Rule {
178
- return (tree: Tree, _context: SchematicContext) => {
179
- if (!targetPath.startsWith('/')) {
180
- targetPath = '/' + targetPath;
181
- }
182
- if (!sourcePath.startsWith('/')) {
183
- sourcePath = '/' + sourcePath;
184
- }
185
-
186
- targetPath = (options.path ? options.path : '') + targetPath;
187
-
188
- const templateSource = apply(url('.' + sourcePath), [
189
- template({
190
- ...strings,
191
- ...options
192
- }),
193
- forEach((file) => {
194
- let newTargetPath = targetPath + file.path;
195
- newTargetPath = newTargetPath.replace('//', '/');
196
-
197
- if (tree.exists(newTargetPath)) {
198
- tree.overwrite(newTargetPath, file.content);
199
- logInfo(`Datei '${newTargetPath}' aktualisiert.`);
200
- } else {
201
- tree.create(newTargetPath, file.content);
202
- logInfo(`Datei '${newTargetPath}' angelegt.`);
203
- }
204
- return null;
205
- })
206
- ]);
207
-
208
- return mergeWith(templateSource, MergeStrategy.Overwrite);
209
- };
210
- }
211
-
212
- /**
213
- * Diese Methode löscht die Dateien in dem angegebenen Ordner.
214
- *
215
- * @param options Die Optionen.
216
- * @param path Der Pfad.
217
- * @param exclude Ein Array mit Dateinamen, die nicht gelöscht werden sollen.
218
- */
219
- export function deleteFilesInDirectory(options: any, path: string, exclude: string[]): Rule {
220
- return (tree: Tree, _context: SchematicContext) => {
221
- if (!path.startsWith('/')) {
222
- path = '/' + path;
223
- }
224
-
225
- if (!path.endsWith('/')) {
226
- path = path + '/';
227
- }
228
-
229
- path = (options.path ? options.path : '') + path;
230
-
231
- const dir = tree.getDir(path);
232
- if (dir) {
233
- dir.subfiles.forEach((filePath) => {
234
- if (!exclude.find((excludeFilePath) => excludeFilePath === filePath)) {
235
- tree.delete(path + filePath);
236
- logInfo(filePath + ' gelöscht.');
237
- }
238
- });
239
- }
240
-
241
- return tree;
242
- };
243
- }
244
-
245
- export function searchInComponentAndModifyModule(
246
- tree: Tree,
247
- rootPath: string,
248
- searchStrings: string[],
249
- callback: Function,
250
- ...filePathEndings: string[]
251
- ) {
252
- tree.getDir(rootPath).visit((filePath: string) => {
253
- // Ignoriere folende Odner
254
- if (
255
- filePath.startsWith('/node_modules/') ||
256
- filePath.startsWith('/.idea/') ||
257
- filePath.startsWith('/coverage/') ||
258
- filePath.startsWith('/dist/') ||
259
- filePath.endsWith('.spec.ts')
260
- ) {
261
- return;
262
- }
263
-
264
- // Endung der Datei mit erlaubten Endungen abgleichen
265
- let modifyFile: boolean = false;
266
- for (let fileEnding of filePathEndings) {
267
- if (filePath.endsWith(fileEnding)) {
268
- modifyFile = true;
269
- break;
270
- }
271
- }
272
- // Besitzt die Datei die richtige Endung?
273
- if (!modifyFile) {
274
- return;
275
- }
276
- // Inhalt auslesen
277
- const content = tree.read(filePath);
278
- // Wenn die Datei keinen Inhalt hat, die nächste Datei aufrufen
279
- if (!content) {
280
- return;
281
- }
282
-
283
- let foundSearchString: string = '';
284
- searchStrings.forEach((searchString: string) => {
285
- if (!foundSearchString && content.toString().indexOf(searchString) > -1) {
286
- foundSearchString = searchString;
287
- }
288
- });
289
-
290
- if (!foundSearchString) {
291
- return;
292
- }
293
-
294
- // den Ordner der gefundenen Datei nehmen
295
- const fileDir = filePath.substring(0, filePath.lastIndexOf('/'));
296
- const modulePath: Path = findModule(tree, fileDir);
297
- let moduleContent = tree.read(modulePath);
298
- if (moduleContent) {
299
- // Callback mit aktuellem Pfad + Inhalt der Datei aufrufen
300
- callback(modulePath, moduleContent.toString());
301
- }
302
- });
303
- }
304
-
305
- /**
306
- * Function to find the "closest" module to a generated file's path.
307
- *
308
- * Source: https://github.com/angular/angular-cli/blob/master/packages/schematics/angular/utility/find-module.ts
309
- */
310
- export function findModule(
311
- host: Tree,
312
- generateDir: string,
313
- moduleExt = '.module.ts',
314
- routingModuleExt = '-routing.module.ts'
315
- ): Path {
316
- let dir: DirEntry | null = host.getDir('/' + generateDir);
317
- let foundRoutingModule = false;
318
-
319
- while (dir) {
320
- const allMatches = dir.subfiles.filter((p) => p.endsWith(moduleExt));
321
- const filteredMatches = allMatches.filter((p) => !p.endsWith(routingModuleExt));
322
-
323
- foundRoutingModule = foundRoutingModule || allMatches.length !== filteredMatches.length;
324
-
325
- if (filteredMatches.length == 1) {
326
- return join(dir.path, filteredMatches[0]);
327
- } else if (filteredMatches.length > 1) {
328
- throw new Error(
329
- 'More than one module matches. Use skip-import option to skip importing ' +
330
- 'the component into the closest module.'
331
- );
332
- }
333
-
334
- dir = dir.parent;
335
- }
336
-
337
- const errorMsg = foundRoutingModule
338
- ? 'Could not find a non Routing NgModule.' +
339
- `\nModules with suffix '${routingModuleExt}' are strictly reserved for routing.` +
340
- '\nUse the skip-import option to skip importing in NgModule.'
341
- : 'Could not find an NgModule. Use the skip-import option to skip importing in NgModule.';
342
-
343
- throw new Error(errorMsg);
344
- }
345
-
346
- /**
347
- * Löscht die Datei aus dem gegebenen Pfad.
348
- * @param options
349
- * @param targetPath
350
- */
351
- export function deleteFile(options: any, targetPath: string): Rule {
352
- return (tree: Tree, _context: SchematicContext) => {
353
- logInfoWithDescriptor('Lösche Datei ' + targetPath + '.');
354
- if (!targetPath.startsWith('/')) {
355
- targetPath = '/' + targetPath;
356
- }
357
-
358
- targetPath = (options.path ? options.path : '') + targetPath;
359
-
360
- if (tree.exists(targetPath)) {
361
- tree.delete(targetPath);
362
- logSuccess(targetPath + ' erfolgreich gelöscht.');
363
- } else {
364
- logSuccess(targetPath + ' konnte nicht gefunden werden.');
365
- }
366
- return tree;
367
- };
368
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"hit.js","sourceRoot":"","sources":["hit.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,GAAG;IAOd;;;;;;;;;OASG;IACH,YAAY,WAAmB,EAAE,QAAgB,EAAE,cAAsB,EAAE,OAAgB,EAAE,GAAW;QACtG,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAxBD,kBAwBC"}
@@ -1,28 +0,0 @@
1
- /**
2
- * Die {@link Hit}-Klasse repräsentiert einen Treffer, der Anhand des verwendeten Selektors gefunden wurde.
3
- */
4
- export class Hit {
5
- placeholder: string;
6
- selector: string;
7
- row: number;
8
- elementContent: string;
9
- element: Element;
10
-
11
- /**
12
- * Der Konstruktor der {@link Hit}-Klasse.
13
- *
14
- * @param placeholder Der Platzhalter des Treffers. Im Nachgang wird der {@link HtmlManipulator} den Platzhalter des Treffers
15
- * in der HTML-Ausgabe durch den transformierten HTML-Inhalt ersetzen.
16
- * @param selector Der CSS-Selektor.
17
- * @param elementContent Der HTML-Inhalt des Elements und NICHT des gesamten HTML-Templates.
18
- * @param element Das {@link Element}.
19
- * @param row Die Startzeile im HTML-Template.
20
- */
21
- constructor(placeholder: string, selector: string, elementContent: string, element: Element, row: number) {
22
- this.placeholder = placeholder;
23
- this.elementContent = elementContent;
24
- this.row = row;
25
- this.selector = selector;
26
- this.element = element;
27
- }
28
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"html-manipulator.js","sourceRoot":"","sources":["html-manipulator.ts"],"names":[],"mappings":"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"}