@rxap/ts-morph 1.1.0-dev.25 → 1.1.0-dev.28

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 (31) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +1 -1
  3. package/package.json +6 -6
  4. package/src/index.d.ts +2 -0
  5. package/src/index.js +2 -0
  6. package/src/index.js.map +1 -1
  7. package/src/lib/angular/add-route.d.ts +9 -1
  8. package/src/lib/angular/add-route.js +15 -5
  9. package/src/lib/angular/add-route.js.map +1 -1
  10. package/src/lib/angular/build-route-object.d.ts +4 -0
  11. package/src/lib/angular/build-route-object.js +13 -0
  12. package/src/lib/angular/build-route-object.js.map +1 -1
  13. package/src/lib/angular/coerce-app-config-provider.js +1 -1
  14. package/src/lib/angular/coerce-app-config-provider.js.map +1 -1
  15. package/src/lib/angular/coerce-route-guard.js +1 -1
  16. package/src/lib/angular/coerce-route-guard.js.map +1 -1
  17. package/src/lib/angular/coerce-routes.d.ts +2 -5
  18. package/src/lib/angular/coerce-routes.js +11 -3
  19. package/src/lib/angular/coerce-routes.js.map +1 -1
  20. package/src/lib/angular/find-parent-route.d.ts +4 -2
  21. package/src/lib/angular/find-parent-route.js +36 -21
  22. package/src/lib/angular/find-parent-route.js.map +1 -1
  23. package/src/lib/angular/remove-component-import.d.ts +3 -0
  24. package/src/lib/angular/remove-component-import.js +23 -0
  25. package/src/lib/angular/remove-component-import.js.map +1 -0
  26. package/src/lib/angular/remove-route.d.ts +13 -0
  27. package/src/lib/angular/remove-route.js +58 -0
  28. package/src/lib/angular/remove-route.js.map +1 -0
  29. package/src/lib/get-coerce-array-literal-form-object-literal.d.ts +1 -0
  30. package/src/lib/get-coerce-array-literal-form-object-literal.js +19 -1
  31. package/src/lib/get-coerce-array-literal-form-object-literal.js.map +1 -1
package/CHANGELOG.md CHANGED
@@ -3,6 +3,29 @@
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
+ # [1.1.0-dev.28](https://gitlab.com/rxap/packages/compare/@rxap/ts-morph@1.1.0-dev.27...@rxap/ts-morph@1.1.0-dev.28) (2024-04-10)
7
+
8
+ ### Features
9
+
10
+ - support complex remove instructions ([960fac0](https://gitlab.com/rxap/packages/commit/960fac050bec4e2b017c2006fac615ccede09ab2))
11
+ - support search and add route by component ([6dd9f2e](https://gitlab.com/rxap/packages/commit/6dd9f2e7fedfe4cbd3af86f88be7b8221c3ae867))
12
+
13
+ # [1.1.0-dev.27](https://gitlab.com/rxap/packages/compare/@rxap/ts-morph@1.1.0-dev.26...@rxap/ts-morph@1.1.0-dev.27) (2024-04-10)
14
+
15
+ ### Bug Fixes
16
+
17
+ - use regex to test text ([039d854](https://gitlab.com/rxap/packages/commit/039d854c60ab798444fc527bab13f865bfc274f4))
18
+
19
+ ### Features
20
+
21
+ - support module federation ([814c393](https://gitlab.com/rxap/packages/commit/814c393c174b8baae969bec4f060eb8a58aaa316))
22
+
23
+ # [1.1.0-dev.26](https://gitlab.com/rxap/packages/compare/@rxap/ts-morph@1.1.0-dev.25...@rxap/ts-morph@1.1.0-dev.26) (2024-04-09)
24
+
25
+ ### Features
26
+
27
+ - add RemoveRoute function ([187e2ec](https://gitlab.com/rxap/packages/commit/187e2ec3deebc4eee9754fff4a22a8546ad58b4a))
28
+
6
29
  # [1.1.0-dev.25](https://gitlab.com/rxap/packages/compare/@rxap/ts-morph@1.1.0-dev.24...@rxap/ts-morph@1.1.0-dev.25) (2024-04-07)
7
30
 
8
31
  **Note:** Version bump only for package @rxap/ts-morph
package/README.md CHANGED
@@ -17,5 +17,5 @@ yarn add @rxap/ts-morph
17
17
  ```
18
18
  **Install peer dependencies:**
19
19
  ```bash
20
- yarn add @rxap/utilities@^16.1.0-dev.8 ts-morph@^18.0.0 tslib@2.6.2
20
+ yarn add @rxap/utilities@^16.1.0-dev.9 colors@^1.4.0 ts-morph@^18.0.0 tslib@2.6.2
21
21
  ```
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
- "version": "1.1.0-dev.25",
2
+ "version": "1.1.0-dev.28",
3
3
  "name": "@rxap/ts-morph",
4
4
  "license": "GPL-3.0-or-later",
5
5
  "dependencies": {
6
6
  "tslib": "2.6.2"
7
7
  },
8
8
  "peerDependencies": {
9
- "@rxap/utilities": "^16.1.0-dev.8",
9
+ "@rxap/utilities": "^16.1.0-dev.9",
10
+ "colors": "^1.4.0",
10
11
  "ts-morph": "^18.0.0",
11
12
  "tslib": "2.6.2"
12
13
  },
@@ -30,7 +31,7 @@
30
31
  "packageGroup": [
31
32
  {
32
33
  "package": "@rxap/utilities",
33
- "version": "16.1.0-dev.8"
34
+ "version": "16.1.0-dev.9"
34
35
  }
35
36
  ]
36
37
  },
@@ -44,7 +45,6 @@
44
45
  "directory": "packages/ts-morph"
45
46
  },
46
47
  "type": "commonjs",
47
- "gitHead": "1cee5ef80d44157e8c9734fd49817b3a3abe11a3",
48
- "main": "./src/index.js",
49
- "types": "./src/index.d.ts"
48
+ "gitHead": "26c9b004b6836964712ac9c2cf60e99613b034b2",
49
+ "main": "./src/index.js"
50
50
  }
package/src/index.d.ts CHANGED
@@ -42,6 +42,8 @@ export * from './lib/angular/coerce-routes';
42
42
  export * from './lib/angular/find-parent-route';
43
43
  export * from './lib/angular/get-component-class';
44
44
  export * from './lib/angular/get-component-decorator-object';
45
+ export * from './lib/angular/remove-component-import';
46
+ export * from './lib/angular/remove-route';
45
47
  export * from './lib/add-provider-to-array';
46
48
  export * from './lib/coerce-accessor-declaration';
47
49
  export * from './lib/coerce-array-element';
package/src/index.js CHANGED
@@ -48,6 +48,8 @@ tslib_1.__exportStar(require("./lib/angular/coerce-routes"), exports);
48
48
  tslib_1.__exportStar(require("./lib/angular/find-parent-route"), exports);
49
49
  tslib_1.__exportStar(require("./lib/angular/get-component-class"), exports);
50
50
  tslib_1.__exportStar(require("./lib/angular/get-component-decorator-object"), exports);
51
+ tslib_1.__exportStar(require("./lib/angular/remove-component-import"), exports);
52
+ tslib_1.__exportStar(require("./lib/angular/remove-route"), exports);
51
53
  // endregion
52
54
  // region
53
55
  tslib_1.__exportStar(require("./lib/add-provider-to-array"), exports);
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/ts-morph/src/index.ts"],"names":[],"mappings":";;;AAAA,cAAc;AACd,yEAA+C;AAC/C,0EAAgD;AAChD,mFAAyD;AACzD,+EAAqD;AACrD,8EAAoD;AACpD,0EAAgD;AAChD,4EAAkD;AAClD,gFAAsD;AACtD,4EAAkD;AAClD,qFAA2D;AAC3D,sFAA4D;AAC5D,4EAAkD;AAClD,sFAA4D;AAC5D,iFAAuD;AACvD,mFAAyD;AACzD,+EAAqD;AACrD,iFAAuD;AACvD,wEAA8C;AAC9C,2EAAiD;AACjD,mFAAyD;AACzD,yFAA+D;AAC/D,kFAAwD;AACxD,0EAAgD;AAChD,8EAAoD;AACpD,2EAAiD;AACjD,0EAAgD;AAChD,0EAAgD;AAChD,4EAAkD;AAClD,iFAAuD;AACvD,mFAAyD;AACzD,YAAY;AAEZ,iBAAiB;AACjB,kEAAwC;AACxC,2EAAiD;AACjD,mFAAyD;AACzD,8EAAoD;AACpD,0EAAgD;AAChD,gFAAsD;AACtD,+EAAqD;AACrD,yEAA+C;AAC/C,6EAAmD;AACnD,2EAAiD;AACjD,sEAA4C;AAC5C,0EAAgD;AAChD,4EAAkD;AAClD,uFAA6D;AAC7D,YAAY;AAEZ,UAAU;AACV,sEAA4C;AAC5C,4EAAkD;AAClD,qEAA2C;AAC3C,yEAA+C;AAC/C,oEAA0C;AAC1C,sEAA4C;AAC5C,6DAAmC;AACnC,iEAAuC;AACvC,4EAAkD;AAClD,sEAA4C;AAC5C,4EAAkD;AAClD,+DAAqC;AACrC,4EAAkD;AAClD,4EAAkD;AAClD,mEAAyC;AACzC,kEAAwC;AACxC,4EAAkD;AAClD,+DAAqC;AACrC,8DAAoC;AACpC,8DAAoC;AACpC,8EAAoD;AACpD,0DAAgC;AAChC,6FAAmE;AACnE,0EAAgD;AAChD,2DAAiC;AACjC,gEAAsC;AACtC,kEAAwC;AACxC,4DAAkC;AAClC,iEAAuC;AACvC,2DAAiC;AACjC,YAAY"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/ts-morph/src/index.ts"],"names":[],"mappings":";;;AAAA,cAAc;AACd,yEAA+C;AAC/C,0EAAgD;AAChD,mFAAyD;AACzD,+EAAqD;AACrD,8EAAoD;AACpD,0EAAgD;AAChD,4EAAkD;AAClD,gFAAsD;AACtD,4EAAkD;AAClD,qFAA2D;AAC3D,sFAA4D;AAC5D,4EAAkD;AAClD,sFAA4D;AAC5D,iFAAuD;AACvD,mFAAyD;AACzD,+EAAqD;AACrD,iFAAuD;AACvD,wEAA8C;AAC9C,2EAAiD;AACjD,mFAAyD;AACzD,yFAA+D;AAC/D,kFAAwD;AACxD,0EAAgD;AAChD,8EAAoD;AACpD,2EAAiD;AACjD,0EAAgD;AAChD,0EAAgD;AAChD,4EAAkD;AAClD,iFAAuD;AACvD,mFAAyD;AACzD,YAAY;AAEZ,iBAAiB;AACjB,kEAAwC;AACxC,2EAAiD;AACjD,mFAAyD;AACzD,8EAAoD;AACpD,0EAAgD;AAChD,gFAAsD;AACtD,+EAAqD;AACrD,yEAA+C;AAC/C,6EAAmD;AACnD,2EAAiD;AACjD,sEAA4C;AAC5C,0EAAgD;AAChD,4EAAkD;AAClD,uFAA6D;AAC7D,gFAAsD;AACtD,qEAA2C;AAC3C,YAAY;AAEZ,UAAU;AACV,sEAA4C;AAC5C,4EAAkD;AAClD,qEAA2C;AAC3C,yEAA+C;AAC/C,oEAA0C;AAC1C,sEAA4C;AAC5C,6DAAmC;AACnC,iEAAuC;AACvC,4EAAkD;AAClD,sEAA4C;AAC5C,4EAAkD;AAClD,+DAAqC;AACrC,4EAAkD;AAClD,4EAAkD;AAClD,mEAAyC;AACzC,kEAAwC;AACxC,4EAAkD;AAClD,+DAAqC;AACrC,8DAAoC;AACpC,8DAAoC;AACpC,8EAAoD;AACpD,0DAAgC;AAChC,6FAAmE;AACnE,0EAAgD;AAChD,2DAAiC;AACjC,gEAAsC;AACtC,kEAAwC;AACxC,4DAAkC;AAClC,iEAAuC;AACvC,2DAAiC;AACjC,YAAY"}
@@ -1,4 +1,12 @@
1
1
  import { ArrayLiteralExpression, SourceFile } from 'ts-morph';
2
2
  import { AngularRoute } from './build-route-object';
3
+ import 'colors';
3
4
  export declare function DefaultInsertAtFactory(route: AngularRoute): (array: ArrayLiteralExpression) => number;
4
- export declare function AddRoute(sourceFile: SourceFile, route: AngularRoute, path?: string[], name?: string, insertAt?: (array: ArrayLiteralExpression) => number): void;
5
+ export interface AddRouteOptions {
6
+ route: AngularRoute;
7
+ path?: string[];
8
+ component?: string;
9
+ name?: string;
10
+ insertAt?: (array: ArrayLiteralExpression) => number;
11
+ }
12
+ export declare function AddRoute(sourceFile: SourceFile, options: AddRouteOptions): void;
@@ -5,6 +5,7 @@ const ts_morph_1 = require("ts-morph");
5
5
  const coerce_array_element_1 = require("../coerce-array-element");
6
6
  const build_route_object_1 = require("./build-route-object");
7
7
  const find_parent_route_1 = require("./find-parent-route");
8
+ require("colors");
8
9
  function DefaultInsertAtFactory(route) {
9
10
  return (array) => {
10
11
  var _a, _b;
@@ -45,22 +46,31 @@ function DefaultInsertAtFactory(route) {
45
46
  };
46
47
  }
47
48
  exports.DefaultInsertAtFactory = DefaultInsertAtFactory;
48
- function AddRoute(sourceFile, route, path, name = 'ROUTES', insertAt = DefaultInsertAtFactory(route)) {
49
+ function AddRoute(sourceFile, options) {
50
+ const { component, route, path, name = 'ROUTES', insertAt = DefaultInsertAtFactory(route) } = options;
49
51
  const routes = sourceFile.getVariableDeclaration(name);
50
52
  if (routes) {
51
53
  let initializer = routes.getInitializerIfKindOrThrow(ts_morph_1.SyntaxKind.ArrayLiteralExpression);
52
54
  if (path === null || path === void 0 ? void 0 : path.length) {
53
- initializer = (0, find_parent_route_1.FindParentRouteChildrenArray)(initializer, path);
55
+ initializer = (0, find_parent_route_1.FindParentRouteChildrenArrayByPath)(initializer, path);
54
56
  }
55
57
  if (initializer) {
56
- (0, coerce_array_element_1.CoerceArrayElement)(initializer, (0, build_route_object_1.BuildRouteObject)(route), (0, coerce_array_element_1.FindArrayElementByObjectProperty)('path', route.path), insertAt);
58
+ if (component) {
59
+ initializer = (0, find_parent_route_1.FindParentRouteChildrenArrayByComponent)(initializer, component);
60
+ }
61
+ if (initializer) {
62
+ (0, coerce_array_element_1.CoerceArrayElement)(initializer, (0, build_route_object_1.BuildRouteObject)(route), (0, coerce_array_element_1.FindArrayElementByObjectProperty)('path', route.path), insertAt);
63
+ }
64
+ else {
65
+ console.log(`Could not find parent route by component for '${component}'`.yellow);
66
+ }
57
67
  }
58
68
  else {
59
- console.warn('Initializer not found');
69
+ console.log(`Could not find parent route by path for '${path}'`.yellow);
60
70
  }
61
71
  }
62
72
  else {
63
- console.warn(`${name} variable not found`);
73
+ console.log(`${name} variable not found`.red);
64
74
  }
65
75
  }
66
76
  exports.AddRoute = AddRoute;
@@ -1 +1 @@
1
- {"version":3,"file":"add-route.js","sourceRoot":"","sources":["../../../../../../packages/ts-morph/src/lib/angular/add-route.ts"],"names":[],"mappings":";;;AAAA,uCAIkB;AAClB,kEAGiC;AACjC,6DAG8B;AAC9B,2DAAmE;AAEnE,SAAgB,sBAAsB,CAAC,KAAmB;IACxD,OAAO,CAAC,KAA6B,EAAE,EAAE;;QACvC,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC;QAChD,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,EAAE;YACrB,IAAI,YAAY,GAAG,CAAC,EAAE;gBACpB,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;gBAC1D,IAAI,WAAW,CAAC,MAAM,CAAC,qBAAU,CAAC,uBAAuB,CAAC,EAAE;oBAC1D,IAAI,MAAA,WAAW,CAAC,aAAa,CAAC,qBAAU,CAAC,uBAAuB,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,0CAAE,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE;wBAC9G,OAAO,YAAY,GAAG,CAAC,CAAC;qBACzB;iBACF;aACF;YACD,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;SACvC;QACD,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,YAAY,GAAG,CAAC,EAAE;YACpB,gCAAgC;YAChC,2GAA2G;YAC3G,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE;gBACzC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,qBAAU,CAAC,uBAAuB,CAAC,EAAE;oBACvD,QAAQ,EAAE,CAAC;iBACZ;gBAAC,IAAI,OAAO,CAAC,MAAM,CAAC,qBAAU,CAAC,uBAAuB,CAAC,EAAE;oBACxD,IAAI,CAAA,MAAA,OAAO,CAAC,aAAa,CAAC,qBAAU,CAAC,uBAAuB,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,0CAAE,OAAO,EAAE,MAAK,EAAE,EAAE;wBACnG,QAAQ,EAAE,CAAC;qBACZ;yBAAM;wBACL,MAAM;qBACP;iBACF;qBAAM;oBACL,MAAM;iBACP;aACF;SACF;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;AACJ,CAAC;AAlCD,wDAkCC;AAED,SAAgB,QAAQ,CAAC,UAAsB,EAAE,KAAmB,EAAE,IAAe,EAAE,IAAI,GAAG,QAAQ,EAAE,WAAsD,sBAAsB,CAAC,KAAK,CAAC;IACzL,MAAM,MAAM,GAAG,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACvD,IAAI,MAAM,EAAE;QACV,IAAI,WAAW,GAAkC,MAAM,CAAC,2BAA2B,CAAC,qBAAU,CAAC,sBAAsB,CAAC,CAAC;QACvH,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,EAAE;YAChB,WAAW,GAAG,IAAA,gDAA4B,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;SAC/D;QACD,IAAI,WAAW,EAAE;YACf,IAAA,yCAAkB,EAChB,WAAW,EAAE,IAAA,qCAAgB,EAAC,KAAK,CAAC,EAAE,IAAA,uDAAgC,EAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;SACzG;aAAM;YACL,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;SACvC;KACF;SAAM;QACL,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,qBAAqB,CAAC,CAAC;KAC5C;AACH,CAAC;AAhBD,4BAgBC"}
1
+ {"version":3,"file":"add-route.js","sourceRoot":"","sources":["../../../../../../packages/ts-morph/src/lib/angular/add-route.ts"],"names":[],"mappings":"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"}
@@ -12,5 +12,9 @@ export interface AngularRoute {
12
12
  };
13
13
  outlet?: string | null;
14
14
  data?: Record<string, any> | null;
15
+ loadRemoteModule?: string | {
16
+ name: string;
17
+ entry?: string;
18
+ };
15
19
  }
16
20
  export declare function BuildRouteObject(route: AngularRoute): WriterFunction;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BuildRouteObject = void 0;
4
4
  const ts_morph_1 = require("ts-morph");
5
5
  function BuildRouteObject(route) {
6
+ var _a;
6
7
  const obj = {
7
8
  path: w => w.quote(route.path),
8
9
  };
@@ -14,6 +15,18 @@ function BuildRouteObject(route) {
14
15
  obj['loadChildren'] = `() => import('${route.loadChildren.import}').then((m) => m.${route.loadChildren.then})`;
15
16
  }
16
17
  }
18
+ if (route.loadRemoteModule) {
19
+ let entry = './routes';
20
+ let name;
21
+ if (typeof route.loadRemoteModule === 'string') {
22
+ name = route.loadRemoteModule;
23
+ }
24
+ else {
25
+ name = route.loadRemoteModule.name;
26
+ entry = (_a = route.loadRemoteModule.entry) !== null && _a !== void 0 ? _a : entry;
27
+ }
28
+ obj['loadChildren'] = `() => loadRemoteModule('${name}', '${entry}')`;
29
+ }
17
30
  if (route.loadComponent) {
18
31
  if (typeof route.loadComponent === 'string') {
19
32
  obj['loadComponent'] = `() => import('${route.loadComponent}')`;
@@ -1 +1 @@
1
- {"version":3,"file":"build-route-object.js","sourceRoot":"","sources":["../../../../../../packages/ts-morph/src/lib/angular/build-route-object.ts"],"names":[],"mappings":";;;AAAA,uCAGkB;AAWlB,SAAgB,gBAAgB,CAAC,KAAmB;IAClD,MAAM,GAAG,GAA4C;QACnD,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;KAC/B,CAAC;IACF,IAAI,KAAK,CAAC,YAAY,EAAE;QACtB,IAAI,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,EAAE;YAC1C,GAAG,CAAC,cAAc,CAAC,GAAG,iBAAkB,KAAK,CAAC,YAAa,IAAI,CAAC;SACjE;aAAM;YACL,GAAG,CAAC,cAAc,CAAC,GAAG,iBAAkB,KAAK,CAAC,YAAY,CAAC,MAAO,oBAAqB,KAAK,CAAC,YAAY,CAAC,IAAK,GAAG,CAAC;SACpH;KACF;IACD,IAAI,KAAK,CAAC,aAAa,EAAE;QACvB,IAAI,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ,EAAE;YAC3C,GAAG,CAAC,eAAe,CAAC,GAAG,iBAAkB,KAAK,CAAC,aAAc,IAAI,CAAC;SACnE;aAAM;YACL,GAAG,CAAC,eAAe,CAAC,GAAG,iBAAkB,KAAK,CAAC,aAAa,CAAC,MAAO,oBAAqB,KAAK,CAAC,aAAa,CAAC,IAAK,GAAG,CAAC;SACvH;KACF;SAAM,IAAI,KAAK,CAAC,SAAS,EAAE;QAC1B,GAAG,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC;KACpC;IACD,IAAI,KAAK,CAAC,MAAM,EAAE;QAChB,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAO,CAAC,CAAC;KAC7C;IACD,IAAI,KAAK,CAAC,IAAI,EAAE;QACd,GAAG,CAAC,MAAM,CAAC,GAAG,kBAAO,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;aACpD,MAAM,CAAC,CAAC,GAAG,EAAE,CAAE,GAAG,EAAE,KAAK,CAAE,EAAE,EAAE;YAC9B,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;gBACnE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;oBAC7B,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBAChC;qBAAM;oBACL,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;iBACrC;aACF;YACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC7B,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;aAC7B;YACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;gBACzB,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aAClB;YACD,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC/B,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAA6C,CAAC,CAAC,CAAC;KACtD;IACD,OAAO,kBAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AA5CD,4CA4CC"}
1
+ {"version":3,"file":"build-route-object.js","sourceRoot":"","sources":["../../../../../../packages/ts-morph/src/lib/angular/build-route-object.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ const get_coerce_array_literal_form_object_literal_1 = require("../get-coerce-ar
9
9
  function CoerceAppConfigProvider(sourceFile, options) {
10
10
  const { providers = [], httpInterceptors = [], importProvidersFrom = [], overwrite = false } = options;
11
11
  const appConfigVariableDeclaration = (0, coerce_variable_declaration_1.CoerceVariableDeclaration)(sourceFile, 'appConfig', {
12
- initializer: '{ providers: [] }',
12
+ initializer: '{ providers: [\n] }',
13
13
  type: 'ApplicationConfig',
14
14
  });
15
15
  (0, coerce_imports_1.CoerceImports)(sourceFile, {
@@ -1 +1 @@
1
- {"version":3,"file":"coerce-app-config-provider.js","sourceRoot":"","sources":["../../../../../../packages/ts-morph/src/lib/angular/coerce-app-config-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coerce-app-config-provider.js","sourceRoot":"","sources":["../../../../../../packages/ts-morph/src/lib/angular/coerce-app-config-provider.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ function CoerceRouteGuard(sourceFile, path, guard, options = {}) {
8
8
  const { routeArrayName = 'ROUTES', type = 'canActivate' } = options;
9
9
  const routes = sourceFile.getVariableDeclaration(routeArrayName);
10
10
  if (routes) {
11
- const initializer = (0, ts_morph_1.FindParentRoute)(routes.getInitializerIfKindOrThrow(ts_morph_2.SyntaxKind.ArrayLiteralExpression), path);
11
+ const initializer = (0, ts_morph_1.FindParentRouteByPath)(routes.getInitializerIfKindOrThrow(ts_morph_2.SyntaxKind.ArrayLiteralExpression), path);
12
12
  if (initializer) {
13
13
  const guardArray = (_a = initializer.getProperty(type)) !== null && _a !== void 0 ? _a : initializer.addPropertyAssignment({
14
14
  name: type,
@@ -1 +1 @@
1
- {"version":3,"file":"coerce-route-guard.js","sourceRoot":"","sources":["../../../../../../packages/ts-morph/src/lib/angular/coerce-route-guard.ts"],"names":[],"mappings":";;;AAAA,6CAGwB;AACxB,uCAIkB;AAOlB,SAAgB,gBAAgB,CAAC,UAAsB,EAAE,IAAc,EAAE,KAAa,EAAE,UAAmC,EAAE;;IAC3H,MAAM,EAAE,cAAc,GAAG,QAAQ,EAAE,IAAI,GAAG,aAAa,EAAE,GAAG,OAAO,CAAC;IACpE,MAAM,MAAM,GAAG,UAAU,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;IACjE,IAAI,MAAM,EAAE;QACV,MAAM,WAAW,GAAG,IAAA,0BAAe,EAAC,MAAM,CAAC,2BAA2B,CAAC,qBAAU,CAAC,sBAAsB,CAAC,EAAE,IAAI,CAAC,CAAC;QACjH,IAAI,WAAW,EAAE;YACf,MAAM,UAAU,GAAG,MAAA,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,mCAAI,WAAW,CAAC,qBAAqB,CAAC;gBACpF,IAAI,EAAE,IAAI;gBACV,WAAW,EAAE,IAAI;aAClB,CAAC,CAAC;YACH,IAAI,UAAU,YAAY,6BAAkB,EAAE;gBAC5C,MAAM,qBAAqB,GAAG,UAAU,CAAC,2BAA2B,CAAC,qBAAU,CAAC,sBAAsB,CAAC,CAAC;gBACxG,IAAA,6BAAkB,EAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;aAClD;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;aAC5D;SACF;aAAM;YACL,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;SACvC;KACF;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,GAAG,cAAc,qBAAqB,CAAC,CAAC;KACzD;AACH,CAAC;AAtBD,4CAsBC"}
1
+ {"version":3,"file":"coerce-route-guard.js","sourceRoot":"","sources":["../../../../../../packages/ts-morph/src/lib/angular/coerce-route-guard.ts"],"names":[],"mappings":";;;AAAA,6CAGwB;AACxB,uCAIkB;AAOlB,SAAgB,gBAAgB,CAAC,UAAsB,EAAE,IAAc,EAAE,KAAa,EAAE,UAAmC,EAAE;;IAC3H,MAAM,EAAE,cAAc,GAAG,QAAQ,EAAE,IAAI,GAAG,aAAa,EAAE,GAAG,OAAO,CAAC;IACpE,MAAM,MAAM,GAAG,UAAU,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;IACjE,IAAI,MAAM,EAAE;QACV,MAAM,WAAW,GAAG,IAAA,gCAAqB,EAAC,MAAM,CAAC,2BAA2B,CAAC,qBAAU,CAAC,sBAAsB,CAAC,EAAE,IAAI,CAAC,CAAC;QACvH,IAAI,WAAW,EAAE;YACf,MAAM,UAAU,GAAG,MAAA,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,mCAAI,WAAW,CAAC,qBAAqB,CAAC;gBACpF,IAAI,EAAE,IAAI;gBACV,WAAW,EAAE,IAAI;aAClB,CAAC,CAAC;YACH,IAAI,UAAU,YAAY,6BAAkB,EAAE;gBAC5C,MAAM,qBAAqB,GAAG,UAAU,CAAC,2BAA2B,CAAC,qBAAU,CAAC,sBAAsB,CAAC,CAAC;gBACxG,IAAA,6BAAkB,EAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;aAClD;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;aAC5D;SACF;aAAM;YACL,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;SACvC;KACF;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,GAAG,cAAc,qBAAqB,CAAC,CAAC;KACzD;AACH,CAAC;AAtBD,4CAsBC"}
@@ -1,11 +1,8 @@
1
1
  import { SourceFile, WriterFunction } from 'ts-morph';
2
- import { AngularRoute } from './build-route-object';
2
+ import { AddRouteOptions } from './add-route';
3
3
  export interface CoerceRoutesOptions {
4
4
  name?: string;
5
5
  initializer?: string | WriterFunction;
6
- itemList?: Array<{
7
- route: AngularRoute;
8
- path?: string[];
9
- }>;
6
+ itemList?: Array<Omit<AddRouteOptions, 'name'>>;
10
7
  }
11
8
  export declare function CoerceRoutes(sourceFile: SourceFile, options?: CoerceRoutesOptions): import("ts-morph").VariableDeclaration;
@@ -7,7 +7,7 @@ const coerce_imports_1 = require("../coerce-imports");
7
7
  const coerce_variable_declaration_1 = require("../coerce-variable-declaration");
8
8
  const add_route_1 = require("./add-route");
9
9
  function CoerceRoutes(sourceFile, options = {}) {
10
- var _a;
10
+ var _a, _b;
11
11
  const { name = 'ROUTES', initializer = `[{ path: '**', redirectTo: '' }]` } = options;
12
12
  // region remove a route declaration if the initializer is an empty array to ensure the initializer is set
13
13
  let variableDeclaration = (0, coerce_variable_declaration_1.CoerceVariableDeclaration)(sourceFile, name, { initializer: '[]', type: 'Route[]' });
@@ -26,8 +26,16 @@ function CoerceRoutes(sourceFile, options = {}) {
26
26
  moduleSpecifier: '@angular/router'
27
27
  },
28
28
  ]);
29
- for (const { route, path } of (_a = options.itemList) !== null && _a !== void 0 ? _a : []) {
30
- (0, add_route_1.AddRoute)(sourceFile, route, path, name);
29
+ if ((_a = options.itemList) === null || _a === void 0 ? void 0 : _a.some(item => item.route.loadRemoteModule)) {
30
+ (0, coerce_imports_1.CoerceImports)(sourceFile, [
31
+ {
32
+ namedImports: ['loadRemoteModule'],
33
+ moduleSpecifier: '@nx/angular/mf'
34
+ },
35
+ ]);
36
+ }
37
+ for (const item of (_b = options.itemList) !== null && _b !== void 0 ? _b : []) {
38
+ (0, add_route_1.AddRoute)(sourceFile, Object.assign(Object.assign({}, item), { name }));
31
39
  }
32
40
  return variableDeclaration;
33
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"coerce-routes.js","sourceRoot":"","sources":["../../../../../../packages/ts-morph/src/lib/angular/coerce-routes.ts"],"names":[],"mappings":";;;AAAA,uCAIkB;AAClB,oEAA+D;AAC/D,sDAAkD;AAClD,gFAA2E;AAC3E,2CAAuC;AASvC,SAAgB,YAAY,CAAC,UAAsB,EAAE,UAA+B,EAAE;;IAEpF,MAAM,EACJ,IAAI,GAAG,QAAQ,EACf,WAAW,GAAG,kCAAkC,EACjD,GAAG,OAAO,CAAC;IAEZ,0GAA0G;IAC1G,IAAI,mBAAmB,GAAG,IAAA,uDAAyB,EAAC,UAAU,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IAC9G,IAAI,mBAAmB,CAAC,2BAA2B,CAAC,qBAAU,CAAC,sBAAsB,CAAC,CAAC,WAAW,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;QACjH,mBAAmB,CAAC,2BAA2B,EAAE,CAAC,MAAM,EAAE,CAAC;KAC5D;IACD,YAAY;IACZ,mBAAmB,GAAG,IAAA,uDAAyB,EAAC,UAAU,EAAE,IAAI,EAAE;QAChE,WAAW;QACX,IAAI,EAAE,SAAS;KAChB,CAAC,CAAC;IACH,IAAA,2CAAmB,EAAC,mBAAmB,CAAC,CAAC;IACzC,IAAA,8BAAa,EAAC,UAAU,EAAE;QACxB;YACE,YAAY,EAAE,CAAE,OAAO,CAAE;YACzB,eAAe,EAAE,iBAAiB;SACnC;KACF,CAAC,CAAC;IAEH,KAAK,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,MAAA,OAAO,CAAC,QAAQ,mCAAI,EAAE,EAAE;QACpD,IAAA,oBAAQ,EAAC,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;KACzC;IAED,OAAO,mBAAmB,CAAC;AAE7B,CAAC;AA/BD,oCA+BC"}
1
+ {"version":3,"file":"coerce-routes.js","sourceRoot":"","sources":["../../../../../../packages/ts-morph/src/lib/angular/coerce-routes.ts"],"names":[],"mappings":";;;AAAA,uCAIkB;AAClB,oEAA+D;AAC/D,sDAAkD;AAClD,gFAA2E;AAC3E,2CAGqB;AAQrB,SAAgB,YAAY,CAAC,UAAsB,EAAE,UAA+B,EAAE;;IAEpF,MAAM,EACJ,IAAI,GAAG,QAAQ,EACf,WAAW,GAAG,kCAAkC,EACjD,GAAG,OAAO,CAAC;IAEZ,0GAA0G;IAC1G,IAAI,mBAAmB,GAAG,IAAA,uDAAyB,EAAC,UAAU,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IAC9G,IAAI,mBAAmB,CAAC,2BAA2B,CAAC,qBAAU,CAAC,sBAAsB,CAAC,CAAC,WAAW,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;QACjH,mBAAmB,CAAC,2BAA2B,EAAE,CAAC,MAAM,EAAE,CAAC;KAC5D;IACD,YAAY;IACZ,mBAAmB,GAAG,IAAA,uDAAyB,EAAC,UAAU,EAAE,IAAI,EAAE;QAChE,WAAW;QACX,IAAI,EAAE,SAAS;KAChB,CAAC,CAAC;IACH,IAAA,2CAAmB,EAAC,mBAAmB,CAAC,CAAC;IACzC,IAAA,8BAAa,EAAC,UAAU,EAAE;QACxB;YACE,YAAY,EAAE,CAAE,OAAO,CAAE;YACzB,eAAe,EAAE,iBAAiB;SACnC;KACF,CAAC,CAAC;IACH,IAAI,MAAA,OAAO,CAAC,QAAQ,0CAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE;QAC/D,IAAA,8BAAa,EAAC,UAAU,EAAE;YACxB;gBACE,YAAY,EAAE,CAAE,kBAAkB,CAAE;gBACpC,eAAe,EAAE,gBAAgB;aAClC;SACF,CAAC,CAAC;KACJ;IAED,KAAK,MAAM,IAAI,IAAI,MAAA,OAAO,CAAC,QAAQ,mCAAI,EAAE,EAAE;QACzC,IAAA,oBAAQ,EAAC,UAAU,kCAAO,IAAI,KAAE,IAAI,IAAG,CAAC;KACzC;IAED,OAAO,mBAAmB,CAAC;AAE7B,CAAC;AAvCD,oCAuCC"}
@@ -1,4 +1,6 @@
1
1
  import { ArrayLiteralExpression, ObjectLiteralExpression } from 'ts-morph';
2
2
  export declare function GetRouteChildrenArray(e: ObjectLiteralExpression): ArrayLiteralExpression;
3
- export declare function FindParentRoute(ale: ArrayLiteralExpression, path: string[]): ObjectLiteralExpression | null;
4
- export declare function FindParentRouteChildrenArray(ale: ArrayLiteralExpression, path: string[]): ArrayLiteralExpression | null;
3
+ export declare function FindParentRouteByPath(ale: ArrayLiteralExpression, path: string[]): ObjectLiteralExpression | null;
4
+ export declare function FindParentRouteByComponent(ale: ArrayLiteralExpression, component: string): ObjectLiteralExpression | null;
5
+ export declare function FindParentRouteChildrenArrayByPath(ale: ArrayLiteralExpression, path: string[]): ArrayLiteralExpression | null;
6
+ export declare function FindParentRouteChildrenArrayByComponent(ale: ArrayLiteralExpression, component: string): ArrayLiteralExpression | null;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FindParentRouteChildrenArray = exports.FindParentRoute = exports.GetRouteChildrenArray = void 0;
3
+ exports.FindParentRouteChildrenArrayByComponent = exports.FindParentRouteChildrenArrayByPath = exports.FindParentRouteByComponent = exports.FindParentRouteByPath = exports.GetRouteChildrenArray = void 0;
4
4
  const ts_morph_1 = require("ts-morph");
5
5
  function GetRouteChildrenArray(e) {
6
6
  var _a;
@@ -15,31 +15,26 @@ function GetRouteChildrenArray(e) {
15
15
  throw new Error('Children property is not a PropertyAssignment');
16
16
  }
17
17
  exports.GetRouteChildrenArray = GetRouteChildrenArray;
18
- function FindParentRoute(ale, path) {
18
+ function FindParentRouteByPath(ale, path) {
19
19
  const fragment = path.pop();
20
20
  for (const e of ale.getElements()) {
21
- if (e instanceof ts_morph_1.ObjectLiteralExpression) {
21
+ if (e.isKind(ts_morph_1.SyntaxKind.ObjectLiteralExpression)) {
22
22
  const pathProperty = e.getProperty('path');
23
- if (pathProperty && pathProperty instanceof ts_morph_1.PropertyAssignment) {
23
+ if (pathProperty === null || pathProperty === void 0 ? void 0 : pathProperty.isKind(ts_morph_1.SyntaxKind.PropertyAssignment)) {
24
24
  const initializer = pathProperty.getInitializerIfKind(ts_morph_1.SyntaxKind.StringLiteral);
25
- if (initializer) {
26
- if (initializer.getLiteralText() === fragment) {
27
- if (path.length) {
28
- const children = GetRouteChildrenArray(e);
29
- // console.log('Continue search for parent route');
30
- return FindParentRoute(children, path);
31
- }
32
- else {
33
- // console.log('Found parent route');
34
- return e;
35
- }
25
+ if ((initializer === null || initializer === void 0 ? void 0 : initializer.getLiteralText()) === fragment) {
26
+ if (path.length) {
27
+ const children = GetRouteChildrenArray(e);
28
+ // console.log('Continue search for parent route');
29
+ return FindParentRouteByPath(children, path);
36
30
  }
37
31
  else {
38
- // console.log('Path property does not match', initializer.getLiteralText(), fragment);
32
+ // console.log('Found parent route');
33
+ return e;
39
34
  }
40
35
  }
41
36
  else {
42
- // console.log('Path property has no StringLiteral initializer');
37
+ // console.log('Path property does not match', initializer.getLiteralText(), fragment);
43
38
  }
44
39
  }
45
40
  else {
@@ -52,10 +47,30 @@ function FindParentRoute(ale, path) {
52
47
  }
53
48
  return null;
54
49
  }
55
- exports.FindParentRoute = FindParentRoute;
56
- function FindParentRouteChildrenArray(ale, path) {
57
- const parent = FindParentRoute(ale, path);
50
+ exports.FindParentRouteByPath = FindParentRouteByPath;
51
+ function FindParentRouteByComponent(ale, component) {
52
+ for (const e of ale.getElements()) {
53
+ if (e.isKind(ts_morph_1.SyntaxKind.ObjectLiteralExpression)) {
54
+ const componentProperty = e.getProperty('component');
55
+ if (componentProperty === null || componentProperty === void 0 ? void 0 : componentProperty.isKind(ts_morph_1.SyntaxKind.PropertyAssignment)) {
56
+ const initializer = componentProperty.getInitializer();
57
+ if ((initializer === null || initializer === void 0 ? void 0 : initializer.getText()) === component) {
58
+ return e;
59
+ }
60
+ }
61
+ }
62
+ }
63
+ return null;
64
+ }
65
+ exports.FindParentRouteByComponent = FindParentRouteByComponent;
66
+ function FindParentRouteChildrenArrayByPath(ale, path) {
67
+ const parent = FindParentRouteByPath(ale, path);
68
+ return parent ? GetRouteChildrenArray(parent) : null;
69
+ }
70
+ exports.FindParentRouteChildrenArrayByPath = FindParentRouteChildrenArrayByPath;
71
+ function FindParentRouteChildrenArrayByComponent(ale, component) {
72
+ const parent = FindParentRouteByComponent(ale, component);
58
73
  return parent ? GetRouteChildrenArray(parent) : null;
59
74
  }
60
- exports.FindParentRouteChildrenArray = FindParentRouteChildrenArray;
75
+ exports.FindParentRouteChildrenArrayByComponent = FindParentRouteChildrenArrayByComponent;
61
76
  //# sourceMappingURL=find-parent-route.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"find-parent-route.js","sourceRoot":"","sources":["../../../../../../packages/ts-morph/src/lib/angular/find-parent-route.ts"],"names":[],"mappings":";;;AAAA,uCAMkB;AAElB,SAAgB,qBAAqB,CAAC,CAA0B;;IAC9D,MAAM,gBAAgB,GAAG,MAAA,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,mCAAI,CAAC,CAAC,WAAW,CAAC;QAClE,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,IAAI;QACjB,IAAI,EAAE,wBAAa,CAAC,kBAAkB;KACvC,CAAC,CAAC;IACH,IAAI,gBAAgB,YAAY,6BAAkB,EAAE;QAClD,OAAO,gBAAgB,CAAC,2BAA2B,CAAC,qBAAU,CAAC,sBAAsB,CAAC,CAAC;KACxF;IACD,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;AACnE,CAAC;AAVD,sDAUC;AAED,SAAgB,eAAe,CAAC,GAA2B,EAAE,IAAc;IACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC5B,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,EAAE;QACjC,IAAI,CAAC,YAAY,kCAAuB,EAAE;YACxC,MAAM,YAAY,GAAG,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,YAAY,IAAI,YAAY,YAAY,6BAAkB,EAAE;gBAC9D,MAAM,WAAW,GAAG,YAAY,CAAC,oBAAoB,CAAC,qBAAU,CAAC,aAAa,CAAC,CAAC;gBAChF,IAAI,WAAW,EAAE;oBACf,IAAI,WAAW,CAAC,cAAc,EAAE,KAAK,QAAQ,EAAE;wBAC7C,IAAI,IAAI,CAAC,MAAM,EAAE;4BACf,MAAM,QAAQ,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;4BAC1C,mDAAmD;4BACnD,OAAO,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;yBACxC;6BAAM;4BACL,qCAAqC;4BACrC,OAAO,CAAC,CAAC;yBACV;qBACF;yBAAM;wBACL,uFAAuF;qBACxF;iBACF;qBAAM;oBACL,iEAAiE;iBAClE;aACF;iBAAM;gBACL,+CAA+C;aAChD;SACF;aAAM;YACL,4DAA4D;SAC7D;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AA/BD,0CA+BC;AAED,SAAgB,4BAA4B,CAAC,GAA2B,EAAE,IAAc;IACtF,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACvD,CAAC;AAHD,oEAGC"}
1
+ {"version":3,"file":"find-parent-route.js","sourceRoot":"","sources":["../../../../../../packages/ts-morph/src/lib/angular/find-parent-route.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { TypeImport } from '@rxap/ts-morph';
2
+ import { ClassDeclaration, SourceFile } from 'ts-morph';
3
+ export declare function RemoveComponentImport(sourceFileOrClassDeclaration: SourceFile | ClassDeclaration, componentImport: string | TypeImport): void;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RemoveComponentImport = void 0;
4
+ const ts_morph_1 = require("@rxap/ts-morph");
5
+ const ts_morph_2 = require("ts-morph");
6
+ function RemoveComponentImport(sourceFileOrClassDeclaration, componentImport) {
7
+ var _a, _b, _c;
8
+ const classDeclaration = sourceFileOrClassDeclaration instanceof ts_morph_2.ClassDeclaration ? sourceFileOrClassDeclaration : (0, ts_morph_1.GetComponentClass)(sourceFileOrClassDeclaration);
9
+ const sourceFile = sourceFileOrClassDeclaration instanceof ts_morph_2.SourceFile ? sourceFileOrClassDeclaration : sourceFileOrClassDeclaration.getSourceFile();
10
+ const importName = typeof componentImport === 'string' ? componentImport : (_a = componentImport.namedImport) !== null && _a !== void 0 ? _a : componentImport.name;
11
+ (_b = sourceFile.getImportDeclaration(importDeclaration => importDeclaration.getNamedImports().some(namedImport => namedImport.getName() === importName))) === null || _b === void 0 ? void 0 : _b.remove();
12
+ if ((0, ts_morph_1.IsTypeImport)(componentImport) && componentImport.moduleSpecifier) {
13
+ (_c = sourceFile.getImportDeclaration(componentImport.moduleSpecifier)) === null || _c === void 0 ? void 0 : _c.remove();
14
+ }
15
+ const componentDecoratorObject = (0, ts_morph_1.GetComponentDecoratorObject)(classDeclaration);
16
+ const importsArray = (0, ts_morph_1.GetArrayLiteralFromObjectLiteral)(componentDecoratorObject, 'imports');
17
+ const element = importsArray === null || importsArray === void 0 ? void 0 : importsArray.getElements().find(e => e.getText().includes(importName));
18
+ if (element) {
19
+ importsArray === null || importsArray === void 0 ? void 0 : importsArray.removeElement(element);
20
+ }
21
+ }
22
+ exports.RemoveComponentImport = RemoveComponentImport;
23
+ //# sourceMappingURL=remove-component-import.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove-component-import.js","sourceRoot":"","sources":["../../../../../../packages/ts-morph/src/lib/angular/remove-component-import.ts"],"names":[],"mappings":";;;AAAA,6CAMwB;AACxB,uCAGkB;AAElB,SAAgB,qBAAqB,CACnC,4BAA2D,EAC3D,eAAoC;;IAGpC,MAAM,gBAAgB,GAAG,4BAA4B,YAAY,2BAAgB,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,IAAA,4BAAiB,EAAC,4BAA4B,CAAC,CAAC;IACnK,MAAM,UAAU,GAAG,4BAA4B,YAAY,qBAAU,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,4BAA4B,CAAC,aAAa,EAAE,CAAC;IAEpJ,MAAM,UAAU,GAAG,OAAO,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,MAAA,eAAe,CAAC,WAAW,mCAAI,eAAe,CAAC,IAAI,CAAC;IAE/H,MAAA,UAAU,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,CAAC,iBAAiB,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,CAAC,0CAAE,MAAM,EAAE,CAAC;IAE9J,IAAI,IAAA,uBAAY,EAAC,eAAe,CAAC,IAAI,eAAe,CAAC,eAAe,EAAE;QACpE,MAAA,UAAU,CAAC,oBAAoB,CAAC,eAAe,CAAC,eAAe,CAAC,0CAAE,MAAM,EAAE,CAAC;KAC5E;IAED,MAAM,wBAAwB,GAAG,IAAA,sCAA2B,EAAC,gBAAgB,CAAC,CAAC;IAE/E,MAAM,YAAY,GAAG,IAAA,2CAAgC,EAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;IAE3F,MAAM,OAAO,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IACxF,IAAI,OAAO,EAAE;QACX,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,aAAa,CAAC,OAAO,CAAC,CAAC;KACtC;AAEH,CAAC;AAzBD,sDAyBC"}
@@ -0,0 +1,13 @@
1
+ import { SourceFile } from 'ts-morph';
2
+ import 'colors';
3
+ export interface RemoveRouteOptions {
4
+ path?: string[];
5
+ index?: number;
6
+ loadRemoteModule?: string | {
7
+ name: string;
8
+ entry?: string;
9
+ };
10
+ component?: string;
11
+ name?: string;
12
+ }
13
+ export declare function RemoveRoute(sourceFile: SourceFile, options: RemoveRouteOptions): void;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RemoveRoute = void 0;
4
+ const ts_morph_1 = require("@rxap/ts-morph");
5
+ const ts_morph_2 = require("ts-morph");
6
+ require("colors");
7
+ function RemoveRoute(sourceFile, options) {
8
+ var _a;
9
+ const { path, component, index, loadRemoteModule, name = 'ROUTES' } = options;
10
+ if (!path && !component && index === undefined && !loadRemoteModule) {
11
+ throw new Error('You must provide a path or a component or a index or a loadRemoteModule to remove a route');
12
+ }
13
+ if (path) {
14
+ throw new Error('Not implemented');
15
+ }
16
+ const variableDeclaration = (0, ts_morph_1.CoerceVariableDeclaration)(sourceFile, name, { initializer: '[]', type: 'Route[]' });
17
+ const arrayLiteralExpression = variableDeclaration.getInitializerIfKindOrThrow(ts_morph_2.SyntaxKind.ArrayLiteralExpression);
18
+ if (index !== undefined) {
19
+ arrayLiteralExpression.removeElement(index);
20
+ return;
21
+ }
22
+ const items = arrayLiteralExpression.getElements();
23
+ for (const item of items) {
24
+ if (item.isKind(ts_morph_2.SyntaxKind.ObjectLiteralExpression)) {
25
+ const obj = item.asKindOrThrow(ts_morph_2.SyntaxKind.ObjectLiteralExpression);
26
+ if (component) {
27
+ const componentProperty = obj.getProperty('component');
28
+ if (componentProperty) {
29
+ const value = componentProperty.asKindOrThrow(ts_morph_2.SyntaxKind.PropertyAssignment).getInitializer();
30
+ if (value.getText() === component) {
31
+ arrayLiteralExpression.removeElement(item);
32
+ return;
33
+ }
34
+ }
35
+ }
36
+ if (loadRemoteModule) {
37
+ const loadChildrenProperty = obj.getProperty('loadChildren');
38
+ if (loadChildrenProperty) {
39
+ const value = loadChildrenProperty.asKindOrThrow(ts_morph_2.SyntaxKind.PropertyAssignment).getInitializer();
40
+ let regex;
41
+ if (typeof loadRemoteModule === 'string') {
42
+ regex = new RegExp(`^\\(\\) =>[\\s\\S]+loadRemoteModule\\('${loadRemoteModule}'`);
43
+ }
44
+ else {
45
+ regex = new RegExp(`^\\(\\) =>[\\s\\S]+loadRemoteModule\\('${loadRemoteModule.name}',\\s*'${(_a = loadRemoteModule.entry) !== null && _a !== void 0 ? _a : './routes'}'\\)`);
46
+ }
47
+ if (value.getText().match(regex)) {
48
+ arrayLiteralExpression.removeElement(item);
49
+ return;
50
+ }
51
+ }
52
+ }
53
+ }
54
+ }
55
+ console.log('No route found to remove'.yellow);
56
+ }
57
+ exports.RemoveRoute = RemoveRoute;
58
+ //# sourceMappingURL=remove-route.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove-route.js","sourceRoot":"","sources":["../../../../../../packages/ts-morph/src/lib/angular/remove-route.ts"],"names":[],"mappings":";;;AAAA,6CAA2D;AAC3D,uCAGkB;AAClB,kBAAgB;AAUhB,SAAgB,WAAW,CAAC,UAAsB,EAAE,OAA2B;;IAE7E,MAAM,EACJ,IAAI,EACJ,SAAS,EACT,KAAK,EACL,gBAAgB,EAChB,IAAI,GAAG,QAAQ,EAChB,GAAG,OAAO,CAAC;IAEZ,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,gBAAgB,EAAE;QACnE,MAAM,IAAI,KAAK,CAAC,2FAA2F,CAAC,CAAC;KAC9G;IAED,IAAI,IAAI,EAAE;QACR,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;KACpC;IAED,MAAM,mBAAmB,GAAG,IAAA,oCAAyB,EAAC,UAAU,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IAEhH,MAAM,sBAAsB,GAAG,mBAAmB,CAAC,2BAA2B,CAAC,qBAAU,CAAC,sBAAsB,CAAC,CAAC;IAElH,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,sBAAsB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5C,OAAO;KACR;IAED,MAAM,KAAK,GAAG,sBAAsB,CAAC,WAAW,EAAE,CAAC;IAEnD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,IAAI,IAAI,CAAC,MAAM,CAAC,qBAAU,CAAC,uBAAuB,CAAC,EAAE;YACnD,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAU,CAAC,uBAAuB,CAAC,CAAC;YACnE,IAAI,SAAS,EAAE;gBACb,MAAM,iBAAiB,GAAG,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;gBACvD,IAAI,iBAAiB,EAAE;oBACrB,MAAM,KAAK,GAAG,iBAAiB,CAAC,aAAa,CAAC,qBAAU,CAAC,kBAAkB,CAAC,CAAC,cAAc,EAAG,CAAC;oBAC/F,IAAI,KAAK,CAAC,OAAO,EAAE,KAAK,SAAS,EAAE;wBACjC,sBAAsB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;wBAC3C,OAAO;qBACR;iBACF;aACF;YACD,IAAI,gBAAgB,EAAE;gBACpB,MAAM,oBAAoB,GAAG,GAAG,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;gBAC7D,IAAI,oBAAoB,EAAE;oBACxB,MAAM,KAAK,GAAG,oBAAoB,CAAC,aAAa,CAAC,qBAAU,CAAC,kBAAkB,CAAC,CAAC,cAAc,EAAG,CAAC;oBAClG,IAAI,KAAa,CAAC;oBAClB,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE;wBACxC,KAAK,GAAG,IAAI,MAAM,CAAC,0CAA0C,gBAAgB,GAAG,CAAC,CAAC;qBACnF;yBAAM;wBACL,KAAK,GAAG,IAAI,MAAM,CAAC,0CAA0C,gBAAgB,CAAC,IAAI,UAAU,MAAA,gBAAgB,CAAC,KAAK,mCAAI,UAAU,MAAM,CAAC,CAAC;qBACzI;oBACD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;wBAChC,sBAAsB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;wBAC3C,OAAO;qBACR;iBACF;aACF;SACF;KACF;IAED,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;AAGjD,CAAC;AAhED,kCAgEC"}
@@ -1,2 +1,3 @@
1
1
  import { ArrayLiteralExpression, ObjectLiteralExpression } from 'ts-morph';
2
+ export declare function GetArrayLiteralFromObjectLiteral(objectLiteral: ObjectLiteralExpression, propertyKey: string): ArrayLiteralExpression | null;
2
3
  export declare function GetCoerceArrayLiteralFromObjectLiteral(objectLiteral: ObjectLiteralExpression, propertyKey: string): ArrayLiteralExpression;
@@ -1,7 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GetCoerceArrayLiteralFromObjectLiteral = void 0;
3
+ exports.GetCoerceArrayLiteralFromObjectLiteral = exports.GetArrayLiteralFromObjectLiteral = void 0;
4
4
  const ts_morph_1 = require("ts-morph");
5
+ function GetArrayLiteralFromObjectLiteral(objectLiteral, propertyKey) {
6
+ const arrayLiteralAssignment = objectLiteral.getProperty(propertyKey);
7
+ if (!arrayLiteralAssignment) {
8
+ return null;
9
+ }
10
+ if (!(arrayLiteralAssignment instanceof ts_morph_1.PropertyAssignment)) {
11
+ throw new Error('The imports property is not type of Property Assignment!');
12
+ }
13
+ const arrayLiteral = arrayLiteralAssignment.getInitializer();
14
+ if (!arrayLiteral) {
15
+ throw new Error('The imports property a not a initializer');
16
+ }
17
+ if (!(arrayLiteral instanceof ts_morph_1.ArrayLiteralExpression)) {
18
+ throw new Error('The imports property initializer is not an array');
19
+ }
20
+ return arrayLiteral;
21
+ }
22
+ exports.GetArrayLiteralFromObjectLiteral = GetArrayLiteralFromObjectLiteral;
5
23
  function GetCoerceArrayLiteralFromObjectLiteral(objectLiteral, propertyKey) {
6
24
  let arrayLiteralAssignment = objectLiteral.getProperty(propertyKey);
7
25
  if (!arrayLiteralAssignment) {
@@ -1 +1 @@
1
- {"version":3,"file":"get-coerce-array-literal-form-object-literal.js","sourceRoot":"","sources":["../../../../../packages/ts-morph/src/lib/get-coerce-array-literal-form-object-literal.ts"],"names":[],"mappings":";;;AAAA,uCAIkB;AAElB,SAAgB,sCAAsC,CACpD,aAAsC,EACtC,WAAmB;IAGnB,IAAI,sBAAsB,GAAG,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAEpE,IAAI,CAAC,sBAAsB,EAAE;QAC3B,sBAAsB,GAAG,aAAa,CAAC,qBAAqB,CAAC;YAC3D,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;KACJ;IAED,IAAI,CAAC,CAAC,sBAAsB,YAAY,6BAAkB,CAAC,EAAE;QAC3D,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;KAC7E;IAED,MAAM,YAAY,GAAG,sBAAsB,CAAC,cAAc,EAAE,CAAC;IAE7D,IAAI,CAAC,YAAY,EAAE;QACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;KAC7D;IAED,IAAI,CAAC,CAAC,YAAY,YAAY,iCAAsB,CAAC,EAAE;QACrD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;KACrE;IAED,OAAO,YAAY,CAAC;AAEtB,CAAC;AA9BD,wFA8BC"}
1
+ {"version":3,"file":"get-coerce-array-literal-form-object-literal.js","sourceRoot":"","sources":["../../../../../packages/ts-morph/src/lib/get-coerce-array-literal-form-object-literal.ts"],"names":[],"mappings":";;;AAAA,uCAIkB;AAElB,SAAgB,gCAAgC,CAC9C,aAAsC,EACtC,WAAmB;IAGnB,MAAM,sBAAsB,GAAG,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAEtE,IAAI,CAAC,sBAAsB,EAAE;QAC3B,OAAO,IAAI,CAAC;KACb;IAED,IAAI,CAAC,CAAC,sBAAsB,YAAY,6BAAkB,CAAC,EAAE;QAC3D,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;KAC7E;IAED,MAAM,YAAY,GAAG,sBAAsB,CAAC,cAAc,EAAE,CAAC;IAE7D,IAAI,CAAC,YAAY,EAAE;QACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;KAC7D;IAED,IAAI,CAAC,CAAC,YAAY,YAAY,iCAAsB,CAAC,EAAE;QACrD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;KACrE;IAED,OAAO,YAAY,CAAC;AAEtB,CAAC;AA3BD,4EA2BC;AAED,SAAgB,sCAAsC,CACpD,aAAsC,EACtC,WAAmB;IAGnB,IAAI,sBAAsB,GAAG,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAEpE,IAAI,CAAC,sBAAsB,EAAE;QAC3B,sBAAsB,GAAG,aAAa,CAAC,qBAAqB,CAAC;YAC3D,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;KACJ;IAED,IAAI,CAAC,CAAC,sBAAsB,YAAY,6BAAkB,CAAC,EAAE;QAC3D,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;KAC7E;IAED,MAAM,YAAY,GAAG,sBAAsB,CAAC,cAAc,EAAE,CAAC;IAE7D,IAAI,CAAC,YAAY,EAAE;QACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;KAC7D;IAED,IAAI,CAAC,CAAC,YAAY,YAAY,iCAAsB,CAAC,EAAE;QACrD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;KACrE;IAED,OAAO,YAAY,CAAC;AAEtB,CAAC;AA9BD,wFA8BC"}