piral-ng 1.9.0-beta.7940 → 1.9.0-beta.8115
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/LICENSE +1 -1
- package/README.md +90 -13
- package/lib/module.js +10 -3
- package/lib/module.js.map +1 -1
- package/lib/startup.js +9 -4
- package/lib/startup.js.map +1 -1
- package/package.json +3 -3
- package/src/module.ts +10 -3
- package/src/startup.ts +10 -7
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -475,6 +475,25 @@ export class SampleTileComponent {
|
|
|
475
475
|
}
|
|
476
476
|
```
|
|
477
477
|
|
|
478
|
+
Starting with Angular 19 you can also use signal inputs instead of `@Input` properties. Same example as above:
|
|
479
|
+
|
|
480
|
+
```ts
|
|
481
|
+
@Component({
|
|
482
|
+
template: `
|
|
483
|
+
<div class="tile">
|
|
484
|
+
<p>{{ props().rows }} rows and {{ props().columns }} columns</p>
|
|
485
|
+
</div>
|
|
486
|
+
`,
|
|
487
|
+
})
|
|
488
|
+
export class SampleTileComponent {
|
|
489
|
+
public readonly props = input<TileComponentProps<any>>(undefined, {
|
|
490
|
+
alias: "Props",
|
|
491
|
+
});
|
|
492
|
+
|
|
493
|
+
constructor() {}
|
|
494
|
+
}
|
|
495
|
+
```
|
|
496
|
+
|
|
478
497
|
## Converting an Angular Application to a Pilet
|
|
479
498
|
|
|
480
499
|
Depending on the kind of Angular application this may be rather straight forward or very difficult. Since we cannot discuss all possible edge cases we will assume the standard scenario. If you need more help then don't hesitate to contact us.
|
|
@@ -594,7 +613,7 @@ The basic dependencies look as follows:
|
|
|
594
613
|
"@angular/router": "^9",
|
|
595
614
|
"@angular/platform-browser": "^9",
|
|
596
615
|
"@angular/platform-browser-dynamic": "^9",
|
|
597
|
-
"core-js": "^3
|
|
616
|
+
"core-js": "^3",
|
|
598
617
|
"rxjs": "~6.5",
|
|
599
618
|
"zone.js": "~0.9"
|
|
600
619
|
}
|
|
@@ -614,7 +633,7 @@ The basic dependencies look as follows:
|
|
|
614
633
|
"@angular/router": "^10",
|
|
615
634
|
"@angular/platform-browser": "^10",
|
|
616
635
|
"@angular/platform-browser-dynamic": "^10",
|
|
617
|
-
"core-js": "^3
|
|
636
|
+
"core-js": "^3",
|
|
618
637
|
"rxjs": "~6.5",
|
|
619
638
|
"zone.js": "~0.9"
|
|
620
639
|
}
|
|
@@ -634,7 +653,7 @@ The basic dependencies look as follows:
|
|
|
634
653
|
"@angular/router": "^11",
|
|
635
654
|
"@angular/platform-browser": "^11",
|
|
636
655
|
"@angular/platform-browser-dynamic": "^11",
|
|
637
|
-
"core-js": "^3
|
|
656
|
+
"core-js": "^3",
|
|
638
657
|
"rxjs": "~6.5",
|
|
639
658
|
"zone.js": "~0.9"
|
|
640
659
|
}
|
|
@@ -654,7 +673,7 @@ The basic dependencies look as follows:
|
|
|
654
673
|
"@angular/router": "^12",
|
|
655
674
|
"@angular/platform-browser": "^12",
|
|
656
675
|
"@angular/platform-browser-dynamic": "^12",
|
|
657
|
-
"core-js": "^3
|
|
676
|
+
"core-js": "^3",
|
|
658
677
|
"rxjs": "~6.4",
|
|
659
678
|
"zone.js": "0.11.4"
|
|
660
679
|
}
|
|
@@ -674,7 +693,7 @@ The basic dependencies look as follows:
|
|
|
674
693
|
"@angular/router": "^13",
|
|
675
694
|
"@angular/platform-browser": "^13",
|
|
676
695
|
"@angular/platform-browser-dynamic": "^13",
|
|
677
|
-
"core-js": "^3
|
|
696
|
+
"core-js": "^3",
|
|
678
697
|
"rxjs": "^7.4",
|
|
679
698
|
"zone.js": "0.11.4"
|
|
680
699
|
}
|
|
@@ -703,9 +722,9 @@ The basic dependencies look as follows:
|
|
|
703
722
|
"@angular/router": "^14",
|
|
704
723
|
"@angular/platform-browser": "^14",
|
|
705
724
|
"@angular/platform-browser-dynamic": "^14",
|
|
706
|
-
"core-js": "^3
|
|
725
|
+
"core-js": "^3",
|
|
707
726
|
"rxjs": "^7.4",
|
|
708
|
-
"zone.js": "~0.12
|
|
727
|
+
"zone.js": "~0.12"
|
|
709
728
|
}
|
|
710
729
|
```
|
|
711
730
|
|
|
@@ -732,9 +751,9 @@ The basic dependencies look as follows:
|
|
|
732
751
|
"@angular/router": "^15",
|
|
733
752
|
"@angular/platform-browser": "^15",
|
|
734
753
|
"@angular/platform-browser-dynamic": "^15",
|
|
735
|
-
"core-js": "^3
|
|
754
|
+
"core-js": "^3",
|
|
736
755
|
"rxjs": "^7.4",
|
|
737
|
-
"zone.js": "~0.13
|
|
756
|
+
"zone.js": "~0.13"
|
|
738
757
|
}
|
|
739
758
|
```
|
|
740
759
|
|
|
@@ -761,9 +780,9 @@ The basic dependencies look as follows:
|
|
|
761
780
|
"@angular/router": "^16",
|
|
762
781
|
"@angular/platform-browser": "^16",
|
|
763
782
|
"@angular/platform-browser-dynamic": "^16",
|
|
764
|
-
"core-js": "^3
|
|
783
|
+
"core-js": "^3",
|
|
765
784
|
"rxjs": "^7.4",
|
|
766
|
-
"zone.js": "~0.13
|
|
785
|
+
"zone.js": "~0.13"
|
|
767
786
|
}
|
|
768
787
|
```
|
|
769
788
|
|
|
@@ -790,9 +809,9 @@ The basic dependencies look as follows:
|
|
|
790
809
|
"@angular/router": "^17",
|
|
791
810
|
"@angular/platform-browser": "^17",
|
|
792
811
|
"@angular/platform-browser-dynamic": "^17",
|
|
793
|
-
"core-js": "^3
|
|
812
|
+
"core-js": "^3",
|
|
794
813
|
"rxjs": "^7.4",
|
|
795
|
-
"zone.js": "~0.14
|
|
814
|
+
"zone.js": "~0.14"
|
|
796
815
|
}
|
|
797
816
|
```
|
|
798
817
|
|
|
@@ -805,6 +824,64 @@ import 'core-js/proposals/reflect-metadata';
|
|
|
805
824
|
import '@angular/compiler';
|
|
806
825
|
```
|
|
807
826
|
|
|
827
|
+
### Angular 18
|
|
828
|
+
|
|
829
|
+
In general, Angular 18 seems to work and is **supported**.
|
|
830
|
+
|
|
831
|
+
The basic dependencies look as follows:
|
|
832
|
+
|
|
833
|
+
```json
|
|
834
|
+
{
|
|
835
|
+
"@angular/common": "^18",
|
|
836
|
+
"@angular/compiler": "^18",
|
|
837
|
+
"@angular/core": "^18",
|
|
838
|
+
"@angular/router": "^18",
|
|
839
|
+
"@angular/platform-browser": "^18",
|
|
840
|
+
"@angular/platform-browser-dynamic": "^18",
|
|
841
|
+
"core-js": "^3",
|
|
842
|
+
"rxjs": "^7.4",
|
|
843
|
+
"zone.js": "~0.14"
|
|
844
|
+
}
|
|
845
|
+
```
|
|
846
|
+
|
|
847
|
+
Besides the usual imports, the explicit import of the `@angular/compiler` package may be necessary. TypeScript has to be higher or equal to 5.3 (and less than 5.6).
|
|
848
|
+
|
|
849
|
+
So include in your app shell as preamble:
|
|
850
|
+
|
|
851
|
+
```js
|
|
852
|
+
import 'core-js/proposals/reflect-metadata';
|
|
853
|
+
import '@angular/compiler';
|
|
854
|
+
```
|
|
855
|
+
|
|
856
|
+
### Angular 19
|
|
857
|
+
|
|
858
|
+
In general, Angular 19 seems to work and is **supported**.
|
|
859
|
+
|
|
860
|
+
The basic dependencies look as follows:
|
|
861
|
+
|
|
862
|
+
```json
|
|
863
|
+
{
|
|
864
|
+
"@angular/common": "^19",
|
|
865
|
+
"@angular/compiler": "^19",
|
|
866
|
+
"@angular/core": "^19",
|
|
867
|
+
"@angular/router": "^19",
|
|
868
|
+
"@angular/platform-browser": "^19",
|
|
869
|
+
"@angular/platform-browser-dynamic": "^19",
|
|
870
|
+
"core-js": "^3",
|
|
871
|
+
"rxjs": "^7.4",
|
|
872
|
+
"zone.js": "~0.15"
|
|
873
|
+
}
|
|
874
|
+
```
|
|
875
|
+
|
|
876
|
+
Besides the usual imports, the explicit import of the `@angular/compiler` package may be necessary. TypeScript has to be higher or equal to 5.5 (and less than 5.9).
|
|
877
|
+
|
|
878
|
+
So include in your app shell as preamble:
|
|
879
|
+
|
|
880
|
+
```js
|
|
881
|
+
import 'core-js/proposals/reflect-metadata';
|
|
882
|
+
import '@angular/compiler';
|
|
883
|
+
```
|
|
884
|
+
|
|
808
885
|
## License
|
|
809
886
|
|
|
810
887
|
Piral is released using the MIT license. For more information see the [license file](./LICENSE).
|
package/lib/module.js
CHANGED
|
@@ -43,10 +43,17 @@ function instantiateModule(moduleDef, piral) {
|
|
|
43
43
|
if (factory) {
|
|
44
44
|
const ref = this.zone.run(() => this.appRef.bootstrap(factory, node));
|
|
45
45
|
const name = ref.componentType?.ɵcmp?.inputs?.Props;
|
|
46
|
-
if (typeof name === 'string') {
|
|
46
|
+
if (typeof name === 'string' || Array.isArray(name)) {
|
|
47
47
|
const sub = $props.subscribe((props) => {
|
|
48
|
-
ref.
|
|
49
|
-
|
|
48
|
+
if (typeof ref.setInput === 'function') {
|
|
49
|
+
// Here we don't care about the aliased name etc.
|
|
50
|
+
ref.setInput('Props', props);
|
|
51
|
+
}
|
|
52
|
+
else if (typeof name === 'string') {
|
|
53
|
+
// Legacy mode - just set it directly and trigger CD
|
|
54
|
+
ref.instance[name] = props;
|
|
55
|
+
ref.changeDetectorRef?.detectChanges();
|
|
56
|
+
}
|
|
50
57
|
});
|
|
51
58
|
ref.onDestroy(() => sub.unsubscribe());
|
|
52
59
|
}
|
package/lib/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAEL,wBAAwB,EAExB,sBAAsB,EACtB,MAAM,EACN,QAAQ,EACR,MAAM,GACP,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"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"}
|
package/lib/startup.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
import * as browserDynamic from '@angular/platform-browser-dynamic';
|
|
1
2
|
import { createPlatformFactory, enableProdMode, NgZone, ɵALLOW_MULTIPLE_PLATFORMS as ALLOW_MULTIPLE_PLATFORMS, VERSION, } from '@angular/core';
|
|
2
3
|
import { APP_BASE_HREF } from '@angular/common';
|
|
3
|
-
import { ɵplatformCoreDynamic as platformCoreDynamic, ɵINTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS as INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS, } from '@angular/platform-browser-dynamic';
|
|
4
4
|
import { contextName } from './constants';
|
|
5
5
|
import { CONTEXT } from './injection';
|
|
6
6
|
import { getNgVersion } from './utils';
|
|
7
|
+
const legacyCall = 'ɵplatformCoreDynamic';
|
|
8
|
+
const platformCoreDynamic = browserDynamic.platformBrowserDynamic || browserDynamic[legacyCall];
|
|
9
|
+
const INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS = browserDynamic.ɵINTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS;
|
|
7
10
|
function getVersionHandler(versions) {
|
|
8
11
|
const major = getNgVersion();
|
|
9
12
|
const version = `v${major}`;
|
|
@@ -89,10 +92,10 @@ if (process.env.NODE_ENV === 'development') {
|
|
|
89
92
|
console.log('Running in outdated mode (Angular 9-13)');
|
|
90
93
|
},
|
|
91
94
|
current() {
|
|
92
|
-
console.log('Running in current mode (Angular 14-
|
|
95
|
+
console.log('Running in current mode (Angular 14-19)');
|
|
93
96
|
},
|
|
94
97
|
next() {
|
|
95
|
-
console.log('Running in next mode (Angular
|
|
98
|
+
console.log('Running in next mode (Angular 20)');
|
|
96
99
|
},
|
|
97
100
|
unknown() {
|
|
98
101
|
console.log('Running with an unknown version of Angular');
|
|
@@ -114,7 +117,9 @@ if (process.env.NODE_ENV === 'development') {
|
|
|
114
117
|
v15: versionHandlers.current,
|
|
115
118
|
v16: versionHandlers.current,
|
|
116
119
|
v17: versionHandlers.current,
|
|
117
|
-
v18: versionHandlers.
|
|
120
|
+
v18: versionHandlers.current,
|
|
121
|
+
v19: versionHandlers.current,
|
|
122
|
+
v20: versionHandlers.next,
|
|
118
123
|
};
|
|
119
124
|
const handler = getVersionHandler(versions) || versionHandlers.unknown;
|
|
120
125
|
handler();
|
package/lib/startup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startup.js","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,qBAAqB,EACrB,cAAc,EAEd,MAAM,EAEN,yBAAyB,IAAI,wBAAwB,EACrD,OAAO,GACR,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,
|
|
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.0-beta.
|
|
3
|
+
"version": "1.9.0-beta.8115",
|
|
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.0-beta.
|
|
74
|
+
"piral-core": "1.9.0-beta.8115",
|
|
75
75
|
"piral-ng-common": "^16.0.0",
|
|
76
76
|
"rxjs": "^7.3.0"
|
|
77
77
|
},
|
|
78
|
-
"gitHead": "
|
|
78
|
+
"gitHead": "3fd2a95d90eb3c74596a8692b659246d5b1a4141"
|
|
79
79
|
}
|
package/src/module.ts
CHANGED
|
@@ -12,6 +12,7 @@ import {
|
|
|
12
12
|
NgModule,
|
|
13
13
|
NgZone,
|
|
14
14
|
} from '@angular/core';
|
|
15
|
+
|
|
15
16
|
import { PIRAL, PROPS } from './injection';
|
|
16
17
|
import { teardown } from './startup';
|
|
17
18
|
import { RoutingService } from './RoutingService';
|
|
@@ -76,10 +77,16 @@ function instantiateModule(moduleDef: ModuleDefinition, piral: PiletApi) {
|
|
|
76
77
|
const ref = this.zone.run(() => this.appRef.bootstrap<any>(factory, node));
|
|
77
78
|
const name = (ref.componentType as any)?.ɵcmp?.inputs?.Props;
|
|
78
79
|
|
|
79
|
-
if (typeof name === 'string') {
|
|
80
|
+
if (typeof name === 'string' || Array.isArray(name)) {
|
|
80
81
|
const sub = $props.subscribe((props) => {
|
|
81
|
-
ref.
|
|
82
|
-
|
|
82
|
+
if (typeof ref.setInput === 'function') {
|
|
83
|
+
// Here we don't care about the aliased name etc.
|
|
84
|
+
ref.setInput('Props', props);
|
|
85
|
+
} else if (typeof name === 'string') {
|
|
86
|
+
// Legacy mode - just set it directly and trigger CD
|
|
87
|
+
ref.instance[name] = props;
|
|
88
|
+
ref.changeDetectorRef?.detectChanges();
|
|
89
|
+
}
|
|
83
90
|
});
|
|
84
91
|
ref.onDestroy(() => sub.unsubscribe());
|
|
85
92
|
}
|
package/src/startup.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ComponentContext } from 'piral-core';
|
|
2
2
|
import type { NgModuleFlags, NgOptions } from './types';
|
|
3
|
+
import * as browserDynamic from '@angular/platform-browser-dynamic';
|
|
3
4
|
import {
|
|
4
5
|
createPlatformFactory,
|
|
5
6
|
enableProdMode,
|
|
@@ -10,14 +11,14 @@ import {
|
|
|
10
11
|
VERSION,
|
|
11
12
|
} from '@angular/core';
|
|
12
13
|
import { APP_BASE_HREF } from '@angular/common';
|
|
13
|
-
import {
|
|
14
|
-
ɵplatformCoreDynamic as platformCoreDynamic,
|
|
15
|
-
ɵINTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS as INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS,
|
|
16
|
-
} from '@angular/platform-browser-dynamic';
|
|
17
14
|
import { contextName } from './constants';
|
|
18
15
|
import { CONTEXT } from './injection';
|
|
19
16
|
import { getNgVersion } from './utils';
|
|
20
17
|
|
|
18
|
+
const legacyCall = 'ɵplatformCoreDynamic';
|
|
19
|
+
const platformCoreDynamic = browserDynamic.platformBrowserDynamic || browserDynamic[legacyCall];
|
|
20
|
+
const INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS = browserDynamic.ɵINTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS;
|
|
21
|
+
|
|
21
22
|
function getVersionHandler(versions: Record<string, () => void>) {
|
|
22
23
|
const major = getNgVersion();
|
|
23
24
|
const version = `v${major}`;
|
|
@@ -126,10 +127,10 @@ if (process.env.NODE_ENV === 'development') {
|
|
|
126
127
|
console.log('Running in outdated mode (Angular 9-13)');
|
|
127
128
|
},
|
|
128
129
|
current() {
|
|
129
|
-
console.log('Running in current mode (Angular 14-
|
|
130
|
+
console.log('Running in current mode (Angular 14-19)');
|
|
130
131
|
},
|
|
131
132
|
next() {
|
|
132
|
-
console.log('Running in next mode (Angular
|
|
133
|
+
console.log('Running in next mode (Angular 20)');
|
|
133
134
|
},
|
|
134
135
|
unknown() {
|
|
135
136
|
console.log('Running with an unknown version of Angular');
|
|
@@ -151,7 +152,9 @@ if (process.env.NODE_ENV === 'development') {
|
|
|
151
152
|
v15: versionHandlers.current,
|
|
152
153
|
v16: versionHandlers.current,
|
|
153
154
|
v17: versionHandlers.current,
|
|
154
|
-
v18: versionHandlers.
|
|
155
|
+
v18: versionHandlers.current,
|
|
156
|
+
v19: versionHandlers.current,
|
|
157
|
+
v20: versionHandlers.next,
|
|
155
158
|
};
|
|
156
159
|
|
|
157
160
|
const handler = getVersionHandler(versions) || versionHandlers.unknown;
|