piral-ng 0.14.19-beta.3964 → 0.14.19
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/convert.d.ts +8 -1
- package/esm/bootstrap.d.ts +2 -2
- package/esm/bootstrap.js +4 -4
- package/esm/bootstrap.js.map +1 -1
- package/esm/converter.js +17 -16
- package/esm/converter.js.map +1 -1
- package/esm/module.d.ts +3 -2
- package/esm/module.js +6 -5
- package/esm/module.js.map +1 -1
- package/esm/startup.d.ts +2 -2
- package/esm/startup.js +1 -2
- package/esm/startup.js.map +1 -1
- package/lib/bootstrap.d.ts +2 -2
- package/lib/bootstrap.js +4 -4
- package/lib/bootstrap.js.map +1 -1
- package/lib/converter.js +17 -16
- package/lib/converter.js.map +1 -1
- package/lib/module.d.ts +3 -2
- package/lib/module.js +6 -5
- package/lib/module.js.map +1 -1
- package/lib/startup.d.ts +2 -2
- package/lib/startup.js +1 -2
- package/lib/startup.js.map +1 -1
- package/package.json +3 -3
- package/src/bootstrap.ts +5 -5
- package/src/converter.ts +20 -19
- package/src/module.ts +7 -5
- package/src/startup.ts +1 -3
package/convert.d.ts
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
|
-
import type { HtmlComponent } from 'piral-core';
|
|
2
1
|
import { createConverter } from './esm/converter';
|
|
2
|
+
export interface HtmlComponent<TProps> {
|
|
3
|
+
component: {
|
|
4
|
+
mount(element: HTMLElement, props: TProps, ctx: any, locals: any): void;
|
|
5
|
+
update?(element: HTMLElement, props: TProps, ctx: any, locals: any): void;
|
|
6
|
+
unmount?(element: HTMLElement, locals: any): void;
|
|
7
|
+
};
|
|
8
|
+
type: 'html';
|
|
9
|
+
}
|
|
3
10
|
export interface NgConverter {
|
|
4
11
|
(...params: Parameters<ReturnType<typeof createConverter>>): HtmlComponent<any>;
|
|
5
12
|
}
|
package/esm/bootstrap.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { BaseComponentProps, ComponentContext, Disposable } from 'piral-core';
|
|
1
|
+
import type { BaseComponentProps, ComponentContext, Disposable, PiletApi } from 'piral-core';
|
|
2
2
|
import type { PrepareBootstrapResult } from './types';
|
|
3
|
-
export declare function prepareBootstrap(moduleOrComponent: any): PrepareBootstrapResult;
|
|
3
|
+
export declare function prepareBootstrap(moduleOrComponent: any, piral: PiletApi): PrepareBootstrapResult;
|
|
4
4
|
export declare function bootstrap<TProps extends BaseComponentProps>(result: PrepareBootstrapResult, node: HTMLElement, props: TProps, context: ComponentContext): Promise<Disposable>;
|
package/esm/bootstrap.js
CHANGED
|
@@ -2,25 +2,25 @@ import { __awaiter } from "tslib";
|
|
|
2
2
|
import { startup } from './startup';
|
|
3
3
|
import { getAnnotations } from './utils';
|
|
4
4
|
import { createModuleInstance, getModuleInstance, defineModule } from './module';
|
|
5
|
-
export function prepareBootstrap(moduleOrComponent) {
|
|
5
|
+
export function prepareBootstrap(moduleOrComponent, piral) {
|
|
6
6
|
const [annotation] = getAnnotations(moduleOrComponent);
|
|
7
7
|
if (annotation && annotation.bootstrap) {
|
|
8
8
|
// usually contains things like imports, exports, declarations, ...
|
|
9
9
|
const [component] = annotation.bootstrap;
|
|
10
10
|
annotation.exports = [component];
|
|
11
11
|
defineModule(moduleOrComponent);
|
|
12
|
-
return [...getModuleInstance(component), component];
|
|
12
|
+
return [...getModuleInstance(component, piral), component];
|
|
13
13
|
}
|
|
14
14
|
else {
|
|
15
15
|
// usually contains things like selector, template or templateUrl, changeDetection, ...
|
|
16
|
-
const result = getModuleInstance(moduleOrComponent) || createModuleInstance(moduleOrComponent);
|
|
16
|
+
const result = getModuleInstance(moduleOrComponent, piral) || createModuleInstance(moduleOrComponent, piral);
|
|
17
17
|
return [...result, moduleOrComponent];
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
export function bootstrap(result, node, props, context) {
|
|
21
21
|
return __awaiter(this, void 0, void 0, function* () {
|
|
22
22
|
const [selectedModule, ngOptions, component] = result;
|
|
23
|
-
const ref = yield startup(selectedModule, context,
|
|
23
|
+
const ref = yield startup(selectedModule, context, ngOptions);
|
|
24
24
|
if (ref) {
|
|
25
25
|
ref.instance.attach(component, node, props);
|
|
26
26
|
return () => ref.instance.detach(component, node);
|
package/esm/bootstrap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEjF,MAAM,UAAU,gBAAgB,CAAC,iBAAsB;
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEjF,MAAM,UAAU,gBAAgB,CAAC,iBAAsB,EAAE,KAAe;IACtE,MAAM,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAC;IAEvD,IAAI,UAAU,IAAI,UAAU,CAAC,SAAS,EAAE;QACtC,mEAAmE;QACnE,MAAM,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC;QACzC,UAAU,CAAC,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC;QACjC,YAAY,CAAC,iBAAiB,CAAC,CAAC;QAChC,OAAO,CAAC,GAAG,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC;KAC5D;SAAM;QACL,uFAAuF;QACvF,MAAM,MAAM,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,KAAK,CAAC,IAAI,oBAAoB,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAC7G,OAAO,CAAC,GAAG,MAAM,EAAE,iBAAiB,CAAC,CAAC;KACvC;AACH,CAAC;AAED,MAAM,UAAgB,SAAS,CAC7B,MAA8B,EAC9B,IAAiB,EACjB,KAAa,EACb,OAAyB;;QAEzB,MAAM,CAAC,cAAc,EAAE,SAAS,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC;QACtD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,cAAc,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAE9D,IAAI,GAAG,EAAE;YACP,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAC5C,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;SACnD;QAED,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IAClB,CAAC;CAAA"}
|
package/esm/converter.js
CHANGED
|
@@ -3,22 +3,23 @@ import { enqueue } from './queue';
|
|
|
3
3
|
import { defineModule } from './module';
|
|
4
4
|
import { bootstrap, prepareBootstrap } from './bootstrap';
|
|
5
5
|
export function createConverter(_ = {}) {
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
locals.queued =
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
6
|
+
const registry = new Map();
|
|
7
|
+
const convert = (component) => ({
|
|
8
|
+
mount(el, props, ctx, locals) {
|
|
9
|
+
locals.active = true;
|
|
10
|
+
if (!registry.has(component)) {
|
|
11
|
+
registry.set(component, prepareBootstrap(component, props.piral));
|
|
12
|
+
}
|
|
13
|
+
if (!locals.queued) {
|
|
14
|
+
locals.queued = Promise.resolve();
|
|
15
|
+
}
|
|
16
|
+
locals.queued = locals.queued.then(() => enqueue(() => locals.active && bootstrap(registry.get(component), el, props, ctx)));
|
|
17
|
+
},
|
|
18
|
+
unmount(el, locals) {
|
|
19
|
+
locals.active = false;
|
|
20
|
+
locals.queued = locals.queued.then((dispose) => dispose && dispose());
|
|
21
|
+
},
|
|
22
|
+
});
|
|
22
23
|
convert.defineModule = defineModule;
|
|
23
24
|
convert.Extension = NgExtension;
|
|
24
25
|
return convert;
|
package/esm/converter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"converter.js","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAe1D,MAAM,UAAU,eAAe,CAAC,IAAwB,EAAE;IACxD,MAAM,
|
|
1
|
+
{"version":3,"file":"converter.js","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAe1D,MAAM,UAAU,eAAe,CAAC,IAAwB,EAAE;IACxD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA+B,CAAC;IACxD,MAAM,OAAO,GAAG,CAAoC,SAAc,EAA4B,EAAE,CAAC,CAAC;QAChG,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAe;YACnC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YAErB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBAC5B,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;aACnE;YAED,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;gBAClB,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;aACnC;YAED,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CACtC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CACnF,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,EAAE,EAAE,MAAe;YACzB,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;YACtB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,IAAI,OAAO,EAAE,CAAC,CAAC;QACxE,CAAC;KACF,CAAC,CAAC;IACH,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;IACpC,OAAO,CAAC,SAAS,GAAG,WAAW,CAAC;IAChC,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/esm/module.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
import type { PiletApi } from 'piral-core';
|
|
1
2
|
import type { NgOptions, ModuleInstanceResult } from './types';
|
|
2
|
-
export declare function getModuleInstance(component: any): ModuleInstanceResult;
|
|
3
|
-
export declare function createModuleInstance(component: any): ModuleInstanceResult;
|
|
3
|
+
export declare function getModuleInstance(component: any, piral: PiletApi): ModuleInstanceResult;
|
|
4
|
+
export declare function createModuleInstance(component: any, piral: PiletApi): ModuleInstanceResult;
|
|
4
5
|
export declare function defineModule(module: any, opts?: NgOptions): void;
|
package/esm/module.js
CHANGED
|
@@ -8,7 +8,7 @@ import { SharedModule } from './SharedModule';
|
|
|
8
8
|
import { findComponents, getAnnotations } from './utils';
|
|
9
9
|
const ngc = ngCore;
|
|
10
10
|
const availableModules = [];
|
|
11
|
-
function instantiateModule(moduleDef) {
|
|
11
|
+
function instantiateModule(moduleDef, piral) {
|
|
12
12
|
var BootstrapModule_1;
|
|
13
13
|
const { module, components } = moduleDef;
|
|
14
14
|
const imports = [BrowserModule, SharedModule, module];
|
|
@@ -16,6 +16,7 @@ function instantiateModule(moduleDef) {
|
|
|
16
16
|
const providers = [
|
|
17
17
|
RoutingService,
|
|
18
18
|
{ provide: 'Props', useFactory: () => props.current, deps: [] },
|
|
19
|
+
{ provide: 'piral', useFactory: () => piral, deps: [] },
|
|
19
20
|
];
|
|
20
21
|
let BootstrapModule = BootstrapModule_1 = class BootstrapModule {
|
|
21
22
|
constructor(resolver, zone, routing) {
|
|
@@ -83,17 +84,17 @@ function instantiateModule(moduleDef) {
|
|
|
83
84
|
}
|
|
84
85
|
return BootstrapModule;
|
|
85
86
|
}
|
|
86
|
-
export function getModuleInstance(component) {
|
|
87
|
+
export function getModuleInstance(component, piral) {
|
|
87
88
|
const [moduleDef] = availableModules.filter((m) => m.components.includes(component));
|
|
88
89
|
if (moduleDef) {
|
|
89
90
|
if (!moduleDef.active) {
|
|
90
|
-
moduleDef.active = instantiateModule(moduleDef);
|
|
91
|
+
moduleDef.active = instantiateModule(moduleDef, piral);
|
|
91
92
|
}
|
|
92
93
|
return [moduleDef.active, moduleDef.opts];
|
|
93
94
|
}
|
|
94
95
|
return undefined;
|
|
95
96
|
}
|
|
96
|
-
export function createModuleInstance(component) {
|
|
97
|
+
export function createModuleInstance(component, piral) {
|
|
97
98
|
var Module_1;
|
|
98
99
|
const declarations = [component];
|
|
99
100
|
const importsDef = [CommonModule];
|
|
@@ -133,7 +134,7 @@ export function createModuleInstance(component) {
|
|
|
133
134
|
]);
|
|
134
135
|
}
|
|
135
136
|
defineModule(Module);
|
|
136
|
-
return getModuleInstance(component);
|
|
137
|
+
return getModuleInstance(component, piral);
|
|
137
138
|
}
|
|
138
139
|
export function defineModule(module, opts = undefined) {
|
|
139
140
|
const [annotation] = getAnnotations(module);
|
package/esm/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"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"}
|
package/esm/startup.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { ComponentContext
|
|
1
|
+
import type { ComponentContext } from 'piral-core';
|
|
2
2
|
import type { NgOptions } from './types';
|
|
3
3
|
import { NgModuleRef } from '@angular/core';
|
|
4
4
|
export declare type NgModuleInt = NgModuleRef<any> & {
|
|
5
5
|
_destroyed: boolean;
|
|
6
6
|
};
|
|
7
|
-
export declare function startup(BootstrapModule: any, context: ComponentContext,
|
|
7
|
+
export declare function startup(BootstrapModule: any, context: ComponentContext, ngOptions?: NgOptions): Promise<void | NgModuleInt>;
|
package/esm/startup.js
CHANGED
|
@@ -8,7 +8,7 @@ function getVersionHandler(versions) {
|
|
|
8
8
|
return versions[version];
|
|
9
9
|
}
|
|
10
10
|
const runningModules = [];
|
|
11
|
-
export function startup(BootstrapModule, context,
|
|
11
|
+
export function startup(BootstrapModule, context, ngOptions) {
|
|
12
12
|
var _a;
|
|
13
13
|
const runningModule = runningModules.find(([ref]) => ref === BootstrapModule);
|
|
14
14
|
if (runningModule) {
|
|
@@ -19,7 +19,6 @@ export function startup(BootstrapModule, context, piral, ngOptions) {
|
|
|
19
19
|
const path = ((_a = context.readState) === null || _a === void 0 ? void 0 : _a.call(context, (s) => s.app.publicPath)) || '/';
|
|
20
20
|
const platform = platformBrowserDynamic([
|
|
21
21
|
{ provide: 'Context', useValue: context },
|
|
22
|
-
{ provide: 'piral', useFactory: () => piral, deps: [] },
|
|
23
22
|
{ provide: APP_BASE_HREF, useValue: path },
|
|
24
23
|
]);
|
|
25
24
|
const id = Math.random().toString(36);
|
package/esm/startup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startup.js","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAe,MAAM,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,SAAS,iBAAiB,CAAC,QAAoC;IAC7D,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,IAAI,KAAK,EAAE,CAAC;IAC5B,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,cAAc,GAA8B,EAAE,CAAC;AAIrD,MAAM,UAAU,OAAO,CACrB,eAAoB,EACpB,OAAyB,EACzB,
|
|
1
|
+
{"version":3,"file":"startup.js","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"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"}
|
package/lib/bootstrap.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { BaseComponentProps, ComponentContext, Disposable } from 'piral-core';
|
|
1
|
+
import type { BaseComponentProps, ComponentContext, Disposable, PiletApi } from 'piral-core';
|
|
2
2
|
import type { PrepareBootstrapResult } from './types';
|
|
3
|
-
export declare function prepareBootstrap(moduleOrComponent: any): PrepareBootstrapResult;
|
|
3
|
+
export declare function prepareBootstrap(moduleOrComponent: any, piral: PiletApi): PrepareBootstrapResult;
|
|
4
4
|
export declare function bootstrap<TProps extends BaseComponentProps>(result: PrepareBootstrapResult, node: HTMLElement, props: TProps, context: ComponentContext): Promise<Disposable>;
|
package/lib/bootstrap.js
CHANGED
|
@@ -5,18 +5,18 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const startup_1 = require("./startup");
|
|
6
6
|
const utils_1 = require("./utils");
|
|
7
7
|
const module_1 = require("./module");
|
|
8
|
-
function prepareBootstrap(moduleOrComponent) {
|
|
8
|
+
function prepareBootstrap(moduleOrComponent, piral) {
|
|
9
9
|
const [annotation] = (0, utils_1.getAnnotations)(moduleOrComponent);
|
|
10
10
|
if (annotation && annotation.bootstrap) {
|
|
11
11
|
// usually contains things like imports, exports, declarations, ...
|
|
12
12
|
const [component] = annotation.bootstrap;
|
|
13
13
|
annotation.exports = [component];
|
|
14
14
|
(0, module_1.defineModule)(moduleOrComponent);
|
|
15
|
-
return [...(0, module_1.getModuleInstance)(component), component];
|
|
15
|
+
return [...(0, module_1.getModuleInstance)(component, piral), component];
|
|
16
16
|
}
|
|
17
17
|
else {
|
|
18
18
|
// usually contains things like selector, template or templateUrl, changeDetection, ...
|
|
19
|
-
const result = (0, module_1.getModuleInstance)(moduleOrComponent) || (0, module_1.createModuleInstance)(moduleOrComponent);
|
|
19
|
+
const result = (0, module_1.getModuleInstance)(moduleOrComponent, piral) || (0, module_1.createModuleInstance)(moduleOrComponent, piral);
|
|
20
20
|
return [...result, moduleOrComponent];
|
|
21
21
|
}
|
|
22
22
|
}
|
|
@@ -24,7 +24,7 @@ exports.prepareBootstrap = prepareBootstrap;
|
|
|
24
24
|
function bootstrap(result, node, props, context) {
|
|
25
25
|
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
26
26
|
const [selectedModule, ngOptions, component] = result;
|
|
27
|
-
const ref = yield (0, startup_1.startup)(selectedModule, context,
|
|
27
|
+
const ref = yield (0, startup_1.startup)(selectedModule, context, ngOptions);
|
|
28
28
|
if (ref) {
|
|
29
29
|
ref.instance.attach(component, node, props);
|
|
30
30
|
return () => ref.instance.detach(component, node);
|
package/lib/bootstrap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":";;;;AAEA,uCAAoC;AACpC,mCAAyC;AACzC,qCAAiF;AAEjF,SAAgB,gBAAgB,CAAC,iBAAsB;
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":";;;;AAEA,uCAAoC;AACpC,mCAAyC;AACzC,qCAAiF;AAEjF,SAAgB,gBAAgB,CAAC,iBAAsB,EAAE,KAAe;IACtE,MAAM,CAAC,UAAU,CAAC,GAAG,IAAA,sBAAc,EAAC,iBAAiB,CAAC,CAAC;IAEvD,IAAI,UAAU,IAAI,UAAU,CAAC,SAAS,EAAE;QACtC,mEAAmE;QACnE,MAAM,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC;QACzC,UAAU,CAAC,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC;QACjC,IAAA,qBAAY,EAAC,iBAAiB,CAAC,CAAC;QAChC,OAAO,CAAC,GAAG,IAAA,0BAAiB,EAAC,SAAS,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC;KAC5D;SAAM;QACL,uFAAuF;QACvF,MAAM,MAAM,GAAG,IAAA,0BAAiB,EAAC,iBAAiB,EAAE,KAAK,CAAC,IAAI,IAAA,6BAAoB,EAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAC7G,OAAO,CAAC,GAAG,MAAM,EAAE,iBAAiB,CAAC,CAAC;KACvC;AACH,CAAC;AAdD,4CAcC;AAED,SAAsB,SAAS,CAC7B,MAA8B,EAC9B,IAAiB,EACjB,KAAa,EACb,OAAyB;;QAEzB,MAAM,CAAC,cAAc,EAAE,SAAS,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC;QACtD,MAAM,GAAG,GAAG,MAAM,IAAA,iBAAO,EAAC,cAAc,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAE9D,IAAI,GAAG,EAAE;YACP,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAC5C,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;SACnD;QAED,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IAClB,CAAC;CAAA;AAfD,8BAeC"}
|
package/lib/converter.js
CHANGED
|
@@ -6,22 +6,23 @@ const queue_1 = require("./queue");
|
|
|
6
6
|
const module_1 = require("./module");
|
|
7
7
|
const bootstrap_1 = require("./bootstrap");
|
|
8
8
|
function createConverter(_ = {}) {
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
locals.queued =
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
9
|
+
const registry = new Map();
|
|
10
|
+
const convert = (component) => ({
|
|
11
|
+
mount(el, props, ctx, locals) {
|
|
12
|
+
locals.active = true;
|
|
13
|
+
if (!registry.has(component)) {
|
|
14
|
+
registry.set(component, (0, bootstrap_1.prepareBootstrap)(component, props.piral));
|
|
15
|
+
}
|
|
16
|
+
if (!locals.queued) {
|
|
17
|
+
locals.queued = Promise.resolve();
|
|
18
|
+
}
|
|
19
|
+
locals.queued = locals.queued.then(() => (0, queue_1.enqueue)(() => locals.active && (0, bootstrap_1.bootstrap)(registry.get(component), el, props, ctx)));
|
|
20
|
+
},
|
|
21
|
+
unmount(el, locals) {
|
|
22
|
+
locals.active = false;
|
|
23
|
+
locals.queued = locals.queued.then((dispose) => dispose && dispose());
|
|
24
|
+
},
|
|
25
|
+
});
|
|
25
26
|
convert.defineModule = module_1.defineModule;
|
|
26
27
|
convert.Extension = NgExtension_1.NgExtension;
|
|
27
28
|
return convert;
|
package/lib/converter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"converter.js","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":";;;AAEA,+CAA4C;AAC5C,mCAAkC;AAClC,qCAAwC;AACxC,2CAA0D;AAe1D,SAAgB,eAAe,CAAC,IAAwB,EAAE;IACxD,MAAM,
|
|
1
|
+
{"version":3,"file":"converter.js","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":";;;AAEA,+CAA4C;AAC5C,mCAAkC;AAClC,qCAAwC;AACxC,2CAA0D;AAe1D,SAAgB,eAAe,CAAC,IAAwB,EAAE;IACxD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA+B,CAAC;IACxD,MAAM,OAAO,GAAG,CAAoC,SAAc,EAA4B,EAAE,CAAC,CAAC;QAChG,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAe;YACnC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YAErB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBAC5B,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,IAAA,4BAAgB,EAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;aACnE;YAED,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;gBAClB,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;aACnC;YAED,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CACtC,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,IAAA,qBAAS,EAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CACnF,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,EAAE,EAAE,MAAe;YACzB,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;YACtB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,IAAI,OAAO,EAAE,CAAC,CAAC;QACxE,CAAC;KACF,CAAC,CAAC;IACH,OAAO,CAAC,YAAY,GAAG,qBAAY,CAAC;IACpC,OAAO,CAAC,SAAS,GAAG,yBAAW,CAAC;IAChC,OAAO,OAAO,CAAC;AACjB,CAAC;AA1BD,0CA0BC"}
|
package/lib/module.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
import type { PiletApi } from 'piral-core';
|
|
1
2
|
import type { NgOptions, ModuleInstanceResult } from './types';
|
|
2
|
-
export declare function getModuleInstance(component: any): ModuleInstanceResult;
|
|
3
|
-
export declare function createModuleInstance(component: any): ModuleInstanceResult;
|
|
3
|
+
export declare function getModuleInstance(component: any, piral: PiletApi): ModuleInstanceResult;
|
|
4
|
+
export declare function createModuleInstance(component: any, piral: PiletApi): ModuleInstanceResult;
|
|
4
5
|
export declare function defineModule(module: any, opts?: NgOptions): void;
|
package/lib/module.js
CHANGED
|
@@ -11,7 +11,7 @@ const SharedModule_1 = require("./SharedModule");
|
|
|
11
11
|
const utils_1 = require("./utils");
|
|
12
12
|
const ngc = ngCore;
|
|
13
13
|
const availableModules = [];
|
|
14
|
-
function instantiateModule(moduleDef) {
|
|
14
|
+
function instantiateModule(moduleDef, piral) {
|
|
15
15
|
var BootstrapModule_1;
|
|
16
16
|
const { module, components } = moduleDef;
|
|
17
17
|
const imports = [platform_browser_1.BrowserModule, SharedModule_1.SharedModule, module];
|
|
@@ -19,6 +19,7 @@ function instantiateModule(moduleDef) {
|
|
|
19
19
|
const providers = [
|
|
20
20
|
RoutingService_1.RoutingService,
|
|
21
21
|
{ provide: 'Props', useFactory: () => props.current, deps: [] },
|
|
22
|
+
{ provide: 'piral', useFactory: () => piral, deps: [] },
|
|
22
23
|
];
|
|
23
24
|
let BootstrapModule = BootstrapModule_1 = class BootstrapModule {
|
|
24
25
|
constructor(resolver, zone, routing) {
|
|
@@ -86,18 +87,18 @@ function instantiateModule(moduleDef) {
|
|
|
86
87
|
}
|
|
87
88
|
return BootstrapModule;
|
|
88
89
|
}
|
|
89
|
-
function getModuleInstance(component) {
|
|
90
|
+
function getModuleInstance(component, piral) {
|
|
90
91
|
const [moduleDef] = availableModules.filter((m) => m.components.includes(component));
|
|
91
92
|
if (moduleDef) {
|
|
92
93
|
if (!moduleDef.active) {
|
|
93
|
-
moduleDef.active = instantiateModule(moduleDef);
|
|
94
|
+
moduleDef.active = instantiateModule(moduleDef, piral);
|
|
94
95
|
}
|
|
95
96
|
return [moduleDef.active, moduleDef.opts];
|
|
96
97
|
}
|
|
97
98
|
return undefined;
|
|
98
99
|
}
|
|
99
100
|
exports.getModuleInstance = getModuleInstance;
|
|
100
|
-
function createModuleInstance(component) {
|
|
101
|
+
function createModuleInstance(component, piral) {
|
|
101
102
|
var Module_1;
|
|
102
103
|
const declarations = [component];
|
|
103
104
|
const importsDef = [common_1.CommonModule];
|
|
@@ -137,7 +138,7 @@ function createModuleInstance(component) {
|
|
|
137
138
|
]);
|
|
138
139
|
}
|
|
139
140
|
defineModule(Module);
|
|
140
|
-
return getModuleInstance(component);
|
|
141
|
+
return getModuleInstance(component, piral);
|
|
141
142
|
}
|
|
142
143
|
exports.createModuleInstance = createModuleInstance;
|
|
143
144
|
function defineModule(module, opts = undefined) {
|
package/lib/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"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"}
|
package/lib/startup.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { ComponentContext
|
|
1
|
+
import type { ComponentContext } from 'piral-core';
|
|
2
2
|
import type { NgOptions } from './types';
|
|
3
3
|
import { NgModuleRef } from '@angular/core';
|
|
4
4
|
export declare type NgModuleInt = NgModuleRef<any> & {
|
|
5
5
|
_destroyed: boolean;
|
|
6
6
|
};
|
|
7
|
-
export declare function startup(BootstrapModule: any, context: ComponentContext,
|
|
7
|
+
export declare function startup(BootstrapModule: any, context: ComponentContext, ngOptions?: NgOptions): Promise<void | NgModuleInt>;
|
package/lib/startup.js
CHANGED
|
@@ -11,7 +11,7 @@ function getVersionHandler(versions) {
|
|
|
11
11
|
return versions[version];
|
|
12
12
|
}
|
|
13
13
|
const runningModules = [];
|
|
14
|
-
function startup(BootstrapModule, context,
|
|
14
|
+
function startup(BootstrapModule, context, ngOptions) {
|
|
15
15
|
var _a;
|
|
16
16
|
const runningModule = runningModules.find(([ref]) => ref === BootstrapModule);
|
|
17
17
|
if (runningModule) {
|
|
@@ -22,7 +22,6 @@ function startup(BootstrapModule, context, piral, ngOptions) {
|
|
|
22
22
|
const path = ((_a = context.readState) === null || _a === void 0 ? void 0 : _a.call(context, (s) => s.app.publicPath)) || '/';
|
|
23
23
|
const platform = (0, platform_browser_dynamic_1.platformBrowserDynamic)([
|
|
24
24
|
{ provide: 'Context', useValue: context },
|
|
25
|
-
{ provide: 'piral', useFactory: () => piral, deps: [] },
|
|
26
25
|
{ provide: common_1.APP_BASE_HREF, useValue: path },
|
|
27
26
|
]);
|
|
28
27
|
const id = Math.random().toString(36);
|
package/lib/startup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startup.js","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":";;;AAEA,wCAAoE;AACpE,4CAAgD;AAChD,gFAA2E;AAC3E,mCAAuC;AAEvC,SAAS,iBAAiB,CAAC,QAAoC;IAC7D,MAAM,KAAK,GAAG,IAAA,oBAAY,GAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,IAAI,KAAK,EAAE,CAAC;IAC5B,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,cAAc,GAA8B,EAAE,CAAC;AAIrD,SAAgB,OAAO,CACrB,eAAoB,EACpB,OAAyB,EACzB,
|
|
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": "0.14.19
|
|
3
|
+
"version": "0.14.19",
|
|
4
4
|
"description": "Plugin for integrating Angular components in Piral.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"piral",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"@angular/platform-browser": "^8.0.0",
|
|
53
53
|
"@angular/platform-browser-dynamic": "^8.0.0",
|
|
54
54
|
"@angular/router": "^8.0.0",
|
|
55
|
-
"piral-core": "0.14.19
|
|
55
|
+
"piral-core": "^0.14.19",
|
|
56
56
|
"rxjs": "^7.3.0"
|
|
57
57
|
},
|
|
58
58
|
"peerDependencies": {
|
|
@@ -66,5 +66,5 @@
|
|
|
66
66
|
"rxjs": "^5.0.0 || ^6.0.0 || ^7.0.0",
|
|
67
67
|
"zone.js": "~0.9.0 || ~0.10.0 || ~0.11.0"
|
|
68
68
|
},
|
|
69
|
-
"gitHead": "
|
|
69
|
+
"gitHead": "71ca4a75ba4138eb5f4176e45882802f338ce3e6"
|
|
70
70
|
}
|
package/src/bootstrap.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type { BaseComponentProps, ComponentContext, Disposable } from 'piral-core';
|
|
1
|
+
import type { BaseComponentProps, ComponentContext, Disposable, PiletApi } from 'piral-core';
|
|
2
2
|
import type { PrepareBootstrapResult } from './types';
|
|
3
3
|
import { startup } from './startup';
|
|
4
4
|
import { getAnnotations } from './utils';
|
|
5
5
|
import { createModuleInstance, getModuleInstance, defineModule } from './module';
|
|
6
6
|
|
|
7
|
-
export function prepareBootstrap(moduleOrComponent: any): PrepareBootstrapResult {
|
|
7
|
+
export function prepareBootstrap(moduleOrComponent: any, piral: PiletApi): PrepareBootstrapResult {
|
|
8
8
|
const [annotation] = getAnnotations(moduleOrComponent);
|
|
9
9
|
|
|
10
10
|
if (annotation && annotation.bootstrap) {
|
|
@@ -12,10 +12,10 @@ export function prepareBootstrap(moduleOrComponent: any): PrepareBootstrapResult
|
|
|
12
12
|
const [component] = annotation.bootstrap;
|
|
13
13
|
annotation.exports = [component];
|
|
14
14
|
defineModule(moduleOrComponent);
|
|
15
|
-
return [...getModuleInstance(component), component];
|
|
15
|
+
return [...getModuleInstance(component, piral), component];
|
|
16
16
|
} else {
|
|
17
17
|
// usually contains things like selector, template or templateUrl, changeDetection, ...
|
|
18
|
-
const result = getModuleInstance(moduleOrComponent) || createModuleInstance(moduleOrComponent);
|
|
18
|
+
const result = getModuleInstance(moduleOrComponent, piral) || createModuleInstance(moduleOrComponent, piral);
|
|
19
19
|
return [...result, moduleOrComponent];
|
|
20
20
|
}
|
|
21
21
|
}
|
|
@@ -27,7 +27,7 @@ export async function bootstrap<TProps extends BaseComponentProps>(
|
|
|
27
27
|
context: ComponentContext,
|
|
28
28
|
): Promise<Disposable> {
|
|
29
29
|
const [selectedModule, ngOptions, component] = result;
|
|
30
|
-
const ref = await startup(selectedModule, context,
|
|
30
|
+
const ref = await startup(selectedModule, context, ngOptions);
|
|
31
31
|
|
|
32
32
|
if (ref) {
|
|
33
33
|
ref.instance.attach(component, node, props);
|
package/src/converter.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ForeignComponent, BaseComponentProps, Disposable } from 'piral-core';
|
|
2
|
-
import type { NgModuleDefiner } from './types';
|
|
2
|
+
import type { NgModuleDefiner, PrepareBootstrapResult } from './types';
|
|
3
3
|
import { NgExtension } from './NgExtension';
|
|
4
4
|
import { enqueue } from './queue';
|
|
5
5
|
import { defineModule } from './module';
|
|
@@ -19,27 +19,28 @@ interface NgState {
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
export function createConverter(_: NgConverterOptions = {}): NgConverter {
|
|
22
|
-
const
|
|
23
|
-
|
|
22
|
+
const registry = new Map<any, PrepareBootstrapResult>();
|
|
23
|
+
const convert = <TProps extends BaseComponentProps>(component: any): ForeignComponent<TProps> => ({
|
|
24
|
+
mount(el, props, ctx, locals: NgState) {
|
|
25
|
+
locals.active = true;
|
|
24
26
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
27
|
+
if (!registry.has(component)) {
|
|
28
|
+
registry.set(component, prepareBootstrap(component, props.piral));
|
|
29
|
+
}
|
|
28
30
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
31
|
+
if (!locals.queued) {
|
|
32
|
+
locals.queued = Promise.resolve();
|
|
33
|
+
}
|
|
32
34
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
};
|
|
35
|
+
locals.queued = locals.queued.then(() =>
|
|
36
|
+
enqueue(() => locals.active && bootstrap(registry.get(component), el, props, ctx)),
|
|
37
|
+
);
|
|
38
|
+
},
|
|
39
|
+
unmount(el, locals: NgState) {
|
|
40
|
+
locals.active = false;
|
|
41
|
+
locals.queued = locals.queued.then((dispose) => dispose && dispose());
|
|
42
|
+
},
|
|
43
|
+
});
|
|
43
44
|
convert.defineModule = defineModule;
|
|
44
45
|
convert.Extension = NgExtension;
|
|
45
46
|
return convert;
|
package/src/module.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { PiletApi } from 'piral-core';
|
|
1
2
|
import type { NgOptions, ModuleInstanceResult } from './types';
|
|
2
3
|
import * as ngCore from '@angular/core';
|
|
3
4
|
import { BrowserModule } from '@angular/platform-browser';
|
|
@@ -18,13 +19,14 @@ interface ModuleDefinition {
|
|
|
18
19
|
|
|
19
20
|
const availableModules: Array<ModuleDefinition> = [];
|
|
20
21
|
|
|
21
|
-
function instantiateModule(moduleDef: ModuleDefinition) {
|
|
22
|
+
function instantiateModule(moduleDef: ModuleDefinition, piral: PiletApi) {
|
|
22
23
|
const { module, components } = moduleDef;
|
|
23
24
|
const imports = [BrowserModule, SharedModule, module];
|
|
24
25
|
const props = { current: undefined };
|
|
25
26
|
const providers = [
|
|
26
27
|
RoutingService,
|
|
27
28
|
{ provide: 'Props', useFactory: () => props.current, deps: [] },
|
|
29
|
+
{ provide: 'piral', useFactory: () => piral, deps: [] },
|
|
28
30
|
];
|
|
29
31
|
|
|
30
32
|
@NgModule({
|
|
@@ -111,12 +113,12 @@ function instantiateModule(moduleDef: ModuleDefinition) {
|
|
|
111
113
|
return BootstrapModule;
|
|
112
114
|
}
|
|
113
115
|
|
|
114
|
-
export function getModuleInstance(component: any): ModuleInstanceResult {
|
|
116
|
+
export function getModuleInstance(component: any, piral: PiletApi): ModuleInstanceResult {
|
|
115
117
|
const [moduleDef] = availableModules.filter((m) => m.components.includes(component));
|
|
116
118
|
|
|
117
119
|
if (moduleDef) {
|
|
118
120
|
if (!moduleDef.active) {
|
|
119
|
-
moduleDef.active = instantiateModule(moduleDef);
|
|
121
|
+
moduleDef.active = instantiateModule(moduleDef, piral);
|
|
120
122
|
}
|
|
121
123
|
|
|
122
124
|
return [moduleDef.active, moduleDef.opts];
|
|
@@ -125,7 +127,7 @@ export function getModuleInstance(component: any): ModuleInstanceResult {
|
|
|
125
127
|
return undefined;
|
|
126
128
|
}
|
|
127
129
|
|
|
128
|
-
export function createModuleInstance(component: any): ModuleInstanceResult {
|
|
130
|
+
export function createModuleInstance(component: any, piral: PiletApi): ModuleInstanceResult {
|
|
129
131
|
const declarations = [component];
|
|
130
132
|
const importsDef = [CommonModule];
|
|
131
133
|
const exportsDef = [component];
|
|
@@ -169,7 +171,7 @@ export function createModuleInstance(component: any): ModuleInstanceResult {
|
|
|
169
171
|
}
|
|
170
172
|
|
|
171
173
|
defineModule(Module);
|
|
172
|
-
return getModuleInstance(component);
|
|
174
|
+
return getModuleInstance(component, piral);
|
|
173
175
|
}
|
|
174
176
|
|
|
175
177
|
export function defineModule(module: any, opts: NgOptions = undefined) {
|
package/src/startup.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ComponentContext
|
|
1
|
+
import type { ComponentContext } from 'piral-core';
|
|
2
2
|
import type { NgOptions } from './types';
|
|
3
3
|
import { enableProdMode, NgModuleRef, NgZone } from '@angular/core';
|
|
4
4
|
import { APP_BASE_HREF } from '@angular/common';
|
|
@@ -18,7 +18,6 @@ export type NgModuleInt = NgModuleRef<any> & { _destroyed: boolean };
|
|
|
18
18
|
export function startup(
|
|
19
19
|
BootstrapModule: any,
|
|
20
20
|
context: ComponentContext,
|
|
21
|
-
piral: PiletApi,
|
|
22
21
|
ngOptions?: NgOptions,
|
|
23
22
|
): Promise<void | NgModuleInt> {
|
|
24
23
|
const runningModule = runningModules.find(([ref]) => ref === BootstrapModule);
|
|
@@ -30,7 +29,6 @@ export function startup(
|
|
|
30
29
|
const path = context.readState?.((s) => s.app.publicPath) || '/';
|
|
31
30
|
const platform = platformBrowserDynamic([
|
|
32
31
|
{ provide: 'Context', useValue: context },
|
|
33
|
-
{ provide: 'piral', useFactory: () => piral, deps: [] },
|
|
34
32
|
{ provide: APP_BASE_HREF, useValue: path },
|
|
35
33
|
]);
|
|
36
34
|
const id = Math.random().toString(36);
|