piral-ng 1.9.1 → 1.9.2-beta.8358

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/lib/startup.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { ComponentContext } from 'piral-core';
2
- import { NgModuleRef } from '@angular/core';
2
+ import type { NgModuleRef } from '@angular/core';
3
3
  import type { NgModuleFlags, NgOptions } from './types';
4
4
  export type NgModuleInt = NgModuleRef<any> & {
5
5
  _destroyed: boolean;
package/lib/startup.js CHANGED
@@ -1,12 +1,9 @@
1
- import * as browserDynamic from '@angular/platform-browser-dynamic';
1
+ import * as angularBrowserDynamic from '@angular/platform-browser-dynamic';
2
+ import * as angularCore from '@angular/core';
2
3
  import { APP_BASE_HREF } from '@angular/common';
3
- import { enableProdMode, NgZone, ɵALLOW_MULTIPLE_PLATFORMS as ALLOW_MULTIPLE_PLATFORMS, VERSION, } from '@angular/core';
4
4
  import { contextName } from './constants';
5
5
  import { CONTEXT } from './injection';
6
6
  import { getNgVersion } from './utils';
7
- const normalCall = 'platformBrowserDynamic';
8
- const legacyCall = 'ɵplatformCoreDynamic';
9
- const platformCoreDynamic = normalCall in browserDynamic ? browserDynamic[normalCall] : browserDynamic[legacyCall];
10
7
  function getVersionHandler(versions) {
11
8
  const major = getNgVersion();
12
9
  const version = `v${major}`;
@@ -14,38 +11,50 @@ function getVersionHandler(versions) {
14
11
  }
15
12
  const runningModules = [];
16
13
  function startNew(BootstrapModule, context, ngOptions, ngFlags) {
14
+ const normalCall = 'platformBrowserDynamic';
15
+ const legacyCall = 'ɵplatformCoreDynamic';
16
+ const multiplePlatforms = 'ɵALLOW_MULTIPLE_PLATFORMS';
17
+ const platformCoreDynamic = normalCall in angularBrowserDynamic ? angularBrowserDynamic[normalCall] : angularBrowserDynamic[legacyCall];
17
18
  const path = context.publicPath || '/';
19
+ const extraDefinitions = multiplePlatforms in angularCore ? [{ provide: angularCore[multiplePlatforms], useValue: true }] : [];
18
20
  const platform = platformCoreDynamic([
19
- { provide: ALLOW_MULTIPLE_PLATFORMS, useValue: true },
21
+ ...extraDefinitions,
20
22
  { provide: contextName, useValue: context },
21
23
  { provide: CONTEXT, useValue: context },
22
24
  { provide: APP_BASE_HREF, useValue: path },
23
25
  { provide: 'NgFlags', useValue: ngFlags },
24
26
  ]);
25
- // We need to bind the version-specific NgZone to its ID
26
- // this will not be MF-dependent, but Angular dependent
27
- // i.e., to allow using Zone.js with multiple versions of Angular
28
- const zoneIdentifier = `piral-ng:${VERSION.full}`;
29
- // This is a hack, since NgZone doesn't allow you to configure the property that identifies your zone.
30
- // See:
31
- // - https://github.com/PlaceMe-SAS/single-spa-angular-cli/issues/33
32
- // - https://github.com/angular/angular/blob/a14dc2d7a4821a19f20a9547053a5734798f541e/packages/core/src/zone/ng_zone.ts#L144
33
- // - https://github.com/angular/angular/blob/a14dc2d7a4821a19f20a9547053a5734798f541e/packages/core/src/zone/ng_zone.ts#L257
34
- // @ts-ignore
35
- NgZone.isInAngularZone = () => window.Zone.current._properties[zoneIdentifier] === true;
36
- // We disable those checks as they are misleading and might cause trouble
37
- NgZone.assertInAngularZone = () => { };
38
- NgZone.assertNotInAngularZone = () => { };
27
+ let zoneIdentifier = '';
28
+ if ('NgZone' in angularCore) {
29
+ const zone = angularCore.NgZone;
30
+ const version = angularCore.VERSION.full;
31
+ // We need to bind the version-specific NgZone to its ID
32
+ // this will not be MF-dependent, but Angular dependent
33
+ // i.e., to allow using Zone.js with multiple versions of Angular
34
+ zoneIdentifier = `piral-ng:${version}`;
35
+ // This is a hack, since NgZone doesn't allow you to configure the property that identifies your zone.
36
+ // See:
37
+ // - https://github.com/PlaceMe-SAS/single-spa-angular-cli/issues/33
38
+ // - https://github.com/angular/angular/blob/a14dc2d7a4821a19f20a9547053a5734798f541e/packages/core/src/zone/ng_zone.ts#L144
39
+ // - https://github.com/angular/angular/blob/a14dc2d7a4821a19f20a9547053a5734798f541e/packages/core/src/zone/ng_zone.ts#L257
40
+ // @ts-ignore
41
+ zone.isInAngularZone = () => window.Zone.current._properties[zoneIdentifier] === true;
42
+ // We disable those checks as they are misleading and might cause trouble
43
+ zone.assertInAngularZone = () => { };
44
+ zone.assertNotInAngularZone = () => { };
45
+ }
39
46
  return platform
40
47
  .bootstrapModule(BootstrapModule, ngOptions)
41
48
  .catch((err) => console.error(err))
42
49
  .then((instance) => {
43
50
  if (instance) {
44
- const zone = instance.injector.get(NgZone);
45
- // @ts-ignore
46
- const z = zone?._inner ?? zone?.inner;
47
- if (z && '_properties' in z) {
48
- z._properties[zoneIdentifier] = true;
51
+ if (zoneIdentifier) {
52
+ const zone = instance.injector.get(angularCore.NgZone);
53
+ // @ts-ignore
54
+ const z = zone?._inner ?? zone?.inner;
55
+ if (z && '_properties' in z) {
56
+ z._properties[zoneIdentifier] = true;
57
+ }
49
58
  }
50
59
  runningModules.push([BootstrapModule, instance, platform]);
51
60
  }
@@ -122,6 +131,8 @@ if (process.env.NODE_ENV === 'development') {
122
131
  handler();
123
132
  }
124
133
  if (process.env.NODE_ENV === 'production') {
125
- enableProdMode();
134
+ if ('enableProdMode' in angularCore) {
135
+ angularCore.enableProdMode();
136
+ }
126
137
  }
127
138
  //# sourceMappingURL=startup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"startup.js","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"startup.js","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "piral-ng",
3
- "version": "1.9.1",
3
+ "version": "1.9.2-beta.8358",
4
4
  "description": "Plugin for integrating Angular components in Piral.",
5
5
  "keywords": [
6
6
  "piral",
@@ -71,9 +71,9 @@
71
71
  "@angular/platform-browser": "^16.0.0",
72
72
  "@angular/platform-browser-dynamic": "^16.0.0",
73
73
  "@angular/router": "^16.0.0",
74
- "piral-core": "^1.9.1",
74
+ "piral-core": "1.9.2-beta.8358",
75
75
  "piral-ng-common": "^16.0.0",
76
76
  "rxjs": "^7.3.0"
77
77
  },
78
- "gitHead": "be6854cdffa875d3319d0d24c293f751f018c24d"
78
+ "gitHead": "ce3cfa6949ab58c0a34af5732d81601d04b8178d"
79
79
  }
package/src/startup.ts CHANGED
@@ -1,24 +1,14 @@
1
1
  import type { ComponentContext } from 'piral-core';
2
- import * as browserDynamic from '@angular/platform-browser-dynamic';
2
+ import type { NgModuleRef, PlatformRef } from '@angular/core';
3
+ import * as angularBrowserDynamic from '@angular/platform-browser-dynamic';
4
+ import * as angularCore from '@angular/core';
3
5
  import { APP_BASE_HREF } from '@angular/common';
4
- import {
5
- enableProdMode,
6
- NgModuleRef,
7
- NgZone,
8
- PlatformRef,
9
- ɵALLOW_MULTIPLE_PLATFORMS as ALLOW_MULTIPLE_PLATFORMS,
10
- VERSION,
11
- } from '@angular/core';
12
6
 
13
7
  import { contextName } from './constants';
14
8
  import { CONTEXT } from './injection';
15
9
  import { getNgVersion } from './utils';
16
10
  import type { NgModuleFlags, NgOptions } from './types';
17
11
 
18
- const normalCall = 'platformBrowserDynamic';
19
- const legacyCall = 'ɵplatformCoreDynamic';
20
- const platformCoreDynamic = normalCall in browserDynamic ? browserDynamic[normalCall] : browserDynamic[legacyCall];
21
-
22
12
  function getVersionHandler(versions: Record<string, () => void>) {
23
13
  const major = getNgVersion();
24
14
  const version = `v${major}`;
@@ -28,43 +18,59 @@ function getVersionHandler(versions: Record<string, () => void>) {
28
18
  const runningModules: Array<[any, NgModuleInt, PlatformRef]> = [];
29
19
 
30
20
  function startNew(BootstrapModule: any, context: ComponentContext, ngOptions?: NgOptions, ngFlags?: NgModuleFlags) {
21
+ const normalCall = 'platformBrowserDynamic';
22
+ const legacyCall = 'ɵplatformCoreDynamic';
23
+ const multiplePlatforms = 'ɵALLOW_MULTIPLE_PLATFORMS';
24
+ const platformCoreDynamic =
25
+ normalCall in angularBrowserDynamic ? angularBrowserDynamic[normalCall] : angularBrowserDynamic[legacyCall];
31
26
  const path = context.publicPath || '/';
27
+ const extraDefinitions =
28
+ multiplePlatforms in angularCore ? [{ provide: angularCore[multiplePlatforms], useValue: true }] : [];
32
29
  const platform = platformCoreDynamic([
33
- { provide: ALLOW_MULTIPLE_PLATFORMS, useValue: true },
30
+ ...extraDefinitions,
34
31
  { provide: contextName, useValue: context },
35
32
  { provide: CONTEXT, useValue: context },
36
33
  { provide: APP_BASE_HREF, useValue: path },
37
34
  { provide: 'NgFlags', useValue: ngFlags },
38
35
  ]);
39
36
 
40
- // We need to bind the version-specific NgZone to its ID
41
- // this will not be MF-dependent, but Angular dependent
42
- // i.e., to allow using Zone.js with multiple versions of Angular
43
- const zoneIdentifier = `piral-ng:${VERSION.full}`;
37
+ let zoneIdentifier = '';
38
+
39
+ if ('NgZone' in angularCore) {
40
+ const zone = angularCore.NgZone;
41
+ const version = angularCore.VERSION.full;
42
+
43
+ // We need to bind the version-specific NgZone to its ID
44
+ // this will not be MF-dependent, but Angular dependent
45
+ // i.e., to allow using Zone.js with multiple versions of Angular
46
+ zoneIdentifier = `piral-ng:${version}`;
44
47
 
45
- // This is a hack, since NgZone doesn't allow you to configure the property that identifies your zone.
46
- // See:
47
- // - https://github.com/PlaceMe-SAS/single-spa-angular-cli/issues/33
48
- // - https://github.com/angular/angular/blob/a14dc2d7a4821a19f20a9547053a5734798f541e/packages/core/src/zone/ng_zone.ts#L144
49
- // - https://github.com/angular/angular/blob/a14dc2d7a4821a19f20a9547053a5734798f541e/packages/core/src/zone/ng_zone.ts#L257
50
- // @ts-ignore
51
- NgZone.isInAngularZone = () => window.Zone.current._properties[zoneIdentifier] === true;
48
+ // This is a hack, since NgZone doesn't allow you to configure the property that identifies your zone.
49
+ // See:
50
+ // - https://github.com/PlaceMe-SAS/single-spa-angular-cli/issues/33
51
+ // - https://github.com/angular/angular/blob/a14dc2d7a4821a19f20a9547053a5734798f541e/packages/core/src/zone/ng_zone.ts#L144
52
+ // - https://github.com/angular/angular/blob/a14dc2d7a4821a19f20a9547053a5734798f541e/packages/core/src/zone/ng_zone.ts#L257
53
+ // @ts-ignore
54
+ zone.isInAngularZone = () => window.Zone.current._properties[zoneIdentifier] === true;
52
55
 
53
- // We disable those checks as they are misleading and might cause trouble
54
- NgZone.assertInAngularZone = () => {};
55
- NgZone.assertNotInAngularZone = () => {};
56
+ // We disable those checks as they are misleading and might cause trouble
57
+ zone.assertInAngularZone = () => {};
58
+ zone.assertNotInAngularZone = () => {};
59
+ }
56
60
 
57
61
  return platform
58
62
  .bootstrapModule(BootstrapModule, ngOptions)
59
63
  .catch((err) => console.error(err))
60
64
  .then((instance: NgModuleInt) => {
61
65
  if (instance) {
62
- const zone = instance.injector.get(NgZone);
63
- // @ts-ignore
64
- const z = zone?._inner ?? zone?.inner;
65
-
66
- if (z && '_properties' in z) {
67
- z._properties[zoneIdentifier] = true;
66
+ if (zoneIdentifier) {
67
+ const zone = instance.injector.get(angularCore.NgZone);
68
+ // @ts-ignore
69
+ const z = zone?._inner ?? zone?.inner;
70
+
71
+ if (z && '_properties' in z) {
72
+ z._properties[zoneIdentifier] = true;
73
+ }
68
74
  }
69
75
 
70
76
  runningModules.push([BootstrapModule, instance, platform]);
@@ -157,5 +163,7 @@ if (process.env.NODE_ENV === 'development') {
157
163
  }
158
164
 
159
165
  if (process.env.NODE_ENV === 'production') {
160
- enableProdMode();
166
+ if ('enableProdMode' in angularCore) {
167
+ angularCore.enableProdMode();
168
+ }
161
169
  }