@rxap/plugin-angular 19.1.0-dev.8 → 19.1.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 (57) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/GUIDES.md +29 -1
  3. package/package.json +10 -10
  4. package/src/generators/init/coerce-nx-json.d.ts +3 -0
  5. package/src/generators/init/coerce-nx-json.js +78 -0
  6. package/src/generators/init/coerce-nx-json.js.map +1 -0
  7. package/src/generators/init/generator.js +3 -2
  8. package/src/generators/init/generator.js.map +1 -1
  9. package/src/generators/init/schema.d.ts +1 -0
  10. package/src/generators/init/schema.json +4 -0
  11. package/src/generators/init-application/assert-main-statements.d.ts +4 -0
  12. package/src/generators/init-application/assert-main-statements.js +76 -0
  13. package/src/generators/init-application/assert-main-statements.js.map +1 -0
  14. package/src/generators/init-application/cleanup.d.ts +3 -0
  15. package/src/generators/init-application/cleanup.js +109 -0
  16. package/src/generators/init-application/cleanup.js.map +1 -0
  17. package/src/generators/init-application/coerce-environment-files.d.ts +5 -0
  18. package/src/generators/init-application/coerce-environment-files.js +76 -0
  19. package/src/generators/init-application/coerce-environment-files.js.map +1 -0
  20. package/src/generators/init-application/coerce-localazy-config-file.d.ts +2 -0
  21. package/src/generators/init-application/coerce-localazy-config-file.js +25 -0
  22. package/src/generators/init-application/coerce-localazy-config-file.js.map +1 -0
  23. package/src/generators/init-application/files/mfe/docker/traefik/dynamic/module-federation.yml +6 -0
  24. package/src/generators/init-application/files/shared/Dockerfile +1 -1
  25. package/src/generators/init-application/generator.js +28 -689
  26. package/src/generators/init-application/generator.js.map +1 -1
  27. package/src/generators/init-application/link-mfe-remote-with-host.d.ts +3 -0
  28. package/src/generators/init-application/link-mfe-remote-with-host.js +53 -0
  29. package/src/generators/init-application/link-mfe-remote-with-host.js.map +1 -0
  30. package/src/generators/init-application/project-i18n-configuration.d.ts +7 -0
  31. package/src/generators/init-application/project-i18n-configuration.js +3 -0
  32. package/src/generators/init-application/project-i18n-configuration.js.map +1 -0
  33. package/src/generators/init-application/schema.json +1 -3
  34. package/src/generators/init-application/update-git-ignore.d.ts +3 -0
  35. package/src/generators/init-application/update-git-ignore.js +18 -0
  36. package/src/generators/init-application/update-git-ignore.js.map +1 -0
  37. package/src/generators/init-application/update-main-file.d.ts +3 -0
  38. package/src/generators/init-application/update-main-file.js +107 -0
  39. package/src/generators/init-application/update-main-file.js.map +1 -0
  40. package/src/generators/init-application/update-project-targets.d.ts +6 -0
  41. package/src/generators/init-application/update-project-targets.js +216 -0
  42. package/src/generators/init-application/update-project-targets.js.map +1 -0
  43. package/src/generators/init-application/update-tags.d.ts +3 -0
  44. package/src/generators/init-application/update-tags.js +26 -0
  45. package/src/generators/init-application/update-tags.js.map +1 -0
  46. package/src/generators/init-application/update-target-defaults.d.ts +3 -0
  47. package/src/generators/init-application/update-target-defaults.js +32 -0
  48. package/src/generators/init-application/update-target-defaults.js.map +1 -0
  49. package/src/generators/init-application/update-ts-config.d.ts +2 -0
  50. package/src/generators/init-application/update-ts-config.js +31 -0
  51. package/src/generators/init-application/update-ts-config.js.map +1 -0
  52. package/src/generators/init-component/generator.js +53 -8
  53. package/src/generators/init-component/generator.js.map +1 -1
  54. package/src/generators/init-component/schema.d.ts +3 -1
  55. package/src/generators/init-component/schema.json +12 -2
  56. package/src/generators/init-library/update-project-targets.js +1 -0
  57. package/src/generators/init-library/update-project-targets.js.map +1 -1
package/CHANGELOG.md CHANGED
@@ -3,6 +3,43 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [19.1.0](https://gitlab.com/rxap/packages/compare/@rxap/plugin-angular@19.1.0-dev.13...@rxap/plugin-angular@19.1.0) (2024-06-18)
7
+
8
+ **Note:** Version bump only for package @rxap/plugin-angular
9
+
10
+ # [19.1.0-dev.13](https://gitlab.com/rxap/packages/compare/@rxap/plugin-angular@19.1.0-dev.12...@rxap/plugin-angular@19.1.0-dev.13) (2024-06-18)
11
+
12
+ ### Bug Fixes
13
+
14
+ - mfe dev routing ([6d14920](https://gitlab.com/rxap/packages/commit/6d149204b5917badd15563c44cbce6125f8a8bf5))
15
+
16
+ # [19.1.0-dev.12](https://gitlab.com/rxap/packages/compare/@rxap/plugin-angular@19.1.0-dev.11...@rxap/plugin-angular@19.1.0-dev.12) (2024-06-18)
17
+
18
+ ### Bug Fixes
19
+
20
+ - ensure the assets folder is copied ([6ce6341](https://gitlab.com/rxap/packages/commit/6ce63415943cb9da63217cf3df2b15c8cd70295d))
21
+ - update default mfe config folder ([8503828](https://gitlab.com/rxap/packages/commit/8503828feea5b3d08d673c29949a323f7b5e04a7))
22
+
23
+ ### Features
24
+
25
+ - support default export ([c1e69c0](https://gitlab.com/rxap/packages/commit/c1e69c0351419e71fb6aad11b182c68a0b2c6a41))
26
+
27
+ # [19.1.0-dev.11](https://gitlab.com/rxap/packages/compare/@rxap/plugin-angular@19.1.0-dev.10...@rxap/plugin-angular@19.1.0-dev.11) (2024-06-18)
28
+
29
+ ### Bug Fixes
30
+
31
+ - add defaults ([2db7304](https://gitlab.com/rxap/packages/commit/2db73049adf2167a5fb61f2c63fbdbe1cb0f5480))
32
+
33
+ # [19.1.0-dev.10](https://gitlab.com/rxap/packages/compare/@rxap/plugin-angular@19.1.0-dev.9...@rxap/plugin-angular@19.1.0-dev.10) (2024-06-18)
34
+
35
+ **Note:** Version bump only for package @rxap/plugin-angular
36
+
37
+ # [19.1.0-dev.9](https://gitlab.com/rxap/packages/compare/@rxap/plugin-angular@19.1.0-dev.8...@rxap/plugin-angular@19.1.0-dev.9) (2024-06-18)
38
+
39
+ ### Bug Fixes
40
+
41
+ - ensure only valid options are stored ([c754404](https://gitlab.com/rxap/packages/commit/c75440438fe03e550dad208b46b378aee888a995))
42
+
6
43
  # [19.1.0-dev.8](https://gitlab.com/rxap/packages/compare/@rxap/plugin-angular@19.1.0-dev.7...@rxap/plugin-angular@19.1.0-dev.8) (2024-06-17)
7
44
 
8
45
  ### Bug Fixes
package/GUIDES.md CHANGED
@@ -25,5 +25,33 @@ nx g @rxap/plugin-angular:init-application \
25
25
  --project user-interface-$NAME \
26
26
  --moduleFederation host \
27
27
  --cleanup \
28
- --generateMain
28
+ --generateMain \
29
+ --overwrite
30
+ ```
31
+
32
+ ### Remote
33
+
34
+ Use the nx generate to create a new module federation remote application:
35
+
36
+ ```bash
37
+ NAME=remote
38
+ nx g @nx/angular:remote \
39
+ --host=user-interface-host \
40
+ --name=user-interface-remote-$NAME \
41
+ --addTailwind \
42
+ --directory user-interface/remote/$NAME \
43
+ --projectNameAndRootFormat as-provided \
44
+ --style scss \
45
+ --tags angular
46
+ ```
47
+
48
+ Initialize the module federation remote application:
49
+
50
+ ```bash
51
+ nx g @rxap/plugin-angular:init-application \
52
+ --project user-interface-remote-$NAME \
53
+ --host user-interface-host \
54
+ --cleanup \
55
+ --generateMain \
56
+ --overwrite
29
57
  ```
package/package.json CHANGED
@@ -1,18 +1,18 @@
1
1
  {
2
- "version": "19.1.0-dev.8",
2
+ "version": "19.1.0",
3
3
  "name": "@rxap/plugin-angular",
4
4
  "license": "GPL-3.0-or-later",
5
5
  "dependencies": {
6
6
  "@nx/angular": "19.1.1",
7
7
  "@nx/devkit": "19.1.1",
8
- "@rxap/plugin-application": "^19.0.3-dev.3",
9
- "@rxap/plugin-library": "^19.2.0-dev.7",
10
- "@rxap/plugin-localazy": "^19.0.2-dev.2",
11
- "@rxap/plugin-utilities": "^19.0.3-dev.3",
12
- "@rxap/ts-morph": "^1.4.0-dev.3",
13
- "@rxap/utilities": "^16.2.3-dev.0",
14
- "@rxap/workspace-ts-morph": "^19.1.0-dev.3",
15
- "@rxap/workspace-utilities": "^19.2.0-dev.7",
8
+ "@rxap/plugin-application": "^19.0.3",
9
+ "@rxap/plugin-library": "^19.2.0",
10
+ "@rxap/plugin-localazy": "^19.0.2",
11
+ "@rxap/plugin-utilities": "^19.0.3",
12
+ "@rxap/ts-morph": "^1.4.0",
13
+ "@rxap/utilities": "^16.2.3",
14
+ "@rxap/workspace-ts-morph": "^19.1.0",
15
+ "@rxap/workspace-utilities": "^19.2.0",
16
16
  "colors": "1.4.0",
17
17
  "nx": "19.1.1",
18
18
  "semver": "7.5.3",
@@ -54,6 +54,6 @@
54
54
  },
55
55
  "schematics": "./generators.json",
56
56
  "type": "commonjs",
57
- "gitHead": "db4d484598e9b11855868d0786e35106fb493cea",
57
+ "gitHead": "d983079aba781cc04989a4ea7948ae5d666dfa24",
58
58
  "main": "./src/index.js"
59
59
  }
@@ -0,0 +1,3 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import { InitGeneratorSchema } from './schema';
3
+ export declare function coerceNxJson(tree: Tree, options: InitGeneratorSchema): void;
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.coerceNxJson = void 0;
4
+ const devkit_1 = require("@nx/devkit");
5
+ const workspace_utilities_1 = require("@rxap/workspace-utilities");
6
+ function coerceNxJson(tree, options) {
7
+ var _a, _b, _c;
8
+ const nxJson = (0, devkit_1.readNxJson)(tree);
9
+ (0, workspace_utilities_1.CoerceNxJsonGenerators)(nxJson, '@nx/angular:application', {
10
+ 'style': 'scss',
11
+ 'linter': 'eslint',
12
+ 'unitTestRunner': 'jest',
13
+ 'e2eTestRunner': 'none',
14
+ 'tags': 'angular,ngx',
15
+ 'prefix': (_a = options.prefix) !== null && _a !== void 0 ? _a : 'rxap',
16
+ 'standalone': true,
17
+ 'addTailwind': true,
18
+ 'routing': true,
19
+ 'directory': `user-interface`,
20
+ });
21
+ (0, workspace_utilities_1.CoerceNxJsonGenerators)(nxJson, '@nx/angular:host', {
22
+ 'style': 'scss',
23
+ 'linter': 'eslint',
24
+ 'unitTestRunner': 'jest',
25
+ 'e2eTestRunner': 'none',
26
+ 'tags': 'angular,ngx',
27
+ 'prefix': (_b = options.prefix) !== null && _b !== void 0 ? _b : 'rxap',
28
+ 'standalone': true,
29
+ 'addTailwind': true,
30
+ name: 'shell',
31
+ 'directory': `user-interface/shell`,
32
+ });
33
+ (0, workspace_utilities_1.CoerceNxJsonGenerators)(nxJson, '@nx/angular:remote', {
34
+ 'style': 'scss',
35
+ 'linter': 'eslint',
36
+ 'unitTestRunner': 'jest',
37
+ 'e2eTestRunner': 'none',
38
+ 'tags': 'angular,ngx',
39
+ 'prefix': (_c = options.prefix) !== null && _c !== void 0 ? _c : 'rxap',
40
+ 'standalone': true,
41
+ 'addTailwind': true,
42
+ host: 'shell',
43
+ 'directory': `user-interface/feature`,
44
+ });
45
+ (0, workspace_utilities_1.CoerceNxJsonGenerators)(nxJson, '@nx/angular:component', {
46
+ 'style': 'scss',
47
+ 'standalone': true,
48
+ });
49
+ (0, workspace_utilities_1.CoerceNxJsonGenerators)(nxJson, '@nx/angular:library', {
50
+ 'linter': 'eslint',
51
+ 'unitTestRunner': 'jest',
52
+ 'publishable': false,
53
+ 'addTailwind': false,
54
+ 'changeDetection': 'OnPush',
55
+ 'standalone': true,
56
+ 'style': 'scss',
57
+ 'directory': 'angular',
58
+ 'tags': 'angular,ngx',
59
+ 'prefix': 'rxap',
60
+ 'skipModule': true,
61
+ buildable: false,
62
+ });
63
+ (0, workspace_utilities_1.CoerceNxJsonGenerators)(nxJson, '@nx/angular:directive', {
64
+ 'standalone': true,
65
+ 'skipTests': true,
66
+ });
67
+ (0, workspace_utilities_1.CoerceNxJsonGenerators)(nxJson, '@nx/angular:library-secondary-entry-point', {
68
+ 'skipModule': true,
69
+ });
70
+ (0, workspace_utilities_1.CoerceNxJsonCacheableOperation)(nxJson, 'ci-info');
71
+ (0, workspace_utilities_1.CoerceNxJsonCacheableOperation)(nxJson, 'localazy-upload');
72
+ (0, workspace_utilities_1.CoerceNxJsonCacheableOperation)(nxJson, 'extract-i18n');
73
+ (0, workspace_utilities_1.CoerceNxJsonCacheableOperation)(nxJson, 'localazy-download');
74
+ (0, workspace_utilities_1.CoerceNxJsonCacheableOperation)(nxJson, 'component-test');
75
+ (0, devkit_1.updateNxJson)(tree, nxJson);
76
+ }
77
+ exports.coerceNxJson = coerceNxJson;
78
+ //# sourceMappingURL=coerce-nx-json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coerce-nx-json.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/angular/src/generators/init/coerce-nx-json.ts"],"names":[],"mappings":";;;AAAA,uCAIoB;AACpB,mEAGmC;AAGnC,SAAgB,YAAY,CAAC,IAAU,EAAE,OAA4B;;IACnE,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,IAAI,CAAE,CAAC;IAEjC,IAAA,4CAAsB,EAAC,MAAM,EAAE,yBAAyB,EAAE;QACxD,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,QAAQ;QAClB,gBAAgB,EAAE,MAAM;QACxB,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE,aAAa;QACrB,QAAQ,EAAE,MAAA,OAAO,CAAC,MAAM,mCAAI,MAAM;QAClC,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,IAAI;QACnB,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,gBAAgB;KAC9B,CAAC,CAAC;IACH,IAAA,4CAAsB,EAAC,MAAM,EAAE,kBAAkB,EAAE;QACjD,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,QAAQ;QAClB,gBAAgB,EAAE,MAAM;QACxB,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE,aAAa;QACrB,QAAQ,EAAE,MAAA,OAAO,CAAC,MAAM,mCAAI,MAAM;QAClC,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,IAAI;QACnB,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,sBAAsB;KACpC,CAAC,CAAC;IACH,IAAA,4CAAsB,EAAC,MAAM,EAAE,oBAAoB,EAAE;QACnD,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,QAAQ;QAClB,gBAAgB,EAAE,MAAM;QACxB,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE,aAAa;QACrB,QAAQ,EAAE,MAAA,OAAO,CAAC,MAAM,mCAAI,MAAM;QAClC,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,IAAI;QACnB,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,wBAAwB;KACtC,CAAC,CAAC;IACH,IAAA,4CAAsB,EAAC,MAAM,EAAE,uBAAuB,EAAE;QACtD,OAAO,EAAE,MAAM;QACf,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IACH,IAAA,4CAAsB,EAAC,MAAM,EAAE,qBAAqB,EAAE;QACpD,QAAQ,EAAE,QAAQ;QAClB,gBAAgB,EAAE,MAAM;QACxB,aAAa,EAAE,KAAK;QACpB,aAAa,EAAE,KAAK;QACpB,iBAAiB,EAAE,QAAQ;QAC3B,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,MAAM;QACf,WAAW,EAAE,SAAS;QACtB,MAAM,EAAE,aAAa;QACrB,QAAQ,EAAE,MAAM;QAChB,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,KAAK;KACjB,CAAC,CAAC;IACH,IAAA,4CAAsB,EAAC,MAAM,EAAE,uBAAuB,EAAE;QACtD,YAAY,EAAE,IAAI;QAClB,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC;IACH,IAAA,4CAAsB,EAAC,MAAM,EAAE,2CAA2C,EAAE;QAC1E,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IACH,IAAA,oDAA8B,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAClD,IAAA,oDAA8B,EAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC1D,IAAA,oDAA8B,EAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACvD,IAAA,oDAA8B,EAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC5D,IAAA,oDAA8B,EAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAEzD,IAAA,qBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC7B,CAAC;AAvED,oCAuEC"}
@@ -3,14 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.initGenerator = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const devkit_1 = require("@nx/devkit");
6
- const utilities_1 = require("@rxap/utilities");
7
6
  const workspace_utilities_1 = require("@rxap/workspace-utilities");
8
7
  const generator_1 = require("../init-library/generator");
8
+ const coerce_nx_json_1 = require("./coerce-nx-json");
9
9
  function initGenerator(tree, options) {
10
10
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
11
11
  console.log('angular init generator:', options);
12
- (0, workspace_utilities_1.GenerateSerializedSchematicFile)(tree, '/', '@rxap/plugin-angular', 'init', (0, utilities_1.DeleteProperties)(options, ['projects', 'overwrite', 'skipProjects']));
12
+ (0, workspace_utilities_1.GenerateSerializedSchematicFile)(tree, '/', '@rxap/plugin-angular', 'init', options);
13
13
  yield (0, workspace_utilities_1.AddPackageJsonDevDependency)(tree, '@nx/angular', (0, workspace_utilities_1.GetNxVersion)(tree), { soft: true });
14
+ (0, coerce_nx_json_1.coerceNxJson)(tree, options);
14
15
  yield (0, generator_1.default)(tree, {
15
16
  projects: [
16
17
  'components',
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/angular/src/generators/init/generator.ts"],"names":[],"mappings":";;;;AAAA,uCAGoB;AACpB,+CAAmD;AACnD,mEAImC;AACnC,yDAA6D;AAG7D,SAAsB,aAAa,CAAC,IAAU,EAAE,OAA4B;;QAC1E,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;QAEhD,IAAA,qDAA+B,EAC7B,IAAI,EACJ,GAAG,EACH,sBAAsB,EACtB,MAAM,EACN,IAAA,4BAAgB,EAAC,OAAO,EAAE,CAAE,UAAU,EAAE,WAAW,EAAE,cAAc,CAAE,CAAC,CACvE,CAAC;QAEF,MAAM,IAAA,iDAA2B,EAAC,IAAI,EAAE,aAAa,EAAE,IAAA,kCAAY,EAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAE3F,MAAM,IAAA,mBAAoB,EAAC,IAAI,EAAE;YAC/B,QAAQ,EAAE;gBACR,YAAY;gBACZ,OAAO;gBACP,UAAU;gBACV,QAAQ;aACT;YACD,MAAM,EAAE;gBACN,SAAS,EAAE,SAAS;gBACpB,WAAW,EAAE,IAAI;gBACjB,SAAS,EAAE,IAAI;aAChB;SACF,CAAC,CAAC;QAEH,MAAM,IAAA,mBAAoB,EAAC,IAAI,EAAE;YAC/B,QAAQ,EAAE;gBACR,SAAS;gBACT,cAAc;gBACd,OAAO;gBACP,YAAY;gBACZ,QAAQ;gBACR,UAAU;gBACV,uBAAuB;gBACvB,SAAS;gBACT,WAAW;gBACX,mBAAmB;aACpB;YACD,MAAM,EAAE;gBACN,SAAS,EAAE,SAAS;gBACpB,SAAS,EAAE,IAAI;aAChB;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACxB,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;IAEH,CAAC;CAAA;AAlDD,sCAkDC;AAED,kBAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/angular/src/generators/init/generator.ts"],"names":[],"mappings":";;;;AAAA,uCAGoB;AACpB,mEAImC;AACnC,yDAA6D;AAC7D,qDAAgD;AAGhD,SAAsB,aAAa,CAAC,IAAU,EAAE,OAA4B;;QAC1E,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;QAEhD,IAAA,qDAA+B,EAC7B,IAAI,EACJ,GAAG,EACH,sBAAsB,EACtB,MAAM,EACN,OAAO,CACR,CAAC;QAEF,MAAM,IAAA,iDAA2B,EAAC,IAAI,EAAE,aAAa,EAAE,IAAA,kCAAY,EAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAE3F,IAAA,6BAAY,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE5B,MAAM,IAAA,mBAAoB,EAAC,IAAI,EAAE;YAC/B,QAAQ,EAAE;gBACR,YAAY;gBACZ,OAAO;gBACP,UAAU;gBACV,QAAQ;aACT;YACD,MAAM,EAAE;gBACN,SAAS,EAAE,SAAS;gBACpB,WAAW,EAAE,IAAI;gBACjB,SAAS,EAAE,IAAI;aAChB;SACF,CAAC,CAAC;QAEH,MAAM,IAAA,mBAAoB,EAAC,IAAI,EAAE;YAC/B,QAAQ,EAAE;gBACR,SAAS;gBACT,cAAc;gBACd,OAAO;gBACP,YAAY;gBACZ,QAAQ;gBACR,UAAU;gBACV,uBAAuB;gBACvB,SAAS;gBACT,WAAW;gBACX,mBAAmB;aACpB;YACD,MAAM,EAAE;gBACN,SAAS,EAAE,SAAS;gBACpB,SAAS,EAAE,IAAI;aAChB;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACxB,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;IAEH,CAAC;CAAA;AApDD,sCAoDC;AAED,kBAAe,aAAa,CAAC"}
@@ -3,4 +3,5 @@ export interface InitGeneratorSchema {
3
3
  overwrite?: boolean;
4
4
  skipProjects?: boolean;
5
5
  skipFormat?: boolean;
6
+ prefix?: string;
6
7
  }
@@ -24,6 +24,10 @@
24
24
  "type": "boolean",
25
25
  "default": false,
26
26
  "description": "Whether to skip executing project specific initialization"
27
+ },
28
+ "prefix": {
29
+ "type": "string",
30
+ "description": "The prefix for the angular components"
27
31
  }
28
32
  },
29
33
  "required": []
@@ -0,0 +1,4 @@
1
+ import { SourceFile } from 'ts-morph';
2
+ import { InitApplicationGeneratorSchema } from './schema';
3
+ export declare const MAIN_BOOTSTRAP_STATEMENT = "application.bootstrap().catch((err) => console.error(err));";
4
+ export declare function assertMainStatements(sourceFile: SourceFile, options: InitApplicationGeneratorSchema): void;
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assertMainStatements = exports.MAIN_BOOTSTRAP_STATEMENT = void 0;
4
+ const ts_morph_1 = require("@rxap/ts-morph");
5
+ exports.MAIN_BOOTSTRAP_STATEMENT = `application.bootstrap().catch((err) => console.error(err));`;
6
+ const MAIN_LOGGER_STATEMENT = `application.importProvidersFrom(LoggerModule.forRoot({
7
+ serverLoggingUrl: '/api/logs',
8
+ level: NgxLoggerLevel.DEBUG,
9
+ serverLogLevel: NgxLoggerLevel.ERROR,
10
+ }));`;
11
+ const MAIN_APP_CREATION_STATEMENT = `const application = new StandaloneApplication(
12
+ environment,
13
+ AppComponent,
14
+ appConfig,
15
+ );`;
16
+ const REMOTE_MAIN_APP_CREATION_STATEMENT = `const application = new StandaloneApplication(
17
+ environment,
18
+ RemoteEntryComponent,
19
+ appConfig,
20
+ );`;
21
+ function assertMainStatements(sourceFile, options) {
22
+ var _a;
23
+ const statements = [];
24
+ statements.push('const application = new StandaloneApplication(');
25
+ statements.push('application.importProvidersFrom(LoggerModule.forRoot({');
26
+ const existingStatements = (_a = sourceFile.getStatements().map(s => s.getText())) !== null && _a !== void 0 ? _a : [];
27
+ for (const statement of statements) {
28
+ if (!existingStatements.includes(statement)) {
29
+ console.error(`Missing statement from angular main.ts: ${statement}`);
30
+ sourceFile.set({
31
+ statements: [
32
+ options.moduleFederation === 'remote' ? REMOTE_MAIN_APP_CREATION_STATEMENT : MAIN_APP_CREATION_STATEMENT,
33
+ MAIN_LOGGER_STATEMENT,
34
+ exports.MAIN_BOOTSTRAP_STATEMENT,
35
+ ],
36
+ });
37
+ (0, ts_morph_1.CoerceImports)(sourceFile, [
38
+ {
39
+ moduleSpecifier: './app/app.config',
40
+ namedImports: ['appConfig'],
41
+ },
42
+ {
43
+ moduleSpecifier: './environments/environment',
44
+ namedImports: ['environment'],
45
+ },
46
+ {
47
+ moduleSpecifier: 'ngx-logger',
48
+ namedImports: ['LoggerModule', 'NgxLoggerLevel'],
49
+ },
50
+ {
51
+ moduleSpecifier: '@rxap/ngx-bootstrap',
52
+ namedImports: ['StandaloneApplication'],
53
+ },
54
+ ]);
55
+ if (options.moduleFederation === 'remote') {
56
+ (0, ts_morph_1.CoerceImports)(sourceFile, [
57
+ {
58
+ moduleSpecifier: './app/remote-entry/entry.component',
59
+ namedImports: ['RemoteEntryComponent'],
60
+ },
61
+ ]);
62
+ }
63
+ else {
64
+ (0, ts_morph_1.CoerceImports)(sourceFile, [
65
+ {
66
+ moduleSpecifier: './app/app.component',
67
+ namedImports: ['AppComponent'],
68
+ },
69
+ ]);
70
+ }
71
+ return;
72
+ }
73
+ }
74
+ }
75
+ exports.assertMainStatements = assertMainStatements;
76
+ //# sourceMappingURL=assert-main-statements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assert-main-statements.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/angular/src/generators/init-application/assert-main-statements.ts"],"names":[],"mappings":";;;AAAA,6CAA+C;AAIlC,QAAA,wBAAwB,GAAG,6DAA6D,CAAC;AACtG,MAAM,qBAAqB,GAAG;;;;KAIzB,CAAC;AACN,MAAM,2BAA2B,GAAG;;;;GAIjC,CAAC;AACJ,MAAM,kCAAkC,GAAG;;;;GAIxC,CAAC;AAEJ,SAAgB,oBAAoB,CAAC,UAAsB,EAAE,OAAuC;;IAClG,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,UAAU,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;IAClE,UAAU,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;IAC1E,MAAM,kBAAkB,GAAG,MAAA,UAAU,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,mCAAI,EAAE,CAAC;IAClF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,KAAK,CAAC,4CAA6C,SAAU,EAAE,CAAC,CAAC;YACzE,UAAU,CAAC,GAAG,CAAC;gBACb,UAAU,EAAE;oBACV,OAAO,CAAC,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,2BAA2B;oBACxG,qBAAqB;oBACrB,gCAAwB;iBACzB;aACF,CAAC,CAAC;YACH,IAAA,wBAAa,EAAC,UAAU,EAAE;gBACxB;oBACE,eAAe,EAAE,kBAAkB;oBACnC,YAAY,EAAE,CAAE,WAAW,CAAE;iBAC9B;gBACD;oBACE,eAAe,EAAE,4BAA4B;oBAC7C,YAAY,EAAE,CAAE,aAAa,CAAE;iBAChC;gBACD;oBACE,eAAe,EAAE,YAAY;oBAC7B,YAAY,EAAE,CAAE,cAAc,EAAE,gBAAgB,CAAE;iBACnD;gBACD;oBACE,eAAe,EAAE,qBAAqB;oBACtC,YAAY,EAAE,CAAE,uBAAuB,CAAE;iBAC1C;aACF,CAAC,CAAC;YACH,IAAI,OAAO,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;gBAC1C,IAAA,wBAAa,EAAC,UAAU,EAAE;oBACxB;wBACE,eAAe,EAAE,oCAAoC;wBACrD,YAAY,EAAE,CAAE,sBAAsB,CAAE;qBACzC;iBACF,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,IAAA,wBAAa,EAAC,UAAU,EAAE;oBACxB;wBACE,eAAe,EAAE,qBAAqB;wBACtC,YAAY,EAAE,CAAE,cAAc,CAAE;qBACjC;iBACF,CAAC,CAAC;YACL,CAAC;YACD,OAAO;QACT,CAAC;IACH,CAAC;AACH,CAAC;AApDD,oDAoDC"}
@@ -0,0 +1,3 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import { InitApplicationGeneratorSchema } from './schema';
3
+ export declare function cleanup(tree: Tree, projectName: string, options: InitApplicationGeneratorSchema): void;
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cleanup = void 0;
4
+ const ts_morph_1 = require("@rxap/ts-morph");
5
+ const workspace_ts_morph_1 = require("@rxap/workspace-ts-morph");
6
+ const workspace_utilities_1 = require("@rxap/workspace-utilities");
7
+ const path_1 = require("path");
8
+ const ts_morph_2 = require("ts-morph");
9
+ function cleanup(tree, projectName, options) {
10
+ const sourceRoot = (0, workspace_utilities_1.GetProjectSourceRoot)(tree, projectName);
11
+ const deleteFiles = [
12
+ 'app/app.component.spec.ts',
13
+ 'app/nx-welcome.component.ts',
14
+ 'app/remote-entry/nx-welcome.component.ts',
15
+ 'app/nx-welcome.component.cy.ts',
16
+ ];
17
+ for (const file of deleteFiles) {
18
+ if (tree.exists((0, path_1.join)(sourceRoot, file))) {
19
+ tree.delete((0, path_1.join)(sourceRoot, file));
20
+ }
21
+ }
22
+ if (tree.exists((0, path_1.join)(sourceRoot, 'app/app.component.html'))) {
23
+ const content = tree.read((0, path_1.join)(sourceRoot, 'app/app.component.html'), 'utf-8')
24
+ .replace(/<.+-nx-welcome><\/.+-nx-welcome> /, '')
25
+ .replace(/<ul class="remote-menu">[\s\S]*<\/ul>/, '');
26
+ (0, workspace_utilities_1.CoerceFile)(tree, (0, path_1.join)(sourceRoot, 'app/app.component.html'), content, true);
27
+ }
28
+ if (options.moduleFederation !== 'remote') {
29
+ (0, workspace_ts_morph_1.TsMorphAngularProjectTransform)(tree, {
30
+ project: projectName,
31
+ }, (_, [appRoutes, appComponent]) => {
32
+ var _a, _b, _c;
33
+ (0, ts_morph_1.RemoveRoute)(appRoutes, {
34
+ component: 'NxWelcomeComponent',
35
+ name: 'appRoutes',
36
+ });
37
+ (_a = appRoutes.getImportDeclaration('./nx-welcome.component')) === null || _a === void 0 ? void 0 : _a.remove();
38
+ (_c = (_b = appComponent.getClass('AppComponent')) === null || _b === void 0 ? void 0 : _b.getProperty('title')) === null || _c === void 0 ? void 0 : _c.remove();
39
+ (0, ts_morph_1.RemoveComponentImport)(appComponent, 'NxWelcomeComponent');
40
+ }, ['app/app.routes.ts', 'app/app.component.ts']);
41
+ }
42
+ if (options.moduleFederation === 'remote') {
43
+ // region module-federation config
44
+ const projectRoot = (0, workspace_utilities_1.GetProjectRoot)(tree, projectName);
45
+ let content = tree.read((0, path_1.join)(projectRoot, 'module-federation.config.ts'), 'utf-8');
46
+ content = content.replace('./Routes', './routes');
47
+ (0, workspace_utilities_1.CoerceFile)(tree, (0, path_1.join)(projectRoot, 'module-federation.config.ts'), content, true);
48
+ // endregion
49
+ // region tsconfig.base.json
50
+ (0, workspace_utilities_1.UpdateTsConfigJson)(tree, tsConfig => {
51
+ var _a, _b;
52
+ var _c;
53
+ (_a = tsConfig.compilerOptions) !== null && _a !== void 0 ? _a : (tsConfig.compilerOptions = {});
54
+ (_b = (_c = tsConfig.compilerOptions).paths) !== null && _b !== void 0 ? _b : (_c.paths = {});
55
+ if (tsConfig.compilerOptions.paths[`${projectName}/Routes`]) {
56
+ delete tsConfig.compilerOptions.paths[`${projectName}/Routes`];
57
+ }
58
+ }, { infix: 'base' });
59
+ // endregion
60
+ (0, workspace_ts_morph_1.TsMorphAngularProjectTransform)(tree, {
61
+ project: projectName,
62
+ }, (_, [entryRoutes]) => {
63
+ (0, ts_morph_1.CoerceDefaultExport)(entryRoutes.getVariableStatement('remoteRoutes').getDeclarations()[0]);
64
+ }, [
65
+ 'app/remote-entry/entry.routes.ts',
66
+ ]);
67
+ if (tree.exists((0, path_1.join)(sourceRoot, 'app/remote-entry/entry.component.ts'))) {
68
+ (0, workspace_ts_morph_1.TsMorphAngularProjectTransform)(tree, {
69
+ project: projectName,
70
+ }, (_, [entryComponent]) => {
71
+ var _a, _b;
72
+ (_a = entryComponent.getImportDeclaration('./nx-welcome.component')) === null || _a === void 0 ? void 0 : _a.remove();
73
+ (0, ts_morph_1.RemoveComponentImport)(entryComponent, 'NxWelcomeComponent');
74
+ (0, ts_morph_1.RemoveComponentImport)(entryComponent, 'CommonModule');
75
+ const componentOptions = (0, ts_morph_1.GetComponentDecoratorObject)(entryComponent);
76
+ const templateProp = componentOptions.getProperty('template');
77
+ if (templateProp && ((_b = templateProp.asKindOrThrow(ts_morph_2.SyntaxKind.PropertyAssignment).getInitializer()) === null || _b === void 0 ? void 0 : _b.getText().match(/<.+nx-welcome><\/.+nx-welcome>/))) {
78
+ templateProp.remove();
79
+ componentOptions.addPropertyAssignment({
80
+ name: 'template',
81
+ initializer: w => w.quote('<router-outlet></router-outlet>'),
82
+ });
83
+ (0, ts_morph_1.CoerceComponentImport)(entryComponent, {
84
+ name: 'RouterModule',
85
+ moduleSpecifier: '@angular/router',
86
+ });
87
+ }
88
+ }, [
89
+ 'app/remote-entry/entry.component.ts',
90
+ ]);
91
+ }
92
+ if (options.host) {
93
+ (0, workspace_ts_morph_1.TsMorphAngularProjectTransform)(tree, {
94
+ project: options.host,
95
+ }, (_, [appRoutes]) => {
96
+ (0, ts_morph_1.RemoveRoute)(appRoutes, {
97
+ loadRemoteModule: {
98
+ name: projectName,
99
+ entry: './Routes',
100
+ },
101
+ name: 'appRoutes',
102
+ });
103
+ appRoutes.organizeImports();
104
+ }, ['app/app.routes.ts']);
105
+ }
106
+ }
107
+ }
108
+ exports.cleanup = cleanup;
109
+ //# sourceMappingURL=cleanup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/angular/src/generators/init-application/cleanup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import { InitApplicationGeneratorSchema } from './schema';
3
+ export declare function coerceEnvironmentFiles(tree: Tree, options: InitApplicationGeneratorSchema & {
4
+ project: string;
5
+ }): void;
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.coerceEnvironmentFiles = void 0;
4
+ const ts_morph_1 = require("@rxap/ts-morph");
5
+ const workspace_ts_morph_1 = require("@rxap/workspace-ts-morph");
6
+ const ts_morph_2 = require("ts-morph");
7
+ function coerceEnvironmentFiles(tree, options) {
8
+ (0, workspace_ts_morph_1.TsMorphAngularProjectTransform)(tree, {
9
+ project: options.project,
10
+ }, (project, [sourceFile, prodSourceFile]) => {
11
+ (0, ts_morph_1.CoerceImports)(sourceFile, {
12
+ moduleSpecifier: '@rxap/environment',
13
+ namedImports: ['Environment'],
14
+ });
15
+ (0, ts_morph_1.CoerceImports)(prodSourceFile, {
16
+ moduleSpecifier: '@rxap/environment',
17
+ namedImports: ['Environment'],
18
+ });
19
+ const baseEnvironment = {
20
+ name: w => w.quote('development'),
21
+ production: 'false',
22
+ app: w => w.quote(options.project),
23
+ };
24
+ // region dev environment
25
+ if (options.serviceWorker) {
26
+ baseEnvironment['serviceWorker'] = 'false';
27
+ }
28
+ if (options.sentry) {
29
+ baseEnvironment['sentry'] = ts_morph_2.Writers.object({
30
+ enabled: 'false',
31
+ debug: 'false',
32
+ });
33
+ }
34
+ if (options.moduleFederation === 'host') {
35
+ baseEnvironment['moduleFederation'] = ts_morph_2.Writers.object({
36
+ manifest: w => w.quote('/module-federation.manifest.json'),
37
+ });
38
+ }
39
+ const normal = (0, ts_morph_1.CoerceVariableDeclaration)(sourceFile, 'environment', {
40
+ type: 'Environment',
41
+ initializer: ts_morph_2.Writers.object(baseEnvironment),
42
+ });
43
+ if (options.overwrite) {
44
+ normal.set({ initializer: ts_morph_2.Writers.object(baseEnvironment) });
45
+ }
46
+ // region
47
+ // region prod environment
48
+ if (options.moduleFederation === 'host') {
49
+ delete baseEnvironment['moduleFederation'];
50
+ }
51
+ if (options.serviceWorker) {
52
+ baseEnvironment['serviceWorker'] = 'true';
53
+ }
54
+ if (options.sentry) {
55
+ baseEnvironment['sentry'] = ts_morph_2.Writers.object({
56
+ enabled: 'true',
57
+ debug: 'false',
58
+ });
59
+ }
60
+ baseEnvironment['name'] = w => w.quote('production');
61
+ baseEnvironment['production'] = 'true';
62
+ const prod = (0, ts_morph_1.CoerceVariableDeclaration)(prodSourceFile, 'environment', {
63
+ type: 'Environment',
64
+ initializer: ts_morph_2.Writers.object(baseEnvironment),
65
+ });
66
+ if (options.overwrite) {
67
+ prod.set({ initializer: ts_morph_2.Writers.object(baseEnvironment) });
68
+ }
69
+ // endregion
70
+ }, [
71
+ '/environments/environment.ts?',
72
+ '/environments/environment.prod.ts?',
73
+ ]);
74
+ }
75
+ exports.coerceEnvironmentFiles = coerceEnvironmentFiles;
76
+ //# sourceMappingURL=coerce-environment-files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coerce-environment-files.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/angular/src/generators/init-application/coerce-environment-files.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { ProjectConfiguration, Tree } from '@nx/devkit';
2
+ export declare function coerceLocalazyConfigFile(tree: Tree, project: ProjectConfiguration): void;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.coerceLocalazyConfigFile = void 0;
4
+ const workspace_utilities_1 = require("@rxap/workspace-utilities");
5
+ const path_1 = require("path");
6
+ function coerceLocalazyConfigFile(tree, project) {
7
+ const projectRoot = project.root;
8
+ const localazyConfigPath = (0, path_1.join)(projectRoot, 'localazy.json');
9
+ (0, workspace_utilities_1.CoerceFile)(tree, localazyConfigPath, JSON.stringify({
10
+ upload: {
11
+ type: 'xliff',
12
+ deprecate: 'file',
13
+ features: [
14
+ 'use_defined_lang_for_source',
15
+ 'dont_parse_target',
16
+ ],
17
+ files: 'src/i18n/messages.xlf',
18
+ },
19
+ download: {
20
+ files: 'src/i18n/${languageCode}.xlf',
21
+ },
22
+ }, null, 2));
23
+ }
24
+ exports.coerceLocalazyConfigFile = coerceLocalazyConfigFile;
25
+ //# sourceMappingURL=coerce-localazy-config-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coerce-localazy-config-file.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/angular/src/generators/init-application/coerce-localazy-config-file.ts"],"names":[],"mappings":";;;AAIA,mEAAuD;AACvD,+BAA4B;AAE5B,SAAgB,wBAAwB,CAAC,IAAU,EAAE,OAA6B;IAChF,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IACjC,MAAM,kBAAkB,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IAC9D,IAAA,gCAAU,EAAC,IAAI,EAAE,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC;QAClD,MAAM,EAAE;YACN,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,MAAM;YACjB,QAAQ,EAAE;gBACR,6BAA6B;gBAC7B,mBAAmB;aACpB;YACD,KAAK,EAAE,uBAAuB;SAC/B;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,8BAA8B;SACtC;KACF,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACf,CAAC;AAjBD,4DAiBC"}
@@ -0,0 +1,6 @@
1
+ http:
2
+ middlewares:
3
+ strip-mfe-prefix:
4
+ stripPrefixRegex:
5
+ regex:
6
+ - "/__mfe/[^/]+/[^/]+"
@@ -22,7 +22,7 @@ LABEL traefik.http.services.$TRAEFIK_SERVICE_NAME.loadbalancer.healthCheck.inter
22
22
  LABEL traefik.http.services.$TRAEFIK_SERVICE_NAME.loadbalancer.healthCheck.timeout=$TREAFIK_HEALTH_CHECK_TIMEOUT
23
23
  LABEL traefik.http.services.$TRAEFIK_SERVICE_NAME.loadbalancer.server.port=80
24
24
 
25
- LABEL traefik.http.routers.$TRAEFIK_ROUTER_NAME.rule=HostRegexp(`${TRAEFIK_ROUTER_SUB_DOMAIN}{domain:.+}`)
25
+ LABEL traefik.http.routers.$TRAEFIK_ROUTER_NAME.rule=HostRegexp(`^${TRAEFIK_ROUTER_SUB_DOMAIN}.+$`)
26
26
  LABEL traefik.http.routers.$TRAEFIK_ROUTER_NAME.priority=$TRAEFIK_ROUTER_PRIORITY
27
27
  LABEL traefik.http.routers.$TRAEFIK_ROUTER_NAME.service=$TRAEFIK_SERVICE_NAME
28
28