piral-ng 0.15.0-beta.4812 → 0.15.0-beta.4815

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.
package/README.md CHANGED
@@ -30,7 +30,7 @@ The extension slot module to be used in Angular components. This is not really n
30
30
 
31
31
  You can use the `fromNg` function from the Pilet API to convert your Angular components to components usable by your Piral instance.
32
32
 
33
- Example use:
33
+ ### Example Usage
34
34
 
35
35
  ```ts
36
36
  import { PiletApi } from '<name-of-piral-instance>';
@@ -75,7 +75,38 @@ export function setup(piral: PiletApi) {
75
75
  }
76
76
  ```
77
77
 
78
- Angular Options:
78
+ ### Lazy Loading
79
+
80
+ Even better, you can also lazy load the respective Angular module and components using the callback-based overload of `defineNgModule`:
81
+
82
+ ```ts
83
+ import { PiletApi } from '<name-of-piral-instance>';
84
+
85
+ export function setup(piral: PiletApi) {
86
+ // this "teaches" Piral about the given module, which is lazy loaded
87
+ // important; in this case `./AppModule.ts` has a `default` export
88
+ const loadComponent = piral.defineNgModule(() => import('./AppModule'));
89
+
90
+ // to fully lazy load we cannot reference the class anymore;
91
+ // instead we reference the selector of the component
92
+ piral.registerPage('/sample', loadComponent('angular-page'));
93
+ }
94
+ ```
95
+
96
+ In the example above, the `AngularPage` would have been defined to look like
97
+
98
+ ```js
99
+ // ...
100
+ @Component({
101
+ // ...
102
+ selector: 'angular-page',
103
+ })
104
+ export class AngularPage { /* ... */ }
105
+ ```
106
+
107
+ which defines the selector (`angular-page`) matching the specified selector in the `setup` function.
108
+
109
+ ### Angular Options
79
110
 
80
111
  You can optionally provide Options to `defineNgModule`, which are identical to those given to `bootstrapModule` during the Angular boot process. See https://angular.io/api/core/PlatformRef#bootstrapModule for possible values.
81
112
 
@@ -2,7 +2,9 @@ import { __decorate, __metadata, __param } from "tslib";
2
2
  import { Inject, Injectable, NgZone, Optional } from '@angular/core';
3
3
  import { NavigationError, Router } from '@angular/router';
4
4
  import { ɵBrowserPlatformLocation } from '@angular/common';
5
+ let skipNavigation = false;
5
6
  const noop = function () { };
7
+ const navigateByUrl = Router.prototype.navigateByUrl;
6
8
  // deactivates the usual platform behavior; all these operations are performed via the RoutingService
7
9
  // to avoid any conflict, e.g., double-booking URL changes in React and Angular
8
10
  ɵBrowserPlatformLocation.prototype.pushState = noop;
@@ -10,6 +12,14 @@ const noop = function () { };
10
12
  ɵBrowserPlatformLocation.prototype.forward = noop;
11
13
  ɵBrowserPlatformLocation.prototype.back = noop;
12
14
  ɵBrowserPlatformLocation.prototype.historyGo = noop;
15
+ // required to detect / react to hidden URL change (see #554 for details)
16
+ Router.prototype.navigateByUrl = function (url, extras) {
17
+ var _a;
18
+ skipNavigation = (_a = extras === null || extras === void 0 ? void 0 : extras.skipLocationChange) !== null && _a !== void 0 ? _a : false;
19
+ const result = navigateByUrl.call(this, url, extras);
20
+ skipNavigation = false;
21
+ return result;
22
+ };
13
23
  function normalize(url) {
14
24
  const search = url.indexOf('?');
15
25
  const hash = url.indexOf('#');
@@ -40,12 +50,13 @@ let RoutingService = class RoutingService {
40
50
  }
41
51
  throw error;
42
52
  };
53
+ const skipIds = [];
43
54
  const nav = this.context.navigation;
44
55
  this.dispose = nav.listen(({ location }) => {
45
56
  const path = location.pathname;
46
57
  if (!this.invalidRoutes.includes(path)) {
47
58
  const url = `${path}${location.search}${location.hash}`;
48
- this.zone.run(() => this.router.navigateByUrl(url));
59
+ this.zone.run(() => navigateByUrl.call(this.router, url));
49
60
  }
50
61
  });
51
62
  this.subscription = this.router.events.subscribe((e) => {
@@ -60,12 +71,21 @@ let RoutingService = class RoutingService {
60
71
  nav.push(routerUrl);
61
72
  }
62
73
  }
74
+ else if (e.type === 0 && skipNavigation) {
75
+ skipIds.push(e.id);
76
+ }
63
77
  else if (e.type === 15) {
64
- // consistency check to avoid #535 and other Angular-specific issues
65
- const locationUrl = nav.url;
66
- const routerUrl = e.routerEvent.url;
67
- if (routerUrl !== locationUrl) {
68
- nav.push(routerUrl);
78
+ const index = skipIds.indexOf(e.routerEvent.id);
79
+ if (index === -1) {
80
+ // consistency check to avoid #535 and other Angular-specific issues
81
+ const locationUrl = nav.url;
82
+ const routerUrl = e.routerEvent.url;
83
+ if (routerUrl !== locationUrl) {
84
+ nav.push(routerUrl);
85
+ }
86
+ }
87
+ else {
88
+ skipIds.splice(index, 1);
69
89
  }
70
90
  }
71
91
  });
@@ -1 +1 @@
1
- {"version":3,"file":"RoutingService.js","sourceRoot":"","sources":["../src/RoutingService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RoutingService.js","sourceRoot":"","sources":["../src/RoutingService.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,18 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { ɵɵFactoryDeclaration, ɵɵInjectorDeclaration, ɵɵNgModuleDeclaration } from '@angular/core';
3
+ import { NgExtension } from './NgExtension';
4
+ import { ResourceUrlPipe } from './ResourceUrlPipe';
1
5
  export declare class SharedModule {
2
6
  static props: {};
7
+ static ɵfac: ɵɵFactoryDeclaration<SharedModule, never>;
8
+ static ɵmod: ɵɵNgModuleDeclaration<SharedModule, [
9
+ typeof NgExtension,
10
+ typeof ResourceUrlPipe
11
+ ], [
12
+ typeof CommonModule
13
+ ], [
14
+ typeof NgExtension,
15
+ typeof ResourceUrlPipe
16
+ ]>;
17
+ static ɵinj: ɵɵInjectorDeclaration<SharedModule>;
3
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SharedModule.js","sourceRoot":"","sources":["../src/SharedModule.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,eAAe,GAAG,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;AACvD,MAAM,UAAU,GAAG,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;AAClD,MAAM,UAAU,GAAG,CAAC,YAAY,CAAC,CAAC;AAQlC,IAAa,YAAY,GAAzB,MAAa,YAAY;CAExB,CAAA;AADQ,kBAAK,GAAG,EAAE,CAAC;AADP,YAAY;IANxB,QAAQ,CAAC;QACR,YAAY,EAAE,eAAe;QAC7B,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,UAAU;QACnB,OAAO,EAAE,UAAU;KACpB,CAAC;GACW,YAAY,CAExB;SAFY,YAAY"}
1
+ {"version":3,"file":"SharedModule.js","sourceRoot":"","sources":["../src/SharedModule.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAsE,MAAM,eAAe,CAAC;AAC7G,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,eAAe,GAAG,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;AACvD,MAAM,UAAU,GAAG,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;AAClD,MAAM,UAAU,GAAG,CAAC,YAAY,CAAC,CAAC;AAQlC,IAAa,YAAY,GAAzB,MAAa,YAAY;CAaxB,CAAA;AAZQ,kBAAK,GAAG,EAAE,CAAC;AADP,YAAY;IANxB,QAAQ,CAAC;QACR,YAAY,EAAE,eAAe;QAC7B,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,UAAU;QACnB,OAAO,EAAE,UAAU;KACpB,CAAC;GACW,YAAY,CAaxB;SAbY,YAAY"}
package/esm/module.js CHANGED
@@ -108,8 +108,8 @@ export function findModule(module) {
108
108
  return availableModules.find(m => m.module === module);
109
109
  }
110
110
  export function defineModule(module, opts = undefined) {
111
- if (typeof module !== 'function') {
112
- const [annotation] = getAnnotations(module);
111
+ const [annotation] = getAnnotations(module);
112
+ if (annotation) {
113
113
  availableModules.push({
114
114
  active: undefined,
115
115
  components: findComponents(annotation.exports),
@@ -117,7 +117,7 @@ export function defineModule(module, opts = undefined) {
117
117
  opts,
118
118
  });
119
119
  }
120
- else {
120
+ else if (typeof module === 'function') {
121
121
  const state = {
122
122
  current: undefined,
123
123
  };
package/esm/module.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,9 @@ const tslib_1 = require("tslib");
5
5
  const core_1 = require("@angular/core");
6
6
  const router_1 = require("@angular/router");
7
7
  const common_1 = require("@angular/common");
8
+ let skipNavigation = false;
8
9
  const noop = function () { };
10
+ const navigateByUrl = router_1.Router.prototype.navigateByUrl;
9
11
  // deactivates the usual platform behavior; all these operations are performed via the RoutingService
10
12
  // to avoid any conflict, e.g., double-booking URL changes in React and Angular
11
13
  common_1.ɵBrowserPlatformLocation.prototype.pushState = noop;
@@ -13,6 +15,14 @@ common_1.ɵBrowserPlatformLocation.prototype.replaceState = noop;
13
15
  common_1.ɵBrowserPlatformLocation.prototype.forward = noop;
14
16
  common_1.ɵBrowserPlatformLocation.prototype.back = noop;
15
17
  common_1.ɵBrowserPlatformLocation.prototype.historyGo = noop;
18
+ // required to detect / react to hidden URL change (see #554 for details)
19
+ router_1.Router.prototype.navigateByUrl = function (url, extras) {
20
+ var _a;
21
+ skipNavigation = (_a = extras === null || extras === void 0 ? void 0 : extras.skipLocationChange) !== null && _a !== void 0 ? _a : false;
22
+ const result = navigateByUrl.call(this, url, extras);
23
+ skipNavigation = false;
24
+ return result;
25
+ };
16
26
  function normalize(url) {
17
27
  const search = url.indexOf('?');
18
28
  const hash = url.indexOf('#');
@@ -43,12 +53,13 @@ let RoutingService = class RoutingService {
43
53
  }
44
54
  throw error;
45
55
  };
56
+ const skipIds = [];
46
57
  const nav = this.context.navigation;
47
58
  this.dispose = nav.listen(({ location }) => {
48
59
  const path = location.pathname;
49
60
  if (!this.invalidRoutes.includes(path)) {
50
61
  const url = `${path}${location.search}${location.hash}`;
51
- this.zone.run(() => this.router.navigateByUrl(url));
62
+ this.zone.run(() => navigateByUrl.call(this.router, url));
52
63
  }
53
64
  });
54
65
  this.subscription = this.router.events.subscribe((e) => {
@@ -63,12 +74,21 @@ let RoutingService = class RoutingService {
63
74
  nav.push(routerUrl);
64
75
  }
65
76
  }
77
+ else if (e.type === 0 && skipNavigation) {
78
+ skipIds.push(e.id);
79
+ }
66
80
  else if (e.type === 15) {
67
- // consistency check to avoid #535 and other Angular-specific issues
68
- const locationUrl = nav.url;
69
- const routerUrl = e.routerEvent.url;
70
- if (routerUrl !== locationUrl) {
71
- nav.push(routerUrl);
81
+ const index = skipIds.indexOf(e.routerEvent.id);
82
+ if (index === -1) {
83
+ // consistency check to avoid #535 and other Angular-specific issues
84
+ const locationUrl = nav.url;
85
+ const routerUrl = e.routerEvent.url;
86
+ if (routerUrl !== locationUrl) {
87
+ nav.push(routerUrl);
88
+ }
89
+ }
90
+ else {
91
+ skipIds.splice(index, 1);
72
92
  }
73
93
  }
74
94
  });
@@ -1 +1 @@
1
- {"version":3,"file":"RoutingService.js","sourceRoot":"","sources":["../src/RoutingService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RoutingService.js","sourceRoot":"","sources":["../src/RoutingService.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,18 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { ɵɵFactoryDeclaration, ɵɵInjectorDeclaration, ɵɵNgModuleDeclaration } from '@angular/core';
3
+ import { NgExtension } from './NgExtension';
4
+ import { ResourceUrlPipe } from './ResourceUrlPipe';
1
5
  export declare class SharedModule {
2
6
  static props: {};
7
+ static ɵfac: ɵɵFactoryDeclaration<SharedModule, never>;
8
+ static ɵmod: ɵɵNgModuleDeclaration<SharedModule, [
9
+ typeof NgExtension,
10
+ typeof ResourceUrlPipe
11
+ ], [
12
+ typeof CommonModule
13
+ ], [
14
+ typeof NgExtension,
15
+ typeof ResourceUrlPipe
16
+ ]>;
17
+ static ɵinj: ɵɵInjectorDeclaration<SharedModule>;
3
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SharedModule.js","sourceRoot":"","sources":["../src/SharedModule.ts"],"names":[],"mappings":";;;;AAAA,4CAA+C;AAC/C,wCAAyC;AACzC,+CAA4C;AAC5C,uDAAoD;AAEpD,MAAM,eAAe,GAAG,CAAC,yBAAW,EAAE,iCAAe,CAAC,CAAC;AACvD,MAAM,UAAU,GAAG,CAAC,yBAAW,EAAE,iCAAe,CAAC,CAAC;AAClD,MAAM,UAAU,GAAG,CAAC,qBAAY,CAAC,CAAC;AAQlC,IAAa,YAAY,GAAzB,MAAa,YAAY;CAExB,CAAA;AADQ,kBAAK,GAAG,EAAE,CAAC;AADP,YAAY;IANxB,IAAA,eAAQ,EAAC;QACR,YAAY,EAAE,eAAe;QAC7B,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,UAAU;QACnB,OAAO,EAAE,UAAU;KACpB,CAAC;GACW,YAAY,CAExB;AAFY,oCAAY"}
1
+ {"version":3,"file":"SharedModule.js","sourceRoot":"","sources":["../src/SharedModule.ts"],"names":[],"mappings":";;;;AAAA,4CAA+C;AAC/C,wCAA6G;AAC7G,+CAA4C;AAC5C,uDAAoD;AAEpD,MAAM,eAAe,GAAG,CAAC,yBAAW,EAAE,iCAAe,CAAC,CAAC;AACvD,MAAM,UAAU,GAAG,CAAC,yBAAW,EAAE,iCAAe,CAAC,CAAC;AAClD,MAAM,UAAU,GAAG,CAAC,qBAAY,CAAC,CAAC;AAQlC,IAAa,YAAY,GAAzB,MAAa,YAAY;CAaxB,CAAA;AAZQ,kBAAK,GAAG,EAAE,CAAC;AADP,YAAY;IANxB,IAAA,eAAQ,EAAC;QACR,YAAY,EAAE,eAAe;QAC7B,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,UAAU;QACnB,OAAO,EAAE,UAAU;KACpB,CAAC;GACW,YAAY,CAaxB;AAbY,oCAAY"}
package/lib/module.js CHANGED
@@ -115,8 +115,8 @@ function findModule(module) {
115
115
  }
116
116
  exports.findModule = findModule;
117
117
  function defineModule(module, opts = undefined) {
118
- if (typeof module !== 'function') {
119
- const [annotation] = (0, utils_1.getAnnotations)(module);
118
+ const [annotation] = (0, utils_1.getAnnotations)(module);
119
+ if (annotation) {
120
120
  availableModules.push({
121
121
  active: undefined,
122
122
  components: (0, utils_1.findComponents)(annotation.exports),
@@ -124,7 +124,7 @@ function defineModule(module, opts = undefined) {
124
124
  opts,
125
125
  });
126
126
  }
127
- else {
127
+ else if (typeof module === 'function') {
128
128
  const state = {
129
129
  current: undefined,
130
130
  };
package/lib/module.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "piral-ng",
3
- "version": "0.15.0-beta.4812",
3
+ "version": "0.15.0-beta.4815",
4
4
  "description": "Plugin for integrating Angular components in Piral.",
5
5
  "keywords": [
6
6
  "piral",
@@ -79,7 +79,7 @@
79
79
  "@angular/platform-browser": "^14.0.0",
80
80
  "@angular/platform-browser-dynamic": "^14.0.0",
81
81
  "@angular/router": "^14.0.0",
82
- "piral-core": "0.15.0-beta.4812",
82
+ "piral-core": "0.15.0-beta.4815",
83
83
  "rxjs": "^7.3.0"
84
84
  },
85
85
  "peerDependencies": {
@@ -90,5 +90,5 @@
90
90
  "@angular/router": "^2.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0",
91
91
  "rxjs": "^5.0.0 || ^6.0.0 || ^7.0.0"
92
92
  },
93
- "gitHead": "96956ad19ce349b35acd7992979466f911d33156"
93
+ "gitHead": "4942bf8aff67eca5fce289da420399421f0d27de"
94
94
  }
@@ -1,10 +1,12 @@
1
1
  import type { Subscription } from 'rxjs';
2
2
  import type { ComponentContext, Disposable } from 'piral-core';
3
3
  import { Inject, Injectable, NgZone, OnDestroy, Optional } from '@angular/core';
4
- import { NavigationError, Router, Scroll } from '@angular/router';
4
+ import { NavigationError, NavigationStart, Router, Scroll } from '@angular/router';
5
5
  import { ɵBrowserPlatformLocation } from '@angular/common';
6
6
 
7
+ let skipNavigation = false;
7
8
  const noop = function () {};
9
+ const navigateByUrl = Router.prototype.navigateByUrl;
8
10
 
9
11
  // deactivates the usual platform behavior; all these operations are performed via the RoutingService
10
12
  // to avoid any conflict, e.g., double-booking URL changes in React and Angular
@@ -14,6 +16,14 @@ const noop = function () {};
14
16
  ɵBrowserPlatformLocation.prototype.back = noop;
15
17
  ɵBrowserPlatformLocation.prototype.historyGo = noop;
16
18
 
19
+ // required to detect / react to hidden URL change (see #554 for details)
20
+ Router.prototype.navigateByUrl = function (url, extras) {
21
+ skipNavigation = extras?.skipLocationChange ?? false;
22
+ const result = navigateByUrl.call(this, url, extras);
23
+ skipNavigation = false;
24
+ return result;
25
+ };
26
+
17
27
  function normalize(url: string) {
18
28
  const search = url.indexOf('?');
19
29
  const hash = url.indexOf('#');
@@ -51,6 +61,7 @@ export class RoutingService implements OnDestroy {
51
61
  throw error;
52
62
  };
53
63
 
64
+ const skipIds: Array<number> = [];
54
65
  const nav = this.context.navigation;
55
66
 
56
67
  this.dispose = nav.listen(({ location }) => {
@@ -58,11 +69,11 @@ export class RoutingService implements OnDestroy {
58
69
 
59
70
  if (!this.invalidRoutes.includes(path)) {
60
71
  const url = `${path}${location.search}${location.hash}`;
61
- this.zone.run(() => this.router.navigateByUrl(url));
72
+ this.zone.run(() => navigateByUrl.call(this.router, url));
62
73
  }
63
74
  });
64
75
 
65
- this.subscription = this.router.events.subscribe((e: NavigationError | Scroll) => {
76
+ this.subscription = this.router.events.subscribe((e: NavigationError | NavigationStart | Scroll) => {
66
77
  if (e instanceof NavigationError) {
67
78
  const routerUrl = e.url;
68
79
  const path = normalize(routerUrl);
@@ -75,13 +86,21 @@ export class RoutingService implements OnDestroy {
75
86
  if (routerUrl !== locationUrl) {
76
87
  nav.push(routerUrl);
77
88
  }
89
+ } else if (e.type === 0 && skipNavigation) {
90
+ skipIds.push(e.id);
78
91
  } else if (e.type === 15) {
79
- // consistency check to avoid #535 and other Angular-specific issues
80
- const locationUrl = nav.url;
81
- const routerUrl = e.routerEvent.url;
92
+ const index = skipIds.indexOf(e.routerEvent.id);
82
93
 
83
- if (routerUrl !== locationUrl) {
84
- nav.push(routerUrl);
94
+ if (index === -1) {
95
+ // consistency check to avoid #535 and other Angular-specific issues
96
+ const locationUrl = nav.url;
97
+ const routerUrl = e.routerEvent.url;
98
+
99
+ if (routerUrl !== locationUrl) {
100
+ nav.push(routerUrl);
101
+ }
102
+ } else {
103
+ skipIds.splice(index, 1);
85
104
  }
86
105
  }
87
106
  });
@@ -1,5 +1,5 @@
1
1
  import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
2
+ import { NgModule, ɵɵFactoryDeclaration, ɵɵInjectorDeclaration, ɵɵNgModuleDeclaration } from '@angular/core';
3
3
  import { NgExtension } from './NgExtension';
4
4
  import { ResourceUrlPipe } from './ResourceUrlPipe';
5
5
 
@@ -15,4 +15,15 @@ const importsDef = [CommonModule];
15
15
  })
16
16
  export class SharedModule {
17
17
  static props = {};
18
+
19
+ static ɵfac: ɵɵFactoryDeclaration<SharedModule, never>;
20
+
21
+ static ɵmod: ɵɵNgModuleDeclaration<
22
+ SharedModule,
23
+ [typeof NgExtension, typeof ResourceUrlPipe],
24
+ [typeof CommonModule],
25
+ [typeof NgExtension, typeof ResourceUrlPipe]
26
+ >;
27
+
28
+ static ɵinj: ɵɵInjectorDeclaration<SharedModule>;
18
29
  }
package/src/module.ts CHANGED
@@ -140,15 +140,16 @@ export function findModule(module: any) {
140
140
  }
141
141
 
142
142
  export function defineModule(module: any, opts: NgOptions = undefined) {
143
- if (typeof module !== 'function') {
144
- const [annotation] = getAnnotations(module);
143
+ const [annotation] = getAnnotations(module);
144
+
145
+ if (annotation) {
145
146
  availableModules.push({
146
147
  active: undefined,
147
148
  components: findComponents(annotation.exports),
148
149
  module,
149
150
  opts,
150
151
  });
151
- } else {
152
+ } else if (typeof module === 'function') {
152
153
  const state = {
153
154
  current: undefined,
154
155
  };